Error in F-1 Race (1984)
Moderator: Moderators
Re: Error in F-1 Race (1984)
Is this true of $41 as well? $41 includes bits from CPU open bus.
And can someone verify this on hardware by holding the input low until the strobe is asserted?
And can someone verify this on hardware by holding the input low until the strobe is asserted?
Re: Error in F-1 Race (1984)
Forcing $4016 to read back $01, $40 or $41 from reset also results in a grey screen.tepples wrote:Is this true of $41 as well? $41 includes bits from CPU open bus.
Re: Error in F-1 Race (1984)
It does AND #$03 after LDA $6C. This bug is probably a debug access code left, removed from the final version.
I don't get a green (or gray) screen, but that on screenshot I posted, and a square wave tune plays. Plus, if I force $2002:$40, it plays the pause music slowly while the screen flashes.
I don't get a green (or gray) screen, but that on screenshot I posted, and a square wave tune plays. Plus, if I force $2002:$40, it plays the pause music slowly while the screen flashes.
Re: Error in F-1 Race (1984)
Final version? Which version are you using then?Zepper wrote:It does AND #$03 after LDA $6C. This bug is probably a debug access code left, removed from the final version.
Then something is very wrong with your emulator.Zepper wrote:I don't get a green (or gray) screen, but that on screenshot I posted, and a square wave tune plays. Plus, if I force $2002:$40, it plays the pause music slowly while the screen flashes
Re: Error in F-1 Race (1984)
Zepper, tepples and I would really like to help you with your emulator.
Could you please download, test and report on the most popular test ROMs available so that we can get a better picture of how accurate RockNES is?
Could you please download, test and report on the most popular test ROMs available so that we can get a better picture of how accurate RockNES is?
Re: Error in F-1 Race (1984)
Results for RockNES 5.074 are on tasvideos.org's emulator test result page. (Some of those tests can be ignored, as I described here.)
Re: Error in F-1 Race (1984)
Wait a minute. I believe there's some confusion here. Let me recap the things:
1. There is a bug in F-1 Race (1984). If $4016 AND 3 is non zero, the game hangs on startup. On RockNES 5.11, a blue screen filled up with zeroes (except in a rectangular portion at top right) and a tune plays. By the way, it would be great if such bug appears on NES too.
2. I couldn't test such behaviour in other emulators because I'm unable to force $4016 to return a specific value, or I don't know how to do it.
3. This isn't an emulator test accuracy. In fact, I though it would be an error in my PPU code, since the game hangs in an infinite $2002:$40 poll loop.
4. I'm going to post the ASM code from the game, where the bug occurs.
5. I'm over 15 years working in this emulator. Feel free to point me bugs or problems, but do not underestimate it.
6. I already found the problem. It's not related with the emulator accuracy.
Now, where am I wrong, please? If you believe there's a problem with the emulator, point out where.
1. There is a bug in F-1 Race (1984). If $4016 AND 3 is non zero, the game hangs on startup. On RockNES 5.11, a blue screen filled up with zeroes (except in a rectangular portion at top right) and a tune plays. By the way, it would be great if such bug appears on NES too.
2. I couldn't test such behaviour in other emulators because I'm unable to force $4016 to return a specific value, or I don't know how to do it.
3. This isn't an emulator test accuracy. In fact, I though it would be an error in my PPU code, since the game hangs in an infinite $2002:$40 poll loop.
4. I'm going to post the ASM code from the game, where the bug occurs.
5. I'm over 15 years working in this emulator. Feel free to point me bugs or problems, but do not underestimate it.
6. I already found the problem. It's not related with the emulator accuracy.
Now, where am I wrong, please? If you believe there's a problem with the emulator, point out where.
Re: Error in F-1 Race (1984)
1. Probably it's a leftover from developers, a way to access a debug menu or something, I'm NOT sure. I said PROBABLY.WedNESday wrote:Final version? Which version are you using then?Zepper wrote:It does AND #$03 after LDA $6C. This bug is probably a debug access code left, removed from the final version.
Then something is very wrong with your emulator.Zepper wrote:I don't get a green (or gray) screen, but that on screenshot I posted, and a square wave tune plays. Plus, if I force $2002:$40, it plays the pause music slowly while the screen flashes
2. There's NOTHING wrong with my emu. Too hard for understanding it's a bug in the game code?
Re: Error in F-1 Race (1984)
ASM code. Note that I'm ORing $4016 with $01 to trigger the bug.
Code: Select all
;see line 17811
;bad code
(17785) C06B LDA #$00 A=01,X=FF,Y=01,S=F5,P=35
(17786) C06D STA $2003 A=00,X=FF,Y=01,S=F5,P=37
(17787) C070 LDA $4F A=00,X=FF,Y=01,S=F5,P=37
(17788) C072 AND #$01 A=00,X=FF,Y=01,S=F5,P=37
(17789) C074 ORA #$02 A=00,X=FF,Y=01,S=F5,P=37
(17790) C076 STA $4014 A=02,X=FF,Y=01,S=F5,P=35
(17791) C079 LDY #$01 A=02,X=FF,Y=01,S=F5,P=35
(17792) C07B STY $4016 A=02,X=FF,Y=01,S=F5,P=35
(17793) C07E DEY A=02,X=FF,Y=01,S=F5,P=35
(17794) C07F STY $4016 A=02,X=FF,Y=00,S=F5,P=37
(17795) C082 LDA $4016 A=02,X=FF,Y=00,S=F5,P=37
(17796) C085 AND #$03 A=01,X=FF,Y=00,S=F5,P=35
(17797) C087 STA $6D A=01,X=FF,Y=00,S=F5,P=35
(17798) C089 LDA $4016 A=01,X=FF,Y=00,S=F5,P=35
(17799) C08C AND #$03 A=01,X=FF,Y=00,S=F5,P=35
(17800) C08E STA $6E A=01,X=FF,Y=00,S=F5,P=35
(17801) C090 LDA $4016 A=01,X=FF,Y=00,S=F5,P=35
(17802) C093 AND #$03 A=01,X=FF,Y=00,S=F5,P=35
(17803) C095 STA $6B A=01,X=FF,Y=00,S=F5,P=35
(17804) C097 LDA $4016 A=01,X=FF,Y=00,S=F5,P=35
(17805) C09A AND #$03 A=01,X=FF,Y=00,S=F5,P=35
(17806) C09C STA $6C A=01,X=FF,Y=00,S=F5,P=35
(17807) C09E LDY #$01 A=01,X=FF,Y=00,S=F5,P=35
(17808) C0A0 LDA $4016 A=01,X=FF,Y=01,S=F5,P=35
(17809) C0A3 AND #$03 A=01,X=FF,Y=01,S=F5,P=35
(17810) C0A5 BNE #$03 A=01,X=FF,Y=01,S=F5,P=35
(17811) C0AA STY $6F A=01,X=FF,Y=01,S=F5,P=35
(17812) C0AC LDY #$01 A=01,X=FF,Y=01,S=F5,P=35
Code: Select all
;good code
(17785) C06B LDA #$00 A=01,X=FF,Y=01,S=F5,P=35
(17786) C06D STA $2003 A=00,X=FF,Y=01,S=F5,P=37
(17787) C070 LDA $4F A=00,X=FF,Y=01,S=F5,P=37
(17788) C072 AND #$01 A=00,X=FF,Y=01,S=F5,P=37
(17789) C074 ORA #$02 A=00,X=FF,Y=01,S=F5,P=37
(17790) C076 STA $4014 A=02,X=FF,Y=01,S=F5,P=35
(17791) C079 LDY #$01 A=02,X=FF,Y=01,S=F5,P=35
(17792) C07B STY $4016 A=02,X=FF,Y=01,S=F5,P=35
(17793) C07E DEY A=02,X=FF,Y=01,S=F5,P=35
(17794) C07F STY $4016 A=02,X=FF,Y=00,S=F5,P=37
(17795) C082 LDA $4016 A=02,X=FF,Y=00,S=F5,P=37
(17796) C085 AND #$03 A=00,X=FF,Y=00,S=F5,P=37
(17797) C087 STA $6D A=00,X=FF,Y=00,S=F5,P=37
(17798) C089 LDA $4016 A=00,X=FF,Y=00,S=F5,P=37
(17799) C08C AND #$03 A=00,X=FF,Y=00,S=F5,P=37
(17800) C08E STA $6E A=00,X=FF,Y=00,S=F5,P=37
(17801) C090 LDA $4016 A=00,X=FF,Y=00,S=F5,P=37
(17802) C093 AND #$03 A=00,X=FF,Y=00,S=F5,P=37
(17803) C095 STA $6B A=00,X=FF,Y=00,S=F5,P=37
(17804) C097 LDA $4016 A=00,X=FF,Y=00,S=F5,P=37
(17805) C09A AND #$03 A=00,X=FF,Y=00,S=F5,P=37
(17806) C09C STA $6C A=00,X=FF,Y=00,S=F5,P=37
(17807) C09E LDY #$01 A=00,X=FF,Y=00,S=F5,P=37
(17808) C0A0 LDA $4016 A=00,X=FF,Y=01,S=F5,P=35
(17809) C0A3 AND #$03 A=00,X=FF,Y=01,S=F5,P=37
(17810) C0A5 BNE #$03 A=00,X=FF,Y=01,S=F5,P=37
(17811) C0A7 DEY A=00,X=FF,Y=01,S=F5,P=37
(17812) C0A8 BPL #$F6 A=00,X=FF,Y=00,S=F5,P=37
(17813) C0A0 LDA $4016 A=00,X=FF,Y=00,S=F5,P=37
Roll a JOINT and press Reset
Reading an authentic standard controller produces a stream of 1's starting on the ninth read. If you press the Reset button on the Control Deck, the controller will most likely have just been read 8 times, and you'll probably get a nonzero output from the controller's shift register.
Has anyone here tried this cassette on a Famicom or on an NES through an NES-JOINT? (No, you don't have to be in Colorado.)
Has anyone here tried this cassette on a Famicom or on an NES through an NES-JOINT? (No, you don't have to be in Colorado.)
Re: Error in F-1 Race (1984)
I wonder what occurs if you hold A or B (or both) on power-on/RESET in a NES, with F-1 Race there.
EDIT: would the NES play an original Famicom game using a 60-72 pin adaptor, or must have the lockout chip disabled?
EDIT: would the NES play an original Famicom game using a 60-72 pin adaptor, or must have the lockout chip disabled?
Re: Error in F-1 Race (1984)
If I hack up fceu to always press start, on boot it hangs on a grey screen.
Last edited by lidnariq on Mon Jan 06, 2014 7:01 pm, edited 1 time in total.
Re: Error in F-1 Race (1984)
NES-JOINT is a 60- to 72-pin adapter that includes a key chip.Zepper wrote:would the NES play an original Famicom game using a 60-72 pin adaptor, or must have the lockout chip disabled?
Re: Error in F-1 Race (1984)
My first look was a LDA $6C then AND 3, but now it's different. It's LDA $4016 instead. Weird. o.Olidnariq wrote:If I use a cheat code that pins address $6C to 1 in FCEUX, it immediately goes to the racetrack and hangs there. I think you've got something else funny going on.
If I hack up fceu to always press start, on boot it hangs on a grey screen.
EDIT: I bought the original cartridge, just waiting for arrival here. So, I'll test it on my Famiclone, since I don't own that NES-JOINT adaptor for the NES. Yup, I have an adaptor, but Famicom carts don't work on my NES.
Re: Error in F-1 Race (1984)
Too hard to understand that it doesn't happen on a real NES? Or on anyone else's emulator? Then there IS something wrong with your emulator. Stop trying to pin this on the game's developer.Zepper wrote:2. There's NOTHING wrong with my emu. Too hard for understanding it's a bug in the game code?