Date : Fri, 06 Mar 1987 08:49:47 est
From : marwood@dmc-crc.ARPA (G. J. Marwood)
Subject: Modifications to Applicard System
I am looking for some help from someone who is very familiar with
the Applicard system. A copy of the CCP, BDOS and BIOS is kept
in the Apple host and is loaded to the Applicard during a cold
boot. On warm boot a fresh version of the CCP and BDOS is
loaded. What I would like to do is to make additional space in
the BIOS region, to put some additional code which I have
developed for using the CTC chip as a real time clock. I
currently have this code patched to the BIOS, but hanging outside
of it. It is not kept in the Apple but has to be loaded by means
of an initialization program. It would be far neater if some of
this code could be permanently placed in the BIOS area. To do
this I need to lower the starting point of CP/M in the Apple from
the present position of 9100H. This starting point is
established by the coldboot routine and is easy to adjust.
However, I suspect that simply changing this starting point may
cause problems to the some of the other code which resides in the
Apple. I am familiar with the CCP, BDOS and BIOS bit maps but I
think that there may be other things to consider. I would like
to discuss these matters with anyone who is familiar with the
Applicard to this level of detail. I have added to the end of
this note the PCPI6502.MAP file (from SIMTEL20 PD:<CPM.APPLE>) to
illustrate what is happening in the Apple.
Thank you in advance,
Gordon Marwood
Unofficial Map of Apple 6502 Memory
as used with PCPI Applicard
+----------------------------+- C000h
| RWTS for Apple Disks |
+----------------------------+- B800h
| Default Driver |
+----------------------------+- B730h
| CP65 |
+----------------------------+- B000h
| BIOS _____________ |
+---------- | | -+- A700h
| BDOS | Z-80 | |
+---------- | IMAGE | -+- 9900h
| CCP |___________| |
+----------------------------+- 9100h
| Apple Video (Word) |
+----------------------------+- 8FBAh
| Other Video (Word) |
+----------------------------+- 8FB6h
|Poll Routine Table (65bytes)|
+----------------------------+- 8F75h
| Card-Type Table (8 bytes) |
+----------------------------+- 8F6Dh
|Cons. Comm. Table (109bytes)|
+----------------------------+- 8F00h
| Device Table (256bytes) |
+----------------------------+- 8E00h
| Host Buffer Size |
+----------------------------+- (8E00h - Buffersize) HIMEM
| FREE MEMORY |
+----------------------------+- LOWMEM
| DRIVERS |
+----------------------------+- 0900h
| Cold Boot Code/ Parameter |
| Passing Block |
+----------------------------+- 0800h
| Text Page 1 |
+----------------------------+- 0400h
| Reset Vector/Power Up Byte |
+----------------------------+- 0300h
| Scratch |
+----------------------------+- 0200h
| 6502 Stack |
+----------------------------+- 0100h
| ------+- Hi P0
| ------+- Lo P0
| Page 0 |
| |
+----------------------------+- 0000h
rev 1.0 6/7/86