Mega-Cart

Modding and Technical Issues

Moderator: Moderators

carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

.. at least for those games that start up in 22x23 character mode.
Anders Carlsson

Image Image Image Image Image
User avatar
Mike
Herr VC
Posts: 4843
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

... and in other cases you can add, or subtract a constant offset (that's what I meant by "reference", rather than "value"). This is how MINIGRAFIK calculates the positioning for the screen.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Mike wrote:
nbla000 wrote:... my work is to start them centered for both PAL/NTSC machines.
You can use $EDE4, and $EDE5 as reference for the default X/Y-position, for both PAL/NTSC.
Thanks Michael, i know very well these locations... but the code is not ever so linear this is an Easy example:

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
This is an easy example because the screen use default X/Y value $05/$19 but often you have different values like $03/$0f so you need to calculate the offset as you suggested, nothing so complicated but the hard work is to find space in rom...
Obs1234
Vic 20 Newbie
Posts: 9
Joined: Mon Jul 28, 2008 4:38 pm

Post by Obs1234 »

Ok..

So the multi-cart release is not that far away..

Do you see an announcement soon for pre-orders??? Could help generate some cash flow for you.

Dave
User avatar
Mike
Herr VC
Posts: 4843
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

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...
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.

Is there a reason now to do the extra work of making a PAL/NTSC independent version for all carts?

Michael
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

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.
I've used the ROM to RAM technique for 6 games and when started from a PAL machine only, they are:
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.
Is there a reason now to do the extra work of making a PAL/NTSC independent version for all carts?
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.
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 :wink:
Mega-Cart: the cartridge you plug in once and for all.
User avatar
Mike
Herr VC
Posts: 4843
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

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.
That's what I meant - this is independent of the actual TV system present, see the singular in:
Mike wrote:making a PAL/NTSC independent version for all carts
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.
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?

Michael
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Mike wrote:That's what I meant
Sorry my misunderstanding.

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?
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.

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.
6502dude
megacart
Posts: 1581
Joined: Wed Dec 01, 2004 9:53 am

Post by 6502dude »

When I tried plugging in latest prototype.....it did not work. :lol:

Image


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 :wink: ).
Image Mega-Cart: the ultimate cartridge for your Commodore Vic-20
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Software side is ready too :wink:

Last addition was Bridge by Handic.
Mega-Cart: the cartridge you plug in once and for all.
6502dude
megacart
Posts: 1581
Joined: Wed Dec 01, 2004 9:53 am

Post by 6502dude »

Here is image of prototype PCB #5.

Gold plating will be added to edgecard for production boards.

Image

Some assembly fun & testing is planned for the weekend. :D
Last edited by 6502dude on Sat Nov 08, 2008 8:03 pm, edited 1 time in total.
Image Mega-Cart: the ultimate cartridge for your Commodore Vic-20
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

:? :| :) :o :D :P :shock: 8) :wink: :lol:
Mega-Cart: the cartridge you plug in once and for all.
gklinger
Vic 20 Elite
Posts: 2051
Joined: Tue Oct 03, 2006 1:39 am

Post by gklinger »

6502dude wrote:Some assembly fun & testing is planned for the weekend. :D
I have some time this weekend if you need someone to sit there and play with the earlier prototypes. :)
In the end it will be as if nothing ever happened.
Centallica
Pinballer
Posts: 1090
Joined: Wed Feb 02, 2005 11:26 am

Post by Centallica »

Very nice man!

Just in time for WOC :D
6502dude
megacart
Posts: 1581
Joined: Wed Dec 01, 2004 9:53 am

Post by 6502dude »

Here is image of assembled MegaCart prototype #5

Image

This was my first SMT project. So it is a bit messy :oops: 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).
Last edited by 6502dude on Sun Nov 09, 2008 9:46 am, edited 1 time in total.
Image Mega-Cart: the ultimate cartridge for your Commodore Vic-20
Post Reply