mirror of
https://github.com/tebl/RC6502-Apple-1-Replica.git
synced 2024-11-21 23:31:14 +00:00
Merge pull request #13 from 0cjs/dev/cjs/200521/rc2014-bus-comparison
Bus.md: Various Updates
This commit is contained in:
commit
7041009bc5
120
Bus.md
120
Bus.md
@ -174,12 +174,120 @@ The following boards may optionally use this line as an output:
|
||||
joystick/paddle fire button signal.
|
||||
|
||||
|
||||
Third-party Modifications
|
||||
-------------------------
|
||||
|
||||
This section describes changes to the bus interface used by
|
||||
third-party boards.
|
||||
|
||||
#### appleii6502
|
||||
|
||||
[appleii6502][a26] (apparently an anonymous user hosting his blog on
|
||||
[Ninja Tools][a26-nt]) has been producing and selling RC6502 boards
|
||||
and kits in Japan. The technical focus seems to be around re-using the
|
||||
signals generated by the [SBC]'s [74LS138 decoder][a26-decode] by
|
||||
routing them on to the bus in the following way:
|
||||
|
||||
Decode Range RC6502 Bus Apple 1 Expansion Slot
|
||||
$A000 35 TX T (pin L)
|
||||
$B000 36 RX S (pin 11)
|
||||
$C000 39 R (pin 21)
|
||||
|
||||
The $C000 to expansion slot pin R mapping corresponds to the [Apple 1
|
||||
address decoding][a1decode] jumper settings needed by the [Apple Cassette
|
||||
Interface (ACI)][aci].
|
||||
|
||||
His [Apple1 SBC Slot Expander][a26-se] adds two 44-pin expansion slots with
|
||||
the same pinout as the original Apple 1. RC6502 bus signals TX, RX, 38 and
|
||||
39 are brought to pads adacent to pads for the Apple 1 slot signals S, T
|
||||
and R to which the builder can solder jumpers. Pin 39 is labeled `$̅C̅0̅0̅0̅`;
|
||||
it's intended that the [SBC] be modified to bring its address decoding for
|
||||
that signal to that pin. These jumperings are [shown in images
|
||||
here][a26-cass-7].
|
||||
|
||||
The [Cassette Interface][a26-cass] is a clone of the original [ACI] that
|
||||
plugs into the slot expander. It has a 2K ROM enabled by RC6502 bus pin 39,
|
||||
which must be set up as a $C000-$CFFF decode (see above).
|
||||
|
||||
Another [post on slot expander decoding][a26-ab] explains how to disconnect
|
||||
the Arduino's TX/RX (by cutting the pins off the Arduino board) and instead
|
||||
wire $A000 and $B000 decoding to those bus pins. Presumably this is for a
|
||||
future expansion card project.
|
||||
|
||||
|
||||
RC2014 Bus Comparison
|
||||
---------------------
|
||||
|
||||
The RC6502 bus is very similar to the [RC2014 bus] used on some Z80
|
||||
homebrew computers. The following table compares the two; pins with
|
||||
substantially different/incompatible functions are marked with a bullet
|
||||
(`●`).
|
||||
|
||||
The 6502 uses the Motorola bus prococols; the Intel bus protocols are
|
||||
substantially different, precluding sharing of peripherals unless they are
|
||||
specifically designed with the extra hardware necessary to support both.
|
||||
However, the backplanes are interchagable with some cavats; see below for
|
||||
details.
|
||||
|
||||
RC6502 Pin RC2014 Notes
|
||||
----------------------------------------------------------------
|
||||
A15 1 A15
|
||||
… … …
|
||||
A0 16 A0
|
||||
GND 17 GND
|
||||
Vcc 18 Vcc
|
||||
Φ2out 19 ● /M1 Low on Z80 instruction fetch/int ack cycles
|
||||
/RESET 20 /RESET
|
||||
Φ0in 21 CLK
|
||||
/IRQ 22 /INT
|
||||
Φ1out,EX0 23 ● /MREQ
|
||||
R/W̅ 24 ● /WR
|
||||
RDY 25 ● /RD
|
||||
SYNC 26 ● /IORQ
|
||||
D0 27 D0
|
||||
… … …
|
||||
D7 34 D7
|
||||
TX 35 TX,TX2 May be user-specified function on RC2014
|
||||
RX 36 RX,TX2 May be user-specified function on RC2014
|
||||
/NMI 37 ● USER1
|
||||
-,EX1 38 USER2 Some RC2014 modules use USER2 and USER3 as
|
||||
-,EX2 39 USER3 IEI and IEO for interrupt daisy chain.
|
||||
40 USER4,IEO Nonexistent on RC6502
|
||||
|
||||
### Backplane Compatibility
|
||||
|
||||
The [RC2014 backplanes][RC2014-spec] (as of the 0.4 draft specification)
|
||||
can be used with RC6502 boards and vice versa, with some caveats. The power
|
||||
(18) and ground (19) pins may be supplied by the backplane and are
|
||||
compatible. The following other pins have caveats:
|
||||
|
||||
* __/RESET__ (20)
|
||||
* RC2014 backplanes with a power supply (SC105, SC112) have a 4.7 kΩ
|
||||
pull-up resistor on /RESET. RC6502 board reset logic should be able to
|
||||
pull this line low to reset the system. RC2014 backplanes also have a
|
||||
reset switch; this ___must not be closed___ as it will conflict with
|
||||
the standard reset output circuitry of RC6502 boards, potentially
|
||||
damaging the board.
|
||||
* RC6502 backplanes have no reset logic, so a pull-up (4.7 kΩ to Vcc) and
|
||||
an RC2014 board will need to supply a reset signal. The SC108 CPU board
|
||||
supplies power-on reset but has no reset button. The SC101, SC114 and
|
||||
SC130 provide a reset button.
|
||||
* __Pin 40__.
|
||||
* RC2014 backplanes provide pin 40 as a bus or daisy chain (with pin
|
||||
80) depending on the model. This pin does not exist on RC6502 boards
|
||||
and thus can be ignored. Be careful not to insert the RC6502 board
|
||||
offset by one pin.
|
||||
* RC6502 backplanes do not provide pin 40, so the USER4 signal cannot be
|
||||
used.
|
||||
|
||||
|
||||
|
||||
<!-------------------------------------------------------------------->
|
||||
[Backplane]: ./RC6502%20Backplane/
|
||||
[CPU]: ./RC6502%20CPU/
|
||||
[Reset]: ./RC6502%20Reset%20Circuit/
|
||||
[SBC]: RC6502%20Apple%201%20SBC/
|
||||
[a1decode]: https://github.com/0cjs/sedoc/tree/master/8bit/apple1#address-decoding
|
||||
|
||||
[Debug]: ./RC6502%20Debug/
|
||||
[RIOT]: ./RC6502%20RIOT/
|
||||
@ -188,3 +296,15 @@ The following boards may optionally use this line as an output:
|
||||
[TIA]: ./RC6502%20TIA%20NTSC/
|
||||
[Terminal]: ./RC6502%20Terminal/
|
||||
[VDU]: ./RC6502%20VDU/
|
||||
|
||||
[ACI]: https://www.sbprojects.net/projects/apple1/aci.php
|
||||
[a26-ab]: https://appleii6502.no-mania.com/apple1%20sbc%20slot%20expander/apple1%20sbc%20slot%20expander%E3%82%A2%E3%83%89
|
||||
[a26-cass-7]: https://appleii6502.no-mania.com/apple1%20cassette%20interface/apple1%20cassette%20interface%E7%B5%84
|
||||
[a26-cass]: https://appleii6502.no-mania.com/apple1%20cassette%20interface/apple1%20cassette%20interface
|
||||
[a26-decode]: https://appleii6502.no-mania.com/apple1computer/apple1%20sbc%E3%81%AE%E3%80%8C4k%20blocks%E3%80%8D%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9
|
||||
[a26-nt]: https://www.ninja.co.jp/
|
||||
[a26-se]: https://appleii6502.no-mania.com/apple1%20sbc%20slot%20expander/apple1%20sbc%20slot%20expander%E5%9B%9E%E8%B7%AF%E5%9B%B3
|
||||
[a26]: https://appleii6502.no-mania.com/
|
||||
|
||||
[RC2014 bus]: https://smallcomputercentral.wordpress.com/documentation/specification-rc2014-bus/
|
||||
[RC2014-spec]: https://smallcomputercentral.files.wordpress.com/2018/09/modular-backplane-specification-v0-4-2018-09-19.pdf
|
||||
|
Loading…
Reference in New Issue
Block a user