More PET stuff PET-SIDPET REU (RAM AND EXPANSION UNIT)
You may also call it cartridge slot. All hardware-design, soldering, coding
and translation in english ;-) is done by myself.
Some credits must go to Jogi (vic20.de) for hints and help with the glue logic.The main theory In the CBM PET 2001-N/3001 you'll find some unused I/O-space from $8800 up to $8FFF. The main logic decodes out of this range 8 I/O-lines. $8800 is in use for the additional VIA 6522. The two ports and four handshake-lines are connected to the cartridge-port. You may use it for addressing RAMs oder build anything else. The second address $8900 is your port for the datalines. For building the adaptor you will only need 2 74138 demuxers, a 74245 bus transceiver and the 6522 VIA. The Schematic without cartridge-port : Schematic. JP1 is the CPU connector. You have to get the signals from the CPU. Solder some wires or build an adaptor but don't use wires longer than 20cm. This equals to 7-8 inch. Otherwise the signals will flicker and you'll lose bytes while transfering . The Cartridge-Slot (Prototype) Cartridge-Port
(View : solder side)
1 2
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
A B C D E F H J K L M N P R S T U V W X Y Z
Pin Signal Pin Signal
1 I/O7 $8E00 A GND
2 I/O1 $8800 B PA0
3 I/O2 $8900 C PA1
4 I/O3 $8A00 D PA2
5 I/O4 $8B00 E PA3
6 I/O5 $8C00 F PA4
7 I/O6 $8D00 H PA5
8 I/O8 $8F00 J PA6
9 NC (A3) K PA7
10 NC (A2) L PB0
11 NC (A1) M PB1
12 NC (A0) N PB2
13 NC (PHI 2) P PB3
14 R/W R PB4
15 D7 S PB5
16 D6 T PB6
17 D5 U PB7
18 D4 V CB1
19 D3 W CB2
20 D2 X VCC +5V=
21 D1 Y CA1
22 D0 Z CA2
Datalines are buffered ($8900) and the VIA base is $8800. Some pins
are not connected this time (pin 9-13).
The first 128KB SRAM-Cartridge This uses some old Winbond W24257 RAMs in 4 banks. The banking is switched by a half 74139. Keep in mind : CS must be switched to access the rams. You have only to connect the 2 VIA-ports as addresslines and the dataport to the in line wired SRAMS. OE must connected to ground, WE to R/W and the CS-lines will be switched by the 74139 ports. Pin 1 of the 139er demuxer is connected to $8900 (I/O2), Pin 2 to CA2 and Pin 3 to CB2. The four CS-lines are Pin 4-7. 128KB SRAM Expansion
The final "Side car" :*) The case of an old printer buffer houses now the pcb. There is enough space for future ideas.
Software A first test : poke 34816+2,255 : poke 34816+3,255 poke 34816,0 : poke 34816+1,0 This switches the ports to output and set the latches low (address $0000). Now poke a value : poke 34816+256,32 D=peek(34816+256): ?D will bring (hopeful) the value back. Play around with the addresses and banks to check your circuit.
!to "petreu.prg"
*=$033c
;---------------------------------------------------
;
; Compiler : ACME
;
; Poke 877,blocks : Poke 934,blocks to configure mem pumps
;
; SYS 828 to copy into ram-bank and sys 884 to fetch
;
; raw copy for whole free basic mem (32K machine)
;
;---------------------------------------------------
;Base addresses
via = $8800
datalatch = $8900
;---------------------------------------------------
; copy into sram
;---------------------------------------------------
lda #255
sta via+2
sta via+3 ; ports to output
lda #00 ; set addr. $0000 in SRAM
sta via ; register B
sta via+1 ; register A
lda #04 ; restore value
sta pump+2
ramcopy sei
ldx #00
repump ldy #00 ; low addr. counter
pump lda $0400,Y
sta datalatch ; write byte to port
nop:nop:nop: ; sta $8000,y : some peep-show for the coder
iny
sty via+1 ; register A : set low addr.
bne pump
inc pump+2 ; inc source high byte
inx
stx via ; register B : set high addr.
pcounter cpx #124 ; blocks
bne repump
cli
rts
nop:nop:nop ; for the coder ;)
;--------------------------------------------------
; ... and bring it back
;--------------------------------------------------
lda #255
sta via+2
sta via+3
lda #00
sta via ; register B
sta via+1 ; register A
lda #04
sta target+2
backcopy sei
ldx #00
rpump ldy #00 ; low addr. counter
pump1 lda datalatch
target sta $0400,Y
nop:nop:nop: ; sta $8000,y : some peep-show for the coder
iny
sty via+1
bne pump1
inc target+2 ; inc high byte
inx
stx via ; register B : set high addr.
pcounter1 cpx #124 ; blocks
bne rpump
cli
rts
Downloads PET REU 128KB Software for ROM $9000 - public beta 1 |
Letzte Änderung: 2019-01-04 13:05:21