ShootersForever.com Forum Index

GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion
GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community


Q-Vert: support both N64 & iQue with the same ROM

 
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department
View previous topic :: View next topic  
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1683

 PostPosted: Fri Mar 31, 2023 8:57 pm    Post subject: Q-Vert: support both N64 & iQue with the same ROM Reply with quote Back to top

Despite what the internet thinks, iQue can't run N64 games in much the same way that pixels aren't square.

Q-Vert works around this by automagically detecting and patching parts of libultra so it supports both consoles. Provide a ROM and it spits out the same ROM capable of running on either N64 or iQue (once encrypted). Saves on both are supported, and Grumble Paks still grumble on N64.

Did I mention that iQue is clocked twice as fast as N64 and GE's a very CPU-intensive game?
https://youtu.be/xQB7o380XiE

In all the years of hacking we've never touched this stuff, so it should be compatible with nearly every patch made to this point, including Goldfinger and SubDrag's 640i patch at, no joke, full speed on an iQue. Hear that gaming cartel DL services? That's the sound of an upgraded re-release killing it ;*)

The tool is available here:
https://www.romhacking.net/utilities/1747/

To make iQue a lot less painful, it can automatically once-encrypt your game to an .app and insert a valid ticket into a provided ticket.sys / hackit.sys. You should be able to just run it with the updated tickets and the unit will do the heavy-lifting of encrypting again for you.
-or I suppose it will...cloning an existing ticket should circumvent needing ECDH keys for decryption and it does work with mine...
Well, we'll know as soon as somebody else tests it, right? Somebody else in the occident must own one...
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1071

 PostPosted: Mon Apr 03, 2023 12:56 am    Post subject: Reply with quote Back to top

I've agonized over getting an iQue in the past and this might about seal the deal for me! I can only imagine that development will continue.

How do you think things will unfold in that respect? Is there much of a community or just one man working miracles?

I will note that I find it kind of ironic that this is happening just as I'm hanging up my hat when it comes to electronics as a hobby, wish some of this had happened a few years ago when I was able to do that stuff!
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1683

 PostPosted: Mon Apr 03, 2023 9:40 am    Post subject: Reply with quote Back to top

MRKane wrote:
Is there much of a community or just one man working miracles?

Well, how well do you know Chinese?

I've been out of every loop for a while now, I'm sure there's somebody on these interwebs that talks this stuff. I've heard of DIY multiplayer boxes, signal analysis, RE leaked documents, etc. but have no clue where that's going on. It probably involves something called "social interaction", whatever that's supposed to be.

What I did have was an iQue gathering dust and SubDrag mentioned that GE wouldn't run on it, so...
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
HackBond
007
007


Joined: 14 May 2009
Posts: 1311
Location: Scotland

 PostPosted: Mon Apr 03, 2023 9:47 am    Post subject: Reply with quote Back to top

zoinkity wrote:
What I did have was an iQue gathering dust and SubDrag mentioned that GE wouldn't run on it, so...


Sounds like you took that as a challenge
_________________
Also known as Spyster or Nyxem
[Youtube]

[Decoy] Antenna | Control | Silo | Escape
 
View user's profile Send private message Visit poster's website
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1071

 PostPosted: Thu Apr 06, 2023 12:29 am    Post subject: Reply with quote Back to top

zoinkity wrote:
What I did have was an iQue gathering dust and SubDrag mentioned that GE wouldn't run on it, so...


BWHAHAHAHAHAHAHHAHAHAHAHA!

Ok, so there are discord channels, but that's mostly people asking the same question and virtually nobody interested in pushing things forward. I kind of quickly gave up with paying too much attention to that channel.

Fun story: There are also online discussion boards for Hermits - unsurprisingly it's not very active Wink
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1683

 PostPosted: Thu Apr 06, 2023 8:40 pm    Post subject: Reply with quote Back to top

Well, if all two of you who downloaded it ever have the chance to try it out, let me know if there's any problems generating tickets or funny behavior. I'm tempted to stick a "yscale = 1.0" line into preNMI out of an excess of caution. Might update some things later, and/or supply correct names for functions/symbols, and/or make it more generically useful...

Ah, and an interesting tidbit you'd only know after doing the work the hard way: it turns out the specific version of libultra_rom GoldenEye was linked against was already leaked, back when it was new in '97, by Lightforce along with the psyq toolkit. It's unique in that it always checks for the 64DD during system initialization and, if found, sets a cart interrupt handler for it...and nothing else. It does not support the drive! The internet lies!

