Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
root of all eval
Dec 28, 2002

Coffee Jones posted:

Wizzo’s scripts are neat but I’d like a scraper for downloading box art assets and a display like Emulation Station, where all the mister does is serve a static webpage and the assets themselves.

https://youtu.be/2hpF3laclaM?feature=shared

The cpu core of the mister is pretty anemic, so, offloading rendering onto a phone or desktop via rendering instead of dealing with the standard mister UI.

This was a cool idea I've been hacking on and I'll be damned, it seems possible. I've got python3 on the MiSTer itself updating the core with some random solid color boxes at 240p@60hz. The frame speeds should be fine with really basic compositing.

The input is a problem though, the Linux /dev/input streams don't receive events while a core is loaded. Taking psakhis at their word that there will be client level input support, I'm gonna keep going.

Another big gotcha is the speed and need for C bindings to do a lot of raw graphics work or xml parsing from file system. I'm toying with a non mister util that can parse gamelist.xmls and generate discrete binary DAT files that have what a browser script would want in easier to consume byte format. I figure storage space for uncompressed screenshots and little ASCII data description data is less of an issue if the thing can work on the device without external servers

Adbot
ADBOT LOVES YOU

root of all eval
Dec 28, 2002

I suppose a weekly ish update isn't spamming.

The GUI client work is coming along pretty well all told! Blitting of rectangles, BGR8 streams and even monospace bitmap font rendering is working at full 60 fps with idle frame queues.

I'm now very confident in the ability to make a responsive GUI at least, so I'm worrying about sourcing details now.

MiSTer python build does not support many pip c bindings, which kills PIL pillow image processing. I tried some manual wheel stuff but no dice. Not a surprise but it galvanized the need for pre-processing. MiSTer CPU and Python is not cut out for image decoding in real time,c especially jpg

TheGamesDB is a main scraper for emulation station and is open source and has DB dumps.
Instead of trying to parse gamelist.xml files I'm going to go in 2 support directions:
Scraper > off-mister API > DAT
DAT dumps hosted on archive.org

In both cases I'll be making an info dat and an image dat based on simplified game file name matching. This should allow constant time lookups from core filesystem scans.

Initially I'll need to clone and dockerize the GamesDB API set for my initial full DAT dump but don't want it to be an explicit requirement.

I guess in my ideal state without a custom server or API keys you should be able to download a temp DAT library, scrape your local collection for matches to move, and delete the temp folder remaining. Or if you have the space and are worried about SD writes you could just keep the whole collection

As with most things I gotta build the tooling for myself first. I REALLY want this to be pure MiSTer and network based. The need for image processing just works conveniently in the scraper paradigm.

wolrah
May 8, 2006
what?
https://www.patreon.com/posts/new-i-o-board-100096691

Sorgelig posted:

New I/O Board



It consists of 2 boards. Digital base is compatible with existing Digital I/O Board and secondary SDRAM. With AV Board instead of SDRAM it turns into full featured analog output board with chip DACs on both video (24bit RGB) and audio.
For analog output the framework update (and all cores) is required.

I will update both hw and framework in couple days.

An interesting solution, ending the "debate" for new users by splitting the analog video DAC out to a separate board so there's a unified base board and then someone can choose to go from there to analog or dual-RAM, or potentially switch between the two.

I have to imagine it's going to have compatibility issues with a lot of cases though.

The Automator
Jan 16, 2009
Mister addons has been teasing new analog and digital io boards also, so it’s gonna get interesting on what ends up happening. Hopefully it doesn’t split the development very much and you don’t lose out buying the “wrong” setup

root of all eval
Dec 28, 2002

fwiw at the price point I don't see a ton of new adoption in the works anyway. It takes a particular retro enthusiast to even care about hardware vs software emulation. I feel late to the game getting mine last year.

Also my perception of core development has been that a second ram slot has been useful for access speeds at times but hasn't been make or break in main adoption. Maybe some arcade cores I'm unaware of would make solid use but there seems to be either a lack of need or a lack of desire to fragment the base. I don't see that changing but I dunno

