What's new

Announcement: Cycle-accurate N64 development underway.

ShadowFX

Guardian
After successfully compiling my own build of the CEN64-master, I am again encountering many 'Failed to load the ROM.' messages.
I assume the problem hasn't been pinpointed yet? I wanted to do some more testing but I guess this is show stopping me for the moment.
 

Hacktarux

Emulator Developer
Moderator
You could probably just remove it from the Aleck64 PCB and install it on a N64. Same for the one on a Magical Tetris arcade PCB, since it's slightly different than Aleck64.

When I used to work at an arcade we had a Magical Tetris PCB kit to install into a spare cabinet, but before putting it out for use, I played around with it for a bit. I removed the CIC chip and the Tetris ROM chip from the PCB, and installed a CIC and ROM chip from a Wayne Gretzkey hockey cart. The PCB booted up and began playing the attract mode sounds from Gretzkey, but the screen was just white/gray, and controls didn't seem to respond. I didn't have an N64 there to test the Tetris ROM on a real N64 though. Wish I had more time with it. The ROM and CIC chip on the PCB are identical to the ones in N64 carts though. The PCB also had 4 3pin connectors that are probably the N64 controller ports, but I didn't have time to wire up an adapter to see if the game would respond to those.

Yep, that's the idea, put the arcade pif in a n64 and the arcade cic in a cart that will be used by the backup/dev unit. I guess it should work fine.
 
OP
MarathonMan

MarathonMan

Emulator Developer
After successfully compiling my own build of the CEN64-master, I am again encountering many 'Failed to load the ROM.' messages.
I assume the problem hasn't been pinpointed yet? I wanted to do some more testing but I guess this is show stopping me for the moment.

I tested a handful of ROMs in Windows and never had a single issue after the last set of changes? Hmm... which ROMs are causing problems?

EDIT: You re-downloaded and replaced the ROM folder, right? That's where the fixes were, not in cen64-master...

EDIT2: Fixed another couple issues in the RSP. Found out that some ROMs are not booting or freezing after the intro because a corrupted audio list is sent to the RSP. The corrupted audio list destroys the contents of the RSP DMEM. The root cause of this is due to the fact that I don't properly implement the AI interface, so I guess I have to work on audio sooner than I wanted to... preliminary hacking with AI_LEN_REG permitted Super Mario 64 to boot, and kept the RSP alive for some other ROMs.
 
Last edited:

ShadowFX

Guardian
EDIT: You re-downloaded and replaced the ROM folder, right? That's where the fixes were, not in cen64-master...
Yes, I downloaded and built from the source today. Your last commit was about 3 days ago, right?

Depending on where or in what kind of path I load cen64.exe in, I'm receiving mixed results whether I'm getting the 'Failed to load the ROM.' or not. I peeked in your source code and the code where you handle this is where the file directory is being mapped into memory. I'm also not sure if the filename is relevant, and whether quotes before and after the filename (when auto-complete a long filename using the tab key) have any influence how the file directory is mapped into memory.
 
OP
MarathonMan

MarathonMan

Emulator Developer
Yes, I downloaded and built from the source today. Your last commit was about 3 days ago, right?

Depending on where or in what kind of path I load cen64.exe in, I'm receiving mixed results whether I'm getting the 'Failed to load the ROM.' or not. I peeked in your source code and the code where you handle this is where the file directory is being mapped into memory. I'm also not sure if the filename is relevant, and whether quotes before and after the filename (when auto-complete a long filename using the tab key) have any influence how the file directory is mapped into memory.

Try changing the second argument from "r" to "rb" and see if that fixes it:

cen64/rom/Cart.c:119
Code:
  if ((romFile = fopen(filename, "r")) == NULL) {
    debug("Failed to open ROM image.");
    return NULL;
  }

I don't thinkthe pathname needs to be escaped or anything fancy, but I could be wrong.
 

ShadowFX

Guardian
Compatibility 2013.8.25 - Test 2

Started out with a fresh clean ROM collection, all hopefully in the correct format. The dreaded 'Failed to load the ROM.' is gone now as far as I can see.
This gave me the opportunity to test more extensively.

Info:
- 'Running' means either it gives a black screen later on in the game, freezes or is unplayable due to too much corrupt graphics.
- 'in-game controller pak error' means I'm unable to progress any further into the game.
- 'in-game audio error' means I'm unable to progress any further into the game.
- Bolded titles are the last ones tested and might have been affected by changes.

Playable:
---------
AeroGauge (U) [!]
Batman Beyond - Return of the Joker (U) [!]
Buck Bumble (U) [!]
Bust-A-Move 2 - Arcade Edition (U) [!]
Carmageddon 64 (U) [!]
Clay Fighter - Sculptor's Cut (U) [!]
Cruis'n World (U) [!]
Gex 64 - Enter the Gecko (U) [!]
Harvest Moon 64 (U) [!]
Magical Tetris Challenge (U) [!]
Mario Party (U) [!]
Mega Man 64 (U) [!]
Midway's Greatest Arcade Hits Volume 1 (U) [!]
Monster Truck Madness 64 (U) [!]
Namco Museum 64 (U) [!]
RR64 - Ridge Racer 64 (U) [!]
Shadowgate 64 - Trials Of The Four Towers (U) (M2) [!]
Snowboard Kids 2 (U) [!]
Star Fox 64 (U) (V1.1) [!]
Virtual Chess 64 (U) (M3) [!]
Wipeout 64 (U) [!]
WinBack - Covert Operations (U) [!]
Worms - Armageddon (U) (M3) [!]

Running:
--------
Cruis'n Exotica (U) [!]
Cruis'n USA (U) (V1.2) [!]
Destruction Derby 64 (U) [!]
Disney's Donald Duck - Goin' Quackers (U) [!]
Donkey Kong 64 (U) [!]
Dr. Mario 64 (U) [!]
Duke Nukem - ZER0 H0UR (U) [!]
Earthworm Jim 3D (U) [!]
F-ZERO X (U) [!]
Goemon's Great Adventure (U) [!]
Hexen (U) [!]
Killer Instinct Gold (U) (V1.2) [!]
Legend of Zelda, The - Ocarina of Time (U) (V1.2) [!]
Legend of Zelda, The - Majora's Mask (U) [!]
Mario Kart 64 (U) [!]
Mortal Kombat Trilogy (U) (V1.2) [!]
Mortal Kombat 4 (U) [!]
Quest 64 (U) [!]
Rampage - World Tour (U) [!]
Rayman 2 - The Great Escape (U) (M5) [!]
StarCraft 64 (U) [!]
Super Mario 64 (U) [!]
Turok - Dinosaur Hunter (U) (V1.2) [!]
Wave Race 64 (U) (V1.1) [!]

Running, in-game audio error:
-----------------------------
-

Running, in-game controller pak error:
--------------------------------------
Mystical Ninja Starring Goemon (U) [!]

Running, delayed emulator crash:
--------------------------------
Bomberman Hero (U) [!]
Dark Rift (U) [!]

Immediate emulator crash:
-------------------------
1080 Snowboarding (JU) (M2) [!]
Banjo-Tooie (U) [!]
Blast Corps (U) (V1.1) [!]
Bomberman 64 (U) [!]
Bomberman 64 - The Second Attack! (U) [!]
Bust-A-Move '99 (U) [!]
Chameleon Twist (U) [!]
Chameleon Twist 2 (U) [!]
Conker's Bad Fur Day (U) [!]
Gauntlet Legends (U) [!]
Glover (U) [!]
GoldenEye 007 (U) [!]
GT 64 - Championship Edition (U) [!]
Jet Force Gemini (U) [!]
Kirby 64 - The Crystal Shards (U) [!]
Mace - The Dark Age (U) [!]
Mario Golf (U) [!]
Mario Party 2 (U) [!]
Mario Party 3 (U) [!]
Mario Tennis (U) [!]
Mortal Kombat Mythologies - Sub-Zero (U) [!]
Ogre Battle 64 - Person of Lordly Caliber (U) [!]
Paper Mario (U) [!]
Perfect Dark (U) (V1.1) [!]
Pilotwings 64 (U) [!]
Pokemon Puzzle League (U) [!]
Pokemon Snap (U) [!]
Pokemon Stadium (U) (V1.1) [!]
Pokemon Stadium 2 (U) [!]
Rampage 2 - Universal Tour (U) [!]
Rat Attack (U) (M6) [!]
Re-Volt (U) [!]
Resident Evil 2 (U) (V1.1) [!]
Road Rash 64 (U) [!]
San Francisco Rush - Extreme Racing (U) (M3) [!]
San Francisco Rush 2049 (U) [!]
Shadow Man (U) [!]
Snowboard Kids (U) [!]
South Park (U) [!]
Star Wars Episode I - Battle for Naboo (U) [!]
Star Wars Episode I - Racer (U) [!]
Stunt Racer 64 (U) [!]
Super Smash Bros. (U) [!]
Superman (U) (M3) [!]
Tetrisphere (U) [!]
Turok - Rage Wars (U) [!]
Turok 2 - Seeds of Evil (U) (V1.1)
Turok 3 - Shadow of Oblivion (U) [!]
Vigilante 8 - 2nd Offense (U) [!]
Wayne Gretzky's 3D Hockey (U) (V1.1) [!]
Wayne Gretzky's 3D Hockey '98 (U) [!]
Yoshi's Story (U) (M2) [!]

Black screen:
-------------
007 - The World is Not Enough (U) [!]
Banjo-Kazooie (U) (V1.1) [!]
Bio F.R.E.A.K.S. (U) [!]
Castlevania (U) (V1.2) [!]
Castlevania - Legacy of Darkness (U) [!]
Clay Fighter 63 1-3 (U) [!]
Command & Conquer (U) [!]
Diddy Kong Racing (U) (M2) (V1.1) [!]
Duke Nukem 64 (U) [!]
Excitebike 64 (U) [!]
Extreme-G (U) [!]
Extreme-G XG2 (U) [!]
Fighter's Destiny (U) [!]
Forsaken 64 (U) [!]
Gex 3 - Deep Cover Gecko (U) [!]
Quake II (U) [!]
South Park Rally (U) [!]
Star Wars - Shadows of the Empire (U) (V1.2) [!]
Star Wars - Rogue Squadron (U) (M3) [!]
War Gods (U) [!]

White screen:
-------------
Body Harvest (U) [!]
Doom 64 (U) (V1.1) [!]
Quake 64 (U) [!]

Yellow screen:
--------------
-

Previously compatibility tests:

Compatibility 2013.8.21 - Test 1
 
Last edited:
OP
MarathonMan

MarathonMan

Emulator Developer
Hmm... I don't see anything that stands out in that list (trying to look to see if all the ones that don't boot share a common ucode or something). Thanks again for doing this, and glad to hear it's working for you now.

I (think) I found a LWL/LWR/SWL/SWR bug last night and fixed it. These opcodes are frequently uesd by memcpy, so I'm not sure how it was stable before this. :p

EDIT: Neat, a few games that were not working from the list above are now fully functional. :)
 
Last edited:

ShadowFX

Guardian
Re-tested. Some of them started to run and others now fail to run (see compatibility list above).
Good progress :)
 

Nintendo Maniac

New member
Question regarding multi-threaded performance - just how much of a performance difference is there if you force CEN64 to only use 2 threads VS using 4 threads?
 
F

Fanatic 64

Guest
Using MY software-renderer that angrylion optimized and fixed a few bugs in, you mean.
First of all, who are you? Second, if you want to be pissed, you should be so with Angrylion, he is the one who claims the RDP emulator to be his. MarathonMan only implemented it "as-is", there's no reason to attack him.
 
OP
MarathonMan

MarathonMan

Emulator Developer
First of all, who are you? Second, if you want to be pissed, you should be so with Angrylion, he is the one who claims the RDP emulator to be his. MarathonMan only implemented it "as-is", there's no reason to attack him.

Nein.

He's "MooglyGuy" of MESS and (after looking through things) is indeed the original author of the plugin. He's definitely up there in the rankings of people who can be thanked for their contributions to N64 emulation in general and has assisted me in times of need before.

Consider this my public apology for referring to it as angrylion's; in reality, MooglyGuy/JustDesserts wrote the original plugin , to which angrylion has provided bugfixes. I've only seen it referred to as angrylion's plugin and only heard from angrylion, so I've assumed it was solely angrylion's creation up to this point in time. I understand how frustrating [EDIT: lack of recognizance] of others' works is, so I feel kinda bad here.
 
Last edited:
F

Fanatic 64

Guest
Sorry, I just get pissed when other people get pissed. Anyway, thanks for the (a bit harsh) clarification.
 
OP
MarathonMan

MarathonMan

Emulator Developer
Sorry, I just get pissed when other people get pissed. Anyway, thanks for the (a bit harsh) clarification.

Apologies if that seemed a bit harsh; it certainly wasn't my intention. I was more trying to clarify the fact that I goofed up.
 
F

Fanatic 64

Guest
Apologies if that seemed a bit harsh; it certainly wasn't my intention. I was more trying to clarify the fact that I goofed up.
I wasn't talking about you. I was refering to JustDesserts original post. "MY work, you mean" does sound a bit harsh.
 

ShadowFX

Guardian
Speaking of MooglyGuy / Just Desserts, here we have two of his N64 test ROMs running:

n64_test1_mooglyguy.png
n64_test2_mooglyguy.png


(Unfortunately, I don't have any input controls when running these)

I wonder if there are more useful N64 testing ROMs out there so we can also test cen64 next to demos and commercial games.

PS: I do think Ville Linde was if not the first person with N64 development news on MAME/MESS.
 
F

Fanatic 64

Guest
I dare you to get this ROM working. It is specifically designed to detect emulators and refuses to run if it detects it's running on one. It also refuses to run if there isn't an Expansion Pak. According to the author he blocked emulators because none ran it correctly.
 

Top