[LMH]Nevermore

Robert Swindells rjs@fdy2.demon.co.uk
Thu May 20 14:36:02 2004


Alastair Bridgewater wrote:
>On Thu, May 20, 2004 at 05:31:12PM +0100, Robert Swindells wrote:
>> 
>> I started by trying to parse the microload, I then realized that it
>> wouldn't fit into the 56 bit wide arrays. Once I had started modifying
>> them I thought I might as well start on the microengine and
>> disassembler.

>Mmm... I suppose it wouldn't hurt to at least change the cached 
>microinstruction storage to be 64 bits wide globally...

They are also a different length...

>> I saw in an old message that you had worked out the ExpI ROM format,
>> have you had any thoughts on the likely format of an ExpI microload ?

>Ages back. See dise1uc.lisp, disassemble-mcr-partition for some of the 
>details. I also posted a partially-commented disassembly of the STBM 
>code to my webspace a while back ( http://www.dridus.com/~nyef/lispm/ ), 
>which has the code to start a microload running on the machine.

I don't seem to have that function in dise1uc.lisp.

I had downloaded the STBM listing already.

>> >Starting a microload without having the STBM code will be... 
>> >interesting. Particularly if you start by loading the primitive.
>> 
>> The source to the Macintosh loader program is supplied with the
>> microExplorer tree. It doesn't seem to be doing very much to start
>> the board up.

>Heh. Is it just using the micronet interface to indicate the presence of 
>a microload and having the STBM take it from there?

I think it must be.

See what you think when you get the tarball.

>> >I can think of a couple things I'd want to change if we're going to 
>> >support Hummingbird in the same codebase. NuBus handling, for starters.
>> >Breaking the CPU emulation out into a separate package from everything 
>> >else as well... We might also want to look for a better name. Poe never 
>> >wrote about a Hummingbird that said 'Nevermore'. ^_-
>> 
>> I have broken the ExpII versions of things out into their own files.

>Right, but there are a few things that should be common to both that are 
>in files with 'raven' in the name.

Feel free to merge any shared stuff back together.

>> I have only really done the bits that have moved around slightly
>> within the microword. I have added handling of immediate a-mem
>> values to the microengine, but not to the disassembler yet.

>Oh, neat. A-Immediates look like they'd make a good improvement over the 
>A-CONSTANT stuff from the Raven microloads. One question I have, though, 
>is if they sign or zero extend...

I was hoping that the encoding of immediates would be obvious once we
started disassembling the microload.

>> I have had a go at reading the ROM in my microExplorer.
>> 
>> What I can't tell is whether the diagnostic microload ought to be
>> mapped into the NuBus address space or whether this is part of the
>> reason for the board not working.

>There's a specific diagnostic for the MX, right? Are you writing a 
>replacement set of interface routines, or are you using the 'correct' 
>ones?

My MX won't boot, so I'm just poking at it from the Macintosh side.

The ExpII processor document states that the NuBus config ROM contains
the STBM. I was just guessing that the MX was the same, but couldn't
see anything that looked meaningful.

Robert