32k ram expanders

Vic 20 Item Exchange

Moderator: Moderators

User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

On a sidenote, concerning ROM expansions I can bundle as an option, I got this message from Leif Bloomquist :
--------------------
You are welcome to use the software I developed for free. I consider it public domain. Just add my name somewhere if there is a "credits" screen ;-)
--------------------

Now, assuming Boray (the creator of the original X-Menu) has no problems with it either, I can now offer the VIC20 Disk utility cartridge as a ROM option to this cartridge.
6502dude
megacart
Posts: 1581
Joined: Wed Dec 01, 2004 9:53 am

Post by 6502dude »

I am also willing to build ram expansion and game cartridges for folks which do not have skills or interest to build carts themselves.

Just send me a PM of what you would like.

Pricing will be a hobbist friendly rates. :)
Last edited by 6502dude on Fri Jun 30, 2006 4:13 pm, edited 1 time in total.
Image Mega-Cart: the ultimate cartridge for your Commodore Vic-20
KilrPilr
Vic 20 Afficionado
Posts: 342
Joined: Wed Mar 24, 2004 12:09 pm

Post by KilrPilr »

I would like a vic20 multicart too. As for how many games I would like on it, well, thats easy to answer.... ALL OF THEM! at least all the cartridge games. :D If its any help I have a fair amount of eeproms from old pc motherboards that could be used.

A software menu would be the coolest but if that isnt feasible then small switches would have to do. or possibly the cart could be made with one eeprom and have it removable so that i could load it up with other cart images if i get tired of the ones that are currently on it. Ward Shrake talked about making these available for people but nobody jumped on the idea. Maybe people were just tired of his whinning and belly aching and didnt want to give him more fuel.


Leo
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

The largest OTP EPROM I have access to is 8Mbit in capacity, that's 1 Mbyte. A chip like that is only 7$

That's 64 16kbyte games or 128 8kbytes games.

It would be quite difficult to fit ALL vic games on a single cart because they use different memory configurations. The most obvious example is the scott adams games which don't even use BLK5.

I think it would be easiest to have one cart for 16k games which use either Blk5 and Blk3 or Blk5 and Blk1 and another for games which use only Blk5.

The software menu is not so difficult to do. As a matter of fact, I think I could make one that allows you to select your game with the joystick.

Wether you put in there 2 games or fill it up with the max capacity is just as much work. Programming the chip might be a bit of work but not so much.

For 6502dude:
I have to work for about 10 hours to make a 32k ram cartridge with no additionnal option and it cost me about 30$ of part and I charge 70$ for that. Which means I charge ... 4$ per hour for my time. I don't do this to become a millionnaire.

But if you feel you can do like Microsoft and offer for free what is worth money to put me out of business, go ahead I would be the first one to place you an order.

The following is a french text which describes how to make one with the ROM options. I wrote it for a friend of mine: (just put the schematics in the font Courier and it will look normal).

Salut Fred,
Le VIC20 utilise un connecteur de cartouche de 44 contact de .156" d'espace par connecteur (22 pins en haut et 22 pin en bas). http://rocky.digikey.com/WebLib/EDAC/We ... 00-202.jpg

Il n'est pas possible d'ajouter plus de 32k d'extension de mémoire au vic mais ces extension peuvent être ROM ou RAM.

À cause de la façon pour le VIC de décoder sa mémoire en blocs de 8k, si tu utilise un chip de plus de 8kx8bits (64kbits) pour étendre sa mémoire, il est nécessaire de reconvertir la sélection par section de 8k en sélection binaire. J'explique:

Normalement, le Chip Select d'un circuit de mémoire est "active low". C'est à dire que si tu met une pin appelée Chip Select au ground alors le chip sait que c'est à son tour de... soit emmagasiné l'information qui lui est donnée ou répondre le contenu d'une adresse demandée.

Dans le cas du VIC, il y a 4 lignes de ce genre qui peuvent parler à l'un ou l'autre des 4 blocks de 8k. Si une des 4 pins de CS des blocks de vient LOW alors le chip qui y est attaché sait que ça à lui que le VIC parle... en supposant que c'est un chip de 8k. Malheureusement, aujourd'hui, il ne se vend rien de plus petit que 32k. Un chip de 32k a UN seul CS et 2 pin d'adresses de plus qu'un chip de 8k. Alors il faut convertir les 4 lignes BLK en un seul CS et 2 lignes d'adresses.