yoloer420
May 19, 2006
I'm interested in seeing how case design changes to suit this.

For the audio DAC part, do we know if it'll have a decent line in? The current DAC input add-on is a bit crap sounding.

Kreeblah
May 17, 2004

INSERT QUACK TO CONTINUE


Taco Defender

yoloer420 posted:

I'm interested in seeing how case design changes to suit this.

For the audio DAC part, do we know if it'll have a decent line in? The current DAC input add-on is a bit crap sounding.

Wasn't the current input intended for just line pulse data (like, reading data from audio cassettes)? I'm not 100% certain, but I seem to recall that being the reason it exists.

Cojawfee
May 31, 2006
I think the US is dumb for not using Celsius
As far as I know, yeah that line in is intended for you to hook up a cassette player or MP3 player to play data into a computer core.

Wise Fwom Yo Gwave
Jan 9, 2006

Popping up from out of nowhere...


Speaking of line in audio, I'm still salty that Sorgelig said no to my request for .cas support for the Atari800 core. It's bad enough that I had to go through Blue1 to get a custom SNAC build for my CX40s, but I want to be able to access the whole library, including the cassettes that never got converted to disks or carts.

Nate RFB
Jan 17, 2005

Clapping Larry
https://old.reddit.com/r/MiSTerFPGA/comments/1bdnpkr/n64_core_development_ends_robert_peip/

quote:

The leads us to the void I'm currently in. As I didn't expect this to happen, I don't have any plans already made on what I will do in the future.

For now I will take a break of around two weeks. It's been a very busy year. Afterwards I will take the steps needed to bring the core into the MiSTer reposity, create a release and then decide on any future projects.I would be glad if this outcome is not perceived as funeral, but rather as last step of a great journey. Especially when pushing the wall so hard that it falls, I rather would like to look at fallen wall than to look at the few bricks that refused to fall. It certainly helps to have the motivation to tackle such large projects again, that seem so difficult you shouldn't even try.

Thank you all!

Tremendous work overall and I can't blame him at all for stepping away. After a certain point this sort of work is close to a full time job.

hatty
Feb 28, 2011

Pork Pro
RAM speed seems to be the issue based on what Ive read. I assume that they’ve experimented with Dual SDRAM right? I guess even that is too slow. Great work getting it this far though

dishwasherlove
Nov 26, 2007

The ultimate fusion of man and machine.

It's one of the reasons one of the MARS devs insisted all their cores would be dual ram going forward but then the community blew up at them for being a poo poo dev and not trying harder, so they split off to MARS .

bone emulator
Nov 3, 2005

Wrrroavr

Hopefully, this means he has time and motivation to work another core.

I'm hoping for FM Towns or 3DO.
Or maybe PC-FX for all those untranslated visual novels.

Nate RFB
Jan 17, 2005

Clapping Larry
At the very least considering the use of Dual RAM on the PSX core, if Peip thought it'd solve the issues on the last handful of games (Jet Force Gemini being the big one) they'd use it.

Mischievous Mink
May 29, 2012

Nate RFB posted:

At the very least considering the use of Dual RAM on the PSX core, if Peip thought it'd solve the issues on the last handful of games (Jet Force Gemini being the big one) they'd use it.

Yeah, he outright said as much on Discord, it just can't be done. I hope he enjoys his incredibly hard earned break, but I sure am excited to see what he tackles as his next project, he really blew all my expectations away with the N64 core, and his work on PS1 was no less impressive and fast.

Polly Toodle
Apr 21, 2010

CHARIZARD used SMOKESCREEN
It doesn't affect GEORDI THE BLASTOISE!

hatty posted:

RAM speed seems to be the issue based on what Ive read. I assume that they’ve experimented with Dual SDRAM right? I guess even that is too slow. Great work getting it this far though

From what I understand of the issue, the bottleneck is with the DE-10 onboard 1GB RAM, so it isn't something that can be resolved with dual ram.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
https://x.com/wizzomafizzo/status/1768666033710305583

The website on mister.local works fine for me but this is some good/neat news.

