Commit Graph

96 Commits

Author SHA1 Message Date
James Tauber
2e34927e7c got tests working again after memory refactor 2011-08-13 04:00:40 -04:00
James Tauber
9220ec85db ported to pygame and added bit-accurate characters 2011-08-13 03:52:07 -04:00
James Tauber
02714dff55 if writing to text screen row group 3 just skip instead of throwing exception 2011-08-07 07:03:50 -04:00
James Tauber
a9904be5b9 updated README to reflect status and give credit 2011-08-07 06:52:20 -04:00
James Tauber
6525a27511 don't treat indices as signed in indexed addressing modes (ht: ghewgill) 2011-08-07 06:42:47 -04:00
James Tauber
4177ae0b25 consistent whitespace 2011-08-07 06:29:15 -04:00
James Tauber
772cdad470 Merge pull request #4 from ghewgill/master
add disassembler
2011-08-07 03:22:40 -07:00
James Tauber
c42c5044fc split memory handling into separate classes for RAM, ROM and Soft Switches 2011-08-07 06:19:49 -04:00
Greg Hewgill
267d0c8e06 add disassembler, enable for dump mode 2011-08-07 21:52:26 +12:00
James Tauber
e5607052da Merge pull request #3 from ghewgill/master
make ROM memory really read-only
2011-08-07 02:38:51 -07:00
Greg Hewgill
56e82f7cb6 don't allow writes to ROM area (this caused the ][+ ROM to hang on boot) 2011-08-07 21:31:01 +12:00
James Tauber
108ebd3769 Merge pull request #2 from ghewgill/master
clean up a few details
2011-08-07 01:48:04 -07:00
Greg Hewgill
c9dcee2f08 fix typos for zero_page_y_mode in instruction dispatch table 2011-08-07 20:30:44 +12:00
Greg Hewgill
1925846c3c fix dump() function so it works (when uncommented) 2011-08-07 19:32:39 +12:00
Greg Hewgill
dde4a83f85 fix typo in instruction table 2011-08-07 19:10:30 +12:00
Greg Hewgill
e961d7e00d simplify calculating signed values in adc and sbc 2011-08-07 18:33:42 +12:00
Greg Hewgill
5a8b25b771 only need to allocate 64k of memory 2011-08-07 18:17:24 +12:00
James Tauber
ce179a470f if curses can't write a character to the screen, just skip it; fixes #1 2011-08-07 01:34:10 -04:00
James Tauber
44099ae4f2 improved implementation of indirect bug across page boundaries including indexed indirects as well 2011-08-07 01:22:48 -04:00
James Tauber
044c86325c added unit tests 2011-08-07 00:39:53 -04:00
James Tauber
c101868549 fixed error in BVS 2011-08-07 00:39:17 -04:00
James Tauber
36355def33 whitespace nit 2011-08-07 00:37:49 -04:00
James Tauber
f521fba883 properly use 0 and 1 not False and True for flags 2011-08-07 00:30:12 -04:00
James Tauber
777266f8e1 implemented non-accumulator version of ROR 2011-08-07 00:24:25 -04:00
James Tauber
8f10724a7f fixed inverse use of carry in SBC 2011-08-06 23:53:47 -04:00
James Tauber
6e709fcc4c turns out PLA DOES affect NZ after all 2011-08-06 23:36:04 -04:00
James Tauber
b413e9ac64 renamed load to load_file, added a load to load memory from byte list and refactored loading code 2011-08-06 23:11:52 -04:00
James Tauber
309f8277e1 emulate indirect mode bug in 6502 2011-08-06 23:02:52 -04:00
James Tauber
84bdef67cd reimplemented CMP, CPX and CPY based on 2006/2007 code 2011-08-06 22:39:11 -04:00
James Tauber
6fb2d79cda reimplemented ADC and SBC based on 2006/2007 code 2011-08-06 22:35:45 -04:00
James Tauber
32120dffef apparently PLA does not affect NZ flags 2011-08-06 22:12:11 -04:00
James Tauber
3a20c009d9 little BIT of simplication 2011-08-06 22:05:15 -04:00
James Tauber
c6a6071b2c cleaned up ASL implementation 2011-08-06 21:50:01 -04:00
James Tauber
687b2e345f TSX updated NZ flags 2011-08-06 21:41:52 -04:00
James Tauber
294d9b027a fixed stray comment 2011-08-06 21:31:25 -04:00
James Tauber
ebca76c29b factored out stack pull/push 2011-08-06 21:30:58 -04:00
James Tauber
d6875b2419 refactored flags to status byte and back 2011-08-06 21:12:02 -04:00
James Tauber
20457db088 slight refactor of update_nz and update_nzc 2011-08-06 21:05:22 -04:00
James Tauber
accc0a60bd implemented BRK and RTI 2011-08-06 21:00:50 -04:00
James Tauber
807f392386 make further use of addressing mode refactor 2011-08-06 18:13:56 -04:00
James Tauber
28fcca6bde added zero_page_y_mode 2011-08-06 18:09:37 -04:00
James Tauber
3344005fe7 added wrap-around for zero_page_x_mode 2011-08-06 18:08:39 -04:00
James Tauber
fef234f7c0 refactored addressing mode code 2011-08-06 18:07:50 -04:00
James Tauber
a48716a900 added if __name__ == "__main__" test for mainline 2011-08-06 17:46:38 -04:00
James Tauber
55d700fc68 simplified screen address to col/row translation based on code from 2006 2011-08-06 17:43:59 -04:00
James Tauber
80f221b0f5 initial update from 2001 code 2011-08-06 16:55:33 -04:00