[Coco] Assembly .BIN -> .CCC/.ROM = SOLVED!

Chad H chadbh74 at hotmail.com
Thu Sep 4 19:07:09 EDT 2014


I have no intention of ever relocating the assembly code.  The FCB 255 just marks for me in the compiled .CCC file where I need to start merging in the .BIN file.  The FF is overwritten by the first byte of the .BIN.

This is a 'bootloader' for .BIN files. The code and .BIN are merged then flashed to rompak.  It performs a kind of LOADM:EXEC on boot.

On Sep 4, 2014 3:22 PM, Tormod Volden <lists.tormod at gmail.com> wrote:
On Thu, Sep 4, 2014 at 4:31 PM, Johann Klasek wrote:
> Putting altogether:
>
>         org     49152           CoCo and compatibles map in ROM Paks here
>
>         * LOADER
> BININ   LDX     #BINLOD         INIT XFER DATA ADDRESS OFFSET
> CHKBLK  LDA     ,X+             GET BLOCK TYPE BYTE (00 = PREAMBLE, 255=POSTAMBLE)
>         BNE     ENDBIN          IF <>0 THEN MUST BE END OF .BIN DATA (POSTAMBLE)
>         LDY     ,X++            GET BLOCK LENGTH(Y)
>         LDU     ,X++            GET BLOCK START ADDRESS(U)
> XFER    LDA     ,X+             GET SOURCE BYTE(A) FROM X
>         STA     ,U+             PUT BYTE(A) AT U
>         LEAY    -1,Y            MOVED BLOCK?
>         BNE     XFER            NO
>         BRA     CHKBLK          CHECK NEXT BLOCK
> ENDBIN  JMP     [2,X]           SKIP BLOCK LENGTH (0000)
>                                 AND JUMP TO EXECUTION ADDRESS
> BINLOD  FCB     255
>
>
> Anything wrong with this?

Why the FCB at the end, anyway?

If you want to keep it relocatable you should use LEAX BINLOAD,PCR

Tormod

--
Coco mailing list
Coco at maltedmedia.com
http://five.pairlist.net/mailman/listinfo/coco


More information about the Coco mailing list