VIC-20 flash memory expansion

Modding and Technical Issues

Moderator: Moderators

Post Reply
phvic
Vic 20 Dabbler
Posts: 78
Joined: Mon Nov 18, 2013 1:06 pm
Location: Finland
Occupation: Game developer

VIC-20 flash memory expansion

Post by phvic »

Hi there! I'm planning to build a device for the expansion port which should allow fast cross-platform development and I'm looking for comments on the feasibility of the project and also on any glaring errors in the design :)

The cartridge should have the following features:
- vic-20 can see the flash as read only memory
- vic-20 can autoboot from the flash
- a microcontroller is used to write to the flash, the microcontroller is connected to PC/Mac through serial
- the memory can be flashed while the vic-20 is powered on

Please see the attached conceptual diagram. The flash and MCU are connected to the same address and data busses. There are two modes of operation:

1) the MCU is inactive and vic-20 can access the flash memory; the 74HCT245 transceivers are enabled. MCU I/O pins are connected to address and data busses but they are in high impedance input mode.

2) the MCU is active and uploads new data to flash. The 74HCT245 transceivers are disabled (by setting inv. OE lines high) so the vic can not access the memory and the bus between MCU and flash is disconnected from the vic.

Can you see any problems with this design? Any ideas how to make it simpler?

Another idea I've been thinking is to hold the vic-20 in reset while the flash is updated. Would the 74HCT245 chips be needed in this case? Is it safe to use the bus while the computer is in reset?

I want to get this right because I don't have any extra vics to burn down :)
Attachments
block_diagram.png
block_diagram.png (26.78 KiB) Viewed 2138 times
User avatar
TLovskog
Vic 20 Enthusiast
Posts: 194
Joined: Fri Mar 25, 2011 3:16 pm
Location: Kävlinge, Sweden

Re: VIC-20 flash memory expansion

Post by TLovskog »

Hi

Well it is a fairly straight forward design and concept. USB on the host side?

Pulling the reset seams a good idea anyway, however The 6502 can't tristate the address bus so you need the buffers.
BR
Thomas Lövskog
phvic
Vic 20 Dabbler
Posts: 78
Joined: Mon Nov 18, 2013 1:06 pm
Location: Finland
Occupation: Game developer

Re: VIC-20 flash memory expansion

Post by phvic »

Yeah, I suspected that the bus is not in high impedance state even in reset. Thanks for the confirmation!

Yes, the plan is to use USB->serial converter between MCU and host PC. I hope to get some free time during the christmas holidays to work on this. I'll post results here.
phvic
Vic 20 Dabbler
Posts: 78
Joined: Mon Nov 18, 2013 1:06 pm
Location: Finland
Occupation: Game developer

Re: VIC-20 flash memory expansion

Post by phvic »

I finally had some time to work on this. I built this on a breadboard and it works! Next I'm going to etch a PCB. Then I'm ready to start coding something for the VIC :)

Full write up with schematics and photos in my blog:
http://petenpaja.blogspot.fi/2014/01/vi ... rt-12.html



[youtube]HjBKyWvgfRQ[/youtube]
User avatar
Witzo
Vic 20 Afficionado
Posts: 381
Joined: Thu Dec 01, 2011 9:14 am
Location: The Hague

Re: VIC-20 flash memory expansion

Post by Witzo »

Looks promising.
JagMod
Vic 20 Drifter
Posts: 37
Joined: Sun May 23, 2004 10:23 pm
Website: http://www.jagmod.com
Location: Texas

Re: VIC-20 flash memory expansion

Post by JagMod »

Looking forward to this!!
JagMod
User avatar
joshuadenmark
Big Mover
Posts: 1217
Joined: Sat Oct 23, 2010 11:32 am
Location: Fr-Havn, Denmark
Occupation: Service engineer

Re: VIC-20 flash memory expansion

Post by joshuadenmark »

This looks very promising :-)

Like that, keep up the good work.
Kind regards, Peter.
____________________________________________________
In need of a wiki logon - PM me
phvic
Vic 20 Dabbler
Posts: 78
Joined: Mon Nov 18, 2013 1:06 pm
Location: Finland
Occupation: Game developer

Re: VIC-20 flash memory expansion

Post by phvic »

Thanks guys! I'm trying to find time to design the PCB with Eagle. I've never done a two-sided pcb before. Any ideas how to align masks for uv exposure? Maybe drilling a few holes to align a few pads in the corners of the pcb is enough?

I would like to fit everything inside a standard cartridge box. It's going to be real tight... I would also like to fit in some extra ram...
User avatar
joshuadenmark
Big Mover
Posts: 1217
Joined: Sat Oct 23, 2010 11:32 am
Location: Fr-Havn, Denmark
Occupation: Service engineer

Re: VIC-20 flash memory expansion

Post by joshuadenmark »

phvic wrote:Thanks guys! I'm trying to find time to design the PCB with Eagle. I've never done a two-sided pcb before. Any ideas how to align masks for uv exposure? Maybe drilling a few holes to align a few pads in the corners of the pcb is enough?

I would like to fit everything inside a standard cartridge box. It's going to be real tight... I would also like to fit in some extra ram...
Could you allign the films and staple one edge together and put the pcb in between?
Kind regards, Peter.
____________________________________________________
In need of a wiki logon - PM me
phvic
Vic 20 Dabbler
Posts: 78
Joined: Mon Nov 18, 2013 1:06 pm
Location: Finland
Occupation: Game developer

Re: VIC-20 flash memory expansion

Post by phvic »

joshuadenmark wrote:Could you allign the films and staple one edge together and put the pcb in between?
Good idea, I'll try that!

Heh, my project got featured in Hack A Day :)

http://hackaday.com/2014/01/27/flash-ga ... he-vic-20/
User avatar
joshuadenmark
Big Mover
Posts: 1217
Joined: Sat Oct 23, 2010 11:32 am
Location: Fr-Havn, Denmark
Occupation: Service engineer

Re: VIC-20 flash memory expansion

Post by joshuadenmark »

Perhaps you could this service for the pcb production, looks cheap?

http://www.futurlec.com/PCBService.shtml
Kind regards, Peter.
____________________________________________________
In need of a wiki logon - PM me
brain
Vic 20 Nerd
Posts: 531
Joined: Sun Jul 04, 2004 10:12 pm

Re: VIC-20 flash memory expansion

Post by brain »

Just a thought, but consider modifying the Data lines to allow writing (and OE/WE support), so you can move data back to the PC (make changes, and then the controller can push data back to the PC.)

Jim
User avatar
TLovskog
Vic 20 Enthusiast
Posts: 194
Joined: Fri Mar 25, 2011 3:16 pm
Location: Kävlinge, Sweden

Re: VIC-20 flash memory expansion

Post by TLovskog »

Unless you really want to, there is nowadays no point in manufacture the PCB yourself. Use any of the gazillion prototype manufacturers that are around. Cheap, fast and plated through.

http://oshpark.com/ is one example which I have used. The accept eagle files directly also.
BR
Thomas Lövskog
brain
Vic 20 Nerd
Posts: 531
Joined: Sun Jul 04, 2004 10:12 pm

Re: VIC-20 flash memory expansion

Post by brain »

TLovskog wrote:Unless you really want to, there is nowadays no point in manufacture the PCB yourself. Use any of the gazillion prototype manufacturers that are around. Cheap, fast and plated through.

http://oshpark.com/ is one example which I have used. The accept eagle files directly also.
True. There is batchpcb, for truly cheap (but not fast) orders.

I use ourpcb.com/eastpcb.com, and Bright Circuits.

I'm happy to help with an order, if needed.

JIm
Post Reply