Image Map Image Map
Page 2 of 38 FirstFirst 12345612 ... LastLast
Results 11 to 20 of 372

Thread: XTIDE Universal BIOS

  1. #11

    Default

    I've finally completed configuration program for XTIDE Universal BIOS. It has build-in flash utility so flash.com will no longer be needed. I'll release configuration program with XTIDE Univeral BIOS beta3. That should take maybe two weeks.

    I have found some bugs on beta2:
    • Slave drives are not detected without Master
    • XTIDE Univeral BIOS does not work when system has hard disks controlled by some other BIOSes

  2. #12
    Join Date
    Jul 2008
    Location
    Amsterdam, the Netherlands
    Posts
    324

    Default

    Excellent work, aitotat!

    I'm particularly happy about the improved XT+ version for V20/V30 systems. It's so awesome to see the additional abilities of these CPUs being put to good use for improved disk I/O performance.

    I have a suggestion, though: with all these releases, beta versions, special hardware-specific versions, and so on, wouldn't it be easier both for you and for us if you checked the code into an SCM repository (such as Subversion or Git), perhaps in a public repository such as SourceForge or Google Code?

  3. #13

    Default

    I think that i'm going to release few beta versions before publicly releasing sources. I'll release sources on SourceForge or Google Code when BIOS has been tested to be stable enough. What open source license would be the best for this kind of project?

    I was ready to release beta3 since it works nicely on my 286 (no more conflicts with other HD bioses). I decided to do a quick test with Tandy 1000 SX and it froze during drive detection.

    I changed timeouts to use system timer and probably Tandy BIOS hasn't initialized system timer when it starts to search ROMs. It seems that ROM initialization routines just can't rely any hardware to be initialized or BIOS functions to be usable.

  4. #14
    Join Date
    Nov 2007
    Location
    minneapolis, MN
    Posts
    1,334

    Default

    I changed timeouts to use system timer and probably Tandy BIOS hasn't initialized system timer when it starts to search ROMs. It seems that ROM initialization routines just can't rely any hardware to be initialized or BIOS functions to be usable.
    yep, there's all kinds of hurdles like that, and it's different from machine to machine. I found that my z8088 was able to accept keyboard input during rom scan/init, but not my XT machine. Lots of junk like this will come up, but we'll get through it and this BIOS will be spectacular.

  5. #15

    Default

    very cool. something i was thinking about earlier tonight involving the XT IDE BIOS was to hijack the ROM's BIOS briefly when the PC's BIOS runs it to jump to a small bit of code i'd place after all the normal XTIDE BIOS code that fills in the BIOS data area in RAM with the parameters of a 1.44 MB floppy drive. then it would return back to the normal code for execution.

    that way, it would be possible to load MS-DOS on something other than a 360 KB disk in an XT. DR-DOS works anyway because it manually probes the controller hardware (the code is all fit into the boot sector) instead of assuming it's 360 KB.

    the same procedure as what i described in the first paragraph is actually implemented in the boot procedure of a MINIX root floppy in an XT. they have a tiny program that fills out the parameter info into BIOS data RAM that runs from the first sector of a separate floppy. you boot that floppy, then pull it out and insert the regular MINIX boot disk which then works normally.

    you need a 1.44 MB disk controller card obviously, but it gets around the BIOS being ignorant of it. that'd be a pretty useful feature imo.
    My emulators!
    Fake86 8086/V20 PC emulator: http://sourceforge.net/p/fake86
    MoarNES Nintendo emulator: http://sourceforge.net/p/moarnes


  6. #16

    Default

    Quote Originally Posted by aitotat View Post
    I've finally completed configuration program for XTIDE Universal BIOS. It has build-in flash utility so flash.com will no longer be needed. I'll release configuration program with XTIDE Univeral BIOS beta3. That should take maybe two weeks.

    I have found some bugs on beta2:
    • Slave drives are not detected without Master
    • XTIDE Univeral BIOS does not work when system has hard disks controlled by some other BIOSes
    aitotat: thanks for the hard work on this. some pretty nice improvements it looks like. lots of stuff i'd have love to do myself if i had a little better knowledge of assembly.

    i'm going to try your latest beta. dude if you get el torito cd-rom booting work, i want to have your children. even though it won't do anything else, it would give me a chuckle to boot an XP CD-ROM and at least see "the setup is analyzing your hardware configuration" message on a 25 year old computer... before it locks up.
    My emulators!
    Fake86 8086/V20 PC emulator: http://sourceforge.net/p/fake86
    MoarNES Nintendo emulator: http://sourceforge.net/p/moarnes


  7. #17

    Default

    Quote Originally Posted by Mike Chambers View Post
    aitotat: thanks for the hard work on this. some pretty nice improvements it looks like. lots of stuff i'd have love to do myself if i had a little better knowledge of assembly.

    i'm going to try your latest beta. dude if you get el torito cd-rom booting work, i want to have your children. even though it won't do anything else, it would give me a chuckle to boot an XP CD-ROM and at least see "the setup is analyzing your hardware configuration" message on a 25 year old computer... before it locks up.


    EDIT: another idea i've been kicking around is looking into embedding a minimal FreeDOS that could be used as an alternate boot option. kinda like the way the tandy 1000hx embedded DOS 2.11. beat that boot time, vista.
    My emulators!
    Fake86 8086/V20 PC emulator: http://sourceforge.net/p/fake86
    MoarNES Nintendo emulator: http://sourceforge.net/p/moarnes


  8. #18

    Default

    Beta3 is finally released!

    Here are the changes since beta2:
    • BIOS configuration and flashing program finally available
    • No more conflicts with other hard disk BIOSes
    • Slave drives should now be detected without master
    • Timeouts now use system timer
    • Variables can now be located to top of base memory
    • Completely rewritten interrupt handling
    • Minor optimizations to 8-bit transfers
    • CTRL can be held down to skip initialization
    • Late initialization to fix compatibility issues with old systems


    Configuration program is a bit slow on XT systems. It uses BIOS functions to print single character at a time. I need to rewrite my print library functions sometime to speed things and to support colors. EEPROM Software Data Protection is enabled by default since new XTIDE cards should come with Atmel EEPROMs. Disable SDP if you have SEEQ EEPROM. SEEQ does not support SDP so data verify fails when SDP is enabled. It is safe to use larger page sizes for faster flashing. 7.16MHz V20 is fast enough for 4-byte pages but not larger. 16MHz 286 easily handles 64-byte pages (largest possible). SEEQ does not support 64-byte pages (32-byte works fine).

    BIOS variables can now be located to top of base RAM and it is the default setting. It will steal 1kB of base RAM but it ensures that nothing accidentally corrupts BIOS variables. Top of interrupt vectors (30:0h) can be used if necessary. All Tandy 1000 models with 640kB or less RAM require that top of interrupt vectors are used.

    Late initialization is how i fixed the Tandy problem i mentioned in my last post. Late initialization detects drives when main BIOS calls boot loader (int 19h). This will ensure that all main BIOS functions are available. Late initialization is default on XT builds while AT build defaults to early initialization.

    Edit:
    I almost forgot: Initialization can be skipped by holding CTRL down. This is useful if something goes wrong and the system won't boot otherwise. XTIDE Universal BIOS boot loader is always installed when late initialization is used. CTRL will skip all the rest (drive detection, int 13h revectoring etc) but XTIDE Universal BIOS boot loader is still used for booting.
    Last edited by aitotat; December 17th, 2009 at 10:28 AM. Reason: Forgot that CTRL skips initialization

  9. #19

    Default

    Quote Originally Posted by Mike Chambers View Post
    that way, it would be possible to load MS-DOS on something other than a 360 KB disk in an XT.
    If i understood correctly, the only thing you want is to replace 360kB Diskette Parameter Table with other disk type? HD support would require HD controller, HD drive and HD BIOS so the only useful thing i could do is to force BIOS to report 720kB drive correctly.

    Is that what you mean? It should be easy and DOS should then be able to format 3.5" DD diskettes as 720kB and not 360kB.

  10. #20

    Default

    Finally had some time to test microdrives. I tested following microdrives with XTIDE Universal BIOS beta3:
    Hitachi, 6 GB (model: HMS360606D5CF00)
    Seagate ST1.2 Drive, 4 GB (model: ST64022CF)
    Magicstor, 4 GB (model: GS10040A-11 47)

    Hitachi and Seagate work fine, just like any CF card or hard disk.

    Magicstor does not work properly for some reason. I can create partitions and format them. Formatting is a lot slower than with Hitachi or Seagate. Booting does not work with Magicstor. Boot sector is found but system freezes before any DOS strings. Same thing happens on a 486 with Award BIOS and large drive support. This means that there is something odd about Magicstor drive itself. It does work fine with a CF-to-USB adapter that i have.

    Microdrives seem to be good drives as long as you avoid Macigstor drives. Microdrives are silent, have good transfer rates (they are faster than ISA can handle) and there is no write limit like on CF cards. CF cards have much better seek times since microdrives are real hard disks. Microdrives are a lot cheaper than CF cards with same capacity. There are lots of cheap microdrives on ebay: 2.5 to 6 GB models cost 8 to 13 USD with shipping.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •