Z80 REPL (2018)
125 points by adunk 10 hours ago | 17 comments
jottinger 8 hours ago
The source code for this is apparently 8 years old: https://github.com/abagames/z80-repl
replyWith that said, I love the idea.
NewsaHackO 3 hours ago
Yea, it doesn't have that... uninspired design to it, looks like the design of someone who actually created it themselves.
replyjhallenworld 4 hours ago
You should support symbols... For example, the monitor on my 6800 / 6809 Exorciser simulator has this (the "Offset at..." is printed when it fixes forward references):
reply ~/exorsim$ exor -d
% a 1000
1000: start bra skip
1002: nop
1003: nop
1004: skip ldx #10
Offset at 1001 set to 02
1007: loop dex
1008: nop
1009: bne loop
100b: rts
100c:
% sy
1007 loop
1004 skip
1000 start
% u 1000
1000: 20 02 BRA $1004
1002: 01 NOP
1003: 01 NOP
1004: CE 00 0A LDX #$000A
1007: 09 DEX
1008: 01 NOP
1009: 26 FC BNE $1007
100B: 39 RTS
What would be even better: "a" brings up a built-in mini-editor. When you exit, the code is assembled.networked 9 hours ago
Cool idea! The REPL needs to handle whitespace after an instruction with no operands:
reply > ld c,20h
0E 20 (7 cycles)
> ld c,20h [<-- trailing space here]
0E 20 (7 cycles)
> nop
00 (4 cycles)
> nop [<-- trailing space here]
unknown instruction: nop
I also wish I could select from the completion list with Tab without typing more of the instruction, fish-style. I.e., you press Tab to go through completion 1, completion 2, ..., completion N, completion 1 again with Enter to confirm your pick.torutofu 8 hours ago
the fun part is how fast you can get back into Z80 muscle memory once the repl is giving you immediate feedback
replyj4cobgarby 8 hours ago
Really nice! Would be fun if there were a few examples that could be loaded into memory
reply
There was another downside, that the Applesoft BASIC license gave Microsoft a hostage which they later used to kill https://en.wikipedia.org/wiki/MacBASIC. Hard to tell how much it mattered that the Mac came with no user programmability, which had been expected for PCs till then.