MiSTer FPGA N64 Core Updates! Conker Freezing Fixed with a Patch

Video Game Esoterica
26 Jun 202409:33

Summary

TLDRIn this video, the creator discusses the development of a patch for the Nintendo 64 game 'Conker's Bad Fur Day' to eliminate freezing issues on the Mr. FJ console. The patch, developed by 'rule set', utilizes the memory expansion pack to provide additional RAM, preventing memory allocation errors that caused crashes. The video invites viewers to test the patch on Mr. Discord or Twitter, aiming to ensure a stable, uncrashable experience, bringing the community closer to a fully playable N64 library on Mr. FJ.

Takeaways

  • 🕹️ The video discusses the Mr FJ d10 Nano project's progress on making the game 'Conker's Bad Fur Day' run smoothly without freezes on the platform.
  • 🔍 The creator has been researching memory address allocation issues to achieve a freeze-free condition for the game on Mr FJ.
  • 🎉 A patch for the retail version of 'Conker's Bad Fur Day' has been developed that prevents freezing on both turbo and stock cores.
  • 🤓 The patch was developed by a Discord member named 'rule set', who found a simpler solution than the creator's initial plan.
  • 💡 The solution involves using the memory expansion pack to provide the game with additional RAM, ensuring there's always free space for memory allocation.
  • 📚 The creator had been working on rewriting parts of the game for better sequential memory address allocation but found 'rule set's approach more efficient.
  • 🐝 A specific game scenario involving Mrs. B's Hive and Hornets was a common cause of freezes, which the patch successfully addressed.
  • 📊 Crash data from the debug prototype version helped identify issues related to memory mapping and allocation.
  • 🛠️ The patched version of 'Conker's Bad Fur Day' has been tested and found stable on the standard Nintendo 64 core.
  • 📝 The patch does not alter gameplay or content, only the memory structure to prevent crashes.
  • 🔗 The creator invites the community to test the patch and report any lingering issues, emphasizing the collaborative effort in achieving this result.

Q & A

  • What is the main focus of the video?

    -The main focus of the video is to introduce a patch for the retail version of the game 'Conker's Bad Fur Day' that prevents freezing issues on the Mr. FJ d10 Nano project, both on turbo and stock cores.

  • What was the initial approach to solving the freezing issue in the game?

    -The initial approach involved researching memory address allocation issues and rewriting parts of the game to ensure sequential memory address allocation with free blocks depending on the game's progress.

  • Who is 'rule set' and what did they contribute to the project?

    -'rule set' is a member of Mr. Discord who simplified the solution by adding access to the memory expansion pack, ensuring the game points towards free RAM in the additional four-megabyte block.

  • What specific game scenario was known to cause a freeze on the standard Nintendo 64 core?

    -The specific scenario known to cause a freeze was when Mrs. B's Hive was brought back and the Hornets tried to recover it.

  • How did the creator test the patched version of 'Conker's Bad Fur Day'?

    -The creator tested the patched version on the normal Nintendo 64 core and was unable to reproduce the freeze condition that occurred in the unpatched version.

  • What was the role of the crash Handler in the debug prototype version from October 2?

    -The crash Handler provided valuable data and insights into the memory mapping issues that were causing the game to crash.

  • What was the creator's original idea for addressing the memory allocation issue?

    -The creator's original idea was to rewrite parts of the game to change how it writes to the initial 4 megabytes of RAM, considering the use of the RAM expansion pack later on.

  • How does the patch change the memory structure of the game?

    -The patch changes the memory structure by allocating the game's memory usage to an additional 4 megabytes of RAM that the game wouldn't normally access, thus preventing conflicts with occupied memory spaces.

  • What was the second area in the game that was almost guaranteed to cause a crash?

    -The second area that was almost guaranteed to cause a crash was when the player hit a gargoyle with a frying pan.

  • What is the expected outcome of applying the patch on the retail release of 'Conker's Bad Fur Day'?

    -The expected outcome is that the game will be stable and uncrashable on both the normal and turbo cores, with no differences in gameplay or content from the original game.

  • How can viewers contribute to the testing of the patch?

    -Viewers can contribute to the testing by joining Mr. Discord or contacting the creator on Twitter to get the patch file and then play through 'Conker's Bad Fur Day' to check for any lingering crashes.

  • What is the creator's motivation for working on this project?

    -The creator's motivation is a dislike for the word 'no' and a desire to tackle a challenging project that goes beyond their usual area of expertise in hardware modding and arcade board development.

Outlines

00:00

🎮 Conquering Conker's Bad Fur Day Freeze Issues

The video discusses the ongoing project to address memory allocation issues in the game 'Conker's Bad Fur Day' for the Mr. FJ console. The creator has been working on a patch to prevent game freezes on both the turbo and stock cores. The initial approach involved changing memory addressing to ensure contiguous free memory. However, a community member named 'rule set' simplified the solution by enabling access to the memory expansion pack, effectively allocating an additional 4MB of RAM that the game wasn't originally designed to use. This change has been tested and has shown promising results in preventing the common freeze scenarios, such as Mrs. B's Hive level and the gargoyle frying pan incident. The patch is available for community testing and feedback, with the goal of achieving a fully playable version of the game on the Mr. FJ console.

05:00

🛠️ Patch Implementation and Testing Call to Action

The second paragraph continues the discussion on the 'Conker's Bad Fur Day' patch, emphasizing that the patch changes the memory structure without affecting gameplay or content. The video creator appreciates the collaborative effort in debugging and testing, which has led to a significant reduction in game crashes. The creator also reflects on their motivation to overcome the challenge of making the game fully playable on the Mr. FJ core, despite not being a software developer. They express excitement about the progress made and invite the community to test the patch on Mr. Discord and provide feedback. The ultimate goal is to add 'Conker's Bad Fur Day' to the list of games that run flawlessly on the Mr. FJ console, bringing the community closer to a complete, playable Nintendo 64 library.

Mindmap

Keywords

💡Mr FJ

Mr FJ refers to a project or platform that is focused on emulating Nintendo 64 games. In the video's context, it is the subject of the series where the creator is working on improving the gaming experience by addressing memory allocation issues. The script mentions 'Mr FJ' as the platform where the game 'Conker's Bad Fur Day' is being tested and improved.

💡Conker's Bad Fur Day

Conker's Bad Fur Day is a popular Nintendo 64 game that the video is centered around. The game is known for its humor and unique gameplay, and the video discusses efforts to create a patch that prevents the game from freezing when played on the Mr FJ platform, making it a more enjoyable experience for users.

💡Memory Address Allocation

Memory address allocation is the process of assigning memory addresses to different parts of a program or data. In the video, the creator discusses issues with how the game 'Conker's Bad Fur Day' handles memory allocation, which leads to freezing problems. The script mentions that the game would freeze due to memory allocation issues, and the creator's goal is to resolve these by changing the way memory is allocated.

💡Patch

A patch in the context of software and gaming refers to a piece of software designed to update, fix, or improve a computer program or its component. The video script discusses the creation of a patch for the retail version of 'Conker's Bad Fur Day' to address freezing issues on the Mr FJ platform, making the game more stable and playable.

💡Turbo Core

The Turbo Core is likely a term used to refer to a specific emulation core or mode within the Mr FJ platform that offers enhanced performance. The script mentions that the patch for 'Conker's Bad Fur Day' ensures the game does not freeze on both the Turbo Core and the stock core, indicating different levels of emulation performance.

💡RAM Expansion Pack

A RAM expansion pack is a hardware or software component that increases the amount of random access memory available to a system. In the video, the creator discusses how the patch for 'Conker's Bad Fur Day' makes use of the RAM expansion pack to provide additional memory space, preventing the game from freezing due to memory allocation issues.

💡Memory Mapper

A memory mapper in the context of computing is a component or function that maps memory addresses to physical memory locations. The script mentions the memory mapper as the cause of crashes in 'Conker's Bad Fur Day', where the game would try to read or write to memory addresses that were not available, leading to a crash.

💡Crash Handler

A crash handler is a piece of software that manages the aftermath of a program crash, often providing information about the cause of the crash. In the video, the creator uses the crash handler from a debug prototype version of 'Conker's Bad Fur Day' to gather data on memory allocation issues and crashes, which aids in developing the patch.

💡Discord

Discord is a communication platform that the creator mentions as a place where the patch for 'Conker's Bad Fur Day' can be found. It is also used as a community space where the creator interacts with other users and gathers feedback and support for the Mr FJ project.

💡Rule Set

Rule Set is the name of a member of the Mr Discord community who contributed to the solution for the freezing issues in 'Conker's Bad Fur Day'. The script describes how Rule Set took a simpler approach to the problem by adding access to the memory expansion pack, which was more efficient than the creator's initial plan.

💡Testing

Testing in this context refers to the process of trying out the patched version of 'Conker's Bad Fur Day' to ensure it is stable and no longer crashes. The creator calls for the community's help in testing the game to identify any remaining issues, emphasizing the collaborative nature of the project.

