What are memory slots in the wla dx assembler?
Continuing from http://nesdev.com/bbs/viewtopic.php?t=383
First off, http://nesdev.com/bbs/viewtopi ... =2622#2622 does not help me at all. But I think I might have figured out what the concept means, and how utterly confusingly every presentation has been (as well as the name).
Could a slot be a means of filling several areas of memory in an interleved fashion, a way of keeping several "current position" markers for each area? If so, calling them segments would have made their use obvious (I think this is what ca-65 calls them).
For example on the NES I'd have a segment for zero-page, one for low-memory, and one for each ROM bank. Then I'd fill them in an interleved fashion:
Continuing from http://nesdev.com/bbs/viewtopic.php?t=383
First off, http://nesdev.com/bbs/viewtopi ... =2622#2622 does not help me at all. But I think I might have figured out what the concept means, and how utterly confusingly every presentation has been (as well as the name).
Could a slot be a means of filling several areas of memory in an interleved fashion, a way of keeping several "current position" markers for each area? If so, calling them segments would have made their use obvious (I think this is what ca-65 calls them).
For example on the NES I'd have a segment for zero-page, one for low-memory, and one for each ROM bank. Then I'd fill them in an interleved fashion:
Code:
$0-$ff zero_page
$200-$7ff low_mem
$8000-$bfff rom_bank_0
...
.segment "zero_page"
fast_temp:
.byte 0 ; address = 0
.segment "rom_bank_0"
lda #12 ; address = $8000
; .. some routine here
.segment "low_mem"
temp_buffer:
.byte 0,0 ; address = $200
.segment "zero_page"
another_variable:
.byte 0 ; address = 1
; etc.
$200-$7ff low_mem
$8000-$bfff rom_bank_0
...
.segment "zero_page"
fast_temp:
.byte 0 ; address = 0
.segment "rom_bank_0"
lda #12 ; address = $8000
; .. some routine here
.segment "low_mem"
temp_buffer:
.byte 0,0 ; address = $200
.segment "zero_page"
another_variable:
.byte 0 ; address = 1
; etc.