Cart for Homebrews...

Talk about programming CreatiVision (except games programming). Projects of homebrew hardware are also welcome.
User avatar
Scouter3d
Posts: 646
Joined: Mon Jun 28, 2010 7:02 am
Location: Wien
Contact:

Cart for Homebrews...

Post by Scouter3d » Tue May 07, 2013 4:20 pm

I have been thinking quit a while about a "programmable" Cartridge for the CV...

Now, that so many homebrews are growing i think it is time.

I think i do not have the knowledge / ability to build an SD Cartridge (which would be great and easy to fill with new Software...)

But it should be possible / easy to build an SRAM Cart and a Fitting PC-Programmer for the parallelport...

like this one: http://spaceinvader.comuf.com/Atari_SRAMCART.htm

I also found one, with an arduino board for programming (so your PC does not need a obsolete parallelport, but an arduino instead...)

Any Ideas / suggestions or does someone want to contribute...

Greetings TOM:-)
User avatar
Mobsie
Posts: 708
Joined: Fri Jun 13, 2008 10:38 am
Location: Weinheim, Germany

Re: Cart for Homebrews...

Post by Mobsie » Tue May 07, 2013 4:57 pm

Yes we Need this like the multicard for the colecovision.
I speak with atarimax about that, wait for answer.

Before i think about to buy an eprom Simulator, but is very Big and
expensive.
User avatar
carlsson
Posts: 507
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: Cart for Homebrews...

Post by carlsson » Tue May 07, 2013 5:16 pm

While I don't have the hardware skills, is a PIO SD device so hard to make? For a while there seemed to pop up simple, slow SD devices everywhere and it being a software (supposedly ROM) matter to read it.

As for SRAM, 6502dude used a 8 kilobyte Simtek STK12C68-PF45 to create a custom VIC-20 cartridge that can be toggled between read-only and writeable mode. However the key point is how to receive the data to the chip.
User avatar
Scouter3d
Posts: 646
Joined: Mon Jun 28, 2010 7:02 am
Location: Wien
Contact:

Re: Cart for Homebrews...

Post by Scouter3d » Tue May 07, 2013 7:05 pm

Hi,

I think for a SD Card it would need some Kind of Prozessor with RAM and Firmware (Atmega or so)...
I never programmed one of these myself... it would be kind of a herculean Task for me...
Need to understand SD Card filesystem, Atmega programming... i feel sweat building on my brow :-)

The Atarimax Colecovision SD Carts are not cheap (129$), i wonder why this is...

I have found no free SD-Card Designs or schematics that simulate Cartridges and could be adopted for Creativision...
Has anyone?

TOM:-)
User avatar
Scouter3d
Posts: 646
Joined: Mon Jun 28, 2010 7:02 am
Location: Wien
Contact:

Re: Cart for Homebrews...

Post by Scouter3d » Wed May 08, 2013 7:26 am

Despite all my fears of not succeding I decided to build an Creativision SD Cartridge... :-)
It will take it's time, because i have to start from Zero programming the Atmega chip, but i found a few bits of sourcecode regarding reading from SD Card...

1) choosing the right Atmega chip (enough Input / Output lines and Ram) i think of the Atmega32 (DIL version for easy testing)
2) building a "breakout" cart with all the CV Signals easily available
3) interfacing an SD Card to the Atmega and testing reading files (found a schematic and sourcecode for this Task)
4) interfacing the Atmega to the CV (Address and Data Bus) maybe i will Need some buffers / Drivers not sure now...
5) writing the Code for the Cartridge Emulation (this may be the hardest part for me, my last Assembler programming was more than 20 years ago...)

First I thought about reading a file called cart.bin or so automatically from the SD and fill the internal RAM of the Atmega with it and then start the Emulation
but the Atmega haas to small a ram for this... so i think i have to read the data from SD and send it to the CV "on the fly" (or use an Atmega with mor free ram...)

I would say Cartridge space should be a Maximum of 32kb?

Getting excited now :-)
User avatar
Scouter3d
Posts: 646
Joined: Mon Jun 28, 2010 7:02 am
Location: Wien
Contact:

Re: Cart for Homebrews...

Post by Scouter3d » Wed May 08, 2013 7:39 am

Or maybe an Atmega / SRAM combination?

Filling the SRAM sequentially at boottime from the SD Card and then starting the Emulation only using the SRAM...

TOM:-)
User avatar
carlsson
Posts: 507
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: Cart for Homebrews...

Post by carlsson » Wed May 08, 2013 10:00 am

By assembly programming, do you refer to AVR on the ATmega or 6502 from the Creativision? At least each cartridge image is max 32 kB as per previous discussion.

Is the following solution at all possible?

1. Boot to regular ROM/EPROM that holds menu software which loads a list of .bin files from the card, let user select
2. Transfer small routine into CPU RAM and jump to continue execution
3. Copy .bin file from card to SRAM
4. Switch cartridge emulation from ROM to SRAM
5. Call cold start routine at $FFFC/FD to execute current image

It would need a way to switch back the ROM, perhaps a push button on the cartridge?
User avatar
Scouter3d
Posts: 646
Joined: Mon Jun 28, 2010 7:02 am
Location: Wien
Contact:

Re: Cart for Homebrews...

Post by Scouter3d » Wed May 08, 2013 12:14 pm

Hi Carlsson,

I refered to AVR on the Atmega, but the code i found regarding SD Card seem to be more like C then assembly which should be easier for me :-)

OK, so 32k it should be...

You are right a boot menu to select a cartimage would be the next Logical step... but would Need a lot of interaction between ATmega / CV / SD-Card i am not sure at the Moment if this is possible at all... maybe the cart Needs to boot a small Programm stored in the internal ROM of the ATmega... i Need to think about it...
Some solve this Problem with a small lcd Screen (like the Atari sio2sd) to select the imagefile, which would leave the Atmega as the driving Force...

Greetings TOM:-)
User avatar
carlsson
Posts: 507
Joined: Fri Jun 13, 2008 7:39 am
Location: Västerås, Sweden

Re: Cart for Homebrews...

Post by carlsson » Wed May 08, 2013 1:12 pm

I've got the SIO2SD, but find the buttons rather difficult to use. I've got some sd2iec and uIEC/SD devices too, but never even implemented swap buttons for those.

Are you familiar with the mmbeeb for the BBC Micro? It connects to the userport and uses the SPI to communicate. Does the Creativision also have a 6522 VIA that can be used, or at least the cartridge might have an emulated 6522? Not sure if this is the way to go ahead, perhaps the ATmega solution is more robust and easier to work with.

http://swhs.home.xs4all.nl/bbc/mmbeeb/
User avatar
Scouter3d
Posts: 646
Joined: Mon Jun 28, 2010 7:02 am
Location: Wien
Contact:

Re: Cart for Homebrews...

Post by Scouter3d » Thu May 09, 2013 2:36 pm

Hi,

Most of the SD Devices for Retro Computers emulate Disk Drives in a way (SDRIVE, SD2IEC, MMBEEB...) which is realtively "easy" because the Computer waits until he gets the next Data from the SD-CARD.
Emulating a cartridge i think will not work on the fly, because the CV would want the Data a few ms after the Addressline is set... So accessing SD-CARD, reading Block, calculating exact Byte and putting it on the Databus will be to slow...

Yesterday i talked with a professional Hardware engineer and he told me to Keep away from such a Project... But beeing stubborn as i am - i will continue anyway!

Ruud Baltissen has a schematic for an "Eprom Emulator" http://www.baltissen.org/newhtm/epromemu.htm which uses an PC with parallel port to Programm the SRAM, i think it possible to replace the PC with the SD-CARD / Atmega combination...

Greetings TOM:-)
Post Reply