Ça se fait comme suit:
Avec un chip 74LS08 (4 portes logiques ET):

___
!BK1 --+| \
||AND |----- A14
!BK3 +--|___/
| |
| | ___
!BK1 --+| \
| |AND |-+--- A13
!BK2 ---|___/ | ___
| ___ +| \
!BK3 +--| \ |AND |-- !CS et !OE
|AND |--|___/
!BK5 ---|___/

J'espère que cé assez clair, j'ai mit du courrier pour que ça arrive pas trop croche.

Anyways, avoir de la mémoire static est une vraie misère... ceci: http://www.issi.com/pdf/62-65C256AL.pdf en format SOP est le moins misérable que je peux trouver mais comme on trouve encore de temps en temps des vieux chips en format DIP large (0.6") de 28 pins, il serait bien que le board puisse accomoder les 2.

Le chip de ROM qui est supposer remplacer la RAM au BLK5 et/ou BLK3 au choix de l'utilisateur est toujours un bon vieux DIP de 28 pins. Ce morceau M27C256B-12B1 (chez digikey) est généralement ce que je vais utiliser. Un OTP EPROM est ce qu'il y a de plus fiable pour concerver des données pendant des décennies. Datasheet: http://www.st.com/stonline/products/lit ... 7c256b.pdf

Le décodage d'adresse A13, A14 et !CS du ROM est différent de celle pour la RAM et il va falloir que je travaille dessus. Pour faire d'une histoire longue une hoitoire courte, disons que la moitié de cette rom est gaspillée mais des 27128, ça ne ce fait plus et ça ne se trouve plus et de toutes façons, le 27256 est 1.50$

Finalement, il y a le connecteur du VIC20, lui-même. Tu en trouvera une description ici: http://www.zimmers.net/anonftp/pub/cbm/ ... 1.1.txt.gz

Ce texte est très long, fait un find sur ceci:
THE EXPANSION CONNECTOR et tu devrais arriver à la page 241.
Le connecteur, tel que montré, est vue de l'extérieur de l'appareil alors, évidemment, sur la carte, les pins doivent être un miroir de ce que tu vois là.

À la page 242 et 243, tu trouvera une description détaillée de la fonction de chacune de pin du connecteur.

Les lignes importantes:

-CD0 à CD7, les 8 bits de data, pin 2 à 9

-CA0 à CA12, les 13 lignes d'adresse (CA13 est inutile car cette ligne est reconstruite comme mentionné plus haut), pin B à R

-VR/W, cette ligne indique si le processeur veut lire ou écrire une adresse, W a un trait par dessus ce qui veut dire !W ou que l'écriture se fait lorsque la pin est au ground, pin 17

-GND, le ground, pin 1,22, A et Z

-5V, Vcc, pin 21

-RESET, fait exactement la même chose que sur un PC - tu le short au ground et ça redémarre, pin X

Fait attention, pour la pin 18, ils disent que c'est le R/W du CPU, cette ligne est inutilisable c'est une sorte de Open collector output. La bonne pin cé la 17.

Maintenant, il y a les switch. Il y a un push button qui va entre le ground et la ligne de reset. Je sais pas quel push button je vais choisir, fait moi juste deux gros pads pour souder.

Il y a une petite switch pour choisir si le !WE du chip de ram se branch sur la pin 17 (VR/W) ou sur le 5v via une résistance de 3.3k de 1/8 de watt. Ceci est le genre de switch que je privilégie : http://ca.digikey.com/scripts/DkSearch/ ... 83&Site=CA

VR/W --O\
O--- !WE RAM
5V-3K3-O

Il y a une switch qui décide si BLK3 s'en va au 74ls08 qui décode la RAM ou à ce qui va décoder l'adressage pour la ROM. Cette switch doit être une DPDT car lorsque la RAM est active, la ROM doit recevoir du 5V via résistance de 3.3k et lorsque la ROM est active, c'est la RAM qui doit recevoir le 5V sur son entrée pour BLK3.

VIC /O----+
!BK3 --O |
O--+ |
| |
/O--+--- RAM !BK3
5V-3K3-O |
O----+- ROM !BK3


Une deuxième switch doit aussi être DPDT et faire la même chose que ci-haut mais pour BLK5 au lieu de BLK3.
Ceci est le genre de switch que je privilégie : http://ca.digikey.com/scripts/DkSearch/ ... 31&Site=CA

