XL Expansion port & MAC/65 Paging

XL Expansion port & MAC/65 Paging

Post by David Cle » Sat, 03 Nov 1990 19:11:55

I'd like to hook up something to the XL expansion port. I want this interface
to be addressed at $D600. This is the setup I hope to have:

 -------------    -------------------    ----------
|             |  | 2 x 74LS373 based |  |          |
| Atari 800XL |==| bidirectional     |==| Atari ST |
|             |  | port with control |  |          |
 -------------    -------------------    ----------

The == will be short ribbon cables.
The intermediate board will consist of a couple of octal latches with tri-state
op together with address decoders for each half of the connection and some
logic to implement full/empty bits.

The software should give me a data transfer rate of about 70K/sec max. I want
to use this to develop a cross assembler and remote de*. I know it's a
bit late in the XL's life to do this, but it's an idea I've had on the shelf
for a good 5 or more years... it has to be done.

Now this is my problem... I don't have any information, other than pinouts, on
the XL expansion port. I can design the hardware in terms on hard logic, but
I'm not sure about capacitive loading, current, etc.

As these machines are so old there is no chance of getting any published
information on the port. I read in "Mapping The Atari" that some guy had a
series of articles in one of the magazines of the day on this very subject -
that doesn't help...

If there's anyone out there who knows anything about this port then I would
appreciate any information I can get - a better description of the pinout
would be a good starter (the pinout I have is just that - a pinout, not much
information on what special signals mean).

Thanks for the replies so far about how the MAC/65 cartridge does paging. I
would still like more specific information though. For example, I wrote this

; Normally, from DDT address $A000 contains $FF
; So write a number into $D500 until this changes... ie something has paged
        *=  $4000
        LDY #0
LOOP    STY $D500
        LDA $A000
        CMP #$FF
        BEQ FOUND
        BNE LOOP
        STY $5000
        STY $D01A
        JMP DIE

Simply, when the display goes ape it's banked something. Inspection of $5000
reveals the number $7D. More tests show that if I write anything other than
$7D into $D500, nothing happens... only $7D. The thing that gets paged into
$A000-AFFF is the MAC/65 assembler.

Now I could waste weeks writing 100s of little test programs but I really
would prefer someone who knows to tell me. I don't have back issues of Atari
magazines so quoting them, although interesting from the point that the issue
has been discussed, is really not much help. Of course, not much help is better
than no help at all...

Thanks in advance for any and all information you can give me on the above
topics. I'd be especially interested in hearing from people who have actually
used either paged MAC/65 or the expansion port. Come on! Share it!