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

Re: SOS file system information



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.


--
Jerry    awanderin at yahoo dot ca