Open WifiRouterYT opened 8 months ago
Tried booting from floppy disk and USB stick, same results.
This demo uses 800x600 16 color VESA graphics mode and it looks like it has failed to change to it https://github.com/maniekx86/stillalive-os/blob/754a747ffbf8eae7bba378accaefd36569319684/main.c#L285 Can you provide information about the hardware you have tested it on (specs)?
I tested it on a Intel Core Duo (or similar), an 8th gen i3, an i5-11500 with an rtx 3060ti, and AMD GX-217GA SOC (HP ThinClient T620) w/ AMD Radeon HD 8280E. RAM varied from 3GB to 64GB, if GPU isn't specified it's integrated graphics
Also tested on a Panasonic Toughbook CF-27, do not remember the specs off the top of my head
Hmm, all these machines are pretty standard in terms of hardware. Not quite sure what the problem is right now. On the machines I tested - Intel 386, 486, a couple of Core Duo era laptops, my old main PC I7 3770 with GTX 750 Ti and AM3 AMD rig with GT 630 - everything worked fine. For now, I think you could try testing older releases.
Got same results on ThinkPad G40 as OP. I guess program is for older hardware. (booted from floppy)
(Pentium 4 2,8GHz, Intel Extreme Graphics II)
Confirmed this issue on one of my Lenovo PC. Gonna look into this further now.
Found the root cause of the problem - after further investigation, I found out that some of the newer hardware doesn't support 4 bit per pixel graphics modes (which this project uses, more exactly 800x600 4bpp). I am gonna try write patch for this soon.
I still working on a patch and general update. The code requires some major changes. It's not finished yet as there are still some bugs like weird small greenish font on some hardware or just white text instead of the amber colored. It somehow works in QEMU 100% with no problems... The main change is the actually using VESA graphics mode detection instead of assuming it. If it fails to find the 4bpp one, then it falls back into 16bpp. And with that some code have to be changed to work with both modes.
As mentioned, the problem is generally manufacturers dropping old standards, but how I see NVIDIA seems to have the best compatibility right now. It's just when I was making this project back then, I preferred compatibility for older machines rather than newer.
And I need some little help: I want to finish and test the code before I push changes to GitHub, and meanwhile you all could test this dev build (with the changes that were mentioned before) and report back compatibility as I don't have a lot of hardware to test right now. There are a few numbers displayed (mode number, bytes per line, bytes per pixel and mode attributes) right before the demo starts, they could help me if you could provide them with a compatibility report. Here's the dev build floppy.img.zip
Struggling with USB boot (infinitely blinking cursor of death), however booting from floppy on my Panasonic CF-27 got me the following results.
The numbers at the start:
The font is green, layout is a bit funky, the lyrics duplicate on both halves, and the ascii art overlaps itself
All I know about this machine is it has an Intel Pentium M processor @1.60GHz w/ 1.5GB RAM
Found somewhat of a solution to boot it without USB boot - boot from a USB floppy drive! Either way, here are the results I got from my HP Thinclient T620:
The numbers:
ASCII art is a little funky, and the entire layout is duplicated on both halves of the screen
End screen since I made it there (text is what it should be, thanking you for participating in this enrichment center activity):
Also noticed that some random beeps last significantly longer than others (upwards to a second), not sure if its an issue with hardware or not
Thank you. Found out that the problem is again a compatibility issue, the BIOS routines to draw characters on the screen are just broken in VESA modes on some hardware. I decided to implement the font directly into the demo instead of relying on the BIOS. Patch is almost complete, but I need more testing to make sure I didn't break anything.
Here's the second test build: floppy2.img.zip The main difference of this build is as I mentioned: built-in font, some fixes and more code to support both 4bpp and 16bpp modes.
Also I don't need VESA attributes anymore now, but I can say that 1664 bytes per line is unusual on the HP thinclient (should not affect anything?). The longer beeps I think are probably caused by BIOS printing routines that are no longer used, I have experienced this before but it should be fixed.
Works flawlessly on all my machines! apparently the Panasonic Toughbook was a CF-29, not CF-27 lol
but yeah, looks like its working fine now :D
Finally had time to push the changes to the modern_fix branch on GitHub (https://github.com/maniekx86/stillalive-os/commit/1ea72bc89a245ef4f6fac13719ef7b63980cb9ba). Gonna merge into master after a bit more testing because I don't know if I broke something (I mean mainly support for retro devices).
It looks rather funky. Tried on multiple machines of different screen resolutions and eras. Same result across all.