[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Old RAM cards protocol
Hello,
I'm in the process of disassembling Locksmith 6.0's Fast Disk Backup and
I need information about old "language-card-style" RAM cards for the
Apple //.
Locksmith recognizes two kinds of RAM cards. One kind of card has two
16k banks, and the second bank is accessed by reading C08F twice. Does
anyone regognize that card? Am I correct in thinking that C080--C083 and
C089--C08B are the standard switches for the first 16k bank and that
C084--C087 and C08C--C08F perform the same functions for the second 16k
bank?
The second kind of card can have up to 256k, in sixteen 16k banks. I
think those are the old Saturn or Titan RAM cards. Unfortunately, I
don't have a manual for those, and it's not clear how to select a
particular bank for reading and/or writing. If you have a Saturn or
Titan RAM card manual, could you please look it up and email me?
Finally, here's the code Locksmith uses when scanning slots to find
RAM cards. I don't understand the part between 206E and 2083. What
exactly does it do?
2042- A9 91 LDA #$91 ;OPCODE FOR STA (IND),Y
2044- 8D 76 20 STA SELFMOD
2047- TESTALL A2 00 LDX #$00 ;START WITH SLOT 0
2049- 8E 93 0C STX LCBNKNUM ;WHEN WE BEGIN, 0 BANKS FOUND
204C- TESTSLOT 86 3C STX LCSLOT ;STORE SLOT CURRENTLY CHECKED
204E- 8A TXA
204F- 0A ASL
2050- 0A ASL
2051- 0A ASL
2052- 0A ASL
2053- 85 3D STA LCSLOT16 ;STORE $10*CURRENT SLOT HERE
2055- 8A TXA
2056- 09 C0 ORA #$C0
2058- 85 41 STA $41 ;(40) = CX00
205A- 8A TXA
205B- 09 40 ORA #$40
205D- 85 3F STA $3F ;(3E) = 4X00
205F- BD 94 0C LDA LCBANKS,X
2062- C9 FF CMP #$FF
2064- D0 1F BNE STDLCTST
2066- A0 00 LDY #$00
2068- 8C 0B C0 STY SLOTC3 ;BE SURE TO LOOK AT ROM
206B- 8C 06 C0 STY SLOTCX ;ON THE CARDS
* ???
206E- B1 40 LDA ($40),Y ;LOOK AT $CX00--$CX7F
2070- 48 PHA
2071- 68 PLA
2072- D1 40 CMP ($40),Y ;HUH?
2074- D0 0F BNE STDLCTST
2076- SELFMOD 91 3E STA ($3E),Y ;STORE DATA HERE, NEXT TIME
2078- D0 0B BNE STDLCTST ;AROUND WE'LL CMP THEM AND DO
207A- C8 INY ;THE SAME TEST
207B- 10 F1 BPL $206E
207D- 88 DEY
207E- D1 3E CMP ($3E),Y ;HUH?
2080- D0 6D BNE NEXTSLOT ;NOT A LANGUAGE CARD, TRY
2082- 88 DEY ; NEXT SLOT
2083- 10 F9 BPL $207E
(STDLCTST is a standard language card test: read $D000, EOR $FF, write
$D000, CMP $D000)
Many thanks in advance,
Paul Guertin
guertinp@iro.umontreal.ca