[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference 7.286::atarist

Title:Atari ST, TT, & Falcon
Notice:Please read note 1.0 and its replies before posting!
Moderator:FUNYET::ANDERSON
Created:Mon Apr 04 1988
Last Modified:Tue May 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1433
Total number of notes:10312

412.0. "boot from double sided disk?" by BERN01::RUGGIERO () Mon Mar 06 1989 07:41

Hi all

for some hacker's reasons I want to load the TOS from disk into ram.
I have a single sided boot disk that does it well. But it would be nice
to boot from a double sided disk. How can I make the bootsector of this 
disk 'to do what it should'?

thanks
---markus--- 
T.RTitleUserPersonal
Name
DateLines
412.1A general direction to follow.PRNSYS::LOMICKAJJeff LomickaMon Mar 06 1989 11:3312
It's possible, but requires a little hacksperstise (that's "hacker" and
"expertise" lumped into one word, I made it up.)

What you need to do is write a "boot block" on the new disk using RWABS
that has the double-sided numbers for the disk size and configuration,
but the boot information from the single sided, disk, plus a correct
checksum of $1234.  I've never actually done this sort of thing.  Books
that describe the Atari disk formats (Abacus inside ST disks, for
example) would help you along.

I can generate more details if you need them.

412.2here's how I finally did itBERN01::RUGGIEROTue Mar 07 1989 03:2831
Thanks for your quick answer.

I found a way to do it. For those who will run into this problem too I'll
post the procedure I finally used here.

You need : a diskeditor that allows you to access individual sectors and 
           modify them
           a little program that calculates the correct checksum (or you can
           do it by hand: just add wordwise, not by byte!)
           
do it as follows:
           look at the ss disk bootsector: the bytes # $08-$16 (plus/minus
           one or two bytes) contain the diskformat information (sectorcount
           trackcount etc). Compare them to the values from a ds disk.
           now format a ds disk.
           read the bootsector from your ss disk, replace this disk by the
           ds disk and save the bootsector.
           patch the appropriate diskinfo bytes to the values they should 
           have on a ds disk (you know them from your freshly formatted
           ds disk, don't you?)
           adjust the last two bytes in this newly created ds bootsector
           to give an overall checksum of $1234.

Now you should have a double sided disk with an executable bootsector. Copy
your TOS.IMG (or whatever you want to be loaded at boottime) to it and boot.

---markus---

ps there is a German book 'Scheibenkleister'. It tells you all about disks and
   has the whole bunch of demos as on a source disk coming with the book. 
   There I found a pascal prog that adjusts the checksum!