I'm very happy to announce that the
#MiSTerFPGA
N64 core can now boot every single title that was officially released, including all regions.
TLB is also fully implemented now.
You can read more about the technical details that made this possible in a new article on Patreon.
First game is running good with my new cycle emulator. Still a way to go before we will have this state in a
#MiSTerFPGA
core, but I will do my best to make it happen
Finally! The first PlayStation game is now playable on
#MiSTerFPGA
: RidgeRacer. No savestate required anymore, it loads from CD until ingame. Some bugs remain, but overall worth a try. If you don't have a second SDRAM available, I fear you have to wait some days.
Fixed some rendering issues in the
#MiSTerFPGA
N64 core, for example missing transparency.
More details on all the recent changes are available in a post on Patreon.
First sign of life on
#MiSTerFPGA
!
Only very basic CPU, RDRAM(DDR3) and cartridge(SDRAM) functionality working so far, but all boot stages run fine and something is visible on screen. A great starting point for the journey.
6 weeks ago, I told you to stay a while and listen. Today I mean it :) SPU is now feature complete on the
#MiSTerFPGA
PSX core. Work on the single SDRAM version will start soon.
One year of development for the
#MiSTerFPGA
N64 core. From first tests to first games to most games playable.
A long article covering the whole progress of this year is available on Patreon.
Thank you all for this great journey and let us continue next year.
I'm working on a optional HDMI output mode in the
#MiSTerFPGA
N64 core that allows to display 480i games in full 480p/60Hz.
No more combining artifacts and no deinterlacer required.
The first build of my N64 core for
#MiSTerFPGA
is now public. You can find it on Patreon together with details about it or you can get the source from here:
No games work yet, just some simple homebrew!
#MiSTerFPGA
PSX core got regular output mode, allowing for VGA, which still needs adjusted timings. However, this enables me to finally capture the full BIOS bootup. Also NTSC mode is now supported. I added it into the video with one game you might like.
RDP in the
#MiSTerFPGA
N64 core is making progress: it now got 32bit RGB texturing and perspective correction. Still some more tasks open before the first games will look correct.
I'm finally ready to reveal my new project: I'm working on a Playstation core for
#MiSTerFPGA
. As always, I learn about the system with a software emulator first. You can see the first games running in this video.
BIOS is now fully booting into games on
#MiSTerFPGA
PlayStation core with the latest fix. No more forced fastboot. This also fixes some games, e.g. Glover is now playable.
#MiSTerFPGA
PSX core movie decoder(MDEC) is done. Still images and FMV work. Compression artifacts in the video are from the testrom itself and also present on real hardware.
Changes to the N64 core:
- you can now play PAL games
- zBuffer fix for Hexen
- fix for transparent polygon edges
With that fix you can now see Drake Lake in all its beauty. When in the second lap the fog is gone and the mood changes with that crystal clear water. Wonderful.
The FPU for the
#MiSTerFPGA
N64 core is done and passes all tests.
If you still don't know what floating point is or how it works and want to learn about it: I wrote an article on Patreon about this topic, where I try to explain the concept behind with simple math.
More games are working or improved with the next set of TLB functionality in the
#MiSTerFPGA
N64 core. About 40% of all TLB related tasks are done now.
Some more games are now playable on the
#MiSTerFPGA
PlayStation core, booting from CD Image. In the video: Gex, Crash Team Racing, Moto Racer 2 and Croc.
Fixed some RDP bugs in the
#MisterFPGA
N64 core.
But instead of comparisons, I want to show you a tool I have written today for debugging in the VHDL simulation.
It can display the rendering of the RDP in a live view.
Gives in nice little insight how things are drawn.
The
#MiSTerFPGA
N64 core now uses the correct video and audio frequency for both PAL and NTSC.
Comparison below is Mario 64 NTSC:
- Left is N64 HDMI modded, outputting 720p
- Right is MiSTer outputting 1080p
Not all games are that close yet, it's still a "work in progress" core.
Implemented dual texturing for the
#MiSTerFPGA
N64 core. The example below shows the difference in Hyrule Field.
Even with it being empty by todays standards, it made us dream of a huge world to explore when we first left the forest nearly 25 years ago.
Implemented Dithering for the
#MiSTerFPGA
N64 core. It really helps a lot to reduce color banding.
If you don't like it, you can turn it off in the OSD.
Here it is finally: the start of new era. It's not like there wouldn't be plenty of ways to enjoy Mario 64 today, but there is still this special magic when I see it.
I'm currently reducing the logic size of the
#MiSTerFPGA
N64 core by redesigning some parts, but keep the same functionality.
After TLB was added, the core was at 87% logic utilization, now we already won 4% back.
Final Core with all features should stay below 90% to fit well.
The
#MiSTerFPGA
N64 core can now run Pokemon Gameboy games with the TransferPak in Pokemon Stadium.
Either by using the native SNAC interface(implemented by Blue1) using a real N64 controller, TransferPak and Gameboy Cartridge or using the emulated TransferPak inside the core.
GoldenEye is finally working on the
#MiSTerFPGA
N64 core. The TLB implementation is about 70% complete now.
A new article covering details of the last bug that prevented the game from running stable is available on Patreon.
Added CPU datacache and texture filtering to the
#MiSTerFPGA
N64 core.
There is an article available on Patreon if you are interested in more details on these and the other latest features and improvements for the core.
Some more games are starting to run in my emulator after fixes with the MIPS CPU cache.
One popular game that works now:
Star Fox 64 (or Lylat Wars as we call it here in Europe)
Thanks to Sorgelig we now have Multitrack CD Direct Audio support for the
#MiSTerFPGA
PSX core. Some examples of what that enables are in the video below.
The film grain effect in Starfox 64 is now implemented for the
#MiSTerFPGA
N64 core. This completes all the VI processing features in the core.
I created a long article on Patreon, telling how everything works in the VI with details, comparisons and example drawings.
Have fun!
The newest
#MiSTerFPGA
N64 core can load games much faster.
To use it, you also need a new version of Mister Main.
A big thanks to Markun for implementing the software side of this improvement!
The N64 core now supports Flash and Controller Pak saving. That completes all saving methods for the N64, so when a game works fine on the core, you can now finish it without leaving your De10-Nano on.
Have fun!
You can now speak with your Pikachu on the
#MiSTerFPGA
N64 core using the original microphone(VRU) via SNAC.
Thanks to MiSTerDolch for testing and providing screenshots.
First part of the N64 core video out pipeline implemented: bilinear scaling.
You can see the artifacts on the right side of the logo are gone. (Top is from new build)
The feature can be disabled in case you want to keep the sharp look.
Made a
#MiSTerFPGA
N64 core that drives the components at higher clock speed to achieve better framerates.
With all the questions about potential performance improvements on the core, I had to try it :)
Core and more details are available on Patreon.
Have fun!
The RSP in the
#MiSTerFPGA
N64 core now fulfills all n64-systemtests.
I posted an article on patreon about details on the RSP itself, it's implementation state in the core and compare its performance and functionality with the PS1.
Integrated plenty of fixes and new features over the last days for the
#MiSTerFPGA
N64 core. Several new games are playable now.
If you want to know more about these changes, I wrote an article at Patreon that tells additional details.
24 Bit color for the
#MiSTerFPGA
PSX core is now available as public testversion.
I also made a Patreon post describing more details on how the new GPU features work.
Here is a nice comparison shot of stock settings vs WideScreen+Filtering+24Bit. Have fun!
Some recent improvements for the
#MiSTerFPGA
N64 core with text, color or blending issues.
I'm trying to get more of those games that already run good to also render correct so they can be enjoyed. Have fun!
Some preview screenshots from the
#MiSTerFPGA
PSX core and another graphics improvement feature: 24bit color rendering. This allows you to disable dithering without color banding. Looks nice in some games.
Memory cards are working now on the
#MiSTerFPGA
PlayStation core. Handling is still preliminary, but you can already play and share saves with a real PlayStation, Emulators and also between games:
I spend just too much time today on the N64 FPU, but I'm happy everything looks so good already.
83% of the 2418 FPU tests are now pass, only 3 instructions still left to be implemented.
#MiSTerFPGA
N64 Core progress this week:
- all missing 64bit CPU instructions added
- CPU exception handling added
- first steps for savestate loading done
- allow output of arbitrary horizontal resolutions
Fixed a bug that made several games crash random. Got to 55 stars now in Mario 64 without any issues.
An article over at my Patreon page will tell you more about the technical details if you are interested.
I'm getting more familiar with the advanced N64 RDP(GPU) features in my software emulator.
Wave Race uses some of them, for example 2-pass rendering, noise and fog. I still like this game today, the colorful artstyle and how you can feel the waves.
The
#MiSTerFPGA
N64 core does now fulfill existing RSP DMA tests plus my own new ones.
What does that mean?
Code and Data for the RSP coprocessor can now be loaded from RDRAM and RSP results can be written back.
Implementation of the RSP internal processing can start soon.
Just in case you are wondering what is happening with the
#MiSTerFPGA
PSX core now after release: I currently cannot really work on it as you can see. I hope you are happy with all the games that work already. I will take care for the open bugs as soon as I can.
#MiSTerFPGA
PSX core can do SPU audio with a single SDRAM now. It's still in the works and will be improved in the next days, but should be good in most cases. Download can be found for example in MiSTer Discord:
#MiSTerFPGA
PSX core now passes all 101 of Amidogs CPU tests. See here for more details:
Having a proven implementation of the CPU will hopefully make the further development much smoother.
First part of BIOS now booting up on
#MiSTerFPGA
PSX core. Unfortunatly I cannot show the whole animation here, as my capture card needs a few seconds to sync after a reset, but you can try yourself, the code is available.
15 years later I'm slightly out of training, but it doesn't matter because...the game now runs in my emulator. Only some more weeks until work on the FPGA core can begin.
Fixed the flame rendering in Paper Mario on the
#MiSTerFPGA
N64 core.
Flames depend on 2 very rarely used RDP features:
- 8 bit framebuffers reading back pixels as grayscale, creating the shape of the flame
- color combiner overflowing into negative. This creates the glow effect
1 year of PSX core development, what a journey.
Thank you so much for all your support!
You can still experience the entiry timeline with all big steps for the core by reading and watching the old twitter posts, if you like.
Have fun!
PlayStation core for
#MiSTerFPGA
got full savestate support now. This should speed up bugfixing a lot. Also you can now save until Memory cards are supported.
#MiSTerFPGA
PSX core got a widescreen feature thanks to
@Laxer3A
giving me hints how it works. Not all games will like it, but you can try yourself. It's switchable at runtime.
More sound features are implemented to the
#MiSTerFPGA
PSX core. SPU is about 60% complete now. If you like, enjoy some Metal Gear cutscenes including full music, sound and speech.
Next part of the VI pipeline implemented for the
#MiSTerFPGA
N64 core: Gamma correction.
It's not used by many games, but makes a huge difference in those that use it.
Implemented the SI DMA and PIF handling in the N64
#MiSTerFPGA
core. What does that mean?
Controllers are working now!
I tested with a Switch N64 controller(NSO) via blueooth.
Even without any adjustments the results are already very close to a new N64 pad.
Added a CD speedup option to the
#MiSTerFPGA
PSX core, that is aware of FMVs and CD audio and can limit the read speed to what the game is able to handle, so the core can use 8X CD speed in many games, boosting loading times a lot. Some examples:
Another surprise of 3 more games working on the N64 core after I made the controller handling protocol more timing accurate.
Maybe you like one of them. For me it is Body Harvest. I like large open world games and that is as large and open as it gets with N64.
Last changes for
#MiSTerFPGA
PSX core this year: bugixes and performance improvements in the Memory/DMA subsystems. Many games running much better now. A good starting point for sound next year. Merry Christmas to all of you!
The
#MiSTerFPGA
PSX core got a cycle accurate replication of the MIPS CPU write queue.
With this new module in place, all internal registers(GPU, Timers, DMA, MDEC ...) are now accessed using the original PS1 timing.
Level of detail textures are now available in the
#MiSTerFPGA
N64 core. One popular use is the Peach painting in Mario64. Several other games profit from sharper textures close to the camera or less flickering pixels on distant textures.
Added Divot to the
#MiSterFPGA
N64 core. It's a function in the Video Interface that is mostly there for fixing artifacts in the image that are left over from Antialias.
You can see it in the image below. The artifact in the shadow is gone on the right side with Divot applied.
#MiSTerFPGA
PSX core got a 480i to 480p hack, so you can run several games without combining artifacts.
Testversion is available on the MiSTer Discord or you can watch a comparison video here. Make sure to watch in full screen. Left is 480i, right is 480p
What would have happened if the PlayStation 1 CPU had a real data cache? You can find out with the
#MiSTerFPGA
PSX core, it's available as option. Some games profit a lot.
Dualshock controller option is now working in
#MiSTerFPGA
PSX core. You can switch the mode between digital or analog at runtime e.g. with a button combo or with PS4/PS5 controller touchpad click and get fully controlled two motor rumble. Have fun!
Implemented the first part of the RDP rendering pipeline for the
#MiSTerFPGA
N64 core. Gouraud shading is starting to work but still has some edge cases to be fixed. Once that works correct, I can start with texturing.
Same scene rendered in the VHDL simulation of the
#MiSTerFPGA
N64 core without and with LOD textures. Next step: modify the RDP pipeline so the LOD module has a timeslot to be calculated. A test core should be ready in the next days.
The video is not an out-of-season April's Fool joke, but instead showing some of the last games that didn't work on the
#MiSTerFPGA
N64 core until today.
Polygon(triangles and quads) rendering is working now for the PSX core on
#MiSTerFPGA
, including flat and gouraud shading as well as transparency. Next step: textures.