Page 1 of 1

Cartridge Convert

Posted: Sat Sep 25, 2010 4:42 pm
by zephyr
This small program makes it easy to build a library of all your favourite cartridge games, or DOS ROMs on disk or tape. The following step-by-step instructions are intended for conversion using a real CoCo or Dragon. You can do the same thing under emulation, and transfer them all to a real CoCo or Dragon.

(1) Make sure your CoCo or Dragon is SWITCHED OFF
(2) Put some Sellotape over the CART track on the cartridge (if you need more info about this, please ask)
(3) Insert the cartridge into the cartridge port
(4) Switch on your CoCo or Dragon
(5) CLOADM "CARTCONV", and EXEC

When the conversion is complete, the START, END, and EXEC addresses are displayed on screen ready for you to save to disk (add+1 to the displayed end address when saving to DragonDOS/SuperDOS disk) or tape.

Cartridge Convert requires one of the following machines:

1. Dragon 32 with 64K memory upgrade
2. Dragon 64
3. Dragon 64 by TANO
4. Dragon 200
5. CoCo 1 or 2 with extended BASIC and 64K of RAM
6. CoCo 3 with standard or expanded memory

Regards,
Steve

EDIT: Attached version 1.1. The only change is an enhanced EPROM size detection routine.

Re: Cartridge Convert

Posted: Sat Sep 25, 2010 4:58 pm
by zephyr
Here are a few converted cartridges and DOS ROMs as an example.

Re: Cartridge Convert

Posted: Sat Sep 25, 2010 8:58 pm
by zephyr
Attached below is a diagram of the Dragon (and CoCo) cartridge port. It clearly shows the CART line which you need to cover on the cartridge to stop it from auto-starting. If you turn the cartridge upside down, the CART track would be the fourth from the left. The first first three tracks are missing on some cartridges, so usually the first track will be the one to stick the tape over.

Re: Cartridge Convert

Posted: Sat Sep 25, 2010 11:49 pm
by prime
Sooo, does your code just copy the cart into ram so that you can save it to tape/disk or does it actually try and patch it to run from a different address ?

Cheers.

Phill.

Re: Cartridge Convert

Posted: Sun Sep 26, 2010 12:48 am
by zephyr
It runs it at the original address, but in RAM. The program automatically detects the EPROM size and copies the cartridge code to a lower address in RAM where it attaches a loader. The loader switches the computer to 64K mode, copies ROM to RAM, and relocates the cartridge code to its original address. It then patches the hardware init, RAM test, and FIRQ handler in the system ROM to enable a software restart with emulated FIRQ auto-start of the cartridge code. It then restarts the system, and the system ROM (in RAM) auto-starts the cartridge or DOS ROM as normal. The Dragon joystick routine is also patched to prevent unwanted background noise when playing cartridge games designed for the CoCo.

BTW, I originally started this project because someone asked for this over at the coco3.com forum. Perhaps someone could post a reply in that thread to tell him that there is now a solution to his problem here at the Dragon forum. I tried to become a member of that forum several times, but I never got a reply to any of my emails. :?

Regards,
Steve

Re: Cartridge Convert

Posted: Sun Sep 26, 2010 7:34 am
by sixxie
Posted a reply for you - it even seems to have ended up in the right thread, unlike many people's posts these days.

Frankly, since he switched to that bizarre wordpress interface (for a discussion board?!), it's been a nightmare to navigate.

Re: Cartridge Convert

Posted: Sun Sep 26, 2010 10:20 am
by zephyr
Thanks Ciaran! :)

Re: Cartridge Convert

Posted: Sun Sep 26, 2010 6:21 pm
by admin
Any chance you can upload some raw dumps of those ROMS... especially DragonDOS 1.1 and 1.2 which are not in the archive.... plus anything else....

Re: Cartridge Convert

Posted: Sun Sep 26, 2010 7:52 pm
by zephyr
They were attached to posts in the 'Dragon General' forum because the 'Uploads' forum didn't exist at the time.

viewtopic.php?f=5&t=52