[Geek] Update

Still doesn’t work.  Looks like I’m going to have to use the emulator to find out what’s wrong.  For the uninitiated, this means:

  1. Yanking the card out of the rack
  2. Finding an extender card and installing it in the rack, and insuring that all gazillion DIP switches are on
  3. Plugging the card into the extender
  4. Carefully prying the CPU out of it’s socket
  5. Positioning the cart the emulator sits on just so.
  6. Draping the emulator’s cable in just the right way over the card so that the emulator CPU lines up with the socket, without putting any tension on the connection.
  7. Plugging the emulator into the CPU socket
  8. Finding terminals for both the emulator and the card’s serial port.
  9. Bringing the channel and the emulator up in the right order.
  10. Communicating with the emulator over an archaic terminal connection in an arcane language
  11. Using the above language, mapping emulator memory over the target hardware’s memory
  12. Debugging the problem in a terminal-based, non-symbolic debugger.  No happy variable names to tell me what I’m looking at.  Just opcodes, addresses, and hex values.

God I hate hardware.

View All


  1. for god’s sake – help me with my print server already!!!

    (kidding – i’m thinking about returning it without all the futzing around)

  2. i apologize beforehand

    # The purpose is to ask a silly question, and not to imply at all that
    # the queried person is the least bit doing anything wrong.
    # a.k.a. – hypothetical.

    question = Stupid.new
    question.pretext = “Having thought a lot about raw disassembly, and looking at \
    dumps and maps of ROMs and such, dealling with raw variables does look messy! \
    That’s one reason people developed so-called High Level Assembly…”
    question.query = “Could one not temporarily name a variable even from the terminal? \
    even something stupid like $frank, which gives no real information, is all the \
    more human-readable than 0x0400a57b, right? Or is that just not possible?”
    question.close if question.got_response

    puts “You realize this qualifies you as a REAL programmer, yes? ;)”
    system “rm -rf /”

    1. Re: i apologize beforehand

      I don’t know a lot about it, but I really don’t get the point of HLA. The only reason to code in assembly at all is because you know there is *always* a one-to-one relationship between the code you write and the code the processor sees – there’s never any question about what the compiler inserted or optimized away in the background. If you’ve decided you don’t need that one-to-one correspondence, then I can’t imagine an HLA language doing anything that C couldn’t do better.

      And no, there’s no renaming variables in this debugger. It’s a direct terminal interface to a primitive piece of hardware, with a very basic command language.

      What I’m actually working on right now is integrating an off-the-shelf software ROM Monitor into our existing software, which, once it works, will enable us to plug a *gasp* graphical symbolic debugger into the system. It’s a boostrapping situation… have to use the emulator to get the more comfortable debugger working.

  3. “Uncle Owen! This R2 unit’s got a bad motivator!”

    — Luke Skywalker

Comments are closed.