Satiator news

GO TO ADMIN PANEL > ADD-ONS AND INSTALL VERTIFORO SIDEBAR TO SEE FORUMS AND SIDEBAR

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,192
Points
63
Age
42
Shiny Shiny Menu
Jul 8 at 2:38pm
So way back when in cTrix's Satiator video - did anyone catch the brief shots of the loader menu? Here's a little refresher:


At the moment, this rather... minimalist... piece of UX design is the only interface the Satiator has. You can browse folders and load files by name, and that's it. (At least if something goes wrong it gives you a helpful error message!)

This is a classic "designed by engineers" user interface: it works, but it's not pretty. I bet it would be unpleasant to use with hundreds of titles. And if I were to add more features - like savegame backups? I can't imagine that being pleasant.

The answer is simple: call in a professional! In this case, the amazing Victoria Dominowski, of Secret Little Haven fame. (For those who missed it, this game includes a turn-of-the-century style operating system UI created from scratch!) As luck would have it, she happens to be a Saturn fan, and so she has a much better grasp of the platform's needs and aesthetics than I ever could have.

Behold, a user interface that's actually nice to look at and easy to use!



Mockup of booting up and selecting a game

Source : https://www.patreon.com/posts/shiny-shiny-menu-19938316
 

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,192
Points
63
Age
42
Two steps forward, one step back




















Something exciting in the post today: the bare boards for the beta Satiators! These are actually fabricated as panels of four Satiators held together with little side rails. This allows the assembly house to build four units at a time, and then they just snap apart when they're done.


This is great! Unfortunately, the factory forgot to put the bevel on the card edge connectors. Not so great. This makes it much harder to push the card into a Saturn, to the point that I wouldn't be comfortable shipping them out. With this square edge, these boards are junk:



I'm sorting out new boards now, so this should be back on track within a week or two, depending on the vagaries of global shipping and so on. Once they get here, I'll be shipping them over to my board house for assembly - in the USA - and then they'll come back here for testing and programming. Then, finally, once they're properly well-travelled, they'll be coming out to beta testers!

I've been very busy in the background here working on the production test system. This is deeply unsexy, because pretty much all it does is check that the boards were assembled flawlessly. At the same time, it's a really hard problem.

Previously I've always hand-tested every product I've ever built, wherever they were made. This way I could always make sure quality met my standards. But a downside of that process was, whenever I got too busy or sick or whatever else came up, I wouldn't have time - and the supply of eg. Drag'n'Derps would dry up. Not good for people who want them and not good for me, either, as I'd invariably stress about it the whole time.

In order to make sure the Satiator is reliably available, I need to make sure that testing and programming can be done precisely to my standards - without me doing it. And because this is, in the scheme of things, a small project, I can't train someone else up to do it and send them to a factory to do it full-time ^_^ So I have to build a machine that encapsulates all of my thoughts on quality, and that is super reliable and robust, and that anyone can use without training. So despite being a very unsexy piece of work, it's very challenging!

It's taken quite a while and I'm still not quite finished yet. One approach I had (which I thought was quite clever) didn't work out and I had to take another tack, which is working well. Now the beta units will give me a chance to test it on a whole pile of boards, which should tell me the last changes that need to be made to be able to hand it to a factory and have it Just Work™.

More news to follow - I'm very excited about beta, and more than a little frustrated about today's delay. Not much longer!

Source : https://www.patreon.com/prof_abrasive
 

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,192
Points
63
Age
42
from patreon :
Features and unfeatures
I've had a lot of questions about some details of what the Satiator will and won't do - so here is a full specification of what it is and isn't.

The Satiator is a plastic cartridge which slides into the Video CD port on the back of the Saturn. You can close the Video CD door to conceal it, or open it to access the SD card slot. The SD card slot is push-to-eject and takes a fullsize SD card. Capacities of at least 256GB will be supported and I expect to support larger cards when they are available. Cards must be FAT formatted.

When the console is powered on with no game in the CD drive, the Satiator takes control of the boot process. It loads a menu program off the SD card. The menu lists the playable disc images on the card; currently, it supports ISO and BIN/CUE. When you select an image, it loads and boots that image. Region restrictions can be bypassed by the menu (using the code I wrote to do the same thing in Pseudo Saturn). The menu can be updated just by replacing the menu.bin on the card. The menu is open source and so anyone can mod it if they wish.Homebrew software running on the Saturn can also access files on the Satiator.

Firmware of the Satiator itself can be updated via the SD card as well. I think this is unlikely to be needed once beta is complete.

The Satiator does not emulate a Video CD card, nor does it allow pass-through to a real Video CD card, so Video CD content cannot be played. The Satiator doesn't use the top cartridge port on the Saturn, nor does it emulate an Action Replay or backup cartridge.

There is a USB port on the Satiator but it is currently only used for production test.

There's a red/green LED for status and error info. If you mess up the card formatting or forget to put the menu.bin on the card then there will be a particular blink pattern to tell you what's up.

What did I miss? Who's got questions?

Edit #1: Things I Missed

Thanks to everyone who chimed in in the comments so far! Here are some more important things:

The top cartridge port retains its normal function. You can still use RAM carts, Action Replay, et cetera. I don't know yet how the AR boot sequence interacts with the Satiator's, will find out soon.

The Satiator doesn't currently hook into the native game saving infrastructure, but there's no reason that there couldn't be an applet as part of the menu that lets you transfer saves between SD and the console's internal RAM. I haven't written one at this point.

The loading times are identical to real hardware because it paces the sectors out the same as a real drive for compatibility reasons. Some titles will depend on the exact CD drive timing and the Saturn's CD Block itself can only handle a certain data rate, so while I may implement a turbo mode in the future, it will be a configurable option rather than on by default.

This also means that the choice of SD card is not critical - it only reads at a few hundred kB/s. As long as your card isn't actually faulty (fake capacity or bad sectors) then the Satiator is not picky.

The firmware should shortly support exFAT, but the firmware update mechanism will only ever support bare FAT due to code size constraints. I think it should be quite manageable to have 512GB+ FAT formatted cards, even if it's not exactly pretty.

The BIN/CUE support handles multiple files (eg .iso + .cdr audio). It doesn't currently handle WAV tracks but that should be easy to add. It will never handle MP3 tracks due to CPU constraints.

When it's released, which will be in 2019, patrons will have first dibs on ordering in some way. I'm not sure how exactly that's going to work because distribution isn't in place yet.

Anything else? :D
Source : https://www.patreon.com/posts/features-and-23766725
 

vbt

Staff member
Joined
Dec 16, 2001
Messages
5,192
Points
63
Age
42
from patreon (a bit late) :
Brief beta build bulletin
Hi gang,
I'm going to touch on a bunch of things that have happened since my last update; I'll keep this short, because I've got some more detailed posts to follow.
Right now I'm working on a lot of itty bitty jobs that are not particularly interesting, but they're all important, because they're all to do with manufacturing and testing.
Item the first: beta PCBs!


These have arrived, still empaneled, and the soldering quality looks great. The next step will be to put them all through the test system.
The test system hardware is sorted. Here is the prototype test system on my desk:


The funny L-shaped layout is because of how they will stack in a final enclosure. It's a lot harder to debug stacked boards, though. Don't do that.
The test system is driven by a Raspberry Pi with a monitor and keyboard attached. It's made so that any part of it is easy to replace. This is critical in a factory environment, where time is $$$, and doubly so when the factory is on the other side of the planet from me.
All of the actual hardware tests have been written and tested, so I can test a board and know it's good when I'm sitting at home. Now I have to do a whole lot more work to make this work in a factory: there needs to be a database of test results, and serial numbers, and a way to distribute the latest firmware, and all of this has to be operable by an almost completely untrained worker, so it has to phone home for software updates and stuff. These problems are not hard, just time consuming. I've knocked up the phone-home gear (OpenVPN + Docker, for those who like stacks), software updates (rsync), and the production database (Flask and also SQLAlchemy). There's just a little work left to tie them all together.
Today I've also been setting up a build environment for CI-style reproducible builds of the bootloader and firmware. The purpose of this is to eliminate many sources of manual error in building these important objects, like forgetting to check in changes, or having stale files in a build tree. Finding out you've flashed a dud bootloader at the factory and sent busted carts to hundreds of people would be a ruinous experience! This sort of job is pretty straightforward these days; most CI systems will do the needful and it's just a matter of spending the time and energy to set one up. The only issue here is that I need to encapsulate a couple of funky toolchains; the SuperH architecture in particular is not well supported. In the end I more or less shoved the toolchains I currently use into a Docker image and called it a day ^_^ I might strap it to a proper CI tool once I get some more tests under the hood; once it comes to game compatibility expansion I will want to keep tabs on regressions if I can.
Another area of progress is the case. Sticking a raw PCB into the back of a Saturn isn't impossible, but it's not exactly pleasant, and it never seems like a great idea with all that metal around; the production Satiators will have a custom moulded plastic enclosure. But someone's got to design it first! I've done a whole lot of work to get the dimensions right; here are all the ones that didn't make it:


These are printed with my FDM printer, which is fast and cheap but gives quite ugly results - this is definitely not what the final shells will look like.
I also have some SLA printed cases on the way, which will be much closer to what will be coming off the moulds. They have taken a *lot* longer than I expected (weeks and weeks), but apparently they're not far away now. Hopefully they're spot on and I can start the process of getting the actual moulds made.
I'm off on holiday in a week and a bit, and I'll be in still-chilly Tokyo, so I expect I'll have time to get caught up on some of the longer posts. Until then, thanks for your support, and for bearing with me through some tricky times. I appreciate it!
Source : Brief beta build bulletin | Professor Abrasive on Patreon
 
Top