mirror of
https://github.com/irmen/prog8.git
synced 2024-11-26 11:49:22 +00:00
Merge branch 'master' into codegen-on-new-ast
This commit is contained in:
commit
86c22636eb
@ -460,13 +460,23 @@ inline asmsub getrambank() -> ubyte @A {
|
|||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
asmsub numbanks() -> ubyte @A {
|
asmsub numbanks() -> uword @AY {
|
||||||
; -- uses MEMTOP's cx16 extension to query the number of available RAM banks. (each is 8 Kb)
|
; -- uses MEMTOP's cx16 extension to query the number of available RAM banks. (each is 8 Kb)
|
||||||
|
; Note that the number of such banks can be bigger than 255 so a word is returned, but mostly
|
||||||
|
; the A register could suffice as the lsb.
|
||||||
|
; The maximum number of banks is 256 = 2 Megabytes of banked Ram aka Hiram. (Y=1 and A=0 in this case).
|
||||||
|
; MEMTOP itself reports 0 in this case which we change into 256 for convenience.
|
||||||
|
; 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.
|
||||||
%asm {{
|
%asm {{
|
||||||
phx
|
phx
|
||||||
sec
|
sec
|
||||||
jsr c64.MEMTOP
|
jsr c64.MEMTOP
|
||||||
plx
|
ldy #0
|
||||||
|
cmp #0
|
||||||
|
bne +
|
||||||
|
iny
|
||||||
|
+ plx
|
||||||
rts
|
rts
|
||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
@ -202,7 +202,9 @@ You can create multiple source files yourself to modularize your large programs
|
|||||||
multiple module files. You can also create "library" modules this way with handy routines,
|
multiple module files. You can also create "library" modules this way with handy routines,
|
||||||
that can be shared among programs. By importing those module files, you can use them in other modules.
|
that can be shared among programs. By importing those module files, you can use them in other modules.
|
||||||
It is possible to tell the compiler where it should look for these files, by using
|
It is possible to tell the compiler where it should look for these files, by using
|
||||||
the ``srcdirs`` command line option.
|
the ``srcdirs`` command line option. This can also be a lo-fi way to use different source files
|
||||||
|
for different compilation targets if you wish. Which is useful as currently the compiler
|
||||||
|
doesn't have conditional compilation like #ifdef/#endif in C.
|
||||||
|
|
||||||
|
|
||||||
.. _debugging:
|
.. _debugging:
|
||||||
|
@ -10,6 +10,10 @@ main {
|
|||||||
const ubyte REPEATS = 2
|
const ubyte REPEATS = 2
|
||||||
|
|
||||||
sub print_speed(uword jiffies) {
|
sub print_speed(uword jiffies) {
|
||||||
|
if jiffies==0 {
|
||||||
|
txt.print("\n 0 jiffies measured, speed is extremely high\n")
|
||||||
|
return
|
||||||
|
}
|
||||||
float speed = 65536.0 * REPEATS / (jiffies as float / 60.0)
|
float speed = 65536.0 * REPEATS / (jiffies as float / 60.0)
|
||||||
txt.nl()
|
txt.nl()
|
||||||
txt.print_uw(jiffies)
|
txt.print_uw(jiffies)
|
||||||
|
Loading…
Reference in New Issue
Block a user