28 January 2009, 00:10 | #1 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,645
|
Cartridge *software* for A500... Possible?
I always wondered if it is possible to create cartridge software for the A500...
the original Lorraine design had a cartridge port for these issues, but that never appeared on teh A500... or did it? The Action Replay cartridge bolts onto the expansion Zorro bus on the side, and it has software in its ROM that loads when freezing etc... Could this Zorro bus be used for cartridge based software like games? What are the limitations and possibilities of this? I think it could be pretty cool to try. Here's looking forward to the expert opinions that I always find at the EAB And I say sorry in advance if this is an absolutely retarded thing to ask/say! |
28 January 2009, 02:40 | #2 |
I hate potatos and shirts
|
It is possible. But worths the hassle?
You need to make a version dedicated to the A500/1000, another for Zorro Amigas and not a single version for A600/1200. Also remember you need to toss the dedicated boot code inside the ROM cartdridge, too. If the Amiga is slightly incompatible... |
28 January 2009, 06:01 | #3 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,645
|
Of course, this would be just for A500...
This would be ghetto software So now, what are the limitations? What's a dedicated boot code? What id I can gather a group of people crazy enough to want to do this? Actually, I think I have already |
28 January 2009, 11:26 | #4 |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,355
|
I'm sure you could hack winuae for developing all you need. If you were serious.
|
28 January 2009, 13:35 | #5 |
-
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,864
|
Easiest way is probably to make it autoconfigurable and have the cartridge show up as a mem block and a smaller block (perhaps looking like IO).. Have your code in a large mem block and then use the smaller block for the "driver", that has a romtag so that exec.device runs it on bootup.
Your "driver" will then determine where your code got allocated in the great autoconfig lottery and start running the code. |
28 January 2009, 15:38 | #6 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,645
|
Hmm, interesting.
And how big can the ROM be? What's the limitation? |
28 January 2009, 16:46 | #7 |
hastala vista winny vista
|
autoconfig space for Zorro 2 machines is 8 mbs. But with some clever coding, you may use an area as swap and read as necessary from the ROM maybe ? (will require some bank switching at the ROM side also I guess)
|
29 January 2009, 10:52 | #8 |
-
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,864
|
There's some more autoconfig space at E90000-EFFFFF
|
29 January 2009, 12:23 | #9 |
A-Collector, repairments
|
|
29 January 2009, 12:23 | #10 |
Registered User
Join Date: Mar 2008
Location: Poland
Posts: 159
|
Amiga designers allocated 512KB for cartridge space ($F00000-$F7FFFF).
IIRC immediately after reset Kickstart code checks if the first word of this area is $1111 and if so jumps to execute the cartridge code. It's done very early even before hardware test (changing screen colours). Such solution simplifies the construction of a cartridge: you need a 256K x 16-bit ROM (or two 256K x 8-bit ROMs) and an address decoder (probably 2 TTL chips or one PAL). To increase ROM size you could use some kind of bank-switching. Action Replay Mk II uses this space as well as some Phase5 accelerators. |
29 January 2009, 13:36 | #11 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
ROM is not a problem (easy solution: replace KS ROM with >=1M EPROM + do some simple address line hacking)
Problem is write-only custom registers. You need extra hardware that snoops CPU writes to custom registers (basically keeping a backup copy of custom registers in cartridge's hidden RAM, Action Replays, Nordic Power etc does it this way. They also do the same for CIA registers) Exiting the cartridge software will be very unreliable without custom register backup. (and it still isn't fully compatible if program uses copper to update write-only registers..) Also without some extra hardware it is really easy to "kill" the cartridge (by modifying VBR and/or exception vectors) btw, Action Replay I uses 0xf0000 area. II and III uses other tricks (which makes it practically invisible). |
29 January 2009, 19:13 | #12 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,645
|
|
29 January 2009, 19:57 | #13 |
Zone Friend
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
|
I'm guessing it'd be 8mb because there were RAM add ons for the A500 that boosted it up to 8mb ram.
@yaqube: you say the developers allowed a 512kb ROM, just wondering why you were suggesting to use just one 256KB ROM. |
29 January 2009, 20:03 | #14 | |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,645
|
Quote:
MB = Megabyte, Mb = Megabit Stop confusing me :P 8MBs is the space for extension RAM but I am talking about how big the ROM can be, or how big stuff I can put there for my software to run (executavle code, data, etc). Seems like it's 512KB and more could be added with bankswitching. |
|
29 January 2009, 20:22 | #15 |
Registered User
Join Date: Mar 2008
Location: Poland
Posts: 159
|
|
29 January 2009, 21:12 | #16 |
hastala vista winny vista
|
Hmm I guess somethings a miss here. Why do you need to track a copy of custom chipset ? What we want to do is just copy a program from ROM to RAM and execute it ? I think what Akira wants to do is put some games or stuff into a cartridge which will be bootable directly. Action Replay is a utility which has to be invisible and track what's happening without messing around. But our application don't have to be careful like that. when we exit, just reset the computer ?
|
30 January 2009, 03:59 | #17 | |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,645
|
Quote:
Is actually necessary to copy the program to RAM? Can't we access the data straight from the ROM at the same speed? I'm not exactly sure how it works on a console like the Genesis, but I am looking to achieve a similar workframe. There's no need for stealthiness, no need for OS, no need for clea nexits (exiting means turning off the computer ) |
|
30 January 2009, 08:08 | #18 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Quote:
Anyway, as I already answered, just use big enough EPROM in KS ROM socket 68000 based Amigas' ROMs do not have any extra wait states. |
|
30 January 2009, 08:15 | #19 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,518
|
Quote:
It didn't use autoconfig to configure the board (it was hardwired to absolute address) but it had small autoconfig "ROM" that handled autobooting the ROM code. |
|
30 January 2009, 09:34 | #20 | |
-
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,864
|
Quote:
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Using sampler cartridge? | Kola | support.WinUAE | 7 | 11 May 2014 21:41 |
Chicken and Egg solutions for A500 - Software transfer | Photon | support.Hardware | 13 | 16 May 2012 15:24 |
Wanted: Stereo Master (cartridge, software) | lost_lemming | MarketPlace | 0 | 07 January 2012 00:58 |
Software Failure on boot A500+ | desantii | support.Hardware | 8 | 10 November 2010 08:51 |
SNES/Genesis cartridge copier Amiga software | _ThEcRoW | request.Apps | 8 | 06 January 2008 16:38 |
|
|