Image Map Image Map
Results 1 to 6 of 6

Thread: Prodos and fixed disks....

  1. #1
    Join Date
    Sep 2009
    Location
    Coventry, UK
    Posts
    119

    Default Prodos and fixed disks....

    Hi there,

    I have been having a play round with a design for an SD card interface to the Apple that is accessable in prodos, details here : http://www.applefritter.com/?q=conte...rface-apple-ii

    I was having problems getting it working till I happened to try it with a 64K 80-column card from a friend's Apple (my machines where both //e machines so had 64K onboard). The SD card will only successfully boot with the extra 64K card plugged in. The odd thing is if I boot the same version of prodos from a floppy disk, it boots fine on the bare 64K machine, even if it has no 80-col card in, though it does not see the SD drive even if it's still connected.

    Is this a requirement of prodos when used with hard disks and is it documented anywhere?

    Cheers.

    Phill.

  2. #2

    Default

    Quote Originally Posted by prime View Post
    I was having problems getting it working till I happened to try it with a 64K 80-column card from a friend's Apple (my machines where both //e machines so had 64K onboard). The SD card will only successfully boot with the extra 64K card plugged in. The odd thing is if I boot the same version of prodos from a floppy disk, it boots fine on the bare 64K machine, even if it has no 80-col card in, though it does not see the SD drive even if it's still connected.
    How sure are you that it's exactly the same ProDOS version? Have you tried any other versions (especially earlier ones)? How confident are you that your boot loader code in ROM is correct and is not somehow leaving the machine in a state where the ProDOS boot loader gets confused? Where did you get the boot code that is on tracks 0/1 of your SD card - how confident are you that it is correct?

    Quote Originally Posted by prime View Post
    Is this a requirement of prodos when used with hard disks and is it documented anywhere?
    It is not. There is something else wrong, probably in the drive/interface, but it's possibly as simple as the boot loader code.
    Last edited by david__schmidt; November 22nd, 2017 at 08:14 AM.

  3. #3
    Join Date
    Sep 2009
    Location
    Coventry, UK
    Posts
    119

    Default

    Quote Originally Posted by david__schmidt View Post
    How sure are you that it's exactly the same ProDOS version? Have you tried any other versions (especially earlier ones)?
    I created the card image in ciderpress, by asking it to create a new hdd image of 32MB, and copying the prodos files accross from the 2.4.1 floppy distribution, the same one that boots OK from floppy (when copied to the apple via ADTPro).

    How confident are you that your boot loader code in ROM is correct and is not somehow leaving the machine in a state where the ProDOS boot loader gets confused?
    Well I didn't write the bootloader code, but I have reviewed the source along with the Apple / ProDos technical docs and it *SEEMS* to be reasonable but I'm no expert.

    Where did you get the boot code that is on tracks 0/1 of your SD card - how confident are you that it is correct?
    The boot code is the code that ciderpress put on there.

    It is not. There is something else wrong, probably in the drive/interface, but it's possibly as simple as the boot loader code.
    Right I'll go back and pour over the code some more see if I can spot anything.

    Cheers.

    Phill.

  4. #4
    Join Date
    Sep 2009
    Location
    Coventry, UK
    Posts
    119

    Default

    Cracked it.

    Seems to be a bug in ProDos, the boot rom was doing a JSR to $FF58 (which is an RTS in the ROM), to work out it's execution address by looking at the return address that was just beyond the stack. Problem is that when ProDos has the RAM switched into $d000-$FFFF there isn't an RTS there, unless the AUX RAM is switched in**. This is why the machine would boot with a 64K 80 col card plugged in. Modifying the boot ROM to put an RTS in low ram and call that has enabled this to boot in 64K.

    **There are even comments documenting the fact that the RTS is required in the AUX RAM, in the published ProDos 1.7 source, not sure why they didn't put an RTS there in the normal RAM too.

    Cheers.

    Phill.

  5. #5

    Default

    Quote Originally Posted by prime View Post
    **There are even comments documenting the fact that the RTS is required in the AUX RAM, in the published ProDos 1.7 source, not sure why they didn't put an RTS there in the normal RAM too.
    Nice detective work.

  6. #6
    Join Date
    Sep 2009
    Location
    Coventry, UK
    Posts
    119

    Default

    Thanks,

    Aided very much by having a 6502 in circuit emulator so I could trace what the CPU was actually executing, became blindingly obvious as it did the JSR and then didn't return, just tromped off into random Prodos code

    Anyway the ICE I was using is this : https://github.com/hoglet67/AtomBusMon/wiki/ICE-T65

    Also supports Z80 and 6809/6809E

    Cheers.

    Phill.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •