home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Rockford Magazine
/
Rockford_Magazine_033_19xx_-_de_Disk_4_of_5_Side_B.d64
/
3161
< prev
next >
Wrap
Text File
|
2023-02-26
|
7KB
|
272 lines
Path: antares.lu.erisoft.se!usenet
From: Adam.Bergstrom@um.erisoft.se (Adam Bergstrom)
Newsgroups: comp.sys.cbm
Subject: VIC-20 expamsion memory
Date: 24 Oct 1995 06:55:28 GMT
Organization: Erisoft AB, Sweden
Distribution: world
Message-ID: <46i2l0$dql@antares.lu.erisoft.se>
Reply-To: Adam.Bergstrom@um.erisoft.se
NNTP-Posting-Host: eplu73.um.erisoft.se
VIC-20 32k memory expansion (ver. 951023)
=========================================
This is one of my contributions to the Commodore 8-bit community.
I made this document to show you how to expand the memory of your VIC-20.
I designed and built the memory expansion in October 1995.
I have built the expansion on a vero-board inside my VIC-20, so the cartridge-
port is free. All that is seen outside are three switches (reset, write
enable/disable, memoryexpansion on/off).
I also plan to make an external memory-cartridge (so I can make some for my
friends without opening their precious babies) as soon as I get all the
stuff to make PCB:s at work.
I hope that this document is accurate and that you can get it to work.
My hardware DOES work, and has been tested on quite a few programs, both
expanded, unexpanded, and cartridgeimages (both 8k and 16k).
I will take no responsibility for any damages that may occur when you are
trying to use this information. This information is free, and any damages are
done by you, not me.
Let the old 8-bit computers LIVE ON!
Features
--------
* 32k RAM in four 8k blocks located in memory at:
$2000 (BLK1)
$4000 (BLK2)
$6000 (BLK3)
$A000 (BLK5)
This gives you an additional 24k BASIC memory (27,5k total!), and 8k at the
cartridge area.
* Ability to load and run cartridge-images from disk or tape.
* Write enable/disable switch, lets you run copyprotected cartridgeimages.
Note the WARNING further down!
* Switch to enable/disable the whole extra-memory, to let you use an external
cartridge, or use the VIC-20 unexpanded.
* Reset switch.
Parts used
----------
1 * HY62256, 32kbyte static RAM, 100ns (any 32k SRAM faster than 500ns should
be O.K.)
1 * 74LS147, 10-4 line priority encoder
1 * 10kohm resistor, 1/4W
2 * on/off switches
1 * reset switch
Some wires and a vero-board to solder all parts on.
How to connect it all
---------------------
SRAMX is pin nr X on SRAM.
74X is pin nr X on 74LS147.
VICX is pin nr X on VIC expansion port.
SWITCHXY is switch nr X, pin nr Y.
SWITCH1 is write enable/disable.
SWITCH2 is expansion enable/disable.
SWITCH3 is reset.
SRAM1(A14) - 749(A)
SRAM2(A12) - VICR(CA12)
SRAM3(A7) - VICK(CA7)
SRAM4(A6) - VICJ(CA6)
SRAM5(A5) - VICH(CA5)
SRAM6(A4) - VICF(CA4)
SRAM7(A3) - VICE(CA3)
SRAM8(A2) - VICD(CA2)
SRAM9(A1) - VICC(CA1)
SRAM10(A0) - VICB(CA0)
SRAM11(D0) - VIC2(CD0)
SRAM12(D1) - VIC3(CD1)
SRAM13(D2) - VIC4(CD2)
SRAM14(GND) - VICGND
SRAM15(D3) - VIC5(CD3)
SRAM16(D4) - VIC6(CD4)
SRAM17(D5) - VIC7(CD5)
SRAM18(D6) - VIC8(CD6)
SRAM19(D7) - VIC9(CD7)
SRAM20(!CE) - 746(C)
SRAM21(A10) - VICN(CA10)
SRAM22(!OE) - SWITCH22 + 10kohm resistor to VIC21(+5V)
SRAM23(A11) - VICP(CA11)
SRAM24(A9) - VICM(CA9)
SRAM25(A8) - VICL(CA8)
SRAM26(A13) - 747(B)
SRAM27(R/W) - SWITCH12
SRAM28(VDD) - VIC21(+5V)
741(4) - VIC10(!BLK1)
742(5) - VIC11(!BLK2)
743(6) - VIC12(!BLK3)
744(7) - VIC13(!BLK5)
745(8) - VIC21(+5V)
746(C) - SRAM20(!CE)
747(B) - SRAM26(A13)
748(GND) - VICGND
749(A) - SRAM1(A14)
7410(9) - VIC21(+5V)
7411(1) - VICGND
7412(2) - VICGND
7413(3) - VICGND
7414(D) - VICGND
7415(NC) - NC
7416(VCC) - VIC21(+5V)
SWITCH11 - VIC18(CR/W)
SWITCH12 - SRAM27(R/W)
SWITCH13 - VICGND
SWITCH21 - VICGND
SWITCH22 - SRAM22(!OE) + 10kohm resistor to VIC21(+5V)
SWITCH23 - NC
SWITCH31 - VICGND
SWITCH32 - VICX(RESET)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This design could fry the SRAM or the 6502 CPU when writing to write-disabled
memory.
The SRAM conflicts with the VIC-databus if the memory is written to when write
is disabled (outport-outport). I don't have enough data on the 6502 or the
SRAM to be sure that the currents aren't out of limits.
I use the above design with write disable/enable, and haven't had any problems
so far. If you don't need the write-switch, don't build it. If you are
hesitant about this, don't build it. Instead use the design changes below:
Remove all SWITCH1 connections.
VIC18(CR/W) - SRAM27(R/W)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Memory expansion port, seen from the back of the VIC-20
-------------------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
{$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d}
{$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d} {$7d}
A B C D E F H J K L M N P R S T U V W X Y Z
1 - GND A - GND
2 - CD0 B - CA0
3 - CD1 C - CA1
4 - CD2 D - CA2
5 - CD3 E - CA3
6 - CD4 F - CA4
7 - CD5 H - CA5
8 - CD6 J - CA6
9 - CD7 K - CA7
10 - !BLK1 L - CA8
11 - !BLK2 M - CA9
12 - !BLK3 N - CA10
13 - !BLK5 P - CA11
14 - !RAM1 R - CA12
15 - !RAM2 S - CA13
16 - !RAM3 T - I/O2
17 - VR/W U - I/O3
18 - CR/W V - SO2
19 - !IRQ W - !NMI
20 - NC X - !RESET
21 - +5V Y - NC
22 - GND Z - GND
Static memory HY62256 (SRAM), pinconfiguration
----------------------------------------------
+---U---+
A14-{$7d}1 28{$7d}-VDD
A12-{$7d}2 27{$7d}-R/W
A7-{$7d}3 26{$7d}-A13
A6-{$7d}4 25{$7d}-A8
A5-{$7d}5 24{$7d}-A9
A4-{$7d}6 23{$7d}-A11
A3-{$7d}7 22{$7d}-!OE
A2-{$7d}8 21{$7d}-A10
A1-{$7d}9 20{$7d}-!CE
A0-{$7d}10 19{$7d}-D7
D0-{$7d}11 18{$7d}-D6
D1-{$7d}12 17{$7d}-D5
D2-{$7d}13 16{$7d}-D4
GND-{$7d}14 15{$7d}-D3
+-------+
74LS147, pinconfiguration
-------------------------
+---U---+
4-{$7d}1 16{$7d}-VCC
5-{$7d}2 15{$7d}-NC
6-{$7d}3 14{$7d}-D
7-{$7d}4 13{$7d}-3
8-{$7d}5 12{$7d}-2
C-{$7d}6 11{$7d}-1
B-{$7d}7 10{$7d}-9
GND-{$7d}8 9{$7d}-A
+-------+
On/off switch
-------------
/
/
--+--
{$7d} {$7d}
{$7d} {$7d}
-----
{$7d} {$7d} {$7d}
1 2 3
How to contact me
-----------------
Snail mail:
Adam Bergstrom
Storgatan 92,2
903 33 Umea
SWEDEN
Telephone:
+46-90-178490
Internet email:
adam.bergstrom@um.erisoft.se
--
+-----------------+-----------------------------------------------+
{$7d}Snail-mail work: {$7d}E-mail work: adam.bergstrom@um.erisoft.se {$7d}
{$7d} Adam Bergstrom +--------------------------+--------------------+
{$7d} Erisoft AB {$7d}Memo work: eri.epl.eplabm {$7d}Snail-mail home: {$7d}
{$7d} Pendelgatan 2 +--------------------------+ Adam Bergstrom {$7d}
{$7d} Box 4205 {$7d}Telephone: {$7d} Storgatan 92 {$7d}
{$7d} S-904 06 Umea {$7d} Work: +46 (0)90 153136 {$7d} S-903 33 Umea {$7d}
{$7d} Sweden {$7d} Home: +46 (0)90 178490 {$7d} Sweden {$7d}
+-----------------+--------------------------+--------------------+
{$7d} Opinions expressed are my own, not my employer's. {$7d}
+-----------------------------------------------------------------+