mirror of
https://github.com/irmen/prog8.git
synced 2025-01-12 04:30:03 +00:00
attempt to clarify docs of cx16.numbanks()
This commit is contained in:
parent
9e0f8c1a97
commit
3916de2921
@ -454,20 +454,19 @@ inline asmsub getrombank() -> ubyte @A {
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline asmsub getrambank() -> ubyte @A {
|
inline asmsub getrambank() -> ubyte @A {
|
||||||
; -- get the current ram bank
|
; -- get the current RAM bank
|
||||||
%asm {{
|
%asm {{
|
||||||
lda $00
|
lda $00
|
||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
asmsub numbanks() -> uword @AY {
|
asmsub numbanks() -> uword @AY {
|
||||||
; -- uses MEMTOP's cx16 extension to query the number of available RAM banks. (each is 8 Kb)
|
; -- Returns the number of available RAM banks according to the kernal (each bank is 8 Kb).
|
||||||
; Note that the number of such banks can be bigger than 255 so a word is returned, but mostly
|
; Note that the number of such banks can be 256 so a word is returned.
|
||||||
; the A register could suffice as the lsb.
|
; But just looking at the A register (the LSB of the result word) could suffice if you know that A=0 means 256 banks:
|
||||||
; The maximum number of banks is 256 = 2 Megabytes of banked Ram aka Hiram. (Y=1 and A=0 in this case).
|
; The maximum number of RAM banks in the X16 is currently 256 (2 Megabytes of banked RAM).
|
||||||
; MEMTOP itself reports 0 in this case which we change into 256 for convenience.
|
; Kernal's MEMTOP routine reports 0 in this case but that doesn't mean 'zero banks', instead it means 256 banks,
|
||||||
; It reporting 0 doesn't mean 'zero banks', instead it means 256 banks (=2Mb banked RAM),
|
; as there is no X16 without at least 1 page of banked RAM. So this routine returns 256 instead of 0.
|
||||||
; as there is no X16 without at least 1 page of banked RAM.
|
|
||||||
%asm {{
|
%asm {{
|
||||||
phx
|
phx
|
||||||
sec
|
sec
|
||||||
|
@ -1 +1 @@
|
|||||||
8.9
|
8.10-dev
|
||||||
|
Loading…
x
Reference in New Issue
Block a user