lllllllllllllllllll
Feb 28, 2010

Now the scene's lighting is perfect!
Is this fiddly? Like, my emulation session go like this: Every few months I feel the need to dive into old games, then I either re-download or update my emulators and set up my controller and at that point I barely feel like jumping into the games anymore. There was a time when I enjoyed optimising MAME to have a nice visual output but now I just want to start the games without tinkering. I guess a dedicated device helps as it is not affected by new Windows installs but reading through this thread feels like you have to use scripts and whatnot.

Nate RFB
Jan 17, 2005

Clapping Larry
With the caveat that obviously this is super subjective, IMO it only gets real fiddly if you wish to get into testing beta cores like N64, Saturn, etc., since not only do they necessitate separate update scripts or manually tracking down files but also sometimes interacting with the framework itself. Otherwise usage of the main release is pretty straightforward, there's one script you run (maybe update_all needs to be tracked down still? I've not needed to look at a fresh MiSTer build in a long time) and it takes care of getting everything up to date.

After setup you would want to ensure each core behaves the way you want (like mapping all of these old controllers to whatever modern one you're using) or looks the way you want since the video filter setup is pretty slick with presets (but also optional).

More than anything else it's very easy to get a baseline setup working and only go deeper in as you get comfortable. I consider things like being able to remote access the MiSTer, tinker with the MiSTer.ini to dial stuff in, and/or setting up NAS shares to be very desirable long term things to know how to do but you would not be asked how to do that out of the box.

Phantasium
Dec 27, 2012

Yeah for reference I follow this thread pretty much just to see where cores and stuff are coming along but I almost never have to update this thing unless I want to add a new game that's been recently translated or something and most of my interaction with a mister is turning it on and loading something up and just playing it. And even then like Nate said there's just an update_all script that you run that basically does a ton of updates automatically, including pulling in new cores that are considered mature enough to go on the list.

The only fiddly thing I'd say about mister is most (if not all cores?) not actually saving the saveram unless you open the menu. I think they're paranoid about killing an sd card but it just means I end up opening the menu after every in-game save instead.

lllllllllllllllllll
Feb 28, 2010

Now the scene's lighting is perfect!
Oh, that's good to hear. Thank you Nate RFB and Phantasium. :)

el3m
Jun 18, 2005
Grimey Drawer
It's pretty great, once you get it set up it stays that way. I've been updating using update_all script that seems to work great, no manual fiddling required

On some cores I miss save states, for like practicing shmups, but that's the main caveat for me.

root of all eval
Dec 28, 2002

Feeling incredibly stoked. Just got Joystick support implemented into my GUI test build.

That was the last unknown on whether the project was even going to be possible.

I've already proven out image/text loading and rendering, directory parsing, and tracked down wizzos launcher GML implementation.

From here it will just take time!

It's taken all my will power to step away the last few days, I can tell I'll just get more obsessed from here though.

I've only talked about it here but got some GitHub stars already which warms my heart

Corin Tucker's Stalker
May 27, 2001


One bullet. One gun. Six Chambers. These are my friends.
The Saturn core has just been updated with the first official non-test release in five months. There are lots of improvements, most notably fixed gouraud shading. That should have a huge impact on tons of titles.

Saoshyant
Oct 26, 2010

:hmmorks: :orks:


Progress update.

Sergiy Dvodnenko posted:

SH core:

-fix register bypassing for indirect index register addressing instructions (Pinball Graffiti)

SH7604:

-hold DMAC cycle during the external vector read cycle to avoid conflict (Croc - Legend of the Gobbos intro)

-implemented undocumented registers in Division unit (Assault Suit Leynos 2 graphical glitches)

-fix priority for bus requests (Shutsudou! Miniskirt Police,Super Tempo)

-return null when reading from reserved space (Slayers Royal)

-fix clearing busy flag in external vector read cycle (Assault Suit Leynos 2 hang)

SCU:

-fix DSP DMA address increment (Marvel Super Heroes vs. Street Fighter,X-Men vs. Street Fighter)

-fix Timer 0 (Shining the Holy Ark)

-fix access to DMA registers (Phantasy Star IV)

-fix A-BUS DMA with invalid address (Tactics Ogre - Let Us Cling Together)

-fix DSP DMA to DSP program RAM (Shining Force III)

-rework CPU access to B-BUS for better accuracy

-fix LPS command in DSP (Pandemonium speed)

-fix B-BUS reading from SCSP space for better accuracy

-rework indirect mode for better accuracy

VDP1:

-fix Scalled sprite pre-clipping (Linkle Liver Story)

-fix drawing of Scaled sprite with zero size (menu Vandal Hearts - Ushinawareta Kodai Bunmei)

-fix vertical draw direction for Scaled sprite (arcade intro Twinkle Star Sprites)

-fix drawing of Normal sprite with zero size (Cube Battler - Story of Shou)

-add frame buffer rotation modes (Shienryu,Power Drift,Hang-On GP,Grandia)

-fix MSB ON mode (Asuka 120% Limited,Zoop shadow)

-update User clipping coordinate also in System clipping coordinate set command (Whizz intro)

-fix the CLUT start address (Culdcept sprite colors)

-extended to 12 bits coordinate calculations (Dragon Master Silk,Burning Rangers)

-rework VRAM access for better accuracy

-fix horizontal inversion for pre-clipping

-fix gouroud shading

VDP2:

-implement Color Calculation Window (Magical Drop III)

-fix Extended Color Calculation (Linkle Liver Story transparency bug)

-fix Color calculation in hires mode (Sonic Jam, menu)

-fix Line window hit (Panzer Dragoon II Zwei, episode 3)

-fix transparent window position (line on the left in Sonic Wings Special,Street Fighter Collection,Waku Waku 7)

-fix DMA write to VRAM (missing tiles in Darius Gaiden)

-fix Transparent shadow (menu Puyo Puyo 2,Soukyuu Gurentai)

-fix Color calculation (playfield Kanzen Chuukei Pro Yakyuu Greatest Nine)

-implement rotation reading of frame buffer (Shienryu,Power Drift,Hang-On GP)

-implement single density interlace mode (Shienryu)

-fix vertical scrolling changes in the middle of the screen (Shienryu)

-fix latching of screen mode settings (Gokujou Parodius Da! Deluxe Pack)

-fix vertical cell scroll function (Magical Night Dreams Cotton 2)

-rework single write to VRAM for better accuracy (Daytona USA menu screen)

-fix unsupported window position (Darius Gaiden, route D)

-fix VRAM bank selection (Bouken Katsugeki Mono Mono)

-hide NBG2/3 when NBG0/1 reduction is enabled (Culdcept)

-fix the start time for rotation coordinate calculation (Sakura Wars corrupted line)

-implement undocumented behavior when rendering NBG2/3 with incorrect VRAM access patterns (Gouketsuji Ichizoku 3 - Groove on Fight,J. League Jikkyou Honoo no Striker,Grandia)

-fix rendering NBG0/1 with incorrect VRAM access timing slot for Vertical cell scroll data (Rayman: Anguish Lagoon)

-rework the reset (fix some hangs on reset)

-fix used unsupported vertical resolution value for NTSC (Virtual On)

-fix reduce screen in hires mode (Sonic Jam manuals,Thunder Force V)

-fix rendering Normal scroll screens with illegal VRAM cycle pattern settings (Waku Waku 7)

SCSP:

-fix output levels

-add float convertion for DSP (audible clicks in some games)

-add internal registers reset

-rework key on/off trigger

-rework loop control (Blast Wind)

-fix RAM addressing for sound CPU (After Burner)

-rework sound CPU RAM access to improve accuracy in time-critical code (Virtua Fighter 2)

-add read access to the data stack from the CPU (Tomb Raider)

SMPC:

-fix system date (Salamander Deluxe Pack Plus: Salamander2)

-fix INTBACK command (Digital Pinball - Necronomicon,Terry Pratchett's Discworld,Primal Rage,Dark Seed)

-disable sound CPU by CKCHG commands (Pro Pinball sound)

-rework CKCHGxxx command to wait for VBLANK

Rework ddram controller to speed up writing in time-critical game code (Sega Rally Championship 2 player battle)

Add auto region selection (latest unstable Main is required)

Really happy to see all this progress!

hatty
Feb 28, 2011

Pork Pro
Is there still a Dual SDRAM or has that been eliminated

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Apparently the Saturn core is officially in update all.

Kazvall
Mar 20, 2009

Matt Zerella posted:

Apparently the Saturn core is officially in update all.

Nice, thank you thread for letting me know when I need to update. I've been playing Ghen War and it loving rocks!!!

lllllllllllllllllll
Feb 28, 2010

Now the scene's lighting is perfect!
Another thing if you don't mind regarding "Mars" or whatever it's called. These FPGA boards are basically industry boards right? Wouldn't that limit speculation about what we can expect? Like we look up the next slightly more costly model because they surely won't overplay their hand with a device that would turn out too expensive? I mean it's not like they are going to design the thing. Another thing would be compatibility. I'd assume you could use a lot of work done on the Mister but I don't know enough about this to be sure. Just some idle speculation.

Cojawfee
May 31, 2006
I think the US is dumb for not using Celsius

lllllllllllllllllll posted:

Another thing if you don't mind regarding "Mars" or whatever it's called. These FPGA boards are basically industry boards right? Wouldn't that limit speculation about what we can expect? Like we look up the next slightly more costly model because they surely won't overplay their hand with a device that would turn out too expensive? I mean it's not like they are going to design the thing. Another thing would be compatibility. I'd assume you could use a lot of work done on the Mister but I don't know enough about this to be sure. Just some idle speculation.

It depends. The mister uses a dev board meant to be used by students, and is thus cheaper than it should be. I think the analogue people design their own board for the cyclone v fpga, which is the chip the mister uses. I don't know this specific fpga, but it's possible there is a higher version with more LUTs and brams and logic gates and whatnot, or they are finding another chip with more stuff.

Rubellavator
Aug 16, 2007

https://www.digikey.com/en/products/detail/efinix-inc/TI180J361C3/21263474
supposedly that's the prototype of the board that MARS will use and they're waiting for the final version.

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
Personally i think MARS is dead. The person running it really seems to love burning bridges.

root of all eval
Dec 28, 2002

Poor python on the ARM chip just wasn't cutting it. Frame rates dropping below 24fps was happening with super basic bitmap compositions

Instead of abandoning the project for a GUI I took the last 2 weeks to learn Go.

Currently porting some of the key modules and got the blitting over UDP working.

Go is a good base language for the project for a few reasons so I'm glad I changed. It will allow better native support for jpg and PNG decoding as well as lz4 compression of the UDP packets since the groovy core has 'hardware' decompression on the fly. This will allow 31khz resolutions and hopefully better layouts.

I wanna build a test that shows fps and a combination of text and image blitting benchmarks but even if it's hella slow the goroutines should allow async blitting to a temp buffer while the loop maintains 60hz to the core. As long as the animation isnt heavy the preparation of bitmaps to composite and the sliding of their masks shouldn't be a big deal.

It doesn't explicitly need any animation anyway beyond basic swaps and updates for listing text, meta text, and image galleries.

Tatsuta Age
Apr 21, 2005

so good at being in trouble


whatever a lot of those words mean it sounds really neat

w00tazn
Dec 25, 2004
I don't say w00t in real life

lllllllllllllllllll posted:

Another thing if you don't mind regarding "Mars" or whatever it's called. These FPGA boards are basically industry boards right? Wouldn't that limit speculation about what we can expect? Like we look up the next slightly more costly model because they surely won't overplay their hand with a device that would turn out too expensive? I mean it's not like they are going to design the thing. Another thing would be compatibility. I'd assume you could use a lot of work done on the Mister but I don't know enough about this to be sure. Just some idle speculation.

As someone who's been following MARS and their awful twitter and staff and interacting with Todd on discord they seem to be full of themselves and have no real solid business plans or understanding of how not to alienate consumers. They were able to attract people of various pedigrees who have all shipped products of some form or another and have made some bold claims as to what their collective is going to be able to achieve. I'm very pessimistic and it seems like they're undertaking this project for all the wrong reasons and I honestly hope they fail as a result.

So far the "facts" are they have two or three custom PCB development boards that uses an Efinix FPGA chip that isn't mass produced or readily available yet outside of Efinix produced dev kits. (There's rumors that MARS team have since switched to a bigger and better FPGA in response to replay2 but this is unconfirmed speculation)
They have some form of arcade cores running on this board and are able to display output via analog to a CRT.
They have working controller input via direct analog inputs as well.
They claim they are going to be showing off significantly more stuff this June at a random retro games convention.


On paper this thing should have more power and headroom to support more complex devices and they're designing it around the assumption that it will also be able to output 4K. Efinix is massively different than the architecture used for the MiSTerFPGA and the Analogue Pocket so there's no real telling on how many existing cores will be able to be ported, and how easy / up-to-date these new cores will be. (Analogue pocket ports of MiSTer cores seem really behind and or compromised at the moment).
From what the team has posted, it appears like the MARS is borrowing a lot of the tech and pin layouts from the DE-10 used on the mister, and it might support existing things like the Dual SDRAM, SNAC, MT32, and analog I/O boards. Even though a lot of it would be redundant or introduce limitations to the the cores that are able to run on it.

Right now most of the limitations on the MiSTer are coming down to the lack of logic elements that can fit anymore, the clockspeed (for HDMI), and the RAM latency / SDRAM bandwidth and bringing over stuff from the MiSTer seems dumb if they want to avoid those pitfalls.

DR FRASIER KRANG
Feb 4, 2005

"Are you forgetting that just this afternoon I was punched in the face by a turtle now dead?
I played a crystal castles cabinet for the first time ever and now that I've played it with a trackball I understand why it's such a fun game.

How does using a trackball with MiSTer work? Are there recommended mice that are USB?

Wise Fwom Yo Gwave
Jan 9, 2006

Popping up from out of nowhere...


DR FRASIER KRANG posted:

I played a crystal castles cabinet for the first time ever and now that I've played it with a trackball I understand why it's such a fun game.

How does using a trackball with MiSTer work? Are there recommended mice that are USB?



I use a Happ 3” ball. Primary button is normally mapped to the left-click button of a mouse, as it is generically a mouse. You can also see a GRS spinner, which works similarly but obviously a single axis.

Edit: if you play the Missile Command core at all, note that you can change the order of cannons. That was done at my suggestion because I didn’t want to have to change my buttons underneath. I have my buttons set on the left side, MRL (or Middle/Wheel, Right, Left), so the left-click is closest to the ball, like in cocktail versions of Centipede and Crystal Castles.

Wise Fwom Yo Gwave fucked around with this message at 02:48 on Apr 6, 2024

lllllllllllllllllll
Feb 28, 2010

Now the scene's lighting is perfect!
Does the PS1 core support save states?
Does the PS1 core support Anti Aliasing? I am used to play on PS emus with all the bells and whistles and some (2x) smoothing of the 3D would be nice. But I suppose I get the original experience with this (which is fine).
Out of curiosity: There is no 3DO core so far as far as I know, but that system's likely easier to emulate than the Saturn, so it's probably the fact that it's not very popular, right?
What kind of maximum PC stats would mister have emulating a PC (386sx@25Mhz from what I have heard)? Did somebody run benchmarks?

Thank you.

Cojawfee
May 31, 2006
I think the US is dumb for not using Celsius
I don't know about a 386, but there is a 486 core. Though it is at the limit of what will fit and there is no math coprocessor.

Adbot
ADBOT LOVES YOU

Matt Zerella
Oct 7, 2002

Norris'es are back baby. It's good again. Awoouu (fox Howl)
PSX Core has save states, yeah.

https://youtu.be/GLSRfnmYHkM?si=w2qFVSXzUOnfOPU7

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply