Z80 REPL

(abagames.github.io)

63 points | by adunk 2 hours ago

6 comments

  • flyinghamster 33 minutes ago
    The one thing I lamented about the Apple II Plus (vs. the original with Integer BASIC) was that to make room for autostart, they had to rip out the mini-assembler in the Monitor ROM. That was the closest thing I ever saw to an assembly-language REPL before this. At least they were able to keep the disassembler.
    • boomlinde 14 minutes ago
      It's common in the C64 world to use freezer cartridges that allow you to interrupt normal operation and invoke a monitor program. These typically include rudimentary assemblers and disassemblers as well. Fun and useful for patching and reverse engineering!
  • networked 1 hour ago
    Cool idea! The REPL needs to handle whitespace after an instruction with no operands:

      > 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.
  • jottinger 40 minutes ago
    The source code for this is apparently 8 years old: https://github.com/abagames/z80-repl

    With that said, I love the idea.

    • wkjagt 23 minutes ago
      That makes me love it even more
  • torutofu 20 minutes ago
    the fun part is how fast you can get back into Z80 muscle memory once the repl is giving you immediate feedback
  • j4cobgarby 1 hour ago
    Really nice! Would be fun if there were a few examples that could be loaded into memory
  • Marbleferry815 56 minutes ago
    [dead]