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

Re: Can anyone help me with Apple CP/M



In article <394F534B.745F0142@pacific.net.au>,
Matt Jenkins  <mdj@pacific.net.au> wrote:
 
> Paul Schlyter wrote:
>  
>> So you might be able to squeeze it into $0300-$03FF then?
> 
> Unfortunately not. I did a bit of research last night and discovered
> chapter 6 in the CP/M 2.2 manual gives much information on how the disk
> system in the CP/M BIOS operates. For the Unidisk 3.5", presuming the
> Smartport firmware is used to communicate with it, I'd need 512 bytes
> as a disk block buffer,
 
You could reuse the nibble and sector buffers of the "CP/M RWTS" for
the standard 5.5" drives though: I'll find out where they reside.
Since CP/M logically uses 128-byte sectors, one had to buffer the
standard Apple II 256-bytes sectors too.
 
> plus room to fit modified blocking routines for CP/M sector translation,
> so unfortunately it seems I either replace the existing disk framework
> with 3.5" only support (which would be okay except for the fact it'd
> make getting data on/off the 3.5" disks impossible)
 
Not impossible - just harder.  Use a null modem cable, a PC, and
Kermit, XModem or YModem on both ends... :-)
 
However, life will certainly be easier for you if you have both 5.25"
and Unidisks available at the same time!
 
> or find somewhere else to hide the routines, ie. Auxiliary memory on
> a IIe/IIc.
 
That could work.  On a standard Apple II or II+ with language card one
could also use the second 4 KBytes bank in the language card.
 
>>> How much detail does the softcard documentation go into on the boot
>>> process?
>> 
>> It gives no information at all.  But you can disassemble the code and
>> look at it.
> 
> Okay... Does the CP/M system use 2 or 3 tracks on a disk reserved for
> the OS ?
 
You should be able to figure this out from the CP/M BIOS disk parameter
tables in Apple CP/M.  But OK, I'll tell you: it's 3 tracks: that many
tracks are needed to get enough disk space for CP/M itself.
 
> The CP/M docs say 2,
 
2 system tracks is the standard value on 8" SSSD disks.  But this
figure can be configured in the disk parameter table of the BIOS
(which is described in the CP/M Alteration Guide - no, that guide
didn't come with SoftCard CP/M, but the standard version works fine
for the SoftCard too).  Each logical disk (A:, B:, etc) has its own
disk parameter table - if disk formats are identical, several volumes
can share the same table I think.
 
So if you don't intend to ever boot CP/M from your Unidisk, I see no
reason why you cannot configure them for 0 system tracks, and thus get
a little more disk space for your files.
 
> but I'm guessing the Apple versions use 3 ala DOS 3.3
 
Correct.
 
>> Don't worry about the serial port drives.  CP/M 2.2 had lousy support
>> for serial ports anyway, so any real application talking to the
>> serial port (such as Kermit) will have to be modified to talk
>> directly to the serial port hardware.
> 
> Yeah I recall that now. A shame; CP/M apps would have been much more
> portable with decent serial I/O
 
They indeed would.  CP/M+ improved this, but unfortunately CP/M+ never
got as widespread as CP/M 2.2
 
>> I'll look for info regarding hooking up new disk drives to the SoftCard
>> CP/M.
>> 
>> Then you'll also need a way to "format" the 3.5" Unidisks.  You could
>> write that "disk formatter" to run under DOS 3.3, ProDOS, or
>> whatever.  All it needs to do is to write $E5 into each and every
>> byte of each and every sector of the disk.  That's it!  To CP/M,
>> sectors filled with $W5 are acceptable as an empty root directory.
>> You cannot boot from these disks, of course, but let's assume you
>> boot from 5.25" disks anyway, so you don't have to worry about the
>> system tracks.
> 
> Ok, is that talking in "physical" sectors, or CP/M sector translation ?
 
Does this matter if you're going to fill all data bytes on the disk with
the same byte value?
 
Anyway, you might have to consider creating a suitable CP/M sector
translation table for the Unidisk.  For the standard Apple II disks,
Apple DOS, Apple Pascal and Apple CP/M all used different sector
interleaving.  ProDOS used the same interleaving as Apple Pascal.
 
> Writing an app to $E5-ify an entire 3.5" disk is simple enough to do.
> 
>> The Appli-Card had it's own 64K of RAM, so Appli-Card CP/M was a 63K
>> CP/M system (1K was needed for housekeeping stuff).  Since the Z80
>> and the 6502 each had their own RAM on the Appli-Card, the two
>> processors needed a way to communicate.  This was done via the Z80
>> ports, which mapped to RAM addresses as seen by the 6502: a protocol
>> was run in the Appli-Card system which enabled the Z80 and the 6502 to
>> "talk" to one another.  Since the Appli-Card Z80 was unable to access
>> 6502 memory at all, *all* I/O stuff had to be done via the 6502 in
>> the Appli-Card.
> 
> Interesting. That would've resulted in a board that had very nice Z80
> code execution performance, but it might've taken an I/O hit...
 
True --- I ran the Appli-Card a lot, and enjoyed it.  CPU intensive
programs really ran about 3 times faster compared to the SoftCard.
 
>> FInally, to return to your question: yes, there was a 60K CP/M system
>> for the SoftCard too.  It appeared fairly late, and it seems to have
>> been using that second 4K RAM bank on the Lanugage/RAM card of the
>> Apple II to gain another 4K of RAM.
>
> That's interesting. That second 4k was accessed by switching out the
> D000-DFFF range (4k bank 1), so one wonders how they provided both 4k
> banks to the Z80, and what they decided to remove; The 0000-0FFF range
> or the C000-CFFF range.
 
I think they re-wrote CP/M itself, to make it runnable in that bank
switched environment.  To applications, the TPA was still un-banked.
 
> I wonder if the standard 56k system uses the 2nd bank for anything..
 
Nope!
 
> If it didn't that'd provide the perfect spot for the Unidisk support.
 
Precisely!
 

-- 
----------------------------------------------------------------
Paul Schlyter,  Swedish Amateur Astronomer's Society (SAAF)
Grev Turegatan 40,  S-114 38 Stockholm,  SWEDEN
e-mail:  pausch at saaf dot se   or    paul.schlyter at ausys dot se
WWW:     http://hotel04.ausys.se/pausch    http://welcome.to/pausch