Re: How to program a FlashRAM on a Commodore

From: Nicolas Welte <no_spam_at_x1541.de>
Date: Sun, 05 May 2013 12:18:25 +0200
Message-ID: <518631F1.6060609@x1541.de>
Hello Ruud,

I use the AT29C010 and similar on my 6502RAM/ROM Expansion board. There is 
software to write the flash when it is installed in a 1541 drive or in a 
PET. I don't think there is existing software for the VIC20, but should be 
easy enough to look up in the sources of the PET.

As Andre said, Flash devices usually expect their data in blocks, which 
have different sizes, depending on the device type. My program for the 1541 
supports block sizes of 64, 128 and 256 bytes. There is a software protocol 
with magic bytes being written to magic memory locations to unlock the 
device for programming. This you have to look up in the device datasheet.

I just looked, Marko Mäkelä wrote a VIC20 flash software for my hardware:
http://www.zimmers.net/anonftp/pub/cbm/documents/projects/memory/index.html

Some documentation on my hardware can be found here: 
http://x1541.de/hardware/petram.html

Maybe you can also look at the Final Expansion 3, it uses AM29F040 on the 
VIC20!

Nicolas



On 05.05.2013 10:33, Ruud@Baltissen.org wrote:
> Hallo allemaal,
>
>
> For several years I use FlashRAMs with some of my projects. But so
> far they were always programmed by an external programmer.
> I want to equip a VIC-20 with a AT29F010. It is going to run
> parallel to the original ROMs. And I want to be able to write to it
> using the VIC-20 itself. If I understood correctly, it is as simple
> as:
>
> L1:
>      lda data
>      sta FlashRAM
>      jsr Delay
>      jmp L1
>
> If indeed, how much should be the delay?
>
> If not, what do I overlook?
>
> Thanks for your help!
>
>
> --
>
> Kind regards / Met vriendelijke groet, Ruud Baltissen
> www.Baltissen.org
>
>
>
>
>
>
>
>         Message was sent through the cbm-hackers mailing list
>

       Message was sent through the cbm-hackers mailing list
Received on 2013-05-05 11:00:22

Archive generated by hypermail 2.2.0.