Warn­ing! Your devicePixelRatio is not 1 (or your brows­er doesn't CSS me­dia queries, in which case you can prob­a­bly ig­nore this warn­ing)! Since HTML is as brain­dead as it can get, cre­at­ing sites out­side of di­ver­si­ty hires cor­po­rate art sphere is damn near im­pos­si­ble, so this site is not re­al­ly op­ti­mized for HiDPI screens. Some im­ages might ap­pear blur­ry.

Need for Speed 4: High Stakes (PlayStation)

Cre­at­ed: 1756774243 (2025-09-02T00:50:43Z), 4419 words, ~19 min­utes

Tags: , , , ,

This post is part of se­ries nfs: 1, 2, 3:HP (W, PS), 4:HS (W, PS), 5:PU, MCO, 6:HP2

Boxart frontJXL (JPEG JXL) JPEGBoxart backJXL (JPEG JXL) JPEG

(Source)

To (prob­a­bly) no­body's sur­prise, af­ter NFS3 I de­cid­ed to try NFS4 on PlayStation too. Un­like 3, there are big­ger changes com­pared to the Win­dows ver­sion here, in­clud­ing a com­plete­ly dif­fer­ent ca­reer mode, and way less con­tent. But first, the in­tro as usu­al.

Un­like with NFS3, here the in­tro video is al­most ex­act­ly the same as the Win­dows ver­sion, no dif­fer­ent EA lo­go this time. How­ev­er, it has a Dol­by Sur­round©®℗🄯™℠¤$€§‰¶〒🚽⚠⚄⅋ⓗ⾞⛂e̸͍̫̘̖͉̳͖͐́ť̷̙͕̲̙̺̘̭͖͊̌c̵̣̠͌͆͒̅͋̉̿͗͒̇͒̕̕͘. lo­go, and it's dif­fer­ent from NFS3's lo­go! It al­so has the po­lice chop­per which I didn't meet in this game, but I can't say I know all the ins and outs of the pur­suit mode of this in­stall­ment. And that's all about the in­tro.

Technicalities#

Af­ter NFS3 PS ar­ti­cle, I'm go­ing to start with tech­ni­cal shit again, be­cause it's a mess. But be­fore I can even dig in­to it, how to get the game? I saw Need for Speed: High Stakes (Com­plete Edi­tion) post­ed on the (back at Christ­mas half-dead) CDRomance site. One of the few (maybe on­ly) mod for con­sole NFSs! It com­bines cars from var­i­ous re­gion­al re­leas­es, some new tour­na­ments, and a bunch of small mod­i­fi­ca­tions/fix­es. I could no longer down­load it, but I could still down­load the orig­i­nal game (mir­ror), and the patch from NFSMods. It comes with some wang­blows on­ly patch­er exe, which I didn't even try to run it as ap­pears to be a stan­dard xdelta3 patch. So get xdelta3 in­stalled on your com­put­er some­how (on Gen­too, it's dev-util/xdelta:3), un­pack both the orig­i­nal game and patch it:

xdelta3 -d -s $ORIGINAL_BIN $XDELTA_FILE $OUTPUT_BIN

For ex­am­ple, in my case it was:

xdelta3 -d -s Need\ for\ Speed\ -\ High\ Stakes\ \(USA\).bin nfshs_ce_v2a/nfshs_ce_v2a.xdelta nfshs_ce_v2a.bin

