Code: Select all
BOOTLOADER = $00
*=$FFC0
RESETROUTINE0
LDX #$00 ; Init byte storing index
LDA #$01 ; Init bit counting
BNE *
IRQROUTINE0
CLC
ROL
BCC FINISH
STA BOOTLOADER, X ; Finish one byte of transfer
INX
FINISH0
RTI
*=$FFDA
.word BOOTLOADER
.word RESETROUTINE
.word IRQROUTINE
*=$FFE0
RESETROUTINE
LDX #$00 ; Init byte storing index
LDA #$01 ; Init bit counting
BNE *
IRQROUTINE
SEC
ROL
BCC FINISH
STA BOOTLOADER, X ; Finish one byte of transfer
INX
FINISH
RTI
*=$FFFA
.word BOOTLOADER
.word RESETROUTINE
.word IRQROUTINE
Code: Select all
64tass -c -b bootloader.asm -o bootloader.bin
hexdump -e '"[%02.2_ax] => "' -e '1/1 "<h<%02X;" "\n"' -v bootloader.bin
Code: Select all
Name bootloader ;
PartNo 00 ;
Date 26.07.2015 ;
Revision 01 ;
Designer cbscpe ;
Company none;
Assembly None ;
Location ;
Device g16v8;
/* *************** INPUT PINS *********************/
PIN 2 = A0 ; /* */
PIN 3 = A1 ; /* */
PIN 4 = A2 ; /* */
PIN 5 = A3 ; /* */
PIN 6 = A4 ; /* */
PIN 7 = A5 ; /* */
PIN 11 = !OE ; /* */
/* *************** OUTPUT PINS *********************/
PIN 12 = D0 ; /* */
PIN 13 = D1 ; /* */
PIN 14 = D2 ; /* */
PIN 15 = D3 ; /* */
PIN 16 = D4 ; /* */
PIN 17 = D5 ; /* */
PIN 18 = D6 ; /* */
PIN 19 = D7 ; /* */
FIELD ADDR = [A5..0];
FIELD DATA = [D7..0];
[D7..0].oe = OE;
TABLE ADDR => DATA {
[00] => 'h'A2;
[01] => 'h'00;
[02] => 'h'A9;
[03] => 'h'01;
[04] => 'h'D0;
[05] => 'h'FE;
[06] => 'h'18;
[07] => 'h'2A;
[08] => 'h'90;
[09] => 'h'23;
[0a] => 'h'95;
[0b] => 'h'00;
[0c] => 'h'E8;
[0d] => 'h'40;
[0e] => 'h'00;
[0f] => 'h'00;
[10] => 'h'00;
[11] => 'h'00;
[12] => 'h'00;
[13] => 'h'00;
[14] => 'h'00;
[15] => 'h'00;
[16] => 'h'00;
[17] => 'h'00;
[18] => 'h'00;
[19] => 'h'00;
[1a] => 'h'00;
[1b] => 'h'00;
[1c] => 'h'E0;
[1d] => 'h'FF;
[1e] => 'h'E6;
[1f] => 'h'FF;
[20] => 'h'A2;
[21] => 'h'00;
[22] => 'h'A9;
[23] => 'h'01;
[24] => 'h'D0;
[25] => 'h'FE;
[26] => 'h'38;
[27] => 'h'2A;
[28] => 'h'90;
[29] => 'h'03;
[2a] => 'h'95;
[2b] => 'h'00;
[2c] => 'h'E8;
[2d] => 'h'40;
[2e] => 'h'00;
[2f] => 'h'00;
[30] => 'h'00;
[31] => 'h'00;
[32] => 'h'00;
[33] => 'h'00;
[34] => 'h'00;
[35] => 'h'00;
[36] => 'h'00;
[37] => 'h'00;
[38] => 'h'00;
[39] => 'h'00;
[3a] => 'h'00;
[3b] => 'h'00;
[3c] => 'h'E0;
[3d] => 'h'FF;
[3e] => 'h'E6;
[3f] => 'h'FF;
}
Cheers
Peter