Highlights

Introduction of a patch for the retail version of 'Conker's Bad Fur Day' that eliminates freezing issues on both Turbo and stock cores.

Background work on memory address allocation to provide more contiguous free memory addresses, addressing frequent game freezes.

Collaboration with 'rule set' from Mr. Discord who simplified the solution by utilizing the memory expansion pack.

Explanation of how the game would freeze due to memory allocation issues when trying to read or write data.

Testing on the standard Nintendo 64 core showed no crashes in areas previously known to cause freezes.

The patch directs the game to use an additional 4MB of RAM, which was not originally intended for writing.

The memory mapping issue was identified as the primary cause of game crashes.

Data from the crash Handler in the debug prototype version was instrumental in understanding the problem.

The patch has not been fully tested and requires community involvement for further testing.

Instructions on how to access the patch through Mr. Discord or Twitter for those not on Discord.

The retail release of 'Conker's Bad Fur Day' will have no differences in gameplay or content post-patch.

The patch aims to achieve a completely playable Nintendo 64 library on Mr. FJ without game crashes.

The project's goal was to overcome the limitations of 'Conker's Bad Fur Day' on the core, driven by dissatisfaction with the word 'no'.

The importance of community collaboration in identifying and solving complex issues like memory allocation.

The simplicity of 'rule set's solution compared to the original, more complicated approach.

A call to action for the community to test the patch and help ensure 'Conker's Bad Fur Day' is fully functional on Mr. FJ.

The speaker's passion for research and problem-solving in the gaming community, extending beyond their usual hardware modding expertise.

A potential future project to apply similar research methods to 'Jet Force Gemini'.

Transcripts

play00:12

hey everybody welcome back to video game

play00:14

so ter continuing series on the Mr FJ

play00:16

d10 Nano project more importantly today

play00:18

conquering conquer if you haven't

play00:20

noticed I've done a four-part series

play00:22

researching all of the different memory

play00:23

address allocation issues trying to get

play00:26

conquer Bad Fur Day to a freeze free

play00:28

condition so that everyone playing on Mr

play00:30

fpj can play one of the best Nintendo 64

play00:32

games of all time and I'm happy to tell

play00:34

you today there is now a patch for the

play00:37

retail version of conquer Bad Fur Day

play00:39

that is not freezing on the turbo core

play00:41

nor the stock core now this is something

play00:43

that I was working on in the background

play00:45

and my idea was that we could change

play00:47

around the memory addressing so that we

play00:49

had more free contiguous memory

play00:51

addresses because every time this game

play00:53

would freeze it would be down to a heat

play00:55

memory allocation or other issues in the

play00:57

memory address space where when it was

play00:59

trying to read or write data it would

play01:01

hit up against a block that had not yet

play01:03

been freed now another member of Mr

play01:05

Discord watched these videos he goes by

play01:07

the name of rule set and he decided to

play01:09

do things easier than I was thinking

play01:11

about them my plan was to rewrite parts

play01:13

of conquer that the memory address

play01:15

allocation would be sequential and you

play01:17

would always know that there would be

play01:18

free blocks depending on what part of

play01:20

the game you were playing I probably

play01:21

started work on this about a week ago

play01:23

and it would take me a few months based

play01:24

upon the amount of stuff I have to do in

play01:26

any given day and week all what rule set

play01:29

did was go in and add access to the

play01:31

memory expansion pack the ram expansion

play01:34

so that the game is going to point

play01:35

towards free Ram at that extra four

play01:37

megabyte block so that you know there

play01:40

couldn't possibly be anything occupying

play01:42

it because the game was never intended

play01:44

to write to that space in the first

play01:46

place now one of the first earliest

play01:48

tests where you could basically

play01:49

guarantee a freeze if you were on the

play01:51

normal cord not turbo was when you

play01:53

brought back Mrs B's Hive and the

play01:55

Hornets came to try to recover it on the

play01:58

standard Nintendo 64 core 9 out of 10

play02:01

times you would get a freeze condition

play02:02

right here I just tested this on the

play02:04

normal Nintendo 64 the release version

play02:07

core and I was not able to crash it a

play02:09

single time and that again crash was

play02:11

always due to some issue in memory

play02:13

mapping application where you would

play02:15

either try to be reading or writing from

play02:17

a specific address that was occupied or

play02:19

allocated so the game basically couldn't

play02:21

access the memory it needed to allocate

play02:23

and it would Crash from there and we got

