Jump to content
IGNORED

Apple IIe hardware slots/ports question


oldiiedude

Recommended Posts

Hopefully someone can answer a couple questions I have.  I had a 6502 assembly language class in high school and one of our projects was to connect two Apple IIe computers together with a ribbon cable.  We wrote an assembly language program for each computer and in the end all it did was send an integer from one computer to the other.  So my questions are these:

 

1) Which port/slot would we have used to do something like this and is there a webpage with the specs of all the Apple IIe ports with pin in/outs?

2) Is there any emulator out there today that would have the ability to run two of them at the same time and somehow do a connection between those two machines so that I'd be able to do something similar?

 

Due to time constraints I was never able to finish the real goal of transferring a whole graphics screen from one IIe to the other and I wanted to see if I could pull that off today :).

 

Thanks for your time.

Link to comment
Share on other sites

You could always look through old hardware reference manuals. The original A//e manual doesn't have pinouts for the peripheral slots but the technical reference manual should. Apple II emulators are only designed to use supported cards built into the emulator and they can't be connected to other emulators unless they're specifically designed for multiplayer. That's one of the reasons why people use real hardware. You could always design your own program to do that, but it's probably easier to just get a real Apple //e.

Link to comment
Share on other sites

Slot 3 shares itself with the 80 column card.  Slot 7 has some of the video stuff exposed on it that no other slot has, iirc.  Otherwise all the slots are basically the same.  When the machine starts up, it starts looking at the slots from high to low until it finds a card with a boot rom, and then tries to boot that one.  The bus pinout is available many places online.  It's basically just the CPU bus with some card select logic added.  Details can be found in the Apple IIe technical reference manual, which is also available many places online.

 

The slots interface directly to the CPU bus.  It's not asynchronous like the GPIO ports you expect on a modern microcontroller.  You have to use an interface chip of some sort to broker your data between your peripheral (in this case the identical card in the other IIe) and the CPU.  The easiest ones to use are probably the 6522 VIA (a parallel interface chip, and if you were using a ribbon cable probably the one you used in high school) or a 6551 ACIA (a serial interface chip).  The 6551 is probably by far the easiest to deal with (google for the Apple2Pi schematic for about the simplest example there is; it's basically just a Super Serial card with no ROM), but the modern production version has a serious bug and the older ones without the bug are getting harder to find.  The 6522 is about the same amount of complicated at the hardware level (just more wires), and is faster, but will be a little fiddlier on the software side.  Glitchworks sells a protoboard that will plug into the Apple 2 expansion bus, if you like hand-wiring stuff instead of having PC boards made.

 

It would be a lot of work to write emulation for such custom hardware into an emulator.  If you're only interested in the software side of things though, you *might* be able to hook two instances of an emulated super serial card together with a named pipe in Unix (substituting it for the serial device), though I've never tried to do such a thing.  I have no idea how it would be done on a non-Unix OS.

Edited by Lee Adamson
Link to comment
Share on other sites

Hey thanks for the replies!  I'm all for a good challenge but I'll have to see if I "REALLY" want to attempt this.  I'm sure the wife isn't going to go for buying 2 new old computers :)!  I'll play with the emulator a bit and check out that reference manual and see how far I get.

 

After a quick look at the reference manual I'd have to say we used the Apple 16-Pin DIP Socket and connected one right to the other.  This site has a photo that looks like what I remember the connector looking like(not so much a big ribbon cable):
https://www.apple.asimov.net/documentation/hardware/io/extending_the_game_io_socket.pdf

 

On to the emulator.

Edited by oldiiedude
Looked up tech manual
Link to comment
Share on other sites

On 4/23/2020 at 11:54 PM, oldiiedude said:

Hey thanks for the replies!  I'm all for a good challenge but I'll have to see if I "REALLY" want to attempt this.  I'm sure the wife isn't going to go for buying 2 new old computers :)!  I'll play with the emulator a bit and check out that reference manual and see how far I get.

 

After a quick look at the reference manual I'd have to say we used the Apple 16-Pin DIP Socket and connected one right to the other.  This site has a photo that looks like what I remember the connector looking like(not so much a big ribbon cable):
https://www.apple.asimov.net/documentation/hardware/io/extending_the_game_io_socket.pdf

 

On to the emulator.

 

Specifically, Slots 1 and 2 was the commonly used slots for communications, Slot 0 (][, ][+) was used generally for RAM. 

 

Slot 3 was used for 80-column cards--software knew to use PR#3--so no-one used that slot for anything else. When the //e was released, it eliminated Slot 0 and added a dedicated RAM slot, which typically housed a card that not only added RAM, but also 'occupied' Slot 3 in the system map, to emulate the Videx card used on the ][ and ][+ (usually for CP/M).

 

Extra CPU cards, such as the CP/M Z80 card would go into slots 1, 2, or 4. When the Apple Mouse card was released, it wanted to be in Slot 4, so if you were to want a mouse, that was off-limits. Slot 6 was the typical bootstrap slot for the Disk ][, as most software expected to r/w from Slot 6, Drive 1. Slot 5 was the normally selected slot for adding drives 3, and 4. 

 

If you had a bootstrapping HDD, you used Slot 7 for it. 

 

Thus, the most appropriate answer for your question, is Slot 1 or 2. These were common for serial cards, parallel cards, and modem cards. Software tended to expect a serial interface to exist in Slot 1 or 2. 

 

You can also use the cassette interface, I suppose. I see no reason what the LOAD and SAVE protocols can't be used like that, and the systems can be linked with two mini phono cords. 

Edited by GameGeezer
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...