Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
MIOS: IBM 5150 BIOS Replacement Project (mtmscientific.com)
30 points by userbinator on Oct 27, 2020 | hide | past | favorite | 5 comments


That's pretty original. Then I hit this:

> The video memory is SRAM, not RAM. The SRAM on the MDA card can be used by MIOS as general-purpose memory for creating a Stack Segment (SS) and Extra Segment (ES). Using SRAM avoids the complexity and resource requirements of servicing an interrupt for memory refresh.

That's not just original its wonderfully nuts.

Reminds me of a trick in use around that time, the CGA (and EGA) adapters and the Mono/text adapters used different resource regions and you could have one of each in a system. Then the RAM on one or the other could be used by software, with possibly useful diagnostic display side effects; while the other display was used for the normal display purposes.

That was not a common trick, that guy was also soldering together 1MB RAM pack for Commodore 64's in that time frame too.


All sorts of tricks can be used. I remember using Monochrome RAM B000-BFFF in EMM386.EXE to save upper memory. Don't forget the ROM area that IBM PCJr carts use.

Commodore 64 had a lot of hacks, had a Mimic from Spartan that turned the Commodore 64 into an Apple II clone.


iirc the mimic had most of an apple II clone in the box


I don't see the point of this project. It essentially turns the IBM PC into an embedded system where the only program you can run is the one you burn into the ROM. There is little, if any, advantage to avoiding the use of interrupts. While using unused MDA memory as general purpose memory is cute, it doesn't offer any advantage since you can't reasonably disable DRAM refreshes on the PC (and still get any usable work done), so you might as well use RAM you know will be present on all PCs.

The entire point of the BIOS is so that programs could use BIOS calls and work on any PC or clone without needing to worry about the underlying hardware. Such programs still work today (if you can find a way to boot/run them) which is fairly astonishing 40 years later. The project states "The purpose of this project is to explore controlling the IBM PC hardware in non-standard ways." Okay, well, that's cute, but unless there's an advantage, why bother.

If you're going to do that, you might as well make a demoscene demo...


What's the point of not using interrupts? It's not clear from the text.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: