~swisschili/toolchain-6502

eb5b62cdac366b51100bd8ba723ce9ac4511c0fd — swissChili 2 months ago 16ce8ed wiki
Change links to .md
10 files changed, 6 insertions(+), 127 deletions(-)

D .build.yml
M .gitmodules
D as/CMakeLists.txt
D as/test/colors.s
D as/test/disco.s
D as/test/test-abs-jump.s
D as/test/test.s
M building.md
M index.md
D nuklear
D .build.yml => .build.yml +0 -27
@@ 1,27 0,0 @@
image: ubuntu/lts
packages:
  - build-essential
  - cmake
  - libsdl2-dev
  - libreadline-dev
  - libglew-dev
sources:
  - https://github.com/swissChili/6502
tasks:
  - setup: |
      cd 6502
      mkdir build
      cd build
      cmake .. -DCMAKE_BUILD_TYPE=Release
  - build: |
      cd 6502/build
      make -j
      ./6502 -h
  - pack: |
      cd 6502/build
      cpack
      dpkg -I 6502.deb
artifacts:
  - 6502/build/6502
  - 6502/build/as/6502-as
  - 6502/build/6502.deb

M .gitmodules => .gitmodules +0 -3
@@ 1,3 0,0 @@
[submodule "nuklear"]
	path = nuklear
	url = https://github.com/Immediate-Mode-UI/Nuklear.git

D as/CMakeLists.txt => as/CMakeLists.txt +0 -18
@@ 1,18 0,0 @@
cmake_minimum_required(VERSION 3.0)

project(6502 VERSION 0.1.0 LANGUAGES C)

include(TestBigEndian)
test_big_endian(BIG_ENDIAN)


if (${BIG_ENDIAN})
	add_compile_definitions(BIG_ENDIAN)
else()
	add_compile_definitions(LITTLE_ENDIAN)
endif()


add_executable(6502-as main.c as.h as.c pp.c map.h map.c hash.c hash.c)

install(TARGETS 6502-as)

D as/test/colors.s => as/test/colors.s +0 -13
@@ 1,13 0,0 @@
;;; Shows some nice colors on the screen

	LDY #$0
loop:
	TYA
	STA $200, Y
	STA $300, Y
	STA $400, Y
	STA $500, Y
	INY
	CMP #$ff
	BCC loop
	BRK

D as/test/disco.s => as/test/disco.s +0 -22
@@ 1,22 0,0 @@
; Taken from 6502asm.com


start:
	inx							; 600
	txa							; 601
	sta $200, y					; 602
	sta $300, y					; 605
	sta $400, y					; 608
	sta $500, y					; 60b
	iny							; 60e
	tya							; 60f
	cmp 16						; 610
	bne do						; 612
	iny							; 614
	jmp start					; 615
do:
	iny							; 618
	iny							; 619
	iny							; 61a
	iny							; 61b
	jmp start					; 61c

D as/test/test-abs-jump.s => as/test/test-abs-jump.s +0 -16
@@ 1,16 0,0 @@
;;; This program should test for a bug involving endianness.

start:
	lda #$FF
	sta $200					; Put something on the screen, just to see
	jmp second-pixel
	brk

second-pixel:
	lda #$E0					; Red
	sta $201
	sta $220
	sta $221					; Draw a box around the white pixel

loop:							; Infinite loop
	jmp loop

D as/test/test.s => as/test/test.s +0 -22
@@ 1,22 0,0 @@
;;; This file is meant to test the parsing capabilities of the assembler.
;;; It should contain every address mode to its parsing, as well as a
;;; range of instructions to test.

;;; When the assembler supports macros, those will be tested here as well.

start:
	lda #$32 					; Store $32 in a
	tax							; Transfer a to x
	stx $200					; Store x at $200
	jmp ($FFAA)					; Jump to the address at $FFAA
second_label:
	lda $30, X
	inc
	adc #$3
	bne start
	jsr another_subroutine
	tax
	brk

another_subroutine:
	rts

M building.md => building.md +2 -1
@@ 17,7 17,8 @@ You may be able to build this on Windows using Cygwin or MinGW, but I haven't te

<br>
Run the usual commands to build with cmake:
```

```sh
$ mkdir build
$ cd build
$ cmake ..

M index.md => index.md +4 -4
@@ 14,10 14,10 @@ emulator.

## Docs

- [Building from source](building.html)
- [Using the debugger](debugger.html)
- [Example programs](examples.html)
- [Using the emulator](usage.html)
- [Building from source](building.md)
- [Using the debugger](debugger.md)
- [Example programs](examples.md)
- [Using the emulator](usage.md)


## Features

D nuklear => nuklear +0 -1
@@ 1,1 0,0 @@
Subproject commit d9ddd1810f8e43911c06f4f86eab3053db757adc