Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > alt.os.development > #8258

Re: BootProg released

From "James Harris" <james.harris.1@gmail.com>
Newsgroups alt.os.development
Subject Re: BootProg released
Date 2015-07-01 11:02 +0100
Organization A noiseless patient Spider
Message-ID <mn0don$1ac$1@dont-email.me> (permalink)
References <8029ab57-0054-4410-aba8-d5189f025db7@googlegroups.com> <mm91hr$4lg$1@dont-email.me> <ca5622b0-3742-49d5-a136-a6af5b808d9c@googlegroups.com>

Show all headers | View raw


"Alexei A. Frounze" <alexfrunews@gmail.com> wrote in message 
news:ca5622b0-3742-49d5-a136-a6af5b808d9c@googlegroups.com...
> On Monday, June 22, 2015 at 6:12:45 AM UTC-7, James Harris wrote:
>> "Alexei A. Frounze" <...@gmail.com> wrote in message
>> news:8029ab57-0054-4410-aba8-d5189f025db7@googlegroups.com...
>>
>> ...
>>
>> What CPU does your code require? And what does it report if booted on 
>> an
>> older CPU? You know my preferences on this. ;-)
>
> Jim Leonard (the author of the 8088 Corruption, 8088 Domination and
> 8088 MPH) has recently expressed interest in making an 8086/8088 
> version
> and it looks like the FAT12 variant can be made 8086/8088-compatible
> (perhaps, with a few minor features removed). :)

I have looked up Jim Leonard's work that you mentioned. I had heard the 
name but was not familiar with it before. Very impressive!

My own fat boot sector is pure 8086 code. As it is intended for starting 
an OS I made a number of choices for reliability:

* It carries out quite a lot of checks of diskette geometry before it 
starts - e.g. to ensure that the values are such that mutlibyte 
arithmetic won't overflow.

* It sticks to 8086 code so that it cannot simply fail without issuing 
an explanation as to why it has failed.

* It prints progress info largely so that if something goes wrong (bad 
sector, file not found, bad disk setup) the user can see where the error 
occurred.

As OS developers often like to do things themselves I chose to have the 
boot sector do nothing more than load the next file. The loaded file 
starts with there having been no mode changes, no A20 changes, and no 
checks carried out other than those which were necessary to ensure that 
the load completes or reports. The loaded file is effectively just 
another boot 'sector' but larger.

Things I would like to add if I can make space:

* Further reports, especially retries of reads so the user can see if a 
read fails once or twice and then works.

* Move code so that the loaded file can start at 0x7c00.

* Read the graphics card current page rather than just forcing it to 
zero.

Given your comments about FAT32 needing most space I may wait until I 
have a FAT32 version working before I try to add any extras, so that all 
three versions can be the same.

James

Back to alt.os.development | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

BootProg released "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-06-21 22:52 -0700
  Re: BootProg released "James Harris" <james.harris.1@gmail.com> - 2015-06-22 14:12 +0100
    The BIOS Drive ID urban legend "Mike Gonta" <mikegonta@gmail.com> - 2015-06-24 17:49 -0400
      Re: The BIOS Drive ID urban legend (was: BootProg released) "James Harris" <james.harris.1@gmail.com> - 2015-07-01 10:44 +0100
    Re: BootProg released "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-06-25 21:08 -0700
      Re: BootProg released "James Harris" <james.harris.1@gmail.com> - 2015-07-01 11:02 +0100
        Re: BootProg released "Alexei A. Frounze" <alexfrunews@gmail.com> - 2015-07-04 05:18 -0700
        Re: BootProg released "Kerr Mudd-John" <admin@127.0.0.1> - 2015-07-05 19:11 +0100
          Re: BootProg released "Kerr Mudd-John" <admin@127.0.0.1> - 2015-07-06 10:52 +0100
            Re: BootProg released "James Harris" <james.harris.1@gmail.com> - 2015-07-06 21:42 +0100

csiph-web