Shifty fixed to work on floppies ?!?!

Discuss anything related to the VIC
Post Reply
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Shifty fixed to work on floppies ?!?!

Post by nbla000 »

Shifty by Audiogenic it's a very nice 8k Tape game similar to the Arcade game Lady Bug that i've fixed to work to a floppy.

I've modified the assembler and the game seems that works well but i'm not sure if my fix may imply some errors.

My work:
The game is not tape protected so using 16k expansion i've loaded the Tape file and saved it to a disk on VICE.
LOAD"SHIFTY"
SAVE"SHIFTY",8
simply.

When i load the file from a disk and RUN, the Vic resets.
Using VICE monitor i've investigate and i don't know why but after a command (BNE $32FD) the program jump to an address ($32fd) that reset the vic (JMP $FD22 = SYS64802) but if the game is loaded from the tape, after the command (BNE $32FD) the program does not jump.

So to fix the game i've substitute 2 BNE commands that produce the reset with the CMP command of the previous line, i don't know what the CMP command do, may produce a problem?

Code: Select all

1702   A9 2F      LDA #$2F  <== SYS5890 start program
1704   85 2C      STA $2C
1706   4C B0 32   JMP $32B0
32b0   A9 C2      LDA #$C2
32b2   8D 14 03   STA $0314
32b5   A9 80      LDA #$80
32b7   8D 91 02   STA $0291
32ba   A9 00      LDA #$00
32bc   8D 8A 02   STA $028A
32bf   A9 5A      LDA #$5A
32c1   8D 18 03   STA $0318
32c4   A9 33      LDA #$33
32c6   85 2C      STA $2C
32c8   A9 CB      LDA #$CB
32ca   8D 19 03   STA $0319
32cd   A5 9D      LDA $9D
32cf   D0 2C      BNE $32FD        ok doesn't jump
32d1   AD 0B 12   LDA $120B     
32d4   C9 8A      CMP #$8A      
32d6   D0 25      BNE $32FD        ok doesn't jump
32d8   AD 51 03   LDA $0351     
32db   C9 58      CMP #$58         
32dd   D0 1E      BNE $32FD >---   FILL $32DD $32DE C9 58
32df   AD 52 03   LDA $0352     |
32e2   C9 59      CMP #$59      |  
32e4   D0 17      BNE $32FD >---   FILL $32E4 $32E5 C9 59
32e6   AD 07 12   LDA $1207     |
32e9   C9 38      CMP #$38      |
32eb   D0 10      BNE $32FD     |  ok doesn't jump
32ed   AD 09 12   LDA $1209     |
32f0   EA         NOP           |
32f1   EA         NOP           |
32f2   A9 89      LDA #$89      |
32f4   8D 7D 38   STA $387D     |
32f7   A9 30      LDA #$30      |
32f9   8D 7F 38   STA $387F     |
32fc   60         RTS >---------+--
32fd   4C 22 FD   JMP $FD22 <---   |  <-- RESET
e144   08         PHP <------------     
Post Reply