Page 1 of 2

jr-IDE BIOS updates

PostPosted: Sun Apr 22, 2012 7:56 pm
by Brutman
I did a little hacking tonight and fixed two known problems:

  • You can use cartridge basic now
  • Moved the reserved area fields up into the address space of the new card to avoid possible conflicts with BASIC and interrupt vectors

I did some light testing on my machine - it did not turn into a doorstop.

Download it from here:

In an attempt to get back into gear and get this more "production" quality I'm going to keep making small updates. Do not feel compelled to run every one ... Eventually Jeff gets to review it and then I'll share the source code.


Re: jr-IDE BIOS updates

PostPosted: Wed Aug 29, 2012 8:38 pm
by Brutman
Another small but fun update ...

  • 736K! The BIOS will still count to 640K, but because it is a high quality product I know there is more on board. ;) The jrIDE BIOS will set the amount of expansion memory so that a full 736K is reported. The video buffer will still consume some just as it always has, but now you have another 96KB to play with.
  • If there is no hard drive or floppy diskette found you can get to BASIC by using the menu. (This previously did not work.) In the future I will make that automatic.

Right now there are two known bugs I'm going to work on, both related to the boot menu. Selecting BASIC doesn't work. And it won't go to BASIC automatically if nothing else is found. Look for those fixes next time.

The new BIOS can be found at

Re: jr-IDE BIOS updates

PostPosted: Thu Aug 30, 2012 4:41 am
by Vorticon
Mike, how to you get the BIOS to the eprom short of burning a new chip? Is there a way to flash the eprom straight from the Jr? I don't have a burner unfortunately...

Re: jr-IDE BIOS updates

PostPosted: Thu Aug 30, 2012 5:55 am
by Brutman
The flash program is included right in the zip file. There are no instructions yet.

  • First, erase the flash: "flash erase"
  • Reboot immediately after flashing.
  • Next, boot from floppy and run the flash program using the included oprom.bin file
  • After a successful flash, a cold boot is required. Otherwise it looks like the ROM is in memory twice.

This process can be made "prettier", but for right now it works ...


Re: jr-IDE BIOS updates

PostPosted: Thu Aug 30, 2012 9:18 pm
by Vorticon
Got it. It took me a few tries before I figured that I needed a 0000 offset.
The command sequence then is:

then do a cold boot

I almost forgot to save the FLASH2.EXE and OPROM.BIN files to floppy before erasing the BIOS. This would have been a thorny problem as I would not have had any easy way to run these files if they were residing on the hard drive after I erased the BIOS!

Re: jr-IDE BIOS updates

PostPosted: Thu Aug 30, 2012 9:22 pm
by Eric
That would have sucked pretty hard. :|

Good thing you didn't.

Re: jr-IDE BIOS updates

PostPosted: Tue Oct 16, 2012 8:53 pm
by Hargle
Can the DOS 5.0 patch be done in the BIOS? Does it impact other DOS versions or any downside to doing it even if I booted DOS 2.1 for example?
I only say that because my patched 5.0 disk doesn't boot on other machines, and it would be nice to have it only applied on the machine where it needs to be done on.
(augmenting the patch to check the machine type would also not be difficult if I have to continue doing it on the diskette)

Re: jr-IDE BIOS updates

PostPosted: Wed Oct 17, 2012 6:19 am
by Brutman
The DOS 5 patch (and DOS 6.x, ...) tells the machine to lie about how much contiguous memory is available for DOS. It does it by setting the one BIOS memory area that holds the amount of contiguous memory is available for DOS to the same value as the total expansion memory.

Making the BIOS do that would let you boot an unmodified DOS 5 on the machine, assuming you still had the stacks 0,0 line in config sys. But you still have that hole where the video buffer is at 112K, so the lying part makes me uncomfortable. You still need a bootable device driver like jrConfig to move the video memory, and that makes the diskette not bootable on a standard machine too.

The patch really belongs in the boot sector of any diskette or media you are going to boot ... The Racore expansion units were able to do it in hardware, but they also had the code to move (and neuter) the video memory. If the BIOS were to move the video memory then it would be acceptable to do both in hardware, but moving the video memory also potentially limits the machine unless we just make the video buffer a fixed 32K. (It could be grown much bigger than that, but I doubt anything ever set more than 64K.)

Re: jr-IDE BIOS updates

PostPosted: Mon Nov 12, 2012 10:04 pm
by Brutman
I've posted a new BIOS. It can be found at:

Changes for this version:

  • If booting from the floppy and booting from the hard drive fails it goes to BASIC (like a normal machine)
  • Using the boot menu and telling it to go to BASIC actually works regardless of whether the hard drive is found or not.
  • The POST display gets turned off as soon as the jrIDE BIOS starts running. There is no need to have it on and it's just generating heat.

Some cartridge games (Demon Attack) are going to run as soon as the ROM area scan finds the cartridge. Other cartridges (BASIC, Mine Shaft, etc.) can be selected now by telling the machine to go to ROM BASIC. (Those cartridges hook int 18 so instead of going to ROM BASIC they take over instead.) This ability was previously broken ...


Re: jr-IDE BIOS updates

PostPosted: Tue Nov 13, 2012 7:37 am
by Tempest
Thanks. Now I can play Mineshaft again!