prog8/docs/source/_static/symboldumps/skeletons-c64.txt
2024-11-09 14:04:04 +01:00

793 lines
24 KiB
Plaintext

Prog8 compiler v10.5 by Irmen de Jong (irmen@razorvine.net)
This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html
Compiling program import-all-c64.p8
Compiler target: c64
LIBRARY MODULE NAME: anyall
---------------------------
anyall {
all (uword arrayptr, uword num_elements) -> bool
allw (uword arrayptr, uword num_elements) -> bool
any (uword arrayptr, uword num_elements) -> bool
anyw (uword arrayptr, uword num_elements) -> bool
}
LIBRARY MODULE NAME: buffers
----------------------------
smallringbuffer {
ubyte[] buffer
ubyte fill
ubyte head
ubyte tail
get () -> ubyte
getw () -> uword
init ()
put (ubyte value) -> bool
putw (uword value) -> bool
}
ringbuffer {
uword buffer_ptr
uword fill
uword head
uword tail
get () -> ubyte
getw () -> uword
inc_head ()
inc_tail ()
init ()
put (ubyte value) -> bool
putw (uword value) -> bool
}
LIBRARY MODULE NAME: compression
--------------------------------
compression {
decode_rle (uword compressed @AY, uword target @R0, uword maxsize @R1) -> clobbers (X) -> uword @AY
decode_rle_srcfunc (uword source_function @AY, uword target @R0, uword maxsize @R1) -> clobbers (X) -> uword @AY
encode_rle (uword data, uword size, uword target, bool is_last_block) -> uword
encode_rle_outfunc (uword data, uword size, uword output_function, bool is_last_block)
}
LIBRARY MODULE NAME: conv
-------------------------
conv {
str @shared string_out
any2uword (str string @AY) -> clobbers (Y) -> ubyte @A
bin2uword (str string @AY) -> uword @AY
hex2uword (str string @AY) -> uword @AY
internal_byte2decimal (byte value @A) -> ubyte @Y, ubyte @A, ubyte @X
internal_ubyte2decimal (ubyte value @A) -> ubyte @Y, ubyte @X, ubyte @A
internal_ubyte2hex (ubyte value @A) -> clobbers (X) -> ubyte @A, ubyte @Y
internal_uword2decimal (uword value @AY) -> ubyte @Y, ubyte @A, ubyte @X
internal_uword2hex (uword value @AY) -> clobbers (A,Y)
str2byte (str string @AY) -> clobbers (Y) -> byte @A
str2ubyte (str string @AY) -> clobbers (Y) -> ubyte @A
str2uword (str string @AY) -> uword @AY
str2word (str string @AY) -> word @AY
str_b (byte value @A) -> clobbers (X) -> str @AY
str_ub (ubyte value @A) -> clobbers (X) -> str @AY
str_ub0 (ubyte value @A) -> clobbers (X) -> str @AY
str_ubbin (ubyte value @A) -> clobbers (X) -> str @AY
str_ubhex (ubyte value @A) -> clobbers (X) -> str @AY
str_uw (uword value @AY) -> clobbers (X) -> str @AY
str_uw0 (uword value @AY) -> clobbers (X) -> str @AY
str_uwbin (uword value @AY) -> clobbers (X) -> str @AY
str_uwhex (uword value @AY) -> str @AY
str_w (word value @AY) -> clobbers (X) -> str @AY
}
LIBRARY MODULE NAME: cx16logo
-----------------------------
cx16logo {
uword[] logo_lines
logo ()
logo_at (ubyte column, ubyte row)
}
LIBRARY MODULE NAME: diskio
---------------------------
diskio {
const ubyte READ_IO_CHANNEL
const ubyte WRITE_IO_CHANNEL
ubyte @shared drivenumber
bool iteration_in_progress
uword list_blocks
str list_filename
str list_filetype
uword list_pattern
bool list_skip_disk_name
bool write_iteration_in_progress
delete (uword filenameptr)
directory () -> bool
diskname () -> uword
exists (str filename) -> bool
f_close ()
f_close_w ()
f_open (uword filenameptr) -> bool
f_open_w (uword filenameptr) -> bool
f_read (uword bufferpointer, uword num_bytes) -> uword
f_read_all (uword bufferpointer) -> uword
f_readline (uword bufptr @AY) -> clobbers (X) -> ubyte @Y, ubyte @A
f_write (uword bufferpointer, uword num_bytes) -> bool
lf_end_list ()
lf_next_entry () -> bool
lf_start_list (uword pattern_ptr) -> bool
list_filenames (uword pattern_ptr, uword filenames_buffer, uword filenames_buf_size) -> ubyte
load (uword filenameptr, uword address_override) -> uword
load_raw (uword filenameptr, uword start_address) -> uword
rename (uword oldfileptr, uword newfileptr)
reset_read_channel ()
reset_write_channel ()
save (uword filenameptr, uword start_address, uword savesize) -> bool
send_command (uword commandptr)
status () -> uword
status_code () -> ubyte
}
LIBRARY MODULE NAME: floats
---------------------------
floats {
const float PI
const float TWOPI
const float π
ABS () = $bc58
ATN () -> clobbers (A,X,Y) = $e30e
AYINT () -> clobbers (A,X,Y) = $b1bf
AYINT2 () -> clobbers (X) -> word @AY
CONUPK (uword mflpt @AY) -> clobbers (A,Y) = $ba8c
COS () -> clobbers (A,X,Y) = $e264
DIV10 () -> clobbers (A,X,Y) = $bafe
EXP () -> clobbers (A,X,Y) = $bfed
FADD (uword mflpt @AY) -> clobbers (A,X,Y) = $b867
FADDH () -> clobbers (A,X,Y) = $b849
FADDT () -> clobbers (A,X,Y) = $b86a
FAREADMEM () -> clobbers (A,Y) = $ba90
FCOMP (uword mflpt @AY) -> clobbers (X,Y) -> ubyte @A = $bc5b
FDIV (uword mflpt @AY) -> clobbers (A,X,Y) = $bb0f
FDIVT () -> clobbers (A,X,Y) = $bb12
FINLOG (byte value @A) -> clobbers (A,X,Y) = $bd7e
FMULT (uword mflpt @AY) -> clobbers (A,X,Y) = $ba28
FMULTT () -> clobbers (A,X,Y) = $ba2b
FOUT () -> clobbers (X) -> uword @AY = $bddd
FPRINTLN () -> clobbers (A,X,Y) = $aabc
FPWR (uword mflpt @AY) -> clobbers (A,X,Y) = $bf78
FPWRT () -> clobbers (A,X,Y) = $bf7b
FREADMEM () -> clobbers (A,Y) = $bba6
FREADS24AXY (ubyte lo @A, ubyte mid @X, ubyte hi @Y) -> clobbers (A,X,Y)
FREADS32 () -> clobbers (A,X,Y)
FREADSA (byte value @A) -> clobbers (A,X,Y) = $bc3c
FREADSTR (ubyte length @A) -> clobbers (A,X,Y) = $b7b5
FREADU24AXY (ubyte lo @A, ubyte mid @X, ubyte hi @Y) -> clobbers (A,X,Y) -> float @FAC1
FREADUS32 () -> clobbers (A,X,Y)
FREADUY (ubyte value @Y) -> clobbers (A,X,Y) = $b3a2
FSUB (uword mflpt @AY) -> clobbers (A,X,Y) = $b850
FSUBT () -> clobbers (A,X,Y) = $b853
GETADR () -> clobbers (X) -> ubyte @Y, ubyte @A = $b7f7
GETADRAY () -> clobbers (X) -> uword @AY
GIVAYF (ubyte lo @Y, ubyte hi @A) -> clobbers (A,X,Y) = $b391
GIVAYFAY (uword value @AY) -> clobbers (A,X,Y)
GIVUAYFAY (uword value @AY) -> clobbers (A,X,Y)
INT () -> clobbers (A,X,Y) = $bccc
LOG () -> clobbers (A,X,Y) = $b9ea
MOVAF () -> clobbers (A,X) = $bc0c
MOVEF () -> clobbers (A,X) = $bc0f
MOVFA () -> clobbers (A,X) = $bbfc
MOVFM (uword mflpt @AY) -> clobbers (A,Y) = $bba2
MOVMF (uword mflpt @XY) -> clobbers (A,Y) = $bbd4
MUL10 () -> clobbers (A,X,Y) = $bae2
NEGOP () -> clobbers (A) = $bfb4
NORMAL () -> clobbers (A) = $b8d7
NOTOP () -> clobbers (A,X,Y) = $aed4
QINT () -> clobbers (A,X,Y) = $bc9b
RND () -> clobbers (A,X,Y) = $e097
SGN () -> clobbers (A,X,Y) = $bc39
SIGN () -> ubyte @A = $bc2b
SIN () -> clobbers (A,X,Y) = $e26b
SQR () -> clobbers (A,X,Y) = $bf71
SQRA () -> clobbers (A,X,Y) = $bf74
TAN () -> clobbers (A,X,Y) = $e2b4
atan (float value) -> float
atan2 (float y, float x) -> float
ceil (float value) -> float
clampf (float value, float minimum, float maximum) -> float
cos (float angle) -> float
cot (float value) -> float
csc (float value) -> float
deg (float angle) -> float
floor (float value) -> float
lerp (float v0, float v1, float t) -> float
lerp_fast (float v0, float v1, float t) -> float
ln (float value) -> float
log2 (float value) -> float
maxf (float f1, float f2) -> float
minf (float f1, float f2) -> float
normalize (float value @FAC1) -> float @FAC1
parse (str value @AY) -> float @FAC1
pop () -> float @FAC1
pow (float value, float power) -> float
print (float value @FAC1) -> clobbers (A,X,Y)
push (float value @FAC1)
rad (float angle) -> float
rnd () -> float
rndseed (float seed)
round (float value) -> float
secant (float value) -> float
sin (float angle) -> float
tan (float value) -> float
time () -> float @FAC1
tostr (float value @FAC1) -> clobbers (X) -> str @AY
}
LIBRARY MODULE NAME: graphics
-----------------------------
graphics {
const uword BITMAP_ADDRESS
const uword CHARS_ADDRESS
const ubyte HEIGHT
const uword WIDTH
uword @zp internal_plotx
circle (uword xcenter, ubyte ycenter, ubyte radius)
clear_screen (ubyte pixelcolor, ubyte bgcolor)
disable_bitmap_mode ()
disc (uword xcenter, ubyte ycenter, ubyte radius)
enable_bitmap_mode ()
fillrect (uword xx, ubyte yy, uword width, ubyte height)
get_y_lookup (ubyte yy @Y) -> uword @AY
horizontal_line (uword xx, ubyte yy, uword length)
internal_plot (ubyte ploty @Y) -> clobbers (A,X,Y)
line (uword x1, ubyte y1, uword x2, ubyte y2)
plot (uword plotx @XY, ubyte ploty @A) -> clobbers (A,X,Y)
rect (uword xx, ubyte yy, uword width, ubyte height)
vertical_line (uword xx, ubyte yy, ubyte height)
}
LIBRARY MODULE NAME: math
-------------------------
math {
atan2 (ubyte x1 @R0, ubyte y1 @R1, ubyte x2 @R2, ubyte y2 @R3) -> ubyte @A
cos8 (ubyte angle @A) -> clobbers (Y) -> byte @A
cos8u (ubyte angle @A) -> clobbers (Y) -> ubyte @A
cosr8 (ubyte radians @A) -> clobbers (Y) -> byte @A
cosr8u (ubyte radians @A) -> clobbers (Y) -> ubyte @A
crc16 (uword data, uword length) -> uword
crc16_end () -> uword
crc16_start ()
crc16_update (ubyte value @A)
crc32 (uword data, uword length)
crc32_end ()
crc32_start ()
crc32_update (ubyte value @A)
diff (ubyte v1 @A, ubyte v2 @Y) -> ubyte @A
diffw (uword w1 @R0, uword w2 @AY) -> uword @AY
direction (ubyte x1, ubyte y1, ubyte x2, ubyte y2) -> ubyte
direction_qd (ubyte quadrant @A, ubyte xdelta @X, ubyte ydelta @Y) -> ubyte @A
direction_sc (byte x1, byte y1, byte x2, byte y2) -> ubyte
lerp (ubyte v0, ubyte v1, ubyte t) -> ubyte
log2 (ubyte value @A) -> ubyte @Y
log2w (uword value @AY) -> ubyte @Y
mul16_last_upper () -> uword @AY
randrange (ubyte n) -> ubyte
randrangew (uword n) -> uword
rnd () -> clobbers (Y) -> ubyte @A
rndseed (uword seed1 @AY, uword seed2 @R0) -> clobbers (A,Y)
rndw () -> uword @AY
sin8 (ubyte angle @A) -> clobbers (Y) -> byte @A
sin8u (ubyte angle @A) -> clobbers (Y) -> ubyte @A
sinr8 (ubyte radians @A) -> clobbers (Y) -> byte @A
sinr8u (ubyte radians @A) -> clobbers (Y) -> ubyte @A
}
LIBRARY MODULE NAME: string
---------------------------
string {
append (uword target @R0, uword suffix @R1) -> clobbers (Y) -> ubyte @A
compare (uword string1 @R0, uword string2 @AY) -> clobbers (Y) -> byte @A
contains (uword string @AY, ubyte character @X) -> bool @Pc
copy (uword source @R0, uword target @AY) -> clobbers (A) -> ubyte @Y
endswith (str st, str suffix) -> bool
find (uword string @AY, ubyte character @X) -> ubyte @A, bool @Pc
findstr (str haystack, str needle) -> ubyte
hash (str string @R0) -> ubyte @A
isdigit (ubyte petsciichar @A) -> bool @Pc
isletter (ubyte petsciichar @A) -> bool @Pc
islower (ubyte petsciichar @A) -> bool @Pc
isprint (ubyte petsciichar @A) -> bool @Pc
isspace (ubyte petsciichar @A) -> bool @Pc
isupper (ubyte petsciichar @A) -> bool @Pc
left (uword source @AX, ubyte length @Y, uword target @R1) -> clobbers (A,Y)
length (uword string @AY) -> clobbers (A) -> ubyte @Y
lower (uword st @AY) -> ubyte @Y
lowerchar (ubyte character @A) -> ubyte @A
lstrip (str s)
lstripped (str s) -> str
ltrim (str s)
ltrimmed (str s) -> str
pattern_match (str string @AY, str pattern @R0) -> clobbers (Y) -> bool @A
rfind (uword string @AY, ubyte character @X) -> ubyte @A, bool @Pc
right (uword source @AY, ubyte length @X, uword target @R1) -> clobbers (A,Y)
rstrip (str s)
rtrim (str s)
slice (uword source @R0, ubyte start @A, ubyte length @Y, uword target @R1) -> clobbers (A,Y)
startswith (str st, str prefix) -> bool
strip (str s)
trim (str s)
upper (uword st @AY) -> ubyte @Y
upperchar (ubyte character @A) -> ubyte @A
}
LIBRARY MODULE NAME: syslib
---------------------------
cbm {
&uword CBINV
&uword CINV
&ubyte COLOR
const uword Colors
&ubyte HIBASE
&uword IBASIN
&uword IBSOUT
&uword ICHKIN
&uword ICKOUT
&uword ICLALL
&uword ICLOSE
&uword ICLRCH
&uword ICRNCH
&uword IERROR
&uword IEVAL
&uword IGETIN
&uword IGONE
&uword ILOAD
&uword IMAIN
&uword IOPEN
&uword IQPLOP
&uword IRQ_VEC
&uword ISAVE
&uword ISTOP
&uword NMINV
&uword NMI_VEC
&uword RESET_VEC
&ubyte SAREG
&ubyte SFDX
&ubyte SHFLAG
&ubyte SPREG
&ubyte STATUS
&ubyte STKEY
&ubyte SXREG
&ubyte SYREG
const uword Screen
&ubyte TIME_HI
&ubyte TIME_LO
&ubyte TIME_MID
&uword USERCMD
&uword USRADD
ACPTR () -> ubyte @A = $ffa5
CHKIN (ubyte logical @X) -> clobbers (A,X) -> bool @Pc = $ffc6
CHKOUT (ubyte logical @X) -> clobbers (A,X) = $ffc9
CHRIN () -> clobbers (X,Y) -> ubyte @A = $ffcf
CHROUT (ubyte character @A) = $ffd2
CINT () -> clobbers (A,X,Y) = $ff81
CIOUT (ubyte databyte @A) = $ffa8
CLALL () -> clobbers (A,X) = $ffe7
CLEARSCR () -> clobbers (A,X,Y) = $e544
CLEARST ()
CLOSE (ubyte logical @A) -> clobbers (A,X,Y) = $ffc3
CLRCHN () -> clobbers (A,X) = $ffcc
GETIN () -> clobbers (X,Y) -> bool @Pc, ubyte @A = $ffe4
GETIN2 () -> clobbers (X,Y) -> ubyte @A
HOMECRSR () -> clobbers (A,X,Y) = $e566
IOBASE () -> uword @XY = $fff3
IOINIT () -> clobbers (A,X) = $ff84
IRQDFEND () -> clobbers (A,X,Y) = $ea81
IRQDFRT () -> clobbers (A,X,Y) = $ea31
LISTEN (ubyte device @A) -> clobbers (A) = $ffb1
LOAD (ubyte verify @A, uword address @XY) -> bool @Pc, ubyte @A, uword @XY = $ffd5
MEMBOT (uword address @XY, bool dir @Pc) -> uword @XY = $ff9c
MEMTOP (uword address @XY, bool dir @Pc) -> uword @XY = $ff99
OPEN () -> clobbers (X,Y) -> bool @Pc, ubyte @A = $ffc0
PLOT (ubyte col @Y, ubyte row @X, bool dir @Pc) -> clobbers (A) -> ubyte @X, ubyte @Y = $fff0
RAMTAS () -> clobbers (A,X,Y) = $ff87
RDTIM () -> ubyte @A, ubyte @X, ubyte @Y = $ffde
RDTIM16 () -> clobbers (X) -> uword @AY
READST () -> ubyte @A = $ffb7
RESTOR () -> clobbers (A,X,Y) = $ff8a
SAVE (ubyte zp_startaddr @A, uword endaddr @XY) -> bool @Pc, ubyte @A = $ffd8
SCNKEY () -> clobbers (A,X,Y) = $ff9f
SCREEN () -> ubyte @X, ubyte @Y = $ffed
SECOND (ubyte address @A) -> clobbers (A) = $ff93
SETLFS (ubyte logical @A, ubyte device @X, ubyte secondary @Y) = $ffba
SETMSG (ubyte value @A) = $ff90
SETNAM (ubyte namelen @A, str filename @XY) = $ffbd
SETTIM (ubyte low @A, ubyte middle @X, ubyte high @Y) = $ffdb
SETTMO (ubyte timeout @A) = $ffa2
STOP () -> clobbers (X) -> bool @Pz, ubyte @A = $ffe1
STOP2 () -> clobbers (A,X) -> bool @Pz
STROUT (uword strptr @AY) -> clobbers (A,X,Y) = $ab1e
TALK (ubyte device @A) -> clobbers (A) = $ffb4
TKSA (ubyte address @A) -> clobbers (A) = $ff96
UDTIM () -> clobbers (A,X) = $ffea
UNLSN () -> clobbers (A) = $ffae
UNTLK () -> clobbers (A) = $ffab
VECTOR (uword userptr @XY, bool dir @Pc) -> clobbers (A,Y) = $ff8d
kbdbuf_clear ()
}
c64 {
&ubyte AD1
&ubyte AD2
&ubyte AD3
&ubyte BGCOL0
&ubyte BGCOL1
&ubyte BGCOL2
&ubyte BGCOL4
&ubyte CIA1CRA
&ubyte CIA1CRB
&ubyte CIA1DDRA
&ubyte CIA1DDRB
&ubyte CIA1ICR
&ubyte CIA1PRA
&ubyte CIA1PRB
&ubyte CIA1SDR
&ubyte CIA1TAH
&ubyte CIA1TAL
&ubyte CIA1TBH
&ubyte CIA1TBL
&ubyte CIA1TOD10
&ubyte CIA1TODHR
&ubyte CIA1TODMMIN
&ubyte CIA1TODSEC
&ubyte CIA2CRA
&ubyte CIA2CRB
&ubyte CIA2DDRA
&ubyte CIA2DDRB
&ubyte CIA2ICR
&ubyte CIA2PRA
&ubyte CIA2PRB
&ubyte CIA2SDR
&ubyte CIA2TAH
&ubyte CIA2TAL
&ubyte CIA2TBH
&ubyte CIA2TBL
&ubyte CIA2TOD10
&ubyte CIA2TODHR
&ubyte CIA2TODMIN
&ubyte CIA2TODSEC
&ubyte CR1
&ubyte CR2
&ubyte CR3
&ubyte ENV3
&ubyte EXTCOL
&uword FC
&ubyte FCHI
&ubyte FCLO
&uword FREQ1
&uword FREQ2
&uword FREQ3
&ubyte FREQHI1
&ubyte FREQHI2
&ubyte FREQHI3
&ubyte FREQLO1
&ubyte FREQLO2
&ubyte FREQLO3
&ubyte IREQMASK
&ubyte LPENX
&ubyte LPENY
&ubyte MSIGX
&ubyte MVOL
&ubyte OSC3
&ubyte POTX
&ubyte POTY
&uword PW1
&uword PW2
&uword PW3
&ubyte PWHI1
&ubyte PWHI2
&ubyte PWHI3
&ubyte PWLO1
&ubyte PWLO2
&ubyte PWLO3
&ubyte RASTER
&ubyte RESFILT
&ubyte SCROLX
&ubyte SCROLY
&ubyte SP0COL
&ubyte SP0X
&ubyte SP0Y
&ubyte SP1COL
&ubyte SP1X
&ubyte SP1Y
&ubyte SP2COL
&ubyte SP2X
&ubyte SP2Y
&ubyte SP3COL
&ubyte SP3X
&ubyte SP3Y
&ubyte SP4COL
&ubyte SP4X
&ubyte SP4Y
&ubyte SP5COL
&ubyte SP5X
&ubyte SP5Y
&ubyte SP6COL
&ubyte SP6X
&ubyte SP6Y
&ubyte SP7COL
&ubyte SP7X
&ubyte SP7Y
&ubyte SPBGCL
&ubyte SPBGPR
&ubyte[] SPCOL
&ubyte SPENA
&ubyte SPMC
&ubyte SPMC0
&ubyte SPMC1
&ubyte[] SPRPTR
&ubyte SPRPTR0
&ubyte SPRPTR1
&ubyte SPRPTR2
&ubyte SPRPTR3
&ubyte SPRPTR4
&ubyte SPRPTR5
&ubyte SPRPTR6
&ubyte SPRPTR7
&ubyte SPSPCL
&ubyte[] SPXY
&uword[] SPXYW
&ubyte SR1
&ubyte SR2
&ubyte SR3
&ubyte VICIRQ
&ubyte VMCSB
&ubyte XXPAND
&ubyte YXPAND
banks (ubyte banks @A)
get_bitmap_ptr () -> uword
get_char_matrix_ptr () -> uword
get_sprite_addr_ptrs () -> uword
get_vic_memory_base () -> uword
getbanks () -> ubyte @A
set_sprite_ptr (ubyte sprite_num, uword sprite_data_address)
x16jsrfar ()
}
sys {
const ubyte sizeof_bool
const ubyte sizeof_byte
const ubyte sizeof_float
const ubyte sizeof_ubyte
const ubyte sizeof_uword
const ubyte sizeof_word
const ubyte target
clear_carry ()
clear_irqd ()
disable_caseswitch ()
disable_runstop_and_charsetswitch ()
enable_caseswitch ()
enable_runstop_and_charsetswitch ()
exit (ubyte returnvalue @A)
exit2 (ubyte resulta @A, ubyte resultx @X, ubyte resulty @Y)
exit3 (ubyte resulta @A, ubyte resultx @X, ubyte resulty @Y, bool carry @Pc)
internal_stringcopy (uword source @R0, uword target @AY) -> clobbers (A,Y)
irqsafe_clear_irqd ()
irqsafe_set_irqd ()
memcmp (uword address1 @R0, uword address2 @R1, uword size @AY) -> byte @A
memcopy (uword source @R0, uword target @R1, uword count @AY) -> clobbers (A,X,Y)
memset (uword mem @R0, uword numbytes @R1, ubyte value @A) -> clobbers (A,X,Y)
memsetw (uword mem @R0, uword numwords @R1, uword value @AY) -> clobbers (A,X,Y)
pop () -> ubyte @A
popw () -> uword @AY
progend () -> uword @AY
push (ubyte value @A)
pushw (uword value @AY)
read_flags () -> ubyte @A
reset_system ()
restore_irq () -> clobbers (A)
restore_prog8_internals ()
save_prog8_internals ()
set_carry ()
set_irq (uword handler @AY) -> clobbers (A)
set_irqd ()
set_rasterirq (uword handler @AY, uword rasterpos @R0) -> clobbers (A)
wait (uword jiffies @AY)
waitrastborder ()
waitvsync () -> clobbers (A)
}
cx16 {
&uword r0
&ubyte r0H
&ubyte r0L
&word r0s
&byte r0sH
&byte r0sL
&uword r1
&uword r10
&ubyte r10H
&ubyte r10L
&word r10s
&byte r10sH
&byte r10sL
&uword r11
&ubyte r11H
&ubyte r11L
&word r11s
&byte r11sH
&byte r11sL
&uword r12
&ubyte r12H
&ubyte r12L
&word r12s
&byte r12sH
&byte r12sL
&uword r13
&ubyte r13H
&ubyte r13L
&word r13s
&byte r13sH
&byte r13sL
&uword r14
&ubyte r14H
&ubyte r14L
&word r14s
&byte r14sH
&byte r14sL
&uword r15
&ubyte r15H
&ubyte r15L
&word r15s
&byte r15sH
&byte r15sL
&ubyte r1H
&ubyte r1L
&word r1s
&byte r1sH
&byte r1sL
&uword r2
&ubyte r2H
&ubyte r2L
&word r2s
&byte r2sH
&byte r2sL
&uword r3
&ubyte r3H
&ubyte r3L
&word r3s
&byte r3sH
&byte r3sL
&uword r4
&ubyte r4H
&ubyte r4L
&word r4s
&byte r4sH
&byte r4sL
&uword r5
&ubyte r5H
&ubyte r5L
&word r5s
&byte r5sH
&byte r5sL
&uword r6
&ubyte r6H
&ubyte r6L
&word r6s
&byte r6sH
&byte r6sL
&uword r7
&ubyte r7H
&ubyte r7L
&word r7s
&byte r7sH
&byte r7sL
&uword r8
&ubyte r8H
&ubyte r8L
&word r8s
&byte r8sH
&byte r8sL
&uword r9
&ubyte r9H
&ubyte r9L
&word r9s
&byte r9sH
&byte r9sL
cpu_is_65816 () -> bool
restore_virtual_registers () -> clobbers (A,Y)
save_virtual_registers () -> clobbers (A,Y)
}
p8_sys_startup {
cleanup_at_exit ()
disable_runstop_and_charsetswitch () -> clobbers (A)
enable_runstop_and_charsetswitch () -> clobbers (A)
init_system ()
init_system_phase2 ()
}
LIBRARY MODULE NAME: test_stack
-------------------------------
test_stack {
test ()
}
LIBRARY MODULE NAME: textio
---------------------------
txt {
const ubyte DEFAULT_HEIGHT
const ubyte DEFAULT_WIDTH
bell ()
chrout (ubyte character @A) = $ffd2
clear_screen ()
clear_screenchars (ubyte character @A) -> clobbers (Y)
clear_screencolors (ubyte color @A) -> clobbers (Y)
cls ()
color (ubyte txtcol)
column (ubyte col @A) -> clobbers (A,X,Y)
fill_screen (ubyte character @A, ubyte color @Y) -> clobbers (A)
get_column () -> ubyte @Y
get_cursor (uword colptr, uword rowptr)
get_row () -> ubyte @X
getchr (ubyte col @A, ubyte row @Y) -> clobbers (Y) -> ubyte @A
getclr (ubyte col @A, ubyte row @Y) -> clobbers (Y) -> ubyte @A
height () -> clobbers (X,Y) -> ubyte @A
home ()
input_chars (uword buffer @AY) -> clobbers (A) -> ubyte @Y
lowercase ()
nl ()
petscii2scr (ubyte petscii_char @A) -> ubyte @A
petscii2scr_str (str petscii_string @AY)
plot (ubyte col @Y, ubyte row @X)
print (str text @AY) -> clobbers (A,Y)
print_b (byte value @A) -> clobbers (A,X,Y)
print_bool (bool value)
print_ub (ubyte value @A) -> clobbers (A,X,Y)
print_ub0 (ubyte value @A) -> clobbers (A,X,Y)
print_ubbin (ubyte value @A, bool prefix @Pc) -> clobbers (A,X,Y)
print_ubhex (ubyte value @A, bool prefix @Pc) -> clobbers (A,X,Y)
print_uw (uword value @AY) -> clobbers (A,X,Y)
print_uw0 (uword value @AY) -> clobbers (A,X,Y)
print_uwbin (uword value @AY, bool prefix @Pc) -> clobbers (A,X,Y)
print_uwhex (uword value @AY, bool prefix @Pc) -> clobbers (A,X,Y)
print_w (word value @AY) -> clobbers (A,X,Y)
row (ubyte rownum @A) -> clobbers (A,X,Y)
scroll_down (bool alsocolors @Pc) -> clobbers (A,X)
scroll_left (bool alsocolors @Pc) -> clobbers (A,X,Y)
scroll_right (bool alsocolors @Pc) -> clobbers (A,X)
scroll_up (bool alsocolors @Pc) -> clobbers (A,X)
setcc (ubyte col, ubyte row, ubyte character, ubyte charcolor)
setchr (ubyte col @X, ubyte row @Y, ubyte character @A) -> clobbers (A,Y)
setclr (ubyte col @X, ubyte row @Y, ubyte color @A) -> clobbers (A,Y)
spc ()
uppercase ()
waitkey () -> ubyte @A
width () -> clobbers (X,Y) -> ubyte @A
}