[HN Gopher] Show HN: A Golang CP/M emulator
       ___________________________________________________________________
        
       Show HN: A Golang CP/M emulator
        
       Author : stevekemp
       Score  : 62 points
       Date   : 2024-05-18 17:48 UTC (5 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | wiz21c wrote:
       | cp/m still ticking... Time flies! Had somewhat checked it once on
       | my Apple 2 :-)
        
         | jimmaswell wrote:
         | I've become familiar with it playing with the Kaypro 1 (the
         | last CP/M model, not the first Kaypro - their model numbers are
         | confusing). I picked it up years ago and just got around to
         | getting disks etc recently.
         | 
         | Interesting to see the influence on DOS, and how people used to
         | deal with ED to write assembly etc.
         | 
         | Really nice machine to play Zork and such on. The monochrome
         | green is so clear and nice, and a really good size. Keyboard
         | feels great.
         | 
         | I've been trying to get serial working with the odd pinout
         | without success yet.
        
           | nsguy wrote:
           | I got to use CP/M briefly on a DEC Rainbow machine in the
           | 80's. It was very similar to DOS but IIRC there were quite a
           | few differences at the detail level. I remember seeing some
           | ads for Kaypro's but I don't think I ever saw one in real
           | life... What sort of issues are you having with the serial
           | port? You might need to jumper the flow control pins if you
           | can't disable flow control. I'm sure the pinout is
           | documented? I had to deal with lots of oddball serial ports
           | way back when, I might even have some breakout/jumper RS232
           | adapters lying around.
        
       | an-unknown wrote:
       | This project looks interesting. I saw you use stty to configure
       | the console, but there is a native "UNIX way" to do this via
       | tcgetattr/tcsetattr, you'll have to figure out how to use these C
       | functions elegantly in Go though / if there is some Go package
       | which wraps them already. On Windows you'll have to configure the
       | console via win32 API calls GetConsoleMode/SetConsoleMode and
       | again you'll have to figure out how to do this from Go = you'll
       | have to add some compile time switch between "UNIX like" OS and
       | Windows to support both. The "UNIX like" version should work on
       | Linux, macOS, and various other UNIX like systems.
       | 
       | You could also improve the debugging experience with full
       | execution trace recording (record all executed instructions /
       | memory accesses / ... to a trace file) which would not only give
       | you detailed information about what exactly went wrong if
       | something goes wrong but also allow you to directly debug your
       | own Z80 code on assembler level.
        
         | Max-q wrote:
         | > you'll have to add some compile time switch
         | 
         | Isn't it best to use the switch already built into Go?
        
       ___________________________________________________________________
       (page generated 2024-05-18 23:00 UTC)