em00k / NextBuild

NextBuild : A suite of tools based on Boriel's ZX Basic Compiler targetting the ZX Spectrum Next
63 stars 6 forks source link

Exception in makenexcfg.py at LoadSDBank with Variables #19

Open Hans007a opened 2 years ago

Hans007a commented 2 years ago

Hello,

I will use LoadSDBank with variables for long data files and got an error 9009. Here my code (maybe not perfect, but I can't test it):

LoadBigSDBank("xxx.nxt", 95488, 40)

sub LoadBigSDBank(byval name as string, byval length as ulong, byval bank as ubyte)

    dim chunk as ulong
    dim i, part as ubyte

    part = cast(ubyte,length/8192)
    chunk = cast(ubyte,length mod 16384)
    for i = 0 to part - 1 step 2
        LoadSDBank(name,0,16384,cast(ulong,i)*16384,bank+i)
    next i
    if chunk > 0 then LoadSDBank(name,0,chunk,part*16384,bank+part) : end if

end sub

I have looked at the python script and it requires a direct variables in the procedure call. Can this be changed or I have to self use switch banks and LoadSD?

Regards

Hans

ljg701 commented 2 years ago

Hans, you will have to use LoadSD if you want a .NEX generated i think as the LoadSDBank lines Do not evaluate to constants inside python.

em00k commented 2 years ago

The intention was to allow LoadSDBank to work as a normal command if required after insertion to a NEX file (without using #DEFINE NEX) but it seems to have stopped working. As lig701 states for now if LoadSD is a suitable alternative until I have chance to take a look what has happened. Also sorry for the delay!