[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SOS file system information



Jerry wrote:
Toinet <antoine.vignau@laposte.net> writes:


To be honest, the idea is to add a SOS File System Translator for GS/
OS. Not now, not tomorrow but later. I have so many things to do
before.

But, SOS disks need to be identified. It can be with a checksum of
block 0, check some bytes in the volume directory, etc. That's why I
needed such information.

I'm a little bit lost with block 0 (ProDOS) vs block 1 (SOS) - Let's
take an example: imagine I own an Apple I!/ and I also have some
disks. Am I right to say that the boot driver loads block 0 of the
disk or are there the two blocks (ProDOS and SOS) on such disks?


On ProDOS disks with two boot blocks, 0 and 1, block zero is loaded at
$a000 on an Apple III.

The bit of code in block 0 executed on a III then loads block 1 at $a000
and uses that to bootstrap SOS.KERNEL.


00a000:                           org  $a000
00a000:                           *  Entry from Apple III ROM with carry clear
00a000: 01 38                     ora  (z38,X)    ; does nothing useful
00a002: b0 03                     bcs  ha007      ; branch never taken on Apple III, always on Apple II
00a004: 4c 32 a1                  jmp  A3Entry

00a007: ... Apple II code deleted ...

00a132:                           ************************************
00a132:                           *
00a132:                           * Apple III Boot entry point
00a132:                           *
00a132: a9 9f        A3Entry      lda  #$9f       ; push return addr $A000 onto stack
00a134: 48                        pha
00a135: a9 ff                     lda  #$ff
00a137: 48                        pha
00a138: a9 01                     lda  #$1        ; read block 1 into $A000-$A1ff and execute it
00a13a: a2 00                     ldx  #$0
00a13c: 4c 79 f4                  jmp  BLOCKIO


A disk formatted by SOS might only contain the "block 1" block, located
at block 0, and so it would only boot on an Apple III.

Thanks, Jerry, for the excellent clarification.

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."