11
2- Prog8 compiler v10.3-SNAPSHOT by Irmen de Jong (
[email protected] )
3- Prerelease version from git commit 42f4b06a in branch master
2+ Prog8 compiler v10.4 by Irmen de Jong (
[email protected] )
43This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html
54
65Compiling program import-all-cx16.p8
@@ -69,12 +68,14 @@ diskio {
6968 f_open_w_seek (str filename) -> bool
7069 f_read (uword bufferpointer, uword num_bytes) -> uword
7170 f_read_all (uword bufferpointer) -> uword
72- f_readline (uword bufptr @AY) -> clobbers (X) -> ubyte @Y
71+ f_readline (uword bufptr @AY) -> clobbers (X) -> ubyte @Y, ubyte @A
7372 f_seek (uword pos_hiword, uword pos_loword)
7473 f_seek_w (uword pos_hiword, uword pos_loword)
74+ f_tell () -> uword @R0, uword @R1, uword @R2, uword @R3
7575 f_write (uword bufferpointer, uword num_bytes) -> bool
7676 fastmode (ubyte mode) -> bool
7777 internal_f_open_w (str filename, bool open_for_seeks) -> bool
78+ internal_f_tell ()
7879 internal_load_routine (uword filenameptr, uword address_override, bool headerless) -> uword
7980 internal_save_routine (uword filenameptr, uword startaddress, uword savesize, bool headerless) -> bool
8081 lf_end_list ()
@@ -132,6 +133,7 @@ txt {
132133 iso16 ()
133134 iso5 ()
134135 iso_off ()
136+ kata ()
135137 lowercase ()
136138 nl ()
137139 petscii2scr (ubyte petscii_char @A) -> ubyte @A
@@ -169,6 +171,35 @@ txt {
169171LIBRARY MODULE NAME: syslib
170172---------------------------
171173cbm {
174+ &uword CBINV
175+ &uword CINV
176+ &uword IBASIN
177+ &uword IBSOUT
178+ &uword ICHKIN
179+ &uword ICKOUT
180+ &uword ICLALL
181+ &uword ICLOSE
182+ &uword ICLRCH
183+ &uword ICRNCH
184+ &uword IERROR
185+ &uword IEVAL
186+ &uword IGETIN
187+ &uword IGONE
188+ &uword ILOAD
189+ &uword IMAIN
190+ &uword IOPEN
191+ &uword IQPLOP
192+ &uword IRQ_VEC
193+ &uword ISAVE
194+ &uword ISTOP
195+ &uword NMINV
196+ &uword NMI_VEC
197+ &uword RESET_VEC
198+ &ubyte SAREG
199+ &ubyte SPREG
200+ &ubyte SXREG
201+ &ubyte SYREG
202+ &uword USRADD
172203 ACPTR () -> ubyte @A = $ffa5
173204 CHKIN (ubyte logical @X) -> clobbers (A,X) -> bool @Pc = $ffc6
174205 CHKOUT (ubyte logical @X) -> clobbers (A,X) = $ffc9
@@ -217,8 +248,6 @@ cbm {
217248}
218249
219250cx16 {
220- &uword CBINV
221- &uword CINV
222251 const ubyte EXTAPI16_stack_enter_kernal_stack
223252 const ubyte EXTAPI16_stack_leave_kernal_stack
224253 const ubyte EXTAPI16_stack_pop
@@ -236,34 +265,8 @@ cx16 {
236265 const ubyte EXTAPI_ps2data_fetch
237266 const ubyte EXTAPI_ps2data_raw
238267 const ubyte EXTAPI_ps2kbd_typematic
239- &uword IBASIN
240- &uword IBSOUT
241- &uword ICHKIN
242- &uword ICKOUT
243- &uword ICLALL
244- &uword ICLOSE
245- &uword ICLRCH
246- &uword ICRNCH
247- &uword IERROR
248- &uword IEVAL
249- &uword IGETIN
250- &uword IGONE
251- &uword ILOAD
252- &uword IMAIN
253- &uword IOPEN
254- &uword IQPLOP
255- &uword IRQ_VEC
256- &uword ISAVE
257- &uword ISTOP
268+ const ubyte EXTAPI_scnsiz
258269 &uword KEYHDL
259- &uword NMINV
260- &uword NMI_VEC
261- &uword RESET_VEC
262- &ubyte SAREG
263- &ubyte SPREG
264- &ubyte SXREG
265- &ubyte SYREG
266- &uword USRADD
267270 &uword VERA_ADDR
268271 &ubyte VERA_ADDR_H
269272 &ubyte VERA_ADDR_L
@@ -441,6 +444,7 @@ cx16 {
441444 &word r9s
442445 &byte r9sH
443446 &byte r9sL
447+ &ubyte stavec
444448 &ubyte via1acr
445449 &ubyte via1ddra
446450 &ubyte via1ddrb
@@ -534,7 +538,7 @@ cx16 {
534538 enter_basic (bool cold_or_warm @Pc) -> clobbers (A,X,Y) = $ff47
535539 entropy_get () -> ubyte @A, ubyte @X, ubyte @Y = $fecf
536540 extapi (ubyte callnumber @A) -> clobbers (A,X,Y) = $feab
537- fetch (ubyte bank @X, ubyte index @Y) -> clobbers (X) -> ubyte @A = $ff74
541+ fetch (ubyte zp_startaddr @A, ubyte bank @X, ubyte index @Y) -> clobbers (X) -> ubyte @A = $ff74
538542 get_chrin_keyhandler () -> ubyte @R0, uword @R1
539543 get_program_args (uword buffer @R0, ubyte buf_size @R1, bool binary @Pc)
540544 get_screen_mode () -> ubyte @A, ubyte @X, ubyte @Y
@@ -559,9 +563,9 @@ cx16 {
559563 monitor () -> clobbers (A,X,Y) = $fecc
560564 mouse_config (byte shape @A, ubyte resX @X, ubyte resY @Y) -> clobbers (A,X,Y) = $ff68
561565 mouse_config2 (byte shape @A) -> clobbers (A,X,Y)
562- mouse_get (ubyte zpdataptr @X) -> ubyte @A = $ff6b
566+ mouse_get (ubyte zdataptr @X) -> ubyte @A, byte @X = $ff6b
563567 mouse_get_sprite_offset () -> clobbers (A,X,Y) -> word @R0, word @R1
564- mouse_pos () -> clobbers (X) -> ubyte @A, word @R0, word @R1
568+ mouse_pos () -> ubyte @A, uword @R0, uword @R1, byte @X
565569 mouse_scan () -> clobbers (A,X,Y) = $ff71
566570 mouse_set_pos (uword xpos @R0, uword ypos @R1) -> clobbers (X)
567571 mouse_set_sprite_offset (word xoffset @R0, word yoffset @R1) -> clobbers (A,X,Y)
@@ -598,9 +602,11 @@ cx16 {
598602 reset_system ()
599603 restore_vera_context () -> clobbers (A)
600604 restore_virtual_registers () -> clobbers (A,Y)
605+ rom_version () -> clobbers (Y) -> ubyte @A, bool @Pc
601606 rombank (ubyte bank @A)
602607 save_vera_context () -> clobbers (A)
603608 save_virtual_registers () -> clobbers (A,Y)
609+ scnsiz (ubyte width @X, ubyte heigth @Y) -> clobbers (A,X,Y)
604610 screen_mode (ubyte mode @A, bool getCurrent @Pc) -> ubyte @A, ubyte @X, ubyte @Y, bool @Pc = $ff5f
605611 screen_set_charset (ubyte charset @A, uword charsetptr @XY) -> clobbers (A,X,Y) = $ff62
606612 search_x16edit () -> ubyte
@@ -741,6 +747,7 @@ string {
741747 ltrim (str s)
742748 ltrimmed (str s) -> str
743749 pattern_match (str string @AY, str pattern @R0) -> clobbers (Y) -> bool @A
750+ rfind (uword string @AY, ubyte character @X) -> ubyte @A, bool @Pc
744751 right (uword source @AY, ubyte length @X, uword target @R1) -> clobbers (A,Y)
745752 rstrip (str s)
746753 rtrim (str s)
@@ -856,9 +863,12 @@ floats {
856863 VAL_1 (uword string @XY, ubyte length @A) -> clobbers (A,X,Y) -> float @FAC1 = $fe09
857864 ZEROFC () -> clobbers (A,X,Y) = $fe72
858865 atan (float value) -> float
866+ atan2 (float y, float x) -> float
859867 ceil (float value) -> float
860868 clampf (float value, float minimum, float maximum) -> float
861869 cos (float angle) -> float
870+ cot (float value) -> float
871+ csc (float value) -> float
862872 deg (float angle) -> float
863873 floor (float value) -> float
864874 ln (float value) -> float
@@ -875,6 +885,7 @@ floats {
875885 rnd () -> float
876886 rndseed (float seed)
877887 round (float value) -> float
888+ secant (float value) -> float
878889 sin (float angle) -> float
879890 tan (float value) -> float
880891 tostr (float value @FAC1) -> clobbers (X) -> str @AY
@@ -1077,7 +1088,8 @@ sprites {
10771088 data (ubyte spritenum, ubyte bank, uword addr)
10781089 flipx (ubyte spritenum, bool flipped)
10791090 flipy (ubyte spritenum, bool flipped)
1080- get_data_ptr (ubyte spritenum)
1091+ get_data_ptr (ubyte spritenum @A) -> ubyte @R1, uword @R0
1092+ get_data_ptr_internal (ubyte spritenum)
10811093 getx (ubyte spritenum) -> word
10821094 gety (ubyte spritenum) -> word
10831095 hide (ubyte spritenum)
0 commit comments