|
|
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
|
|
|
|
|
|
|
|
|
|
Title screen bug? |
Works fine! |
|
33% |
[ 1 ] |
64drive - title screen crash (no response, no sound) |
|
0% |
[ 0 ] |
64drive - title screen black + eeprom reset black (sound, can advance) |
|
0% |
[ 0 ] |
64drive - title screen black, eeprom reset okay |
|
0% |
[ 0 ] |
ED64 v2.x - title screen crash (no response, no sound) |
|
0% |
[ 0 ] |
ED64 v2.x - title screen black + eeprom reset black (sound, can advance) |
|
33% |
[ 1 ] |
ED64 v2.x - title screen black, eeprom reset okay |
|
0% |
[ 0 ] |
ED64 v3 - title screen crash (no response, no sound) |
|
33% |
[ 1 ] |
ED64 v3 - title screen black + eeprom reset black (sound, can advance) |
|
0% |
[ 0 ] |
ED64 v3 - title screen black, eeprom reset okay |
|
0% |
[ 0 ] |
|
Total Votes : 3 |
|
|
|
|
|
|
|
|
zoinkity 007
Joined: 24 Nov 2005 Posts: 1697
|
Posted: Mon Apr 10, 2017 11:30 am Post subject: |
|
|
If you own any version ED64 and a 64DD, does the 64DD work with the flashcart?
Luigiblood / Seru-kun from the 64DD project would like to know!
Turns out this problem is far more interesting than expected. It seems there is a bug in the version 3 firmware, possibly specific to the way CIC 5167 is handled, that's causing unmapped bus addresses to report values from the most recent DMA from cartrom.
Background:
There are two types of ways to read hardware: you can read one word (4 bytes) at a time to a register or you can read a multiple of 2 bytes between hardware and rdram (DMA). They're separate operations. Remember also that flashcarts are different from the maskroms on cartridges. They provide and manage their own interface to their own cartridge space, and there is no guarantee this will match legit maskroms. It's far more likely that it doesn't.
Let's say you try to read a word from a hardware address but there isn't any hardware there to read from. The console's response is repeating the lower halfword of the address twice. For instance:
A5000508 would report 05080508
This is true of any open-bus address. It's also rather important for certain titles that need to detect if hardware is present.
The test from above is used in F-Zero X to check if the 64DD is present. It tests if the value equals 05080508 and if not, proceeds to load whatever disk may be in the drive. It's the only title I know of that hangs if the value is not equal to expected. Similar tests are used for other hardware as well.
The Densha de Go 64 patch includes two hardware tests of this sort. The first is testing if a 64drive is in use and the second if a 64DD is attached. ED64 tests are a little different, exposing the registers and then hiding them again.
Normal results are:
Code: | B80002EC -> 02EC02EC
A5000508 -> 05080508 |
Version 2 Everdrives, version 1 Everdrives (using an alternative OS), and 64drives all respond with expected values. Version 3 Everdrives are reporting something a bit more peculiar:
Code: | B80002EC -> 365A365A
A5000508 -> 00000000 |
"365A" in ASCII is "6Z", the last halfword of the GameID. The most recent DMA between cart and rdram was reading 32 bytes from cart offset 0x18 to rdram address 800001A0. What this reads differs slightly between builds (the date is embedded), but it's always something similar to this and the first word is always the GameID:
Code: | 4544365A 0002102B C3DEDDBC ACC3DE47 4F213634 00000000 333707E1 0316112A |
Note the first word: "4544365A". Following the open-bus pattern it would source the "365A365A" reported at the word read. They're still being reported like open-bus values, but the values appear to be drawn from previous data, not the provided address.
That specific value isn't important, but the next one is. A5000508 is a joint Status and Command register used by the 64DD. The lower halfword is only nonzero when the device is not present or suffers an error. The upper field, when read, contains bitflags indicating drive state, etc. Writes to it are treated as commands, and when the drive finishes executing them (pretty sure any command...I'll have to test that one day) it triggers a cart interrupt. The exception handler catches that, fiddles with the drive state as necessary for its current mode + command, resets a flag so the drive stops sending the interrupt, and goes on its merry way.
The problem here is that version 3 Everdrives are not reporting the typical open-bus response. Zero is a false-positive for the drive being present and miraculously not having any state or error conditions (MAME uses/used zero; real ones will report 00590000 without a disk at boot, 01590000 with one), and that false-positive means it tries to send a command. It then waits for a callback to hit a message queue indicating the interrupt was received before moving on. Long story short, the title is in a permanent loop waiting for a non-existent drive to send an interrupt.
The 5167 CIC is (or can be?) handled a little differently than other CICs. There's a feature that automatically sets cartridge address space writable, and on reset cartrom will be written back as a file (similar to save files). This is used to retain "disk" data when a 64DD cartridge conversion is in use. The actual function doesn't matter though. What does is that there is known special handling tied to this specific CIC.
Since at least one title that requires the returned values to be correct is, well, correct, it's safe to assume that either this is specific behavior or the title in question has been special-cased. The former seems most likely at this point.
How it can be fixed:
There's three options here.
1) Krikzz fixes it: a firmware patch is released to match normal console behavior. It's the best solution (in case somebody else writes something silly like this in the future) but not necessarily the most practical one.
2) I fix it: ED64 < version 3 pass through normally, and others test if the register equals zero or something. Since a real drive isn't normally set to that (but theoretically could be) in most cases normal behavior will be preserved. Could also HW-swap the values and XOR or something...
3) Both. I don't feel option 2 will severely impact users, but at the same time this is incorrect behavior on the flashcart's part. In either case, I do have to issue another patch to address a typo.
At any rate, I'll probably slide an extra feature or two (hidden or not) into the next patch. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
|
|
|
|
|
Johnny Thunder 00 Agent
Joined: 10 Jan 2017 Posts: 484 Location: Mexicali, Baja California, Mexico |
Posted: Mon Apr 10, 2017 3:53 pm Post subject: |
|
|
Hey Zoinkity, I need your help, I can not find the page of the texture pack that you created, which I also use TAKA Michinoku9.1, you can pass the textures link, please !!! ??? _________________ Johnny Thunder masterpiece:
RickRollEye 64
Visit my youtube channel:
Johnny Thunder: The Revenger
Visit My discord:
Afterwards Studios |
|
|
|
|
|
|
|
|
|
|
Kerr Avon 007
Joined: 26 Oct 2006 Posts: 916
|
Posted: Wed Apr 12, 2017 9:58 am Post subject: |
|
|
Johnny Thunder wrote: | I had that dream of having a 64drive or a 64 Everdrive, but that dream is gone |
You should get one, I have an Everdrive 64 and they're great. Being able to play Goldeneye X, other modifed roms, the translated roms, the 64DD games, plus every commercial N64 game ever, all from one cartridge (the Everdrive 64) is *fantastic*, and well worth the money.
The only problem is, most Super Mario 64, and Zelda modified mods don't work, as they aren't compatible with a real N64, but that's not the ED64/64Drive's fault. |
|
|
|
|
|
|
|
|
|
|
Johnny Thunder 00 Agent
Joined: 10 Jan 2017 Posts: 484 Location: Mexicali, Baja California, Mexico |
Posted: Wed Apr 12, 2017 11:20 am Post subject: |
|
|
Kerr Avon wrote: | Johnny Thunder wrote: | I had that dream of having a 64drive or a 64 Everdrive, but that dream is gone |
You should get one, I have an Everdrive 64 and they're great. Being able to play Goldeneye X, other modifed roms, the translated roms, the 64DD games, plus every commercial N64 game ever, all from one cartridge (the Everdrive 64) is *fantastic*, and well worth the money.
The only problem is, most Super Mario 64, and Zelda modified mods don't work, as they aren't compatible with a real N64, but that's not the ED64/64Drive's fault. |
Thanks for the consideration of Everdrive 64, but my nintendo 64 does not want to grab any nintendo 64 game, so I decided to sell all my games and controls to buy a game for wii, GoldenEye 007 for Wii, I think my console is no longer I do not work, I'm a high school student (not a university), only one person in the state where I live has ONLY ONE, and I DO NOT MUST BUY IT Online, not even what I like, I'm sorry.
Now I play the modified roms on my Wii, using the Not64 _________________ Johnny Thunder masterpiece:
RickRollEye 64
Visit my youtube channel:
Johnny Thunder: The Revenger
Visit My discord:
Afterwards Studios |
|
|
|
|
|
|
|
|
|
|
zoinkity 007
Joined: 24 Nov 2005 Posts: 1697
|
Posted: Mon Apr 17, 2017 5:35 pm Post subject: |
|
|
Just pushed out a final patch, working with ED64 version 3. Will also work in the case the issue is patched on the hardware side of things.
http://www.romhacking.net/translations/2947/
Also fixes a typo and adds a debug feature ;*) Check the readme for details.
This won't help if you're using SCART though. The title's resolution would have to drop, and honestly there aren't enough SCART users to really rationalize that. It's not like it locks for you, but it is a bit of a shame. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
|
|
|
|
|
Kerr Avon 007
Joined: 26 Oct 2006 Posts: 916
|
Posted: Tue Apr 18, 2017 8:35 am Post subject: |
|
|
Thanks for this, mate. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|