history ------- 11.9.2020 - ordered set at eater.net 23.10.2020: - started the clock module, finish 24.10. morning 24.10.2020: nops and introspection using Arduino Mega 2560 sadly Archlinux32 arduino builder (avr gcc) segfaults, needs investigation (on 64-bit for now) started to struggle with the EEPROM programmer and minipro, ok in the end thoughts on using cheap 2k ROMs first instead of the 32k ROM 25.10.2020: managed to program 2k EPROM, also able to set reset vector and start PROM software at f800 27.10.2020: VIA chip works with blinken lights 28.10.2020: broken clock (a missing ground with funny effects on the CLK line) another light example (counter) 29.10.2020: working rom-only LCD display 30.10.2020: added ram for zero page and call stack (just A0-A8, left all others floating with nice effects!), working LCD example with subroutines and RAM. 1.11.2020: playing with interrupts clear memory strange memory test, write 255 zeroes to zero page, read, bne, getting distorted output (though we are not using ram!) VIA IRQ handling with capacitance cheapo debouncer on interrupt button. 2.11.2020: soldered a pin to the broken EPPROM, works :-) playing with I/O peripherial data bus zif dry for broken EEPROM, works fine 3.11.2020: new parts order 4.11.2020: new parts order (check) some thinking on transistors for feeding two LEDs from on PROM 5.11.2020: new breadboard did the 2-digit 7-segment display, currently unbuffered on the I/O data bus 6.11.2020: shift register for 7-bit output via the VIA opcode decoding (from Ben Eaters 6502 monitor project) almost working counter with reset (on IRQ) found a bug in encoding of hex 'C' (which means, redo the thing) 7.11.2020: fixed 'C' in 7-digit EEPROM stange BRK interrupts and RTIs to strange addresses -> floating address lines on RAM (again!), IRQ on VIA has to be acknowledged, otherwise it triggers constantly (so the counter seems to stop). playing with delays to make counter work correctly (somewhat). 8.11.2020: using via timer1 for 10ms ticks, time counter increment instead of delay weird issue with TICK on $1 and COUNTER on $0, works fine with TICK $10, so again, a SRAM issue? working more on a SRAM test ordered SRAM at Reichelt, waiting 11.11.2020: VGA kit arrived, some weird issues with payment (UPS, as usual) 17.11.2020: new RAM, same problems resistors on VCC stabilize the circuit on slow clock. 18.11.2020: playing with some cli, sei, having a copy of the counter and optimizing display (refresh on change only) X and Y are not stored in the interrupt routine, why this is extremely bad, is obvious! :-) 19.11.2020: distinguish IRQ from timer1 and CA1 source, button should stop and restart the counter. 20.11.2020: fixed wrong IFR address in interrupt handler some problems in IER and IFR mismatch (though I don't enable certain interrupts, I get a match in the status register). Button press trigers two events (on press and release) effectively switching off/on the counter. 21.11.2020: work on a simple 6502 emulator while watching youtube series 22.11.2020: more work on emulator 25.11.2020: more work on emulator 26.11.2020: more work on emulator 27.11.2020: more work on emulator, especially cleaned up architecture and using a bus/device structure, CPU knows only about the bus, we connect all devices (ROM, RAM, VIA) to the bus 29.11.2020 work on 7-segment display in emulator 5.12.2020 work on emulator (disassembly and single-stepping) 10.12.2020 unit testing framework and first unit tests till 31.12.2020 baby steps in testing via 6522 handle timing/cycles properly 2.1.2021 work on via and interrupts commands -------- xxd -r rom.hex > rom.bin hexdump -C rom.bin minipro -w rom.bin -p AT28C16@DIP24 minipro -m rom.bin -p AT28C16@DIP24 minipro -r x -p AT28C16@DIP24 cmp x rom.bin # -wdc02 for extensions vasm6502_oldstyle -x -wfail -chklabels -dotdir -o rom.bin -Fbin rom.asm