Commit Graph
100 Commits
Author SHA1 Message Date
Paul Gardner-Stephen 83c6a669d6 implement quote and insert mode flag handling. 2019-04-22 01:51:51 +09:30
Paul Gardner-Stephen 9996697f5e add sources for reverse video control 2019-04-22 01:38:24 +09:30
Paul Gardner-Stephen a458fb0b58 implement reverse video flag 2019-04-22 01:37:02 +09:30
Paul Gardner-Stephen 6dad8d491b fix printing of shifted and vendor modified keys. 2019-04-22 01:35:02 +09:30
Paul Gardner-Stephen dd2200965d fix scrolling of screen when on expanded last line 2019-04-22 01:22:14 +09:30
Paul Gardner-Stephen e1490c1ded work towards fixing bug with no scrolling when last line is double-length 2019-04-22 00:59:54 +09:30
Paul Gardner-Stephen eed50e63f4 fix bug when expanding last line on screen 2019-04-22 00:39:29 +09:30
Paul Gardner-Stephen a803ca6268 fix extending lines 2019-04-22 00:36:55 +09:30
Paul Gardner-Stephen 933bcac978 fix screen scrolling bugs 2019-04-22 00:10:26 +09:30
Paul Gardner-Stephen d18d8c30c3 clear line link flag for last line when scrolling screen up 2019-04-21 23:44:14 +09:30
Paul Gardner-Stephen c29b8c6fc7 implement scrolling screen up when pressing cursor down at bottom of screen. 2019-04-21 23:35:58 +09:30
Paul Gardner-Stephen b6f6570951 fix bug in growing line when last line on screen 2019-04-21 23:15:44 +09:30
Paul Gardner-Stephen 2a212678c6 begin implementing scrolling screen 2019-04-21 23:13:41 +09:30
Paul Gardner-Stephen 20b223b971 fix bugs with double-length lines 2019-04-21 22:26:48 +09:30
Paul Gardner-Stephen abb71db8aa fix various problems with delete. Now seems to work fairly well. 2019-04-21 22:09:29 +09:30
Paul Gardner-Stephen c23f8cef4f implement core of delete char in chrout 2019-04-21 21:59:06 +09:30
Paul Gardner-Stephen 07f1a649c5 implement colour codes and updating colour RAM 2019-04-21 21:49:43 +09:30
Paul Gardner-Stephen 6e4ba6ce18 calculate address of screen colour line 2019-04-21 21:40:49 +09:30
Paul Gardner-Stephen 135ac01235 implement shift + Vendor key to toggle case 2019-04-21 21:33:52 +09:30
Paul Gardner-Stephen 3f31054087 disable screen X Y normalisation debug output 2019-04-21 00:11:50 +09:30
Paul Gardner-Stephen 0a0934ce63 reset key repeat delay when key is released. 2019-04-21 00:10:33 +09:30
Paul Gardner-Stephen b7621f9c7d factor out screen coordinate normalisation function 2019-04-21 00:07:01 +09:30
Paul Gardner-Stephen 654abce59d make sure screen Y is not too large when normalising 2019-04-21 00:05:16 +09:30
Paul Gardner-Stephen b03742b745 normalise screen X and Y positions when recalculating pointer 2019-04-21 00:02:23 +09:30
Paul Gardner-Stephen 00591676dc make cursor visible immediately after printing a character, but for only 1 frame, to match C64 KERNAL behaviour 2019-04-20 23:43:12 +09:30
Paul Gardner-Stephen ace97a364c fix problems with key repeat 2019-04-20 23:37:53 +09:30
Paul Gardner-Stephen 106c9dfd22 begin implementing key repeat logic 2019-04-20 23:29:16 +09:30
Paul Gardner-Stephen 0add45b798 implement home key 2019-04-20 23:17:44 +09:30
Paul Gardner-Stephen d283c3243d fix first pass size estimation to ensure no ZP modes get used for in-line data 2019-04-20 23:14:45 +09:30
Paul Gardner-Stephen 3b7c941494 make it easier to detect when routine sizes change between first and second passes 2019-04-20 23:12:34 +09:30
Paul Gardner-Stephen a51c8e9579 work on cursor control keys in editor 2019-04-20 23:09:55 +09:30
Paul Gardner-Stephen ab34a1de51 implement bucky keys in keyboard scan routine 2019-04-20 23:04:50 +09:30
Paul Gardner-Stephen 513677ac6a implement more cursor movement code 2019-04-20 22:18:52 +09:30
Paul Gardner-Stephen c143c1328a begin implementing delete in chrout 2019-04-20 21:54:40 +09:30
Paul Gardner-Stephen 18b223d1b6 increase IRQ rate to ~60hz 2019-04-20 07:22:42 +09:30
Paul Gardner-Stephen fa82939cc5 fix handling of printing $00 chars, and scanning $00 from keyboard matrix 2019-04-20 02:38:23 +09:30
Paul Gardner-Stephen 91f2dd02fd fix bucky key detection 2019-04-20 02:35:39 +09:30
Paul Gardner-Stephen ce30caeb74 add missing item in keyboard matrix 2019-04-20 02:30:56 +09:30
Paul Gardner-Stephen a24f56caad fix undrawing of cursor when printing chars 2019-04-20 02:30:36 +09:30
Paul Gardner-Stephen a60f262d84 fix keyboard buffer emptying handling 2019-04-20 02:15:53 +09:30
Paul Gardner-Stephen 8a4f4928e5 begin implementing chrin to read from keyboard buffer 2019-04-20 02:06:31 +09:30
Paul Gardner-Stephen f37e32f856 stuff newly read keys into the keyboard buffer 2019-04-20 02:02:45 +09:30
Paul Gardner-Stephen 1e37babbb7 fix many problems with new keyboard scan routine 2019-04-20 01:46:21 +09:30
Paul Gardner-Stephen 054913ed06 roll another loop up 2019-04-20 01:04:48 +09:30
Paul Gardner-Stephen 7bce9d4c26 remove non-alpha flag handling 2019-04-20 01:02:56 +09:30
Paul Gardner-Stephen 3f18fce879 unroll loop in keyboard scanner 2019-04-20 01:01:05 +09:30
Paul Gardner-Stephen 67b2f3fc7d refactor keyboard scanner somewhat, and have no variables in ROM(!) 2019-04-20 00:59:09 +09:30
Paul Gardner-Stephen 99b06b843e initialise keyboard scanner extra variables 2019-04-20 00:58:52 +09:30
Paul Gardner-Stephen cef8ffeb43 modify keyboard scan routine to return raw matrix codes 2019-04-20 00:35:20 +09:30
Paul Gardner-Stephen 5f6cc08a97 modify keyboard scan routine to extract bucky bits and store in expected variables 2019-04-20 00:28:18 +09:30
Paul Gardner-Stephen dbf865fc6d add keyboard scan to IRQ routine 2019-04-20 00:28:04 +09:30
Paul Gardner-Stephen 72baf3869a begin importing public keyboard scan routine implementation 2019-04-20 00:12:50 +09:30
Paul Gardner-Stephen 415d5a94bb hide cursor when drawing, minor other fixes 2019-04-19 23:40:51 +09:30
Paul Gardner-Stephen c46a4aa1dd get CIA IRQ running. 2019-04-19 23:26:49 +09:30
Paul Gardner-Stephen b551bc7827 clear interrupt disable flag when starting BASIC 2019-04-19 23:12:42 +09:30
Paul Gardner-Stephen 9908c4e62a begin implementing IRQ framework 2019-04-19 23:11:32 +09:30
Paul Gardner-Stephen 1ca55c8df3 ignore LF character in CHROUT (BASIC READY prompt tries to display it) 2019-04-19 23:04:21 +09:30
Paul Gardner-Stephen a5183785ea make chrin infinte loop until properly implemented 2019-04-19 23:00:59 +09:30
Paul Gardner-Stephen 4f7ef73ab7 fix 32K/38K BASIC RAM space detection 2019-04-19 23:00:23 +09:30
Paul Gardner-Stephen b95cbbb831 advance line pointer on carriage return 2019-04-19 23:00:07 +09:30
Paul Gardner-Stephen 63645c8ef8 fix bugs with chrout to make work with BASIC 2019-04-19 22:53:31 +09:30
Paul Gardner-Stephen e80df3ff53 update RAMTAS, MEMBOT and MEMTOP based on http://unusedino.de/ec64/technical/project64/mapping_c64.html 2019-04-19 21:42:05 +09:30
Paul Gardner-Stephen e538bfee0e implement CHROUT clear screen. 2019-04-19 21:20:17 +09:30
Paul Gardner-Stephen aeea452967 fix chrout processing of Y and Z characters 2019-04-19 21:12:19 +09:30
Paul Gardner-Stephen bf4e22b99a save X and Y in CHROUT 2019-04-19 21:11:24 +09:30
Paul Gardner-Stephen aab7b98c27 fix some bugs 2019-04-19 21:03:53 +09:30
Paul Gardner-Stephen 85d6c10832 begin implementing chrout 2019-04-19 20:55:36 +09:30
Paul Gardner-Stephen 6bd5778db2 implement screen clear routines 2019-04-19 20:42:39 +09:30
Paul Gardner-Stephen 3ff2419189 implement main screen clear routine 2019-04-19 20:30:41 +09:30
Paul Gardner-Stephen 0605c85169 ignore # and . files when searching for source files 2019-04-19 20:29:41 +09:30
Paul Gardner-Stephen eef931a567 initialise key repeat things 2019-04-19 20:10:58 +09:30
Paul Gardner-Stephen 2ba66f1d83 call CINT from reset routine (Compute's Mapping the 64) 2019-04-19 12:52:32 +09:30
Paul Gardner-Stephen 96661c1928 set screen/border colours in CINT 2019-04-19 12:52:20 +09:30
Paul Gardner-Stephen 5799c5e5e6 add some further information about the CHRIN routine 2019-04-19 12:45:08 +09:30
Paul Gardner-Stephen 799458a2ad begin implementing CINT 2019-04-19 12:39:00 +09:30
Paul Gardner-Stephen 4718a33d5a more work on RAMTAS routine based on Compute's Mapping the 64 2019-04-19 12:32:13 +09:30
Paul Gardner-Stephen 313b945bac add further explanation about the method of creating compatible ROMs 2019-04-19 12:10:11 +09:30
Paul Gardner-Stephen 0e40f96320 add list of KERNAL memory address definitions 2019-04-19 12:01:50 +09:30
Paul Gardner-Stephen b09a016a96 set $00/$01 values in ioinit 2019-04-19 11:41:40 +09:30
Paul Gardner-Stephen 0a2d423e25 add missing label and RTS for no_cartridge 2019-04-18 23:43:59 +09:30
Paul Gardner-Stephen d151be5142 update reset routine based on c64 prg pp263-269 2019-04-18 23:43:04 +09:30
Paul Gardner-Stephen 5c701f8dd0 add stub routines to unimplemented calls 2019-04-18 23:31:56 +09:30
Paul Gardner-Stephen 1370446e79 jump table entries should be jumps, not addresses 2019-04-18 23:12:54 +09:30
Paul Gardner-Stephen ab1b29565b implement functionality of RAMTAS routine as described in C64 Programmer's Reference Guide 2019-04-18 22:59:35 +09:30
Paul Gardner-Stephen e773a014d8 we are not looking at disassemblies to reverse engineer, so don't have target to download disassembly of C64 KERNAL 2019-04-18 22:50:32 +09:30
Paul Gardner-Stephen bd13cae612 add targets to build 8KB newkern file and run in VICE 2019-04-18 22:49:12 +09:30
Paul Gardner-Stephen cbda53e12c add return stubs to routines called from reset_entry 2019-04-18 22:30:11 +09:30
Paul Gardner-Stephen b9d63e3f36 begin implementing reset routine 2019-04-18 22:29:34 +09:30
Paul Gardner-Stephen 4e35ce391d add stubs for various routines defined in KERNAL jump table on pp272-273 of C64 Programmers Reference Guide 2019-04-18 22:14:39 +09:30
Paul Gardner-Stephen c42759f36d ignore combined.s when scanning source directory. 2019-04-18 22:09:26 +09:30
Paul Gardner-Stephen 6a7f1d13b2 add missing KERNAL jumptable entries listed on p272-27 of C64 Programmer's Reference Guide 2019-04-18 22:04:03 +09:30
Paul Gardner-Stephen a4a4e0c443 produce combined source with PC fence checks, and run assembler to get binary 2019-04-18 21:43:32 +09:30
Paul Gardner-Stephen d30950da7b write out combined source file with routines in correct order 2019-04-18 21:36:11 +09:30
Paul Gardner-Stephen 66feea732e more work on preprocessor to get routine sizes for packing 2019-04-18 21:14:45 +09:30
Paul Gardner-Stephen 2d78fa08c1 mark unlocated routines with address -1 so that they come first in the sort order 2019-04-18 20:51:34 +09:30
Paul Gardner-Stephen ef4626e970 sort routines in appropriate order 2019-04-18 20:50:57 +09:30
Paul Gardner-Stephen de2139117a begin implementing preprocessor to generate ROM files 2019-04-18 20:26:01 +09:30
Paul Gardner-Stephen be1ce8799f allow auto-starting Vice and injecting keyboard input during tests 2019-04-18 10:51:41 +09:30
Paul Gardner-Stephen e7a78c5641 auto-quit the emulator when finished collecting 2019-04-18 02:47:44 +09:30
Paul Gardner-Stephen 07b62ef1c2 fix automatically running programs 2019-04-18 02:44:31 +09:30