VOGONS


First post, by ShortstopGFX

User metadata
Rank Newbie
Rank
Newbie

Hey there,

I am debating building a small mini Windows 95 device that contains an SBC (Raspberry Pi, etc) that would boot straight into PCEm that would load Windows 95.

The caveat would to somehow not boot into Linux or not show the typical starting scrolling text of a Linux distro but to flat out start up Windows 95 via Pcem.

Bonus points if it's possible to exit Pcem into a Linux Desktop environment like Debian, kind of similar on how Pimiga does it.

Has anyone ever done this? Is this possible?

Asking since I've seen in it this video:
https://youtu.be/x28pe4Pb36o?si=4O4FpBnjWkIkOnyY

However, I am wondering if this is possible.

I plan on 3D printing a 486 looking style case for it as well.

I am also curious to hear your opinions on what specs I should use for a project like this, thanks.

Reply 1 of 9, by progman.exe

User metadata
Rank Member
Rank
Member

You have to have an OS to host the application, so there is no not booting Linux. You can hide it a bit, and then use other minimal software and customisations to fake 95 on a Pi.....

You can make the kernel quiet, so there isn't text spewed to the screen at boot.

You could even make the kernel display a graphical loading screen, and of course make that lie: have it show the 95 boot screen. Shutdown screens might be possible too, and as the Pi can't turn itself off, showing the "It's now safe to turn off your computer" might be a funny detail.

The Pi desktop could be overhauled to be next to no window manager. Maybe swap it out for very minimal one with few or no widgets, such as fluxbox (I use this on my lounge media system that runs Debian, where I need no significant OS UI on the TV itself, as media programs are web interface controlled). Have PCem start with the desktop, and go full screen straight away, loading and booting 95.

`man pcem` has some nice clues on how to get PCem to load into a 95 emulated machine

--config file.cfg file.cfg use given config file as initial configuration […]
Show full quote

--config file.cfg
file.cfg use given config file as initial configuration

--fullscreen
start in fullscreen mode

Reply 2 of 9, by ShortstopGFX

User metadata
Rank Newbie
Rank
Newbie
progman.exe wrote on 2024-08-07, 23:46:
You have to have an OS to host the application, so there is no not booting Linux. You can hide it a bit, and then use other mini […]
Show full quote

You have to have an OS to host the application, so there is no not booting Linux. You can hide it a bit, and then use other minimal software and customisations to fake 95 on a Pi.....

You can make the kernel quiet, so there isn't text spewed to the screen at boot.

You could even make the kernel display a graphical loading screen, and of course make that lie: have it show the 95 boot screen. Shutdown screens might be possible too, and as the Pi can't turn itself off, showing the "It's now safe to turn off your computer" might be a funny detail.

The Pi desktop could be overhauled to be next to no window manager. Maybe swap it out for very minimal one with few or no widgets, such as fluxbox (I use this on my lounge media system that runs Debian, where I need no significant OS UI on the TV itself, as media programs are web interface controlled). Have PCem start with the desktop, and go full screen straight away, loading and booting 95.

`man pcem` has some nice clues on how to get PCem to load into a 95 emulated machine

--config file.cfg file.cfg use given config file as initial configuration […]
Show full quote

--config file.cfg
file.cfg use given config file as initial configuration

--fullscreen
start in fullscreen mode

Gotcha, do you think I should maybe look for an x86 small motherboard instead for this kind of thing to sort of max it out?

More so because it won't need an actual video card since it would be emulating it. I'm curious what would be the best single board mini ITX board to use for this that would still have VGA out to go to a VGA monitor.

Reply 3 of 9, by ShortstopGFX

User metadata
Rank Newbie
Rank
Newbie

Also, what PCEm specs in the actual emulator should I shoot for if I want to emulate Windows 95 for that era? Would that be a 486 or Pentium 1 / 2?

Reply 4 of 9, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

There were some versions of linux intended as "appliance" mode distributions, think maybe mythbuntu and some XBMC distributions that stripped everything out and went straight to that interface with minimal chatter. If you look at what those do it might put you on the right track... or just confuse the hell out of you because stuff changed too much.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 5 of 9, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

It's possible to set up a custom session config file, that loads nothing but the window manager, and a specific windowing application. "Logging off" would take you to the session chooser, and you can pick the actual desktop session from there.

https://askubuntu.com/questions/1215960/custo … top-vs-xsession

I've used this on an old chromebook that I linuxified, for example.

Reply 6 of 9, by leileilol

User metadata
Rank l33t++
Rank
l33t++
ShortstopGFX wrote on 2024-08-08, 01:57:

Also, what PCEm specs in the actual emulator should I shoot for if I want to emulate Windows 95 for that era? Would that be a 486 or Pentium 1 / 2?