Please note the patch on­ly patch­es the .bin file, not the .cue. Don't try to use the orig­i­nal .cue, the file size is dif­fer­ent, but for­tu­nate­ly DuckStation can open the .bin file di­rect­ly. If you can't trust your­self, sim­ply delete the .cue file (and the orig­i­nal .bin too, if you don't in­tend to ever play it).

About DuckStation, I'll re­fer to what I wrote in the NFS3 post, I used al­most the same set­up. I've de­creased over­clock­ing, this game looks more op­ti­mized, and with 400% the menu an­i­ma­tions look way too fast. Some­thing like 250–300% works.

Then on­to the bad news. I went to the set­tings, and I no­ticed there isn't an op­tion for rear view mir­ror. Eeeh?! Why!? Se­ri­ous­ly... is this GTA or what!? Then I went to the con­troller set­tings. I could choose be­tween pre­set A, B and C. NFS1, 2 and 3 on PS had cus­tom bind­ings, 4 not. You have to choose one of the lay­outs de­signed by brain­lets and live by them. Ex­cept, of course, this is an em­u­la­tor, I remap the but­tons how­ev­er I want.

So I se­lect­ed pre­set B, the on­ly one with an ana­log brake/ac­cel­er­ate in­put, then I remapped them on­to a more fa­mil­iar lay­out in DuckStation... but then I couldn't use the menus, aargh! But let's see, DuckStation has in­put pre­sets, so I made two pre­set, one for the menu, one for the race, looks per­fect, let's find the short­cut to switch be­tween pre­sets... There's no. Huh? Re­al­ly no? What's the fuck­ing point of fuck­ing pre­sets then if you can't switch be­tween them!? Ap­par­ent­ly, if you put your game in­to a li­brary (what­ev­er it means, I just want to run duckstation bin_file, leave me alone with that stu­pid GUI deigned for peo­ple with room tem­per­a­ture IQ), you can set pre­sets on a per-game ba­sis. Well, cool, the way I use DuckStation, every­thing is per game...

So a few ta­ble flips lat­er, I went back to my in­putor (mir­ror), which I orig­i­nal­ly wrote to fix the stu­pid­ness of Wine and NFS6, to fix this crap. Since it has a Tur­ing com­plete con­fig­u­ra­tion for­mat (an eu­phemism for not hav­ing a con­fig­u­ra­tion for­mat at all, you just have to write a Lua pro­gram), I wrote a lit­tle script which can change be­tween two pre­sets, and do­ing some crazy re­bind­ings (like map­ping the two sep­a­rate trig­ger ax­es to a sin­gle Y ax­is). To change be­tween pre­sets, just press the PS but­ton, I al­so added some very rudi­men­ta­ry sup­port to change the DualShock's led col­or based on the pre­set. But of course do­ing this is not enough, in­putor grabs the evdev de­vice, but ap­par­ent­ly SDL likes to talk to the HID de­vice di­rect­ly (and poor­ly), so you'll need some­thing like

export SDL_GAMECONTROLLER_IGNORE_DEVICES=0x054c/0x09cc

if you have a DualShock 4. Tweak as nec­es­sary if you have a dif­fer­ent con­troller. Why do I have to write at least one script, tool, hack, or workaround every time I want to play a fuck­ing game!? I don't know how peo­ple who can't code func­tion these days.

Any­way, I al­so set up DuckStation to tog­gle widescreen hack on PS but­ton, so I can have menus in 4:3, and races in widescreen, in an al­most per­fect har­mo­ny. Ex­cept when it de­syn­chro­nizes, so I al­so changed the script to be able to press the PS but­ton with­out trig­ger­ing a pre­set switch (hold right stick to the right, an in­put I've not used).

The doom of career mode#

So af­ter the tech­ni­cal­i­ties, let's look at the game, which is noth­ing like the Win­dows ver­sion. There you had a sep­a­rate ca­reer and ar­cade mode, the on­ly con­nec­tion be­tween them was you could un­lock some items in ar­cade mode by fin­ish­ing ca­reer events. Here, you can't even start a nor­mal ar­cade race with­out do­ing some ca­reer shit. You se­lect Sin­gle Race, se­lect num­ber of op­po­nents, se­lect track, se­lect car... no, you can't ac­tu­al­ly se­lect your car. You can on­ly se­lect cars in your garage, which is emp­ty when you start. All you can do is go to car deal­er, and from the 20000 un­spec­i­fied units of mon­ey you have, you can buy a Mer­cedes SLK 230 or a BMW Z3 Road­ster 2.8, which both cost ex­act­ly 20000. Every­thing else is more ex­pen­sive, and you don't earn mon­ey from sin­gle races, you need to do the ca­reer events. So let's check the race types, as they're quite dif­fer­ent from the Win­dows ver­sion:

Car0JXL PNGCar1JXL PNGCar2JXL PNG

So ca­reer play. Af­ter you bought your first car, you'll have 0 mon­ey on your ac­count, and the on­ly way to make mon­ey at this point is to com­plete the first Tour­na­ment (you can't start lat­er tour­na­ments as you don't have the re­quired car, and spe­cial events need mon­ey to en­ter). Like the Win­dows ver­sion, you have dam­age (even though the dam­age mod­el is even more, how to put it, sim­plis­tic), and in ca­reer events you have to pay for re­pairs. The big dif­fer­ence is here you don't get a menu where you can se­lect what you want to re­pair, re­pair costs are au­to­mat­i­cal­ly de­duct­ed from the mon­ey you earn. I have no idea what hap­pens if you go neg­a­tive, but at least here you get some mon­ey af­ter each race (like in NFS5), not just when com­plet­ing the event, and if you're not too bad, these per race earn­ings will be usu­al­ly enough to pay for re­pairs. Fur­ther­more, if you fin­ish a race with­out any need for a re­pair, you get a safe dri­ving bonus. Un­for­tu­nate­ly, it's stricter than NFS5's "don't scratch the car" chal­lenges, and like in the Win­dows ver­sion of NFS4, bumps still dam­age your car, so don't ex­pect to get this bonus too of­ten. The rest is more-or-less the same as on Win­dows, af­ter each race you earn some points, then at the end of event, place­ments are de­ter­mined by the points. Win­ning events can un­lock oth­er events, tracks or cars. But com­pared to the Win­dows ver­sion, this whole thing felt much short­er. In the Win­dows ver­sion you have 11 tiers with 2+3+4+1+5+4+1+5+5+1+1=32 cir­cuits al­to­geth­er (don't ask me to al­so sum up the tracks you have to race). In the orig­i­nal PlayStation ver­sion, you have 6 tour­na­ments and 6 spe­cial events, but the patch adds 4 more spe­cial events—still on­ly 16 events, half of the Win­dows ver­sion. But con­sid­er­ing the Win­dows ver­sion was pret­ty bor­ing to­ward the end, this is not nec­es­sar­i­ly a prob­lem. Oh, and the best part: no hy­per an­noy­ing High Stakes races! I mean, I get it, with­out au­to-save they lose their sub­stance, but un­less you're a huge masochist, you'll save scum any­way.

Career0JXL PNGCareer1JXL PNGCareer2JXL PNGCareer3JXL PNG

Then tracks. Just like with NFS3, in the PSX ver­sion you have to un­lock more tracks than on Win­dows. But here's the bum­mer: you don't have the tracks from NFS3, on­ly have the new tracks from NFS4. And un­like the PS ver­sion of NFS3, no ex­clu­sive tracks ei­ther. So even though you have less ca­reer events, you'll still get bored rac­ing the same tracks again and again. Al­so, my pet peeve, track pre­sen­ta­tions, will be pret­ty short this time, as there are no track pre­sen­ta­tions here. Not even a slideshow like in NFS5.

Track0JXL PNGTrack1JXL PNG

On­to the ac­tu­al game­play. First, here you on­ly have non-ro­tat­ing map. I per­son­al­ly pre­fer it to the ro­tat­ing one, but it's way too zoomed out—you see the whole track, so it's pret­ty use­less to check up­com­ing turns. For­tu­nate­ly I didn't need it af­ter com­plet­ing the PTSD-in­duc­ing Win­dows ca­reer mode... If you pause the race, up­on re­sum­ing the mu­sic restarts from the be­gin­ning. In the end I solved this prob­lem by mut­ing the game's mu­sic and play­ing some­thing else from the me­dia play­er. There's no dy­nam­ic mu­sic any­more, and I've heard the NFS4 sound­track enough times to not miss a thing. Plus this way the mu­sic doesn't mess with the Dol­by TMblahblah de­coder.

Car han­dling didn't seem as weird as in the PS ver­sion of NFS3, but maybe it's just Stock­holm syn­drome speak­ing from me. AI, es­pe­cial­ly traf­fic AI, is wild­ly dif­fer­ent. In­stead of they just go­ing round the track on a fixed path like if they were some slot cars, they re­act to you, they try to over­take the slow­er ve­hi­cles in front of them (and caus­ing an ac­ci­dent many cas­es). They're just way more chaot­ic, and al­so more fun, when their bull­shit doesn't cost your race.

Plus some words about tour­na­ments. First, if you skip a race, you don't re­ceive any re­ward, un­like the Win­dows ver­sion. So you bet­ter fin­ish all the races, no skip­ping over them. Sec­ond, when you fin­ish a tour­na­ment, since the game doesn't au­to save, you have to do it man­u­al­ly. For­tu­nate­ly the game help­ful­ly asks if you want to save the game, se­lect­ing yes brings you to the save menu, where it will take ages to scan your mem­o­ry card, and when done with it, it'll au­to­mat­i­cal­ly se­lect the con­tin­ue op­tion. Not the save. Con­tin­ue. You have to press down and cir­cle. If you spam cir­cle, it won't save. You have wade through the op­tions menu to go back to save again. (╯°□°)╯︵ ┻━┻

Fi­nal­ly some race footage af­ter I com­plet­ed the ca­reer mode. Se­lect­ing the penul­ti­mate tour­na­ment where you can race with 911, Di­a­blo SV or F50, then en­ter­ing with a Sky­line? On a track which is full of speedy straights? Rac­ing against ex­pert AI op­po­nents with up­grad­ed cars? What can go wrong? Ap­par­ent­ly, noth­ing, the Sky­line is a great car, even if not the fastest. And they on­ly in­clud­ed this car in the Japan­ese re­lease, EU/NA/Aus­tralia on­ly got garbage west­ern cars. Pa­thet­ic.

(Sound­track: Ec­to­plague - Pol­ter­geist Pan­de­mo­ni­um and Necro­mancer - Tyrant (feat.Ec­to­plague) from Dark­synth. Al­so sor­ry for the cut at the end of the video, I stopped record­ing be­fore I re­al­ized I want­ed to in­clude the post-race menu.)

Cheats#

I'll start with some pref­ace. There is a cham­pi­onship called GT Rac­ing Cham­pi­onship. To en­ter, you have to buy a car which costs 500k. The max­i­mum amount you can win at this point is 175k from In­ter­na­tion­al Su­per­car Se­ries. So I'll have to re­peat that shit 3 times? Come on! In­stead I made a copy of the mem­o­ry card, en­tered a spe­cial event and im­me­di­ate­ly can­celed it to lose some mon­ey, and made a save and com­pared the two in a hex ed­i­tor, and it found like 6 dif­fer­ences. I've fig­ured out what is ought to be the mon­ey from the changes, changed it, restart­ed the game... and it re­vert­ed to the de­fault set­tings. Huh? Go­ing to the save op­tions, it says save is cor­rupt. Per­fect. There must be some kind of check­sum on the save. Sigh.

Menu0JXL PNGMenu1JXL PNGMenu2JXL PNGMenu3JXL PNGMenu4JXL PNGMenu5JXL PNGMenu6JXL PNGMenu7JXL PNGMenu8JXL PNG

So an­oth­er at­tempt, there's an Infinite Cash In Account cheat, which gives you a lot of mon­ey. Not ac­tu­al­ly in­fi­nite, but prac­ti­cal­ly in­fi­nite. It must be pos­si­ble to some­how mod­i­fy it to give a san­er amount of mon­ey, right? This cheat cor­re­sponds to the GameShark code of 80115DA6 0FFF. Mean­ing­ful, right? Not? Aww, poor guy, I feel you. So I went search­ing, but find­ing how GameShark codes work on the in­ter­net can be a bit prob­lem­at­ic, as you'll usu­al­ly find hun­dreds of re­sults for cheats for ran­dom games, but not much about what the codes mean. One site I found is EnHacklopedia which have the list of codes, but a prob­a­bly more re­li­able way is to read the com­ments in DuckStation's cht­db.txt (warn­ing, 3.7 MiB file!). It'll tell you:

;* 80XXXXXX YYYY - 16-Bit Constant Write, Poke $80XXXXXX with 0xYYYY  **COMMON**

So this code is writ­ing 0x0fff or 4095 to some ran­dom mem­o­ry ad­dress. But I def­i­nite­ly got more than 4095 mon­ey en­abling this cheat. Turns out this on­ly writes the up­per 16 bits of a 32 bit num­ber (and PlayStation is big en­di­an!). So af­ter some cal­cu­lat­ing, I end­ed up with a mod­i­fied code of 80115DA6 0009, this will give you some­where be­tween 589,824 and 655,359 de­pend­ing on the low­er 16 bits. Enough to buy the car.

But, dur­ing this whole process, some­thing hap­pened. I im­port­ed the cheats from CE's zip file in­to DuckStation. When I looked through the cheat list, I found in­ter­est­ing items. Like, Increase Track Detail. Why didn't I know about this? Force Dashboard View. Huh, what? Looks like this game ac­tu­al­ly had a dash­board view, it's just not ex­posed on the UI. Try­ing it I can kin­da un­der­stand, the graph­ics qual­i­ty is ridicu­lous­ly low, you can't look back and it's bug­gy on mir­rored tracks... but still bet­ter than what the vanil­la game gives you. There's al­so a hood cam, sim­i­lar to what you have in Un­der­ground and lat­er edi­tions, but I didn't use that too much.

Race0JXL PNGRace1JXL PNGRace2JXL PNGRace3JXL PNG

Hot Pursuit#

Orig­i­nal­ly I didn't want to write much about this mode as I large­ly ig­nored this mode when play­ing NFS4, but then of course I went on months long hia­tus while writ­ing this post, so I need­ed some re­fresh­er on the game, so I tried this mode.

First you have to chose whether you want a so­lo race (so just against the po­lice), or a du­el where you have a rac­er op­po­nent, oth­er than the po­lice. Then you can se­lect a skill lev­el, from be­gin­ner, in­ter­me­di­ate and ex­pert. At first, learn­ing from PS NFS3, I chose the eas­i­est dif­fi­cul­ty, and it was still pret­ty hard. Maybe not as in bad as in NFS3, but it's still bull­shit, and you'll need a cou­ple races to some­what get used to it. But when I could more-or-less man­age my­self on the be­gin­ner on the eas­i­est track (Land­strasse), I tried the ex­pert. I was ex­pect­ing some Ra­bi-Ribi BEX Loop 10 0% items kind of in­san­i­ty, but nope. In fact, I didn't no­tice any dif­fer­ence. The same bull­shit be­fore and af­ter, the RNG is just way too in­sane for the dif­fi­cul­ty set­ting to have any vis­i­ble ef­fect.

Hon­est­ly, I'm not sure what to write about this mode. It's more or less the same as NFS3, if you slow down a tiny bit while a po­lice is near, they catch you, if you scratch the road­block, they catch you, and a lot of times get­ting caught the first time ends the race. The on­ly fun thing the PS ver­sion has is Lo­cal Po­lice in track set­tings, where rac­ing in a non-Eng­lish speak­ing coun­try (ap­par­ent­ly Eng­land and Scot­land are non-Eng­lish speak­ing coun­tries), the po­lice will speak in the lo­cal lan­guage in­stead of Eng­lish. Which, in prac­tice, means Ger­man on Land­strasse (shouldn't it be Land­straße?) and French on Route Adonf (which prob­a­bly should be Route À Donf, and I'm a bit sur­prised there's no ô in it...). And while Ger­man sounds way more badass, the track sucks, so here is me try­ing to race against the cops on Route Adonf.

(Sound­track: Re­vizia - Kar­ma and Thy Night'85 - Night Ma­neu­vers from Dark­synth)

One fun­ny fea­ture of the CE patch is al­low­ing you to race against the po­lice on the race tracks. Again, prob­a­bly a cut fea­ture, as I don't think oth­er­wise the game would have the AI paths need­ed for po­lice on these tracks (the why is a good ques­tion though).

In­stead, the more im­por­tant ad­di­tion is the be the cop mode from the Win­dows ver­sion. On­ly seems to avail­able in so­lo mode, where you can se­lect a cop car, and of course, it's al­so com­plete­ly dif­fer­ent. It's "cin­e­mat­ic"! Or in Eng­lish, long and use­less, un­skip­pable cutscenes all the way. Se­ri­ous­ly, with­out DuckStation's fast for­ward, I'd kill my­self be­fore com­plet­ing one race. When you start the race, you'll see a long cutscene about the po­lice spot­ting a speed­ing dri­ver, re­spond­ing to a re­port, or such. Then, de­pend­ing on the dif­fi­cul­ty, on be­gin­ner you have 4 min­utes, on in­ter­me­di­ate 3, and on ex­pert 2:30 min­utes to catch the dri­ver. If you run out of time, it's game over, oth­er­wise you suc­cess­ful­ly caught one rac­er, you get 45 sec­onds bonus and a new dri­ver to catch. And re­peat, in­clud­ing an­oth­er long ass cutscene. This time how­ev­er you on­ly get 40 bonus sec­onds for catch­ing him, then 35 and so on. Af­ter catch­ing the 10th dri­ver (when your bonus would de­crease to 0 sec­onds), the race ends, and I think this is the win­ning con­di­tion. Ac­cord­ing to the wi­ki, you can un­lock some po­lice cars like this, but I didn't both­er too much with this mode.

Here's a video of what this mode looks like. I've left the two first cutscenes in, the rest I sped through us­ing fast for­ward, and it's still over 8 min­utes. I'm play­ing on be­gin­ner dif­fi­cul­ty here, be­cause I couldn't be both­ered to record 10 races be­fore I get one where I don't fail. Be­cause here, un­like the nor­mal pur­suit, the dif­fi­cul­ty mat­ters. Not just be­cause you have less time, but the op­po­nent's dif­fi­cul­ties in­crease too. Here you can see many cas­es where I eas­i­ly over­take a rac­er (and some­times go a bit too far), in ex­pert dif­fi­cul­ty they all go flat out. Still, it is def­i­nite­ly doable, but it's pret­ty tight—botch up a sin­gle ar­rest, and you'll like­ly run out of time, even if not im­me­di­ate­ly.

(Sound­track: Bad­don - Mecha, Glitch Black - Left to Bleed and Rot, Oc­cams LASER - The night­shift and Vec­tor Sev­en - Tyger's Claw from Dark­synth)

As a side note, com­pare this video with night mode in NFS3. You can race dur­ing the night with­out cos­play­ing a blind dri­ver! Woohoo! (Even though, it's more like sun­set than night...)

Al­so as­sists. As a cop you can ask for 3 kind of help: back up, road block, spike belt. Now in re­al­i­ty, ask­ing for the lat­ter two will evoke a re­sponse among the lines of "no avail­able units". Even the back up on­ly re­al­ly works on be­gin­ner dif­fi­cul­ty, on hard­er dif­fi­cul­ties you usu­al­ly get the same re­jec­tion. Now, at 5:27 in the video, you see a case of suc­cess­ful­ly man­ag­ing to re­quest a road block—I have no idea why did I press that but­ton, but here is it. I think the pur­pose here is to be on­ly able to ask for help af­ter the pur­suit went on for a while, but in this case you're al­ready dan­ger­ous­ly close to run­ning out of time: on be­gin­ner you have 7:45 to catch 10 dri­vers or 46 sec­onds on av­er­age, on ex­pert 6:15/37 sec­onds. If you have to wait a half minute to ac­ti­vate an as­sist, you're al­ready toast.

How wide can it get?#

(Sor­ry for the ty­po­graph­ic crime over there.)

In the mean­time, I got an ul­tra­w­ide mon­i­tor with 32:9 as­pect ra­tio (it's like two 16:9 mon­i­tors next to each oth­er, ex­cept no bezel be­tween the two) with a res­o­lu­tion of 5120x1440 (which I still have to look up in xrandr out­put every sin­gle fuck­ing time). How­ev­er, I'm on­ly go­ing to in­clude a few screen­shot here, no video, as

  1. My cur­rent set­up is un­able to record a video at this res­o­lu­tion with any mean­ing­ful FPS.
  2. You most like­ly don't have a mon­i­tor to watch this at it's na­tive res­o­lu­tion any­way.
  3. It's more like a bugfest than an ac­tu­al­ly work­ing so­lu­tion. It still didn't stop me to play through the whole game in this mode though.
  4. Even these screen­shots broke my pipeline.

Let's talk about the last point first. For screen­shots, in DuckStation con­fig I en­abled In­ter­nal Res­o­lu­tion screen­shots, which means my screen­shots came out as 13651x3840 gi­gan­tic im­ages. Nor­mal­ly I com­press PNG im­ages on this site with zopfli, us­ing 500 it­er­a­tions. I care­less­ly tried to do the same with these PNGs–I killed zopflipng af­ter 37 hours. Let's try with 1 it­er­a­tions first... 169 min­utes 52 sec­onds. Uh oh. 2 it­er­a­tions? 172 min­utes 33 sec­onds. So each every it­er­a­tions adds about 160 sec­onds... so with 15 it­er­a­tions it should be done in about 3.5 hours, right? Well, wrong. I made the above mea­sure­ment on my lap­top, us­ing a sin­gle thread on an oth­er­wise idle sys­tem, while I ran the re­al en­cod­ing on my desk­top com­put­er, in par­al­lel. So sin­gle thread­ed tur­bo boost no longer ap­plied, and it wasn't idle. The first im­age fin­ished af­ter 4 hours 35 min­utes. It was the one I used to make the pre­lim­i­nary mea­sure­ments, ap­par­ent­ly I man­aged to choose the im­age which is the fastest to en­code. The last im­age fin­ished af­ter 7 hours 25 min­utes. I hope you're fuck­ing grate­ful for the measly 10% re­duc­tion in file sizes this caused. (ノಠ益ಠ)ノ彡┻━┻

Then I al­so had a prob­lem was cjxl. I re­al­ized at the be­gin­ning that I prob­a­bly shouldn't use the glac­i­er pre­set, as it takes 1–1.5 hours to com­press a nor­mal full-HD im­age, so I went in­to libjxl's source, and re­duced the num­ber of tri­als a bit. Then I start­ed the process... and it ran out of mem­o­ry in 18 min­utes. I have 128 GiB RAM... Argh, let's try again with 16 threads... then it ran out of mem­o­ry af­ter an hour. 12 threads? OOM in 3.5 hours... At this point I re­moved even more tries, us­ing what looked like op­ti­mal pa­ra­me­ters for oth­er screen­shots here, to a mere 8 tri­als. I al­so fixed the fan­tas­tic fea­ture of cjxl where af­ter it finds the op­ti­mal pa­ra­me­ter to com­press the im­age, it re­com­press­es the im­age again. Be­cause ap­par­ent­ly us­ing more than 10 GiB of RAM for a sin­gle en­coder state is OK, but keep­ing a sin­gle 20 MiB com­pressed im­age in RAM is too much. It was al­ready an­noy­ing with full-HD im­ages, here it was un­bear­able where a sin­gle try takes hours. Any­way, with this set­up I was able to com­press each of the im­age in about 3.5 hours. And not par­al­leliz­able, since a sin­gle cjxl ate al­most my en­tire RAM.

The re­sults? But be care­ful be­fore click­ing on a thumb­nail, un­less your brows­er knows JXL im­ages (which is prob­a­bly on­ly Pale Moon at the time of writ­ing, as Mozil­la is too busy suck­ing Jew­gle's dick), you're click­ing on 17–22 MiB im­ages (JXL is on­ly 7–9 MiB)!

Wide0JXL PNGWide1JXL PNGWide2JXL PNGWide3JXL PNGWide4JXL PNGWide5JXL PNG

The thing is, at 16:10, this game is pret­ty much still per­fect. Mov­ing ob­jects at the very side of the screen some­times dis­ap­pear, but un­less you're look­ing for it, it's bare­ly no­tice­able. At 16:9, you can see the track geom­e­try dis­in­te­grat­ing at the side of the screen at times. At 32:9, the left and right third of the screen is in a con­stant miss­ing geom­e­try state. It's so bad, it's good.

Oh and some ran­dom trail­ing rant. This new mon­i­tor can do more than 60 FPS, so I just tried to record with 60 FPS, but I got a lot of du­pli­cate frames. I looked at DuckStation's FPS counter, and saw it's still stuck at 59.81—59.82 FPS. Even with­out V-sync, on­ly speed­ing up em­u­la­tion seems to pro­duce more FPS (but en­abling it speeds up every­thing, so it's no good). Look­ing through DuckStation's source code, I re­al­ized PlayStation ran at ((44100 * 0x300 * 715909) / 451584) / (3413*263) FPS (or 53693175 / 897619 or about 59.8173), and DuckStation em­u­lates this. So then I tried to record at 53693175 / 897619 FPS (obs GUI doesn't al­low you to spec­i­fy such a big nu­mer­a­tor, you have to ed­it the con­fig file), which came out as 19321 / 323 FPS in the MKV file (close enough I guess?), but the video is still not smooth. (┛◉Д◉) ┛彡┻━┻ Now nor­mal­ly DuckStation's frame graph looks sta­ble, but there are oc­ca­sion­al spikes, but I can't have both frame graph and record­ing with­out a frame graph, so I have no idea if it's just record­ing is over­load­ing the com­put­er or OBS is a piece of shit, but at this point I stopped car­ing. Al­so this is why the three videos in this ar­ti­cle were record­ed at three dif­fer­ent FPS val­ues...

This post is part of se­ries nfs: 1, 2, 3:HP (W, PS), 4:HS (W, PS), 5:PU, MCO, 6:HP2