André's 8-bit pages
Thankfully hosted by 6502.org.
(by Google)

CS/A bus connector

Note: superseded by bus specification version 1.1

The bus connector is a 96 pin connector according to DIN 41612, type C, where only 64 pins (rows a+c) are used. The board itself has the male connector. It can be plugged into a bus plane with female connectors.

The bus layout is:

        a       c
--------------------------
    GND a    1  c GND
   Vbuf a    2  c Vcc
   50Hz a    3  c Vcc
 -IOINH a    4  c A19
 -EXTIO a    5  c A18
-MEMSEL a    6  c A17
 -IOSEL a    7  c A16
    -BE a    8  c A15
        a    9  c A14
        a   10  c A13
        a   11  c A12
        a   12  c A11
        a   13  c A10
        a   14  c A9
     D7 a   15  c A8
     D6 a   16  c A7
     D5 a   17  c A6
     D4 a   18  c A5
     D3 a   19  c A4
     D2 a   20  c A3
     D1 a   21  c A2
     D0 a   22  c A1
   -NMI a   23  c A0
   -IRQ a   24  c SYNC
    -SO a   25  c R/-W
    RDY a   26  c Phi2
   -RES a   27  c Phi1
    GND a   28  c Phi0
    GND a   29  c 2Phi2
    GND a   30  c 16MHz
    GND a   31  c 8Phi2
    GND a   32  c GND

Comments

  • For non-MMU systems like the Gecko only the lines A0-A11, D0-D7, Phi2, R/-W, -RES, -IRQ, -NMI, -IOSEL are necessary. Still some of the other lines need to be taken care of. (-MEMSEL must be pushed high).
  • -MEMSEL and -IOSEL are memory selection lines. If -MEMSEL goes low (active), address lines A0-A19 must be valid. If -IOSEL goes low, then only address lines A0-A11 must be valid. Both lines are not open collector lines (although this is one of the few 'known bugs' of this design)! The select lines are generated by the CPU. To map the I/O address space somewhere else (i.e. in a memory area selected by -MEMSEL), -EXTIO must be pulled low when an address in the selected area is accessed (by a memory card). Thus -MEMSEL and -IOSEL go then low on such an access.
    In MMU systems, the I/O space is normally mapped to some fixed location in the CPU address space and cannot be mapped around with the MMU. To avoid this mapping, -IOINH must be pulled low. Warning: if you pull -IOINH and not do not assign -EXTIO at some address, you lose access to the I/O area. In the BIOS card for the MMU system, a control port can set these lines. -IOINH and -EXTIO are open collector lines.
  • Vbuf is a battery buffered 5 Volt supply. Vcc is standard 5 Volt supply, respective to GND.
  • 50Hz is a 50/50 phase 50 Hz TTL signal, generated from line frequency. (In the U.S., you might generate it differently).
    16MHz is a 16 MHz clock.
  • To drive some circuits synchronously with the CPU, there are 2Phi2 and 8Phi2. 2Phi2 has double the frequency than the CPU clock Phi2. At each transition of Phi2, 2Phi2 has a low-high transition. The high-low transition follows about less than 100 ns later. I use 2Phi2 to directly drive the -RAS signal of dynamic RAM.
    8Phi2 is the 8-times Phi2, but this signal has no fixed phase relation to Phi2. I use it as pixel clock in a video card.
    Both signals are usually generated by the CPU card.
  • -BE cuts the CPU off the bus, i.e. select (-IOSEL, -MEMSEL), Data (D0-7) and Address lines (A0-A19) are put into tri-state. This line is asynchronous and should only be assigned with carefully designed circuitry using -RDY stop the CPU and Phi2 for clock and all that. Using -RDY and BE should allow an external bus master to take the bus, although it has not been tested so far.
  • The lines that are not used (a9-a14) are reserved for future use.


Return to Homepage

Last modified: 2023-08-27
follow

Follow my 8-bit tweets on Mastodon (In new window) or Bluesky

discuss

Discuss my site on this 6502.org forum thread

(Forum registration required to post)

hot!

Dive into the retro feeling and build yourself a Micro-PET or a Multi-board Commodore 4032 replica

Need more speed? Speed up your 6502 computer with this 10 MHz 6502 CPU accelerator board

Interested in electronics design? Look at the design lesson I got from Bil Herd, the hardware designer of the C128

Want 64bit? - pimp the 6502 with the 65k processor design!