Pour le décodage d'adresses des blocks dans la ROM, pour éviter d'avoir à ajouter un autre circuit, il est possible de faire une porte logique de type ET avec seulement deux diodes et une résistance de 4.7k comme montré ici: (AND gate, 2ième plan)
http://www.hanssummers.com/electronics/ ... /index.htm

Il est utile de spécifier que les diodes sont 1N6263 et la résistance de 4.7k au lieu de 10k.

On branche cette porte de logique par diode de cette façon:


+--------- A13 ROM
| ___
!BK3 -+-| \
|AND |-- !G et !E ROM
!BK5 ---|___/
Maintenant, tu vas me dire qu'un 27256 cé 32k alors qu'est-ce qu'on fait de la pin A14 ? La pin 13 permet de passer d'un bloc de 8k à un autre qui sera visible dans BLK3 ou BLK5 mais 32k cé 4 blocs de 8k. Avec A14 à 0, le VIC peut voir le 1er et 2ième bloc, avec A14 à 1, le VIC accède le 3ième et 4ième bloc de 8k. Ce qui amène... une autre switch:


GND --O\
O--- A14 ROM
5V-3K3-O

Pour un total de 4 switchs mais cette dernière sera parfois remplacée par un jumper direct au ground lorsque la ROM contient moins d'options mais les trous doivent être là.

Dans le cas de la RAM, les pins d'adresses peuvent être mélangées mais pas pour la ROM car elle sera programmée à l'extérieure. Je pense, de toutes façons, que quand tu vas avoir jeté un coup d'oeil sur les datasheet tu vas voir que le pinout de la RAM et de la ROM ont bien des choses en commun. La pin1 (Vpp) de la ROM doit être connectée à 5V.

Deux condensateurs 0.1uF through hole avec distance de 0.1" entre les pattes doivent être le plus près possible des pattes d'alimentations des 2 chips.

La cartouche se branche dans le fond du cartridge connector. Celui si est à l'intérieur d'un slot qui a une profondeur de 1.75". Les switch doivent absolument être en dehors de cette slot sinon elles seront innaccessibles ou, encore pire, elles pourraient empêcher la cartouche d'enter dans la slot et ainsi, la rendre inutilisable.

Voici une vraie cartouche de VIC et une image qui donne une idée comment profondément elle pénètre la structure du VIC : http://home.ica.net/~leifb/commodore/vic-cart/index.htm

Le boîtier de plastique utilisé dans ce projet ne se fabrique plus.

Et voici un PCB d'une ancienne cartouche de jeux : http://home.ica.net/~leifb/commodore/vi ... ematic.PDF

Alors cé tout... ce message m'a pris 3 heures de travail et de recherche à écrire...

Si t'a des questions ben... te gêne pas.

Francois
KilrPilr
Vic 20 Afficionado
Posts: 342
Joined: Wed Mar 24, 2004 12:09 pm

Post by KilrPilr »

Holy post and a half! :D Certainly 2 or three carts to have all vic roms available would be excellent too. The joystick selectable software menu would be perfect as well. Thats all i could really ask for in multicarts.

Dont worry about the children griping about what u feel u need to charge. Its funny how when people go to work, they feel they are worth big pay but when someone else wants to be paid for their service, it is somehow wrong. Whether this is a hobby or not has nothing to do with it.

If they dont pay what u are asking then they wont have your multicart. On the same token, if you charge too much and nobody buys, u may be sitting on a bunch of inventory thats would be prettier as cash than a cartridge. It will work out. I just hope the children here stop being so petty tho as it makes everyone here look bad when they start that. I for one think its very ugly.


Leo
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

KilrPilr said:
Dont worry about the children griping about what u feel u need to charge. Its funny how when people go to work, they feel they are worth big pay but when someone else wants to be paid for their service, it is somehow wrong. Whether this is a hobby or not has nothing to do with it.
Thanx for the support. It is appreciated.

Thought of something for the multicart. Lets take that super duper 8Mbit eprom and divide it into 64 sections of 16kBytes each. Each of these 16Kbytes section is itself divided into 2 sections of 8Kbytes.

Lets call these 2 sections of 8k the upper block and the lower block. So, for each of our 64 sections we have an upper block and a lower block.

Whatever section of the ROM we have decided to access, what we want is for the lower block to be accessible at BOTH blk1 AND blk3 and for the upper block to be accessible at BOTH blk2 AND blk5.