My max estimates out of the V17 arm dynarecs (from testing 100% Doom and Quake):

Pi 3 : 486SX/20
Pi 4 : 486DX2/80
Pi 5 : Pentium 90

Pi Zero, Pi and Pi 2 are way underpowered for Win95 emulation

Also beware of the write cycles spent by these old write-heavy operating systems. Maybe during boot and shutdown you can have a tempfs copy the HDC image back and forth to save on that while PCem mounts the image from a tempfs (assuming it's small enough to fit into memory, win95 doesn't need too much space)

Another option to consider is a KMS DRM-compiled RetroArch booting into DOSBox Pure as that supports booting Windows 95 and defers writes to a separate state and has some additional folder mounting conveniences.

apsosig.png
long live PCem

Reply 7 of 9, by ShortstopGFX

User metadata
Rank Newbie
Rank
Newbie
leileilol wrote on 2024-08-08, 14:12:
My max estimates out of the V17 arm dynarecs (from testing 100% Doom and Quake): […]
Show full quote
ShortstopGFX wrote on 2024-08-08, 01:57:

Also, what PCEm specs in the actual emulator should I shoot for if I want to emulate Windows 95 for that era? Would that be a 486 or Pentium 1 / 2?

My max estimates out of the V17 arm dynarecs (from testing 100% Doom and Quake):

Pi 3 : 486SX/20
Pi 4 : 486DX2/80
Pi 5 : Pentium 90

Pi Zero, Pi and Pi 2 are way underpowered for Win95 emulation

Also beware of the write cycles spent by these old write-heavy operating systems. Maybe during boot and shutdown you can have a tempfs copy the HDC image back and forth to save on that while PCem mounts the image from a tempfs (assuming it's small enough to fit into memory, win95 doesn't need too much space)

Another option to consider is a KMS DRM-compiled RetroArch booting into DOSBox Pure as that supports booting Windows 95 and defers writes to a separate state and has some additional folder mounting conveniences.

That makes sense. Do you think there are any smaller x86 motherboards I can use for a smaller similar form factor? I ask because I am fascinated by the idea to be able to do this.

Some would say it's overkill and just get period specific hardware but I think it's so cool you can do this.

Reply 8 of 9, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie
leileilol wrote on 2024-08-08, 14:12:
My max estimates out of the V17 arm dynarecs (from testing 100% Doom and Quake): […]
Show full quote
ShortstopGFX wrote on 2024-08-08, 01:57:

Also, what PCEm specs in the actual emulator should I shoot for if I want to emulate Windows 95 for that era? Would that be a 486 or Pentium 1 / 2?

My max estimates out of the V17 arm dynarecs (from testing 100% Doom and Quake):

Pi 3 : 486SX/20
Pi 4 : 486DX2/80
Pi 5 : Pentium 90

Pi Zero, Pi and Pi 2 are way underpowered for Win95 emulation

Also beware of the write cycles spent by these old write-heavy operating systems. Maybe during boot and shutdown you can have a tempfs copy the HDC image back and forth to save on that while PCem mounts the image from a tempfs (assuming it's small enough to fit into memory, win95 doesn't need too much space)

Another option to consider is a KMS DRM-compiled RetroArch booting into DOSBox Pure as that supports booting Windows 95 and defers writes to a separate state and has some additional folder mounting conveniences.

For the latter, consider instead, using the RAID features of EXT4 to combine writes to minimize the amplification issue.

SDCard/Flash can be seen as the endpoint of a RAID array, logically. (that's what MLC kinda sorta is.)

This post/page is getting a little old, and the links it points to are dropping off the net, but it still has the kernel of truth inside it.
https://thelastmaimou.wordpress.com/2013/05/0 … es-and-strides/

By setting the stride and stripe appropriate to the SDCard's flash configration, the write life of the media increases PROFOUNDLY. I drove a linuxified chromebook with /home on the microsd slot for 4 years after doing this. (When I tried without this, the card died in under 1.)

Basically, when those options are turned on, the EXT4 filesystem driver caches writes and defers comitting them until a more ideal atomic write is possible. This way, hundreds of little 5 byte writes, get handled by the cache, and when they reach the 4mb size of most flash media, it gets written. (or, after so much time has passed, but I am not sure how to tweak that.)

Just MAKE SURE you shut down cleanly. Every Time.

Reply 9 of 9, by ShortstopGFX

User metadata
Rank Newbie
Rank
Newbie

Anyway... Should I stick to an ITX or microITX build if I want to use the Fractal Ridge case (white)?

Any suggestions for CPU plus RAM plus GPU? I would want Windows 95 and below. Mostly since I have a Win 98 and XP rig, would find this to be fun for a PCEm specific build.