256K & Virtual Cartridge System 256K
rev.#1

Hi everybody, here's Soci/Singular. On this page you can find all the information about building a RAM extension in a normal C64 with the ability of multitasking.
This circuit is compatible with +60K by Mr.Fiz/Samar, so you can run +60K applications by Samar without modifying them.

How to use it in your programs:
The control register is at $D100, only writeable, at read you'll get false datas.
Layout: %HH0PVVLL
HH: 2 bits, this selects the memory bank for $1000-$FFFF.
VV: 2 bits, this selects the memory bank from VIC displays graphic.
LL: 2 bits, this selects the memory bank for $0000-$0FFF.
P: 1 bit, Protected mode enabled.
There are 4 banks, numbered 0 to 3. When you turn on your C64, or reset it, the bank 0 will be selected for HH,VV,LL.
There's another way to reset HH,VV,LL, and it's done when you press SHIFT LOCK+RESTORE. In this case, there will be a NMI, but before HH,VV,LL will set to 0. This can be used to made own cartridges, when you place your code on the bank 0, and it's start address to $0318 & $FFFA.
What is protected mode? If you set this bit, then +256K will be hide from memory location $D100, until the next time you press SHLOCK+RESTORE or RESET. It's usefull to protect the other banks from a random switch when a non +256K compatible program is accessing that memory area. (like Arachnaphobia #10)
I develop now a multitasker called VCS. It can run 3 normal C64 programs, like demos, games, etc.
Here you can download a very-very beta version of it:
Screen capture from VCS

Of course it's works only if you have build this circuit:

Virtual Cartridge System 256K rev1

Partlist:

Item
Quantity
Reference
Part
1
1
C1
5.6n
2
24
D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20,D21,D22,D23,D24
4148
3
2
Q1,Q2
BC108
4
5
R1,R3,R12,R13,R14
10K
5
7
R2,R4,R5,R6,R7,R8,R11
3.3K
6
1
R10
27K
7
1
S1
SHIFT LOCK
8
1
U1
74LS273
9
1
U2
74LS139
10
1
U3
2732
11
6
U4,U5,U6,U7,U8,U9
4464 or 41464
12
1
PLA data, download here ---->
2732.dat
WARNING! This circuit won't work with old C64s!!! Don't forget to burn in the data in the 2732!!!

If you are interested in it, or have build it, drop me a mail to: soci at c64.rulez.org