summaryrefslogtreecommitdiff
path: root/README
blob: 18343b1480e3ec971074ab5f7101a48fbec493d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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