Commit Graph
100 Commits
Author SHA1 Message Date
Paul Gardner-Stephen 2fd27915f7 don't print strange control characters. Part solution to Issue #2. 2019-04-22 13:51:55 +09:30
Paul Gardner-Stephen 5292ea009b Fix enabling/disabling of cursor. Issue #1 2019-04-22 12:55:36 +09:30
Paul Gardner-Stephen 13a7aee1d2 enable and disable cursor when reading a line of keyboard input via chrin 2019-04-22 12:37:27 +09:30
Paul Gardner-Stephen 296fdcfd7a fix char under cursor draw/undraw bug 2019-04-22 12:31:45 +09:30
Paul Gardner-Stephen b257ac8234 begin implementing stop routine 2019-04-22 12:09:03 +09:30
Paul Gardner-Stephen f858ab6ac4 fix glitching when shortening a full-length line using DELETE 2019-04-22 11:49:34 +09:30
Paul Gardner-Stephen 57b2c69c1d implement shift-DELETE to insert characters 2019-04-22 11:42:13 +09:30
Paul Gardner-Stephen 2cade1508f fix decoding of shifted and vendor shifted input. BASIC keyword short cuts now work. 2019-04-22 03:50:53 +09:30
Paul Gardner-Stephen 0652c536cd fix error for encoding ) 2019-04-22 03:50:46 +09:30
Paul Gardner-Stephen d8f4acf7e1 remove debug border flash 2019-04-22 03:36:01 +09:30
Paul Gardner-Stephen 374815ed68 fix preserving X register in CHRIN 2019-04-22 03:33:52 +09:30
Paul Gardner-Stephen 836f19e834 correct length measurement of input line for CHRIN 2019-04-22 03:04:15 +09:30
Paul Gardner-Stephen 89f7f9ae55 preserve X register in chrin 2019-04-22 02:59:44 +09:30
Paul Gardner-Stephen 3067744304 partial implementation of CHRIN 2019-04-22 02:49:32 +09:30
Paul Gardner-Stephen f62a541d83 add placeholder license 2019-04-22 02:49:24 +09:30
Paul Gardner-Stephen 028d82fc11 work towards chrin returning a line of input 2019-04-22 02:17:57 +09:30
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