play02:25

all this data from the crash Handler in

play02:26

the debug prototype version from October

play02:29

2 and you'll see there you have so many

play02:32

different bits of information and all of

play02:33

this information was super useful when I

play02:35

was talking to rul set he said one of

play02:37

the videos when I talked about disabling

play02:39

some of the tlb things in the core led

play02:42

him to start thinking about how he could

play02:44

patch this out and try to get conquer

play02:46

running at 8 megabytes now this has not

play02:48

been 100% fully tested this is day Zero

play02:51

stuff right here but I wanted to bring

play02:53

it to you guys first because I need your

play02:55

help in testing this we will have the

play02:57

patch over on Mr Discord if you're not

play02:59

on Discord you can find me on Twitter

play03:01

and just ask for the patch file I will

play03:03

send it over just not something I'm

play03:04

going to have in the description of the

play03:06

text it gets a little bit problematic

play03:08

here but I tested this as much as I

play03:10

could before I went to voice over to get

play03:11

you guys the video because I need a

play03:14

large body of people helping us play

play03:16

through conquer Bad Fur Day to see if

play03:18

there's any lingering crashes but in my

play03:20

experience I went through the level

play03:21

select I went to the areas that were

play03:23

guaranteed crashes for me on the normal

play03:26

non-turbo core and not a single time was

play03:29

able to crash on any of those test runs

play03:32

and again what I talked about in the

play03:33

previous four videos when I was

play03:35

researching conquer and having people

play03:37

help me test and submit data was that

play03:39

there was an issue in the ram allocation

play03:42

and that pretty much every single crash

play03:44

would come down to that memory mapper

play03:46

trying to read or write from space it

play03:47

didn't have access to and Conquer

play03:50

badford they only ever used the initial

play03:52

4 megabytes of RAM on the Nintendo 64

play03:55

this was not an expansion pack game so

play03:57

it would never actually looked for the

play03:59

additional form megab now that that's

play04:01

patched in and the address spacing is

play04:03

allocated to right to that additional

play04:05

higher 4 megab of ram you should never

play04:08

run into a situation in which the game

play04:10

tries to read or write from filled space

play04:12

because it's now using an additional 4

play04:14

megabytes of ram that it technically

play04:16

wouldn't if you just plug the cartridge

play04:18

into your Nintendo 64 and that was very

play04:21

smart thinking on rule set side because

play04:23

again I was trying to over complicate

play04:25

things as I am prone to doing by

play04:27

changing around how it would write to

play04:29

the initial 4 megab of ram yes I thought

play04:31

maybe we could bring something like the

play04:33

ram expansion pack in but I was going to

play04:35

save that later on just to see if it

play04:37

could be patched up in my mind easier

play04:39

but again I am a filmmaker for o living

play04:42

not a developer or electric engineer so

play04:44

I was probably just over complicating

play04:46

things in my own head doing them how I

play04:48

would have done them before the second

play04:50

area that was almost a guaranteed crash

play04:52

on the normal core was when you would

play04:54

hit this gargoyle with a frying pan 9

play04:56

out of 10 times and I would hit him with

play04:57

the pan I would get an error there we'd

play05:00

go into the crash Handler and again we

play05:02

would see that the memory mapper said we

play05:04

were out of space and I've shown you

play05:06

guys those memory mappers in the

play05:07

previous videos it's just a block of

play05:09

data a little bit of a legend showing

play05:11

you where you're trying to read and

play05:12

write from again on this patched version

play05:14

of conquer it does not freeze there

play05:17

whatsoever and outside of the patch

play05:19

changing how the memory structure works

play05:21

this is the retail release of conquer

play05:23

there will be absolutely no differences

play05:24

in the gameplay or content it will be

play05:26

the same conquer you all know love and

play05:29

remember just now apparently without any

play05:31

freezing whatsoever and I just

play05:33

absolutely love that there is a laundry

play05:35

list of people that helped me test when

play05:37

I was gathering all of the data that I

play05:38

did the previous four videos on it was

play05:41

just my imagination or presumption that

play05:43

something could be done in conquer

play05:44

because once you use that prototype

play05:46

debug ROM from October suddenly the

play05:48

crashes went from over a dozen Plus in a

play05:51

playthrough to under four so I knew

play05:53

there was something within that version

play05:54

of the game that was treating things

play05:56

slightly differently than it would be on

play05:58

the retail release game going through

play06:00

all of the different cores going through

play06:02

the crash handlers testing it on Aries

play06:04

as well as real Nintendo 64 Hardware

play06:07

with a flash cart we were able to find

play06:09

out a lot of things about memory

play06:11

addressing the largest free allocation

play06:13

and the largest free block of memory and

play06:15

it really did 100% just point towards an

play06:18

issue when the game was trying to write

play06:19

to certain addresses and trying to fix

play06:22

stuff like this it really does take a

play06:24

whole roster of people to get there I

play06:26

love doing the research work I love

play06:28

Gathering the data and I love poke at

play06:29

things kind of like being an orchestra

play06:32

where you have all the different

play06:33

talented musicians around you because

play06:34

there's somebody out there who's going

play06:36

to look at something and think about it

play06:38

slightly different than you and identify

play06:39

an idea where they just think to

play06:41

themselves I think if we just did this

play06:43

it might work Ru set decided to try to

play06:46

just force everything to write into that

play06:48

additional 4 megabytes of RAM on the

play06:50

expansion pack and now in the initial

play06:52

testing again conqueror's Bad Fur Day

play06:54

has been Rock Solid stable uncrashable

play06:57

on the normal Nintendo 64 core and that

play06:59

should definitely extend out to the

play07:00

turbo core as well but like I said

play07:03

earlier we need more eyes on this

play07:05

because rule set can write additional

play07:07

patches if there's any other situations

play07:09

in which a crash is found but honestly

play07:12

the reason I started this process in the

play07:13

first place is I just don't like the

play07:15

word no when we decided that conquer's

play07:17

Bad Fur Day wasn't 100% playable on the

play07:20

core that just kind of irritated me and

play07:22

I thought to myself there must be

play07:23

something I can do to try to help this

play07:25

situation out I've been making so many

play07:27

videos on Mister so many on the Nintendo

play07:29

64 guides and tutorials but I wanted to

play07:32

snc my teeth into a project that was

play07:34

slightly harder and more difficult than

play07:36

stuff I would usually do on the channel

play07:38

because my area of expertise and

play07:40

knowledge really comes in more of the

play07:42

hardware modding developing things for

play07:44

arcade boards and such I don't really

play07:45

touch software all that much the last

play07:47

thing I did was a demo disc for the 3dio

play07:49

M2 that I released for free so I'm very

play07:52

happy to be able to tell you that if you

play07:54

pop over to Mr Discord today and grab

play07:56

this patch and Patch the retail ROM you

play07:58

should be able B to play conquer bad for

play08:00

a day from start to finish on Mr fpj

play08:03

with absolutely no crashes the exact way

play08:05

you would play it on real hardware and

play08:07

that should lower the list of games that

play08:10

quote unquote don't play on the core by

play08:11

one getting that much closer to a

play08:14

completely playable Nintendo 64 library

play08:17

from start to finish on Mr fpj because

play08:19

there's not many games that don't work

play08:21

but now conquer bad F day presumably can

play08:23

be added to the list of games that

play08:25

you'll have absolutely no problem with

play08:27

and that to me just makes me so happy I

play08:30

love stuff like that I love the fact

play08:32

that this can be done I love the fact

play08:34

that there's people out there willing to

play08:36

help just because they want to to bring

play08:38

everyone a great experience when it

play08:40

comes to these sort of games and it's

play08:41

just a really fun thing to do whether

play08:43

it's for releasing games that never saw

play08:44

the light of day for free to people to

play08:46

enjoy or researching situations like

play08:48

conquer Bad Fur Day anytime I can do

play08:50

something like this I absolutely will

play08:52

and once I get a little less tired of

play08:54

looking at Nintendo 64 because I am very

play08:56

tired of seeing these same scenes maybe

play08:58

I'll pop over to Jet Force Gemini and

play08:59

see what can be done there on the

play09:01

research side of things but big thanks

play09:03

to rule set for developing this patch

play09:05

based on information you saw in the

play09:07

videos and big thanks to rule set for

play09:08

making it much simpler than my idea

play09:10

which was probably needlessly

play09:11

complicated it would have taken me

play09:13

months to derive a single patch from but

play09:15

short of that go over to Mr Discord grab

play09:17

the patch start helping us test conquer

play09:19

and hopefully we can say conquer's bad

play09:21

for day conquer has been conquered see

play09:23

you next time bye-bye

Rate This

5.0 / 5 (0 votes)

関連タグ
Conker's Bad Fur DayNintendo 64Emulator PatchMemory AllocationGaming TutorialMr. FJFreeze FixGame TestingCommunity HelpSoftware Update
英語で要約が必要ですか?