WLA is giving me issues..
I was hoping it would handle the different architectures in 1 exe but it doesn't, but it has a linker so I guessed it would be ok, it might still be just the docs are very limited.
Basically the first challenge was getting a RAM system to work with its banking system, but I think I have that working... However the linker seems to make a file that is at least 8K in size... Does it do min(8K) or does it always make it a multiple of 8K? If multiple can you stop it?
You also seem to have to specify a numeric address for an ORG.
So I can't do ORG SomeLabel where SomeLabel is defined in another file...
What I need to do is make 2 files. both of which assemble data at exact locations in RAM(and when I say RAM I mean RAM ) Where the 2nd file is positioned at a memory location as determined by the first file. Such that when they are linked the 2nd file is adjusted to be directly after the first.
Currently I have this code.
File A
I was hoping it would handle the different architectures in 1 exe but it doesn't, but it has a linker so I guessed it would be ok, it might still be just the docs are very limited.
Basically the first challenge was getting a RAM system to work with its banking system, but I think I have that working... However the linker seems to make a file that is at least 8K in size... Does it do min(8K) or does it always make it a multiple of 8K? If multiple can you stop it?
You also seem to have to specify a numeric address for an ORG.
So I can't do ORG SomeLabel where SomeLabel is defined in another file...
What I need to do is make 2 files. both of which assemble data at exact locations in RAM(and when I say RAM I mean RAM ) Where the 2nd file is positioned at a memory location as determined by the first file. Such that when they are linked the 2nd file is adjusted to be directly after the first.
Currently I have this code.
File A
Code:
.MEMORYMAP
DEFAULTSLOT 0
SLOTSIZE $10000
SLOT 0 $0000
.ENDME
.ROMBANKMAP
BANKSTOTAL 2
BANKSIZE $10000
BANKS 2
.ENDRO
.BANK 0 SLOT 0
.ORG $1c00 ; start of 128 BASIC
.SECTION "CPU_8500" FORCE
; 10 sys 7184
.DB $00,$0C,$1C,$0A,$00,$9E,$20,$37,$31,$38,$34,$00,$00,$00,$00,$00
; ORG $1c10
se
lda #$BE
sta $FF00
lda #195
sta $ffee
lda #<Z80Start
sta $ffef
lda #>Z80Start
sta $fff0
lda #$b0
sta $d505
nop
inc $d020
- jmp -
Z80Start
.ENDS
and File BDEFAULTSLOT 0
SLOTSIZE $10000
SLOT 0 $0000
.ENDME
.ROMBANKMAP
BANKSTOTAL 2
BANKSIZE $10000
BANKS 2
.ENDRO
.BANK 0 SLOT 0
.ORG $1c00 ; start of 128 BASIC
.SECTION "CPU_8500" FORCE
; 10 sys 7184
.DB $00,$0C,$1C,$0A,$00,$9E,$20,$37,$31,$38,$34,$00,$00,$00,$00,$00
; ORG $1c10
se
lda #$BE
sta $FF00
lda #195
sta $ffee
lda #<Z80Start
sta $ffef
lda #>Z80Start
sta $fff0
lda #$b0
sta $d505
nop
inc $d020
- jmp -
Z80Start
.ENDS
Code:
.MEMORYMAP
DEFAULTSLOT 0
SLOTSIZE $10000
SLOT 0 $0000
.ENDME
.ROMBANKMAP
BANKSTOTAL 2
BANKSIZE $10000
BANKS 2
.ENDRO
.BANK 0 SLOT 0
.ORG Z80Start
.SECTION "CPU_Z80" FORCE
ld a,0
ld bc,$d020
out (c),a
inc bc
out (c),a
ld hl,messagetxt
ld de,$0400
ld bc,#20
ldir
- jp -
messagetxt .asc "hello world z80 here"
.ENDS
DEFAULTSLOT 0
SLOTSIZE $10000
SLOT 0 $0000
.ENDME
.ROMBANKMAP
BANKSTOTAL 2
BANKSIZE $10000
BANKS 2
.ENDRO
.BANK 0 SLOT 0
.ORG Z80Start
.SECTION "CPU_Z80" FORCE
ld a,0
ld bc,$d020
out (c),a
inc bc
out (c),a
ld hl,messagetxt
ld de,$0400
ld bc,#20
ldir
- jp -
messagetxt .asc "hello world z80 here"
.ENDS