There's a whole 17 other games (not including the homebrews Nacho64 and funnel cube) that used this lib version. All were released in '97 or early '98 except one: Conker's Bad Fur Day. It makes you wonder if it really was in development hell that whole time or somebody made some questionable choices (besides developing the game in the first place). Bonus points because PAL GE looks like it used a later patched lib version.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!


Last edited by zoinkity on Mon Apr 10, 2023 10:37 am; edited 1 time in total
 
View user's profile Send private message Send e-mail
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1071

 PostPosted: Fri Apr 07, 2023 1:40 am    Post subject: Reply with quote Back to top

So I can download it if that'd help, I'll never have anything to run it on because New Zealand has this "fresh air and sunny beaches tax" which makes it kind of prohibitive to purchase things like that into the country :/

I still love reading about it however!
_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1683

 PostPosted: Tue Apr 11, 2023 4:36 pm    Post subject: Reply with quote Back to top

Here's something unexpected: it turns out any video differences there may be in output are at output, not within the RCP.

So...I kinda forced the partial test cart dump to work on an iQue by avoiding a whole stack of tests...
https://www.youtube.com/watch?v=SID6JraeU8M

It passes all the RSP & RDP tests, meaning it ran each test and compared it to a known-good sample and they are identical. (No low-level emulation can do that yet as far as I know. A good chunk of why it can't is stuff like AA.)

It really dislikes video output changes and appears to be a bit slow at them. Any change from interlaced to progressive is quite bad, corrupting color out over a few frames. There's always jumps & lines though, and these don't happen on its big brother.

The big surprise--and why it took so long to get it working--is that serial device bytecode either isn't interpretted correctly or uses pattern matching instead. The test cart doesn't use libultra functions for anything controller related (its foundation predates this). It copies bytecode in based on a list and doesn't bother to align it with NOPs (FF). However, iQue ignores any read request that isn't aligned with a NOP:
FF 01 04 01 -- -- -- --
The test cart dropped the FF and that works on an N64 & Aleck64--a real PIF. Unless you add it in and compensate for the address shift when reading input back, iQue sits there dead at you. Thankfully iQue does comply with the five-channel limit (six?) and doesn't require an explicit terminator.

It rather implies there's at least two other commands that are subject to that and that it might not forward anything it doesn't handle itself. So much for the more esoteric peripherals...
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
MRKane
007
007


Joined: 11 Dec 2008
Posts: 1071

 PostPosted: Fri Apr 14, 2023 3:01 am    Post subject: Reply with quote Back to top


_________________
No Mr. Bond, I expect you to be re-coded!
 
View user's profile Send private message MSN Messenger
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1683

 PostPosted: Sat May 06, 2023 7:59 pm    Post subject: Reply with quote Back to top

Now that the layouts for 640i menus are finished, here's a laughably bad video of every stage running on an iQue.
https://youtu.be/5g-b9bW4Ivg

Poor video (and the player's) quality aside, there's virtually no slowdown at 640i on iQue compared to 320i/440i on N64-alikes. It's smooth & crisp. Note antialiasing, fog, and smoke generation are all still in effect.

If anyone has a better recording setup or is able to record some multiplayer, by all means, please do.
_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
zoinkity
007
007


Joined: 24 Nov 2005
Posts: 1683

 PostPosted: Sun May 14, 2023 6:09 pm    Post subject: Reply with quote Back to top

Version 1.1: Mother's Day 2023 Release
  • NMI now triggers a delayed call to a secure kernel function, should avoid locking the RCP when returning to the iQue menus. Add that to the list of four things mandatory for iQue support.

  • Adds a kinda hackish anim rate adjustment feature to slow the game down ~20%, simulating toaster N64-alikes. Doesn't solve the underlying problem of having solid good framerate (haha) or change object animation speeds (only actors affected, finish Cradle for a good laugh). You can toggle it in the menu, float over the options to get an thorough caveat.

  • The win64 executable is a smidge smaller. Hopefully still works right and doesn't take too long to boot up.

_________________
(\_/) Beware
(O.o) ze
(> <) Hoppentruppen!
 
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    ShootersForever.com Forum Index -> Q-Lab Hacking Department All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
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

Cobalt 2.0 BB theme/template by Jakob Persson.
Copyright 2002-2004 Jakob Persson


Powered by BB 01, 02 BB Group

 


Please Visit My Other Sites: GoldenEyeForever.com | GrandTheftAutoForever.com

Got kids? Check out my Dora The Explorer site with games and coloring pages!

Our forums feature Nintendo 64 games, GoldenEye 007 N64 New Maps and Missions, GoldenEye Cheats, N64 Emulator, Gameshark, GoldenEye Multiplayer and more!

[ Privacy Policy ]