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

Re: Creating Apple /// boot disks using MacADT



jjj wrote:

> On 2008-01-19 02:17:36 -0800, "Michael J. Mahon" <mjmahon@aol.com> said:
> 
>> It's easy enough to look at block 1 and be sure...
> 
> OK I looked, and sure enough block 1 is totally empty. I took some
> screenshots. (See attached.)
> 
> Block Image 1.jpg = Block: $0000 of working ProDOS disk.
> Block Image 2.jpg = Block: $0001 of working ProDOS disk.
> Block Image 3.jpg = Block: $0001 of apparently non-working Apple ///
> System Utils disk.
> Block Image 4.jpg = Block: $0000 of apparently non-working Apple ///
> System Utils disk.
> 
> I noticed that Block $0000 of the Apple /// disk matches Block $0001 of
> the ProDOS disk, but Block  $0001 of the Apple /// disk is blank.
> 
> Should I copy Block $0000 to Block $0001 on the Apple /// disk, then?
> If so then how do I do that?
> 
> Also I took a look at my write head, and cleaned it, on the Apple ///.
> I pulled the motherboard and checked all the chips. None are unseated,
> and the drive seems quite clean. So I think it must be something in
> this boot block stuff actually. Hopefully.

Here is some of the boot code from the Apple III ROM.  It sure looks like it
is trying to read block 0 to me:

00f6a1: a2 01        BOOT         ldx  #$1      ; read
00f6a3: 86 87                     stx  IBCMD
00f6a5: ca                        dex
00f6a6: 86 85                     stx  IBBUFP
00f6a8: a9 a0                     lda  #$a0
00f6aa: 85 86                     sta  IBBUFP+1  ; read block to $a000-a1ff
00f6ac: 4a                        lsr
00f6ad: 85 91                     sta  PREVTRK
00f6af: 8a                        txa
00f6b0: 20 79 f4                  jsr  BLOCKIO   ; I/O for block in X, A
00f6b3: 90 0a                     bcc  GOBOOT    ; no error
00f6b5: a2 1c                     ldx  #$1c
00f6b7: 20 38 f7                  jsr  STRWT
00f6ba: 20 0f fd                  jsr  KEYIN
00f6bd: b0 e2                     bcs  BOOT
00f6bf: 4c 00 a0     GOBOOT       jmp  ha000

I also cannot see any way that it would try to read block 1.


-- 
--  Jerry