Commit Graph

14 Commits

Author SHA1 Message Date
Takashi Toyoshima 2d6878d2a7 Polish VRAM access to TTY TX emulation
It assumes Apple BASIC's manner of controlling screen.
Apple BASIC may be able to work exactly like running through
a virtual terminal device.
2014-12-13 02:32:04 +09:00
Takashi Toyoshima 35bb8b7083 Implement an experimental VRAM to TTY bridge 2014-12-11 04:29:19 +09:00
Takashi Toyoshima 826647fb93 Update test: now it can run Apple BASIC.
]10 PRINT "HELLO"

]20 END

]LIST

10  PRINT "HELLO"
20  END

]RUN
HELLO

]
2014-12-08 04:19:05 +09:00
Takashi Toyoshima faacc4ea52 Bug fix: op7e ROR did not store result
- also fp should be saved as 32bit register
2014-12-08 03:38:58 +09:00
Takashi Toyoshima 5465cc99d2 Update test.c to check Apple BASIC behaviors 2014-12-08 03:11:03 +09:00
Takashi Toyoshima 77fa2964f1 Bug fix: stack is hard :(
SP should wrap correctly on push and pop
2014-12-08 02:43:05 +09:00
Takashi Toyoshima 729cac78a0 Bug fix: INX did not store the result correctly 2014-12-08 00:46:38 +09:00
Takashi Toyoshima 42cb53c0ad Bug fix: after TSX, X got a value >= 0x100 2014-12-08 00:36:42 +09:00
Takashi Toyoshima d0ad06c86a Use 6502_65C02_functional_tests, and two bug fixes
- transfer operations should update n and z flags
 - TSX should transfer SP, not SR
2014-12-08 00:21:49 +09:00
Takashi Toyoshima 86d07009b1 Add some I/O and memory emulation to check Apple2 BASIC 2014-12-07 18:31:41 +09:00
Takashi Toyoshima 91c94746d8 Bug fix: manage r12 correctly, and TXS used a wrong register
To use r12 in assembly code:
 - use -fomit-frame-pointer for test.c
 - save and restore on calling libc functions
2014-12-07 16:35:46 +09:00
Takashi Toyoshima ff1f7b8b2f Fix branch operation bugs
- address calculation on not taken
 - use macro to implement each branch operation
2014-12-07 14:05:38 +09:00
Takashi Toyoshima 8d94c76d47 Bug fix on shift operations that set a result to a wrong register 2014-12-07 13:54:47 +09:00
Takashi Toyoshima dd372c8a2d Ready to implement a 6502 interpreter
All investigation for implementation and testing were done.
Now, 6502.S can be verified on qemu-arm, and run even on LPC1114.
All I have to do is just implement the 6502 interpreter.
2014-12-05 02:43:58 +09:00