Shop OBEX P1 Docs P2 Docs Learn Events
PNut/Spin2 Latest Version (v51 - New POW, LOG2, EXP2, LOG10, EXP10, LOG, EXP floating-point ops) - Page 76 — Parallax Forums

PNut/Spin2 Latest Version (v51 - New POW, LOG2, EXP2, LOG10, EXP10, LOG, EXP floating-point ops)

1707172737476»

Comments

  • RaymanRayman Posts: 15,492
    edited 2025-08-18 22:19

    Said flash loader could also attempt to load from uSD, if desired, right?
    Could be useful if uSD is on different pins and/or has a power switch.

    Also, could maybe do something fancy like look for a backup boot file if the first one is missing...

    Also, guess this could allow for long file names and directories...

    4-pin uSD booting should be faster. Wonder if that'd make a difference...

  • Wuerfel_21Wuerfel_21 Posts: 5,455
    edited 2025-08-18 22:38

    @Rayman said:
    Said flash loader could also attempt to load from uSD, if desired, right?
    Could be useful if uSD is on different pins and/or has a power switch.

    Only if you can figure out how to hot-patch the SD boot code to do that - a full SD driver is probably too heavy for the 1024 bytes of bootloader space - just use the stock flash bootloader and then make the SD loader be the payload of that.

    @Rayman said:
    4-pin uSD booting should be faster. Wonder if that'd make a difference...

    You can make the SD boot A LOT faster as-is by making _BOOT_P2.BIX a tiny stub that sets the clock, patches some stuff in the ROM code and then pivots into a different boot file. I had one like that:

    CON _CLKFREQ = 300_000_000
    DAT
                  org 0
                  asmclk
                  '' Patch pullup check
                  wrlong #0,##$fc5b4 ' not sure why it fails but ok
                  '' Move filename into place
                  mov $1DC,name+0
                  mov $1DD,name+1
                  mov $1DE,name+2
                  drvh #38 ' Set LED
                  call #$fc578
                  drvl #38 ' Clear LED if fail
                  jmp #$
    
    name          byte "LOADTEST","BIX",0
    

    (as seen, this tries to load LOADTEST.BIX - also note the Pin 38 LED, change or remove that if necessary)
    Booting a large ~400K executable is a lot faster like that.

    You can also compress the executable you're booting. Flexspin and SpinTools have this option built-in, I also made a standalone version

  • I can confirm this is a "me" problem. I am unsure why it does not boot properly, but I will figure it out. A simple program booted correctly from SD.

Sign In or Register to comment.