Randy Simons
Randy SimonsRandySimons
2025-06-25

@lfa The Amiga could be regarded as 32-bit: its CPU has a 32-bit instruction set. Also, all released MSX2+ computers had just 64KiB RAM. (Expandable, as per standard, but still..) It all was kind of fluid back then :)

Graphically, I guess VRAM, width of datapath and hardware acceleration, blitter and tricks were what was most visible. Amiga had tons of those. MSX2's VDP was just 8-bit, albeit with some hardware acceleration.

Randy SimonsRandySimons
2025-06-24

@lfa Not sure this is a good example of "16 bit". Seems more like memory limits: that version looks like it's drawn on the spot, to reduce the data needed, whereas the Amiga version is a bitmap.

Given enough memory, even MSX1 can play video (with sampled audio): youtube.com/watch?v=B9JCAjhq44o

Many game consoles had 8-bit CPUs, but because of much better video chips games would look much, much better.

Example: Aleste 2 on MSX2, with exactly the same CPU, but 8x the VRAM: youtube.com/watch?v=jyAkrtGVNrg

Randy SimonsRandySimons
2025-06-19

@tkdocs @bert_hubert Heeft lid Vermeer zelf al eens een relevant deskundige gepolst, of moeten we constanteren (heel gek, bij mij komt er een rode kringel onder!) dat we weer duizenden euro's verbrand hebben aan een dure, maar nutteloze Kamervraag?

Randy SimonsRandySimons
2025-06-15

@aoineko And yes, the tool is stand-alone - you can run it offline and locally, either by installing it (Chromium/WebKit) or just download the source, and host it locally using e.g. `$ python3 -m http.server 8000` (which is precisely what I did!)

Randy SimonsRandySimons
2025-06-15

@aoineko Indeed the concept of using neural networks for this could be applied for much more, including YJK+YAE and tile based modes.

Alas, it all was primarily an experiment with neural networks. This is my first go with NNs and PyTorch. Learned a lot. And all thanks to LLMs to get me going. They are great tools to get started with something new.

Randy SimonsRandySimons
2025-06-15

@aoineko The model is now trained with a very hard bias to get the luminance correct for each pixel. That's why you'll see gray pixels around the green sphere: YJK can handle high contrast in grayscale, but not in (most) colors.

This also matches the human eye, which is much more sensitive to contrast in brightness than it is in contrast in color. The "resolution" for color information can be much lower than for brightness. Analog tv signals had the same. JPEG as well (4:2:0 etc)

Randy SimonsRandySimons
2025-06-15

@aoineko SCREEN 12, so YJK. Indeed I have been thinking about using SCREEN 10 YJK+YAE and use the palette colors to do the "hard contrast bits". In case of simple colors like black, hard red, white, that would work great, but you do sacrifice a lot of shades when using YJK+YAE.

I'm not sure if the end result would be better.

Randy SimonsRandySimons
2025-06-11

Can you believe these screenshots are taken from an MSX2+? That its Yamaha V9958 videochip was capable of *this* in 1988? But yes, I've improved the MSX2+ AI Image Converter even further! Better AI model! Better scaling! Installable for offline use!

Convert your own pictures to SCREEN 12 format using randysimons.codeberg.page/msx-

More info and source: codeberg.org/randysimons/msx-s

(Also, the four balls are rendered with TracerBlender in GWBASIC! codeberg.org/randysimons/Trace)

Example of conversion by MSX2+ SCREEN 12 AI Image ConverterExample of conversion by MSX2+ SCREEN 12 AI Image ConverterExample of conversion by MSX2+ SCREEN 12 AI Image ConverterExample of conversion by MSX2+ SCREEN 12 AI Image Converter
Randy SimonsRandySimons
2025-06-11

Ik ben die stomme "1+1 gratis"-aanbiedingen in de wel beu. Het gevolg is dat ik me helemaal permanent genaaid voel als het níét in de "" is.

Ik grijp inmiddels veel meer naar B- en huismerken. Erg jammer dat de Lidl hier weg is.

Niet dat ik geen gebruik maak van die aanbiedingen. Ik reken ze nu wel apart af, zodat ze transacties hebben vuile profiteurs die alleen voor de aanbiedingen komen maar niks anders kopen!

Randy SimonsRandySimons
2025-06-07

@reidrac Too often those silly mistakes take hours to find. Because your instinct just screams at you "there is a better way!".

But, proving that your instinct was right is worth those hours 😅

Randy Simons boosted:
2025-06-06

Ondertussen heb ik een eerste versie van appdwang.nl online gezet, gebaseerd op het werk van @appzwang.

De verschuiving van open standaarden zoals HTML5 naar "apps" die slechts op twee Amerikaanse platformen werken is dramatisch voor onze vrijheid, privacy en soevereiniteit.

Ik hoop er binnenkort nog meer adviezen, nieuws en voorbeeldbrieven aan toe te voegen. Alle hulp is welkom natuurlijk.

Randy SimonsRandySimons
2025-05-31

So, I trained a neural network ("AI") to optimize conversion of plain RGB images to YJK for SCREEN 12 of MSX2+ and TurboR. That conversion is notoriously hard, because of the quirks and limitations of the 1988's Yamaha V9958 Video Display Processor.

You can use the tool yourself at randysimons.codeberg.page/msx-

The entire process runs in your own browser. Including the creation of .dsk image or .zip. *Nothing* is shared!

Examples of the output running in an emulator are attached.

Screenshot of MSX Emulator showing the quality of AI RGB to YJK conversionScreenshot of MSX Emulator showing the quality of AI RGB to YJK conversionScreenshot of MSX Emulator showing the quality of AI RGB to YJK conversion
Randy SimonsRandySimons
2025-05-30

@durandalwoz Heh, back in the day I toyed with the thought of having a "graphical" BBS instead of ascii/plain text. This goes far beyond!

Randy SimonsRandySimons
2025-05-27

To clarify: it did not have the bootsector for MSX (although I didn't ask) but it did for MS-DOS. There are slight differences - MS-DOS disks are not bootable on MSX because of that - but it does have the knowledge on how to write a parser for a FAT12 disk, so that it uses correct information when adding files.

Randy SimonsRandySimons
2025-05-27

The amount of niche knowledge in AI models (GPT4.1 at least) is kinda insane. Asking it to write a parser in JavaScript for the bootsector of an diskette.

So yeah, I know have a small JavaScript library that can actual MSX-formatted disk images with file contents. And I didn't write a single line of code for that. (But a lot prompting, /undo'ing, prompting again, …)

Ok, teaser, soon to be released:

MSX2+ SCREEN 12 Al Image Converter
Convert your images for use on MSX2+ computers in SCREEN 12 mode, using a neural network for high-quality color conversion to the
'YJK format of the V9958 video chip.
Randy SimonsRandySimons
2025-05-23

@gabe_sky Thanks. Funny thing: I'm literally now working on something, which will run locally, in-browser.

But trust remains an issue: how can the user trust that nothing leaves their computer without clear consent?

I envision something like a PWA, which the browser downloads, and then "disconnects" from the network and provide an indication to the user that the app now cannot do anything online unnoticed or unwanted. Or at least presents the user the option to go offline.

Randy SimonsRandySimons
2025-05-17

@arnauddeklerk@mastodon.online First time I see the English translations. From the intro: "After all, Lachesis could displace time. He fled to another age". Huh. It's only now, because of that, that I realize the levels of the game are traveling though time, from primordial to present day.

Randy SimonsRandySimons
2025-05-17

@arnauddeklerk@mastodon.online Oh man, that tune still is awesome. Most (western) pc games from the same era really had shitty music compared to this.

Of course, having a known, fixed audio hardware makes it easier, but the tR's OPLL is less capable than even AdLib's OPL2.
MSX does have the 3 extra PSG channels however, which do help here.

Randy SimonsRandySimons
2025-05-09

@bitsofbas I still have the feeling that all those game music is played too fast. They were made for 60Hz systems, so on our EU 50Hz computers they actually played too slow. But tell that to my memory!

Randy SimonsRandySimons
2025-05-09

@bitsofbas I never knew game soundtracks releases were already a thing back in the day!

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst