Bridge. Handic. Vic20. Get it now.

Discussion, Reviews & High-scores

Moderator: Moderators

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

Post by nbla000 »

I got it, forget the previous post.

The key is to change pointers on $a71f 21 a7 (pointer to $a721 routine)

The $a721 routine is executed to check the key pressed after the screen is positioned on start.

Code: Select all

a721   86 0A      STX $0A
a723   20 E4 FF   JSR $FFE4
a726   F0 FB      BEQ $A723
a728   A6 0A      LDX $0A
a72a   4C C2 A1   JMP $A1C2
I may change pointers to a free space location in $6d50/$6fff and write a routine that set correct screen for both PAL/NTSC machines before to jump to $a721 with just one fix for both systems :D

Stay tuned...
Mega-Cart: the cartridge you plug in once and for all.
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Re: Bridge. Handic. Vic20. Get it now.

Post by orion70 »

Mayhem wrote:Given the game is pretty much the same as its C64 counterpart, then I figure the manual on my site should cover it well enough.
Hope you don't mind if I created a PDF version of the manual. Thanks for Bridge, it will be my chance to learn the basics of this game. :)
Last edited by orion70 on Thu Sep 17, 2009 6:40 am, edited 1 time in total.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Here we are...

This is my solution to center screen for both PAL/NTSC machines in just one fix:

Code: Select all

a71f  00 6F   ;CHANGE POINTERS TO $6F00 (FIX ROUTINE)


6f00   48         PHA
6f01   8A         TXA
6f02   48         PHA        ; STORE A/X VALUES  

6f03   A9 DD      LDA #$DD   ; CHECK BYTE 
6f05   CD FF 03   CMP $03FF  ; CHECK LOCATION
6f08   F0 08      BEQ $6F12  ; ROUTINE ALREADY EXECUTED, SKIP                     
6f0a   8D FF 03   STA $03FF  ; WRITE CHECK BYTE   

6f0d   A2 02      LDX #$02
6f0f   20 C5 E5   JSR $E5C5  ; WRITE DEFAULT X/Y COORDINATES
                             ; ($05/$19 NTSC, $0C/26 PAL)
6f12   68         PLA
6f13   AA         TAX
6f14   68         PLA        ; RESTORE A/X VALUES

6f15   4C 21 A7   JMP $A721  ; CONTINUE NORMAL ROUTINES 
I need to use the check byte because the $a721 routine is recalled from $a71f pointers each time you press a key on Title screen so without a check byte you cannot use manual screen centering with cursor keys because my code rewrite X/Y coordinates.
The check byte is required to execute the fix routine just once.

Any other solution to substitute the check byte routine portion and to execute the X/Y centering routine portion just once is welcome.

A/X store/restore code is required to prevent game crash.

The solution is a little bit strange especially if compared with my other easy fixes but this game is the most hard to fix that i've found.


Enjoy it :wink:
Mega-Cart: the cartridge you plug in once and for all.
pelleb
Vic 20 Newbie
Posts: 4
Joined: Thu Oct 30, 2008 2:16 am

Post by pelleb »

Hello!

I am the Per Backman Mayhem got the ROM-dumps from.

As people seem to have studied these files maybe someone could explain a strange behaviour this game shows, it won't start on a VIC with scandinavian ROMs. The irony in this is that, if I remember correctly, it was Handic that marketed the scandinavian conversion...
User avatar
Mayhem
High Bidder
Posts: 3027
Joined: Mon May 24, 2004 7:03 am
Website: http://www.mayhem64.co.uk
Location: London

Post by Mayhem »

Welcome Per... as you can see, people are enjoying the fruits of labour heh...
Lie with passion and be forever damned...
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Hm, are you sure you're not using a memory expansion in parallel with the game cartridge? I tried in VICE and if I have +8K or more, the game bails out no matter which version of the Kernel ROM I have installed.

If I change to unexpanded VIC + cartridge like it is supposed to. I tried both VIC-1001, VIC-20 NTSC, VIC-20 PAL and VIC-20 Swedish.

Unfortunately I don't think I own any localized VIC-20 at the moment, I've sold the two ones I got. How far do you come on a real machine: start-up picture, the "set number" screen, the display of cards...
Anders Carlsson

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

Post by nbla000 »

pelleb wrote:Hello!

I am the Per Backman Mayhem got the ROM-dumps from.
Welcome on Denial and many many thanks for your ROM-dump.
As people seem to have studied these files maybe someone could explain a strange behaviour this game shows, it won't start on a VIC with scandinavian ROMs.
As Carlsson suggested maybe a Memory matter at least if you talk of file images, if you use a standard 32K expansion it doesn't work, you see the title screen but when you press F1, you got a garbage screen.
You need to use a switchable Memory expansion and set BLK3 and BLK5 ON, BLK1 must be off.
You may use the Eslapion's Expander too, set 32K switch Enabled, Power ON the Vic, Load the file images then set 32K switch disabled and reset or SYS64802.

Another way is to use the MegaCart RAM expander without any switch but since i've added it on the MegaCart Cartridge games section, you just need to start it.
If you want you may add it in the first MegaCart menu page to start it quickly after each boot.

MegaCart, what else ?
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 »

Nice to have you with us, pelleb, and again, thanks for sharing.
In the end it will be as if nothing ever happened.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

OK, in addition to my previous fix this is my solution to allow loading from standard 32k, BLK1 not switchable, memory expansions.

Code: Select all

a4f9   20 20 6f   JSR $6f20

6f20   A9 1E      LDA #$1E
6f22   8D 88 02   STA $0288
6f25   20 18 E5   JSR $E518
6f28   60         RTS 
If required i may send full fixed BLK3/BLK5 files to Mayhem for sharing.


*** edit *** it's my 1000th post on Denial :shock:
Mega-Cart: the cartridge you plug in once and for all.
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

@Nicola:

Image
pelleb
Vic 20 Newbie
Posts: 4
Joined: Thu Oct 30, 2008 2:16 am

Post by pelleb »

carlsson wrote:Hm, are you sure you're not using a memory expansion in parallel with the game cartridge? I tried in VICE and if I have +8K or more, the game bails out no matter which version of the Kernel ROM I have installed.
To clarify, I just plug the actual cartridge into my VIC, no expansions.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

pelleb wrote:To clarify, I just plug the actual cartridge into my VIC, no expansions.
I've tested Bridge roms on VICE by attaching cartridge images at $a000 and $6000 with swedish kernal and chargen in PAL mode.

They worked without problems, i don't know if is a VICE bug or it's a specific problem of your board, if you have a 32k memory expansion or any switchable expansion for blk3 and blk5 i may send you a disk image with your original dump but in prg 4k+8k image format and my BLK1 fixed version with screen centered so you may try these files.
Give me your Email in a PM for file sending.

Have you tested other 16k cartridges like MsPacMan, MoonPatrol, PolePosition ?


PS:Thanks Orion for your cake :)
Mega-Cart: the cartridge you plug in once and for all.
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Yes, as NBLA000 writes the setup works fine in emulation. Please try one of the other 16K cartridges in case something is bad on your Scandinavian VIC-20. Perhaps one of the lines on the cartridge port does not get proper contact. If you do have a suitable memory expansion, you could try that as well, e.g. if you can obtain a 24K mode or not.

As Bridge (and A World at War, in case you own that one too) uses a fair bit of RAM (i.e. zeropage and stack), in worst case it could be something bad with the interior RAM which should be observed even if you load tape games. It sounds a bit unlikely, but never knows...
Anders Carlsson

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

Post by nbla000 »

carlsson wrote:Perhaps one of the lines on the cartridge port does not get proper contact.
I thought on this but since i suppose that pelleb grubbed the file images from this machine and since file images work, i discarded this hypothesis.

Btw in case pelleb grubbed file images from another vic he may try this way too.
Mega-Cart: the cartridge you plug in once and for all.
pelleb
Vic 20 Newbie
Posts: 4
Joined: Thu Oct 30, 2008 2:16 am

Post by pelleb »

nbla000 wrote: Btw in case pelleb grubbed file images from another vic he may try this way too.
Actually, I pulled the socketed EPROMS from the cartridge and read them with my EPROMMER...
Post Reply