Mega-Cart
Moderator: Moderators
Thanks Michael, i know very well these locations... but the code is not ever so linear this is an Easy example:Mike wrote:You can use $EDE4, and $EDE5 as reference for the default X/Y-position, for both PAL/NTSC.nbla000 wrote:... my work is to start them centered for both PAL/NTSC machines.
Code: Select all
Rally-X / Vic Car Race / Radar rat race PAL-NTSC Screen centered:
OLD:
b6f2 D8 CLD <--
b6f3 78 SEI |
b6f4 A2 FF LDX #$FF |-- NOT REQUIRED, THE $FD22 RESET ROUTINE DOES THIS JOB
b6f6 9A TXS <--
b6f7 20 8A FF JSR $FF8A
b6fa A2 0F LDX #$0F
b6fc BD E2 B6 LDA $B6E2,X
b6ff 9D 00 90 STA $9000,X
b702 CA DEX
b703 10 F7 BPL $B6FC
b6e2 05 19 96 2e 00 fc 00 00 00 00 00 00 00 00 70 3e
NEW:
b6f2 20 8A FF JSR $FF8A
b6f5 A2 02 LDX #$02
b6f7 20 C5 E5 JSR $E5C5 ; WRITE DEFAULT X/Y SCREEN VALUE ON 9000/9001
; ($05/$19 for NTSC, $0C/26 for PAL)
b6fa A2 0D LDX #$0D
b6fc BD E4 B6 LDA $B6E4,X
b6ff 9D 02 90 STA $9002,X
b702 CA DEX
b703 10 F7 BPL $B6FC
- Mike
- Herr VC
- Posts: 5130
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Anyway, I thought, you'd already done the work finding out how to patch all the cartridge images to run in either PAL or NTSC. So the solution already was to keep a table of all relevant positions for all carts, copying the image from ROM to RAM, and then altering the RAM copy.nbla000 wrote:Thanks Michael, i know very well these locations... but the code is not ever so linear this is an easy example: [...], nothing so complicated but the hard work is to find space in rom...
Is there a reason now to do the extra work of making a PAL/NTSC independent version for all carts?
Michael
I've used the ROM to RAM technique for 6 games and when started from a PAL machine only, they are:Mike wrote:So the solution already was to keep a table of all relevant positions for all carts, copying the image from ROM to RAM, and then altering the RAM copy.
DEADLY DUCK
GHOST MANOR
SPIKE'S PEAK
SQUISH'EM
STAR TREK
TOPPER
I prefer to start games in ROM because if you select a VIC+32K configuration after a MegaCart reset, the cart image in $a000 restarts due the A0CBM sequence, the games listed above was originally for NTSC machines only so better in RAM then nothing btw with additional work i've avoided for these games, the VIC+32K problem too.
I may start them in ROM with a specific PAL rom of course but this requires additional space in MegaCart roms, only 4k left at the moment and i don't want to remove any existing game/utility.
There are about 60 carts that in a PAL machine, requires Cursor keys or joy to center the screen on the beginning, i'm fixing all of them for auto centering in a single rom, not independent PAL/NTSC versions, just one rom for both the systems.Is there a reason now to do the extra work of making a PAL/NTSC independent version for all carts?
Games like PolePosition, MsPacman, DonkeyKong does not require anymore the uses of cursor keys to center the screen from a PAL machine.
When you use a single cartridge this is not a big problem but based on my MegaCart playing experience, when you switch from a game to another and another and so on, this is a very annoying thing.
At the moment there are about 10 carts left to fix and until the end of this month?, Brian hopes to have the final MegaCart PCB, we have all the time to carefully tests all new fixes in both PAL and NTSC machines

Mega-Cart: the cartridge you plug in once and for all.
- Mike
- Herr VC
- Posts: 5130
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
That's what I meant - this is independent of the actual TV system present, see the singular in:nbla000 wrote:i'm fixing all of them for auto centering in a single rom, not independent PAL/NTSC versions, just one rom for both the systems.
Mike wrote:making a PAL/NTSC independent version for all carts
I presume you clear the A0CBM signature for a reset into BASIC, when there should not be any "cartridge" present. But what happens, when the user tries to autostart a soft-loaded cartridge himself, via a Mega-Cart reset?I prefer to start games in ROM because if you select a VIC+32K configuration after a MegaCart reset, the cart image in $a000 restarts due the A0CBM sequence, [...] with additional work i've avoided for these games, the VIC+32K problem too.
Michael
Sorry my misunderstanding.Mike wrote:That's what I meant
Yes, i simply set byte $a005 to $0 but using the loader (an additional program called by menu to load any program from ROM to RAM) i don't use the $fd22 call to start the cart but the address on $a000/$a001.I presume you clear the A0CBM signature for a reset into BASIC, when there should not be any "cartridge" present. But what happens, when the user tries to autostart a soft-loaded cartridge himself, via a Mega-Cart reset?
Remember that this behavior is for a PAL machine just when the user selects one of the game listed above only, when you select Vic+32K or any other menu item from Normal/Soft reset menus, i don't mess with the "A0CBM" signature so no problems for autostarting a soft-loaded cartridge.
Before someone ask even if i've disabled the "A0CBM" signature for this items in a PAL machine, the RunStop+Restore sequence follows the original behavior because the Loader changes the pointers on ($0328/$0329) according with the $a002/$a003 pointers.
I wish to inform that the center screen roms fix is finished and successfully tested on the MegaCart, now all games start centered for both PAL/NTSC machine except the NTSC ONLY games of course:
BANDITS
CAPTURE THE FLAG
FINAL ORBIT
MOUNTAIN KING
SPIDER CITY
TOOTH INVADERS
Based on actual knowledge, a PAL version of these games wasn't never released, if someone is able to fix these games for PAL machines or have a PAL version of these carts, please contact me.
Mega-Cart: the cartridge you plug in once and for all.
When I tried plugging in latest prototype.....it did not work.
On serious side, gerber files have been sent to have next PCB prototype boards done, based on SMT design.
Above image was done to simply have a look at layout in standard Vic-20 cart case.
Parts were ordered last week for prototype builds and I have received all but one chip type (which is expected to arrive Monday AM via FedEx).
Above image is about 1 week old and has had a couple of revisions since to layout (sorry eslapion
).


On serious side, gerber files have been sent to have next PCB prototype boards done, based on SMT design.
Above image was done to simply have a look at layout in standard Vic-20 cart case.
Parts were ordered last week for prototype builds and I have received all but one chip type (which is expected to arrive Monday AM via FedEx).
Above image is about 1 week old and has had a couple of revisions since to layout (sorry eslapion


-
- Pinballer
- Posts: 1090
- Joined: Wed Feb 02, 2005 11:26 am
Here is image of assembled MegaCart prototype #5

This was my first SMT project. So it is a bit messy
and I have not cleaned excess flux from PCB yet.
Unfortunately, I applied too much heat and a couple of traces lifted off the PCB and I had to add 30awg wire to replace 2 traces (see black wires on top of PCB).

This was my first SMT project. So it is a bit messy

Unfortunately, I applied too much heat and a couple of traces lifted off the PCB and I had to add 30awg wire to replace 2 traces (see black wires on top of PCB).
Last edited by 6502dude on Sun Nov 09, 2008 9:46 am, edited 1 time in total.
