[abc80] Assembler -> BAC program?

Andreas Gustafsson andreas.gustafsson at gmail.com
Tors Juni 26 08:41:48 PDT 2014


Jag lyckades skapa basic-raden som kör CALL() på rätt startadress, så nu
kan jag autostarta mina program bara genom att köra "RUN FIL.BAC"
Här är koden om någon är intresserad:

rownr är BASIC-radens nummer, call_addr addressen som ska invokas.

      block[pos++]=0x10;
      block[pos++]=rownr&255;
      block[pos++]=rownr>>8;
      block[pos++]=0x83;
      block[pos++]=0xc1;
      block[pos++]=0xf1;
      block[pos++]=0x41;
      block[pos++]=0xff;
      block[pos++]=0xff;
      block[pos++]=0xc7;
      block[pos++]=call_addr&255;
      block[pos++]=call_addr>>8;
      block[pos++]=0xce;
      block[pos++]=0x3a;
      block[pos++]=0xb7;
      block[pos++]=0x0d;

Så nu kan min "BIN2BAC" generera autostartande .BAC-filer, fast den
använder fortfarande POKE-metoden, så mina binärer kan max vara lite över
5kb.

Har försökt studera koden som hpa postade, men perl är verkligen inte min
hemmabana, så jag har lite svårt att se vad det gör.

/Andreas

2014-06-11 6:21 GMT+02:00 H. Peter Anvin <hpa at zytor.com>:

> On 06/10/2014 08:43 PM, H. Peter Anvin wrote:
> > Här är min variant.  Den hanterar korrekt att ladda ett program på samma
> > adress som BOFA, men ännu är den absolutadresserad.
> >
> > Att ladda ett program på adress BOFA med relokeringar vore inte så
> > mycket svårare så länge man har en assemblator som kan generera dem.
> >
> >
> http://git.zytor.com/?p=fpga/abc80/abc80.git;a=blob;f=data/bin2bac.pl;hb=HEAD
> >
>
> Och för de intresserade... detta är assemblysnutten som läggs i slutet
> av programmet (i slutet så att det inte blir överskrivet):
>
>
> http://git.zytor.com/?p=fpga/abc80/abc80.git;a=blob;f=data/bacldr.asm;hb=HEAD
>
>         -hpa
>
>
>


More information about the ABC80 mailing list