Can the N64 port be made to work under an emulator?

Discussion about other and unofficial ports of ScummVM

Moderator: ScummVM Team

Post Reply
marzipan
Posts: 301
Joined: Fri Nov 25, 2005 4:10 pm

Can the N64 port be made to work under an emulator?

Post by marzipan »

I was playing about with the N64 version lately and wanted to see how it performs, but I don't have any means of transferring roms to my real N64 unit, so I was hoping to see it under emulation. However, I've tried Project64 and 1964, and the former just crashes while the latter sticks on a black screen.

Has anyone so far tried to run it under an emulator and get satisfactory results?
wfeltmate
Posts: 18
Joined: Mon May 26, 2008 8:08 pm

Post by wfeltmate »

If you have no means through which to transfer roms to your N64 console, then I am curious for what reason you are trying to use the N64 port.
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

Maybe plain curiosity?

I am actually also interested in that. For us devs, it is quite helpful to be able to run ports (esp. console ports) in emulators for testing purposes. One of my dreams for ScummVm development is that one day, we can perform (semi-)automatic regression testing using emulators on various ports... :)
User avatar
Red_Breast
Posts: 770
Joined: Tue Sep 30, 2008 10:33 pm
Location: The Bar Of Gold, Upper Swandam Lane.

Post by Red_Breast »

"Maybe plain curiosity?"

Damn straight. I've tried ScummVM on many platforms just because I could. In fact does there have to be any reason?

I was intrigued by the N64 port but thought if I ever did try it then it would be on my real N64 and not an emulator and until I can get a way to get the rom to a cart it will stay on the back burner. The Neo Myth N64 isn't cheap although it's not the only method.

If I get some time, maybe the weekend, I might try the emu method. I seem to recall Project 64 is Windows only though.
marzipan
Posts: 301
Joined: Fri Nov 25, 2005 4:10 pm

Post by marzipan »

Yup, plain curiosity would be it. :)

Testing out under emulation would also help to determine if your encoded ogg files (speech or music) will work the way you've set them up. (Quite amusing to see this is the only port to not support MP3 btw!)

I mentioned Project64 and 1964 first because I believed those to be the main two that are most likely to run the majority of N64 roms without too much of a problem. I've also tried using mupen64plus (on Windows), Cube64 and DaedalusX64, and they all stick on a black screen also. Doesn't seem to matter if the rom is in n64 or v64 format either. I wonder if ScummVM 64 is using any "tricks" that emulators are likely to be left confused by?
User avatar
Red_Breast
Posts: 770
Joined: Tue Sep 30, 2008 10:33 pm
Location: The Bar Of Gold, Upper Swandam Lane.

Post by Red_Breast »

Having a quick look at the readme I thought it won't take long to try this so I did.
I used Monkey 2. No problem making a rom or joining it with the scummvm-scumm binary.
But using ucon64 to fix the checksum I get this.

Code: Select all

Padded: Maybe, 471 Bytes (0.0036 Mb)
Intro/Trainer: Maybe, 66832 Bytes
Interleaved/Swapped: No
Backup unit/emulator header: No
Checksum: Bad, 0x6fcfaf83 (calculated) != 0xed42a2d4 (internal)
2nd Checksum: Bad, 0x90277fc6 (calculated) != 0x7a71cd91 (internal)
NOTE: The checksum routine supports only 6102 and 6105 boot codes
Search checksum (CRC32): 0xfd0e8559
Data checksum (CRC32): 0xe03c0617

Wrote backup to: scummvm-scumm.bak
00000010  6f cf af 83  90 27 7f c6  o....'..
Wrote output to: scummvm-scumm.n64
This is the part where I jump off confused.
I used Mupen 64 anyway. The emulation just goes to pause mode.
marzipan
Posts: 301
Joined: Fri Nov 25, 2005 4:10 pm

Post by marzipan »

Well I just submitted an issue regarding SVM to both the mupen64plus and Cube/Wii64 issues lists, so hopefully they might be able to sort it out at least.

I don't rate my chances too highly with PJ64 or 1964 - the former doesn't appear to have been updated in a few years now and the latter seemed to be abandoned last year what with the release of the full source, and to my knowledge nobody else has taken up the mantle of maintaining it to date.
User avatar
Red_Breast
Posts: 770
Joined: Tue Sep 30, 2008 10:33 pm
Location: The Bar Of Gold, Upper Swandam Lane.

Post by Red_Breast »

So I get the impression you believe there is a problem with the emulator(s) not loading the .n64

If that's so can I assume you had no problems like me with applying the checksum. Did you use ucon64 or something else?

If you had no problems with the checksum what command did you issue? I'm not sure if I need to add anything to the example in the readme which is

Code: Select all

ucon64 --n64 --chk scummvm-bass.n64
The only part I change, as I'm using Monkey 2, is the last part like so

Code: Select all

ucon64 --n64 --chk scummvm-scumm.n64
I'm not sure if I have to add anything to this.

In the readme after the part about checksums it has a bit about some copiers like Doctor 64 and files needing to be byte-swapped and padded. Did you try this at all?

The porter, Hkz, has appeared in the Wii forum and he has a web site which does have an address to contact him at. I'd like to try a bit more myself first before that and that won't be until the weekend but here it is anyway.
http://hkzlab.ipv7.net/index.html
marzipan
Posts: 301
Joined: Fri Nov 25, 2005 4:10 pm

Post by marzipan »

I followed the instructions also and used ucon64, and applied the same simple command it suggested without any additional switches.

When I couldn't get my built roms running, I also tried the older prebuilt V64 roms from 64scener.com, with the same results.


Also, an update on the mupen64 situations - one response in mupen64plus suggested I try the low-level "Z64" plugins (whatever they are), with the only problem being that binary distributions are not available and you are expected to compile them from source, something which I'm simply not prepared to start messing around with. The sole response at Wii64 essentially questioned me about the idea of expecting an emulator to play an emulator, and hinted that I may need a lot of luck in seeing it fixed.

So it looks like I'm back to square one again. >.<
User avatar
Red_Breast
Posts: 770
Joined: Tue Sep 30, 2008 10:33 pm
Location: The Bar Of Gold, Upper Swandam Lane.

Post by Red_Breast »

So after ucon64 you didn't get what I had in my post before the last one which includes the part

Code: Select all

Checksum&#58; Bad,
2nd Checksum&#58; Bad,
I've no idea what Z64 plugins are. I don't know much about emulators generally apart from DOSBox. I guess it's because I still have the original hardware and carts for anything I wanted and as I don't use them much either they still work. (At least my N64 worked the last time I checked a couple of Xmas' back for a round of Goldeneye with some old friends although the pads could use some new analog sticks.)

I'd have more incentive to do this if I had one of those Myth carts however as I already said they aren't cheap. As much as I appreciate what they have accomplished with the Myth cart it seems you can't dump you're own game carts with it. If you could I'd put it at the top of my wishlist.
User avatar
hkzlab
ScummVM Developer
Posts: 32
Joined: Sun Dec 14, 2008 8:42 pm
Contact:

Post by hkzlab »

i haven't used an emulator to develop ScummVM N64 port, actually it seems most emulators doesn't like the code generated by gcc 4, when i tried to run scummvm on them i got loads of unknown opcode errors (which of course are not appearing on the Real Thing), maybe it's because most N64 emulators around are high level emulators.
I think an user said to me that he got the port working under MESS n64 emulator, which should be fairly low level. Didn't try it myself though.

Things you might want to try:
scummvm n64 uses cpu framebuffer access to draw on screen, some emulators have this disabled by default, so if an emu gives you a black screen, try to search for such an option.

I hope this will help someone trying the port, time to do some work now, bye!
Post Reply