This would allow any 16k game that I know of to be visible in the memory area where is it expected. Let me explain:

- For a game that normally uses BLK1 and 5 like Lunar Leeper, we program the data normally destined for blk5 in the upper block of one of the sections of our 8mbit eprom and the data normally destined for blk1 in the lower block of the same section. Even if the data appears twice in the memory area of the 6502, what is expected in blk1 is visible in blk1 and what is expected in blk5 is visible there too. Activate a hardware reset and the game starts.

- For a game that normally uses BLK3 and 5 like In The Chips, we program the data normally destined for blk5 in the upper block of one of the sections of our 8mbit eprom and the data normally destined for blk3 in the lower block of the same section. Even if the data appears twice in the memory area of the 6502, what is expected in blk3 is visible in blk3 and what is expected in blk5 is visible there too. Activate a hardware reset and the game starts.

- For the Scott Adams Games, We program the data normally destined for blk2 in the upper block of one of the sections of our 8mbit eprom and the data normally destined for blk3 in the lower block of the same section. Even if the data appears twice in the memory area of the 6502, what is expected in blk3 is visible in blk3 and what is expected in blk2 is visible there too.

In this case, a hardware reset would greet you with the good old 3583 bytes free message because the content of BLK2 which also happens to show at BLK5 does not contain the autostart CBMA0 message. Just type SYS32592 and the game starts just like with the real cartridge plugged in.

Now, an 8Mbit (1MByte) ROM chip needs to have, once programmed, a Chip Select line(more exactly two but we just tie them together), 8 lines of data (numbered D0 - D7) and 20 lines of adresses (A0 - A19) in order to be fully adressable.

The 8 data lines go to CD0 to CD7 just as expected. The adress lines A0 - A12 are connected to CA0 - CA12 like we would expect.

A13 is a special case, it is the pin which decides wether we are reading an upper block or lower block.

A14 - A19 decides which one of our 64 sections we are reading. These pins will be connected to the output of 6 D flip-flops adressable by the VIC at I/O2 in the form of a 74ls273 with clock line inverted. This flip-flop is resetted when the VIC is POWERED UP (and NOT when the vic undergoes a software or hardware reset)

In other word, section 0 contains the software for your menu. IT is the software which is responsible for setting the read section anew and triggering a hardware reset of the VIC. This software will:

-Copy itself in a memory area between $1000 and $1fff

-Pursue its own exectution within that area

-Allow you to choose the game you want via a menu you can scroll through with joystick or keyboard.

-Set the new value of the flip-flops according to the game you have chosen. At this point you know you had to move to normal VIC ram area cuz what you see in BLK1-2-3-5 is the game you just chose and not the menu software anymore.

-Trigger a hardware reset that will either start the game or put you in a position to type a SYS command to start it.

As for A13, its case is rather special.

First, we know that if any BLK lines goes low, the CS line of the EPROM must also go low.

If BLK2 or 5 is accessed, CS goes low but A13 is high. If BLK1 or 3 is accessed, CS goes low and A13 is also low.

Lets then send lines BLK2 and 5 to the inputs of a AND logic gate from a 74ls08 and call the output BLK HI. Lets also send lines BLK1 and 3 to the inputs of another AND logic gate from the same chip and call its output BLK LO.

Lets take these new lines BLK LO and HI and send them to a third AND gate from yet again the same chip and call its output... CHIP SELECT and you just guessed where this goes... the CS of the EPROM (or more exactle pins 22 and 24 called !E and !G). The line BLK HI also goes to A13.

If you do the truth table for this, you'll see that if any single BLK is adressed, the eprom CS chip goes low. If a lower block is being read, A13 is low and if an upper block is read then A13 is high which is exactly the desired result.

For the hardware resetting mechanism that starts the game, just tie an active low 555 timer to I/O3. The output of this timer goes to cartridge port pin X which is, as you might have guessed !RESET. Just poking a 1 to $9C00 would trigger it.

Another 555 timer will need to be installed to reset the 74ls273 containing our 6 D flip-flops upon power-up to get the menu instead of any random game at start-up.

And there you have it, a cartridge that contains 63 games and 1 menu software. All of it no bigger than a superexpander cartridge and it would consume less power too.

How d'ya like that?
Last edited by eslapion on Sat Jul 08, 2006 9:32 pm, edited 2 times in total.
6502dude
megacart
Posts: 1581
Joined: Wed Dec 01, 2004 9:53 am

Post by 6502dude »

.:lol:
Last edited by 6502dude on Mon Aug 07, 2006 6:33 am, edited 1 time in total.
Image Mega-Cart: the ultimate cartridge for your Commodore Vic-20
KilrPilr
Vic 20 Afficionado
Posts: 342
Joined: Wed Mar 24, 2004 12:09 pm

Post by KilrPilr »

6502dude wrote:
How did you know I was only 13? :lol: :
Actually I didnt, but now it makes sense :D

6502dude wrote:My impression was that the spirit of the Denial forum was of information sharing, collaboration, and goodwill between fellow Vic-20 enthusiasts.:
Here Here, I totally agree. Where did you miss the goodwill part or were u thinking of the thrift store?

6502dude wrote:For example, many months ago, Schema built cartridges based on a menu application that he Boray co-developed. I believe the he donated proceeds to Feed the Children for the hardware sales. Both he and Boray spent countless hours on software development (without compensation – not even $4 per hour :wink: ) :
Yes and that was great but that was totally, completely their choice.So would have been their choice had they asked $50/cart for time and effort.All I ask is that people dont turn it into a flame fest. Arent you tiured of seeing that kind of attitude on the bigger gaming forums? I know I am.

6502dude wrote:My issue is that our friend eslapion joined, trolled old messages and posted blatantly commercial ads.

I have no problem with small business ventures. I simply perfer not see Denial forum morph into a place business transactions are performed.:
Well I wouldnt say they were blatant. He brought forth an idea and a rough estimate of what he could produce them for. I am rather interested in hearing his proposals as a multicart for the vic is long overdue! As for denial morphing, isnt this the buy/sell/trade forum? this is where the business end of it is supposed to go! :shock:

eslapion wrote:The following is a french text which describes how to make one with the ROM options. I wrote it for a friend of mine: (just put the schematics in the font Courier and it will look normal).

Salut Fred,
6502dude wrote:Couldn't the above been sent via an e-mail message?

Anyway, it is summer and I need to go out and play, 'cause mom says I spend too much time inside.:lol:
Sure it could have been but so what. It was relevant to french people in a vic20 forum. I dont particularly like to see french posted here as i dont understand a word of it but im not going to complain about 1 or 2 posts of it.This is an international forum is it not? with goodwill to all members? ;)

Anyways I really dont want to pick a fight or anything, I just think some people are way to jumpy and that attitude they portray is very ugly.Lets try not to be like most other forums on the net where it seems there is a pack of wolves just waiting to pounce on the business end of things. Without the business end of things, new development wouldnt exist. this is just my opinion tho.


Leo
dragos
Vic 20 Afficionado
Posts: 479
Joined: Mon Nov 21, 2005 6:41 pm

woot

Post by dragos »

my expander is complete and should arrive some time late next week!! I have seen it in operation in a vid chat and its freamin awesome! i will of course post pics of it in action on my website when i get it!!!

you may all now drool ......

:)
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

I am very happy to see that you were pleased with what you saw!

I hope this piece of equipement will serve you well and for a very long time. And thank you very much for telling the community about how you feel.
dragos
Vic 20 Afficionado
Posts: 479
Joined: Mon Nov 21, 2005 6:41 pm

woot2

Post by dragos »

and freaming is WAAAYYY better than freaking, just so everyone knows
dragos
Vic 20 Afficionado
Posts: 479
Joined: Mon Nov 21, 2005 6:41 pm

superW00T!

Post by dragos »

ok, the expander arrived today and I immediatley set out to test it. it works GREAT !!!!!!!!! having Programmers aid, super expander and ram expander in one package is awesome!!!!

I am extremely happy wih this expander.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

Haaa! Now I can relax! The customer is happy! Yesssss!!

I didn't expect FEDEX to deliver this to you so quickly.

If there is any way you think I can improve this product, by all means, let me know about it.

Have fun!
Mikam73
2049er
Posts: 1292
Joined: Tue May 18, 2004 4:34 pm

Post by Mikam73 »

Any pics of cartridge? 8)
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

Mikam73 wrote:Any pics of cartridge? 8)
This is what the bare board looks like before components are soldered:
http://rocky.digikey.com/WebLib/Vector/ ... 3677-2.jpg
Post Reply