[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Writing emulator...



Dosius wrote:

>> How is it garbled?  I read on your site that there is a problem with a
>> "phantom" 80-column card.
> That is fixed: try the ProDOS User's Disk and see what's in slot 3.
> In earlier versions this said "80-column card", but now it says
> "empty".

Cool, scratch that one.

>> That could well be your garbled display problem,
>> since CP/M attempts to enable any card in slot 3 for console I/O.  If it
>> does not find a display card, it uses Apple monitor routines to do
>> keyboard
>> and display.  When CP/M is doing I/O, it is always using 6502 code for
>> it.
> It's hard to explain.
> 
> Did you say you used Linux?  Dapple could possibly work in dosemu...

Perhaps... then again, if Dapple compiled in gcc, it might be trivial to get 
it to work with svgalib or X11.  I'm not sure because I've never tried 
writing for either of those.

I can boot windows on this machine, I just hate rebooting :)

>> 
>> Another thing to note: Microsoft CP/M versions prior to 2.23 do not
>> follow the Pascal slot protocol.
> ???

That was a reference to the mystical slot-3 phantom card, but I'm wrong 
there.  The slot protocol is a software thing, too, and a bit too detailed 
to go into here, but suffice to say it allows the OS to figure out what 
kind of card are installed in each slot, and a standard way to access 
character devices.  CP/M 2.23 would ignore, say, a Disk II in slot 3, but 
CP/M 1.4 might try to use it as an 80-column card!  This is because it'd 
blindly assume that any card in slot 3 was an 80-column card, rather than 
use the Pascal slot protocol to make sure.
 
> (can you tell I know next to nothing about the hardware?)

Well, you're writing an emulator.  I figured you have the hardware part 
down, since that is key to a good emulator. :) 

You simply don't have *all* the hardware knowledge, and that's what the 
newsgroups are for.

Mike