1; GEOS KERNAL by Berkeley Softworks 2; reverse engineered by Maciej Witkowiak, Michael Steil 3; 4; Graphics library: inline syscalls 5 6.include "const.inc" 7.include "geossym.inc" 8.include "geosmac.inc" 9.include "config.inc" 10.include "gkernal.inc" 11.include "c64.inc" 12 13.import __GetInlineDrwParms 14.import DoInlineReturn 15.import _Rectangle 16.import _RecoverRectangle 17.import _ImprintRectangle 18.import _FrameRectangle 19.import _GraphicsString 20.import _BitmapUp 21 22.global _i_Rectangle 23.global _i_RecoverRectangle 24.global _i_ImprintRectangle 25.global _i_FrameRectangle 26.global _i_GraphicsString 27.global _i_BitmapUp 28 29.segment "graph2b" 30 31;--------------------------------------------------------------- 32; i_Rectangle $C19F 33; 34; Same as Rectangle with data after the jsr 35;--------------------------------------------------------------- 36_i_Rectangle: 37 jsr __GetInlineDrwParms 38 jsr _Rectangle 39.ifdef wheels_size 40.global DoInlineReturn7 41DoInlineReturn7: 42.endif 43 php 44 lda #7 45 jmp DoInlineReturn 46 47.segment "graph2d" 48 49;--------------------------------------------------------------- 50; i_RecoverRectangle $C1A5 51; 52; Same as RecoverRectangle with data after the jsr 53;--------------------------------------------------------------- 54_i_RecoverRectangle: 55 jsr __GetInlineDrwParms 56 jsr _RecoverRectangle 57.ifdef wheels_size 58 jmp DoInlineReturn7 59.else 60 php 61 lda #7 62 jmp DoInlineReturn 63.endif 64 65.segment "graph2f" 66 67;--------------------------------------------------------------- 68; i_ImprintRectangle $C253 69; 70; Same as ImprintRectangle with data after the jsr 71;--------------------------------------------------------------- 72_i_ImprintRectangle: 73 jsr __GetInlineDrwParms 74 jsr _ImprintRectangle 75.ifdef wheels_size 76 jmp DoInlineReturn7 77.else 78 php 79 lda #7 80 jmp DoInlineReturn 81.endif 82 83.segment "graph2h" 84 85;--------------------------------------------------------------- 86; i_FrameRectangle $C1A2 87; 88; Same as FrameRectangle with data after the jsr 89; with the pattern byte the last 90;--------------------------------------------------------------- 91_i_FrameRectangle: 92 jsr __GetInlineDrwParms 93 iny 94 lda (returnAddress),Y 95 jsr _FrameRectangle 96 php 97 lda #8 98 jmp DoInlineReturn 99 100.segment "graph2j" 101 102;--------------------------------------------------------------- 103; i_GraphicsString $C1A8 104; 105; Same as GraphicsString with data after the jsr 106;--------------------------------------------------------------- 107_i_GraphicsString: 108 PopB r0L 109 pla 110 inc r0L 111 bne @1 112 addv 1 113@1: sta r0H 114 jsr _GraphicsString 115 jmp (r0) 116 117.segment "graph3b" 118 119;--------------------------------------------------------------- 120; i_BitmapUp $C1AB 121; 122; Same as BitmapUp with data after the jsr 123;--------------------------------------------------------------- 124_i_BitmapUp: 125 PopW returnAddress 126 ldy #1 127 lda (returnAddress),y 128 sta r0L 129 iny 130 lda (returnAddress),y 131 sta r0H 132 iny 133 lda (returnAddress),y 134 sta r1L 135 iny 136 lda (returnAddress),y 137 sta r1H 138 iny 139 lda (returnAddress),y 140 sta r2L 141 iny 142 lda (returnAddress),y 143 sta r2H 144 jsr _BitmapUp 145 php 146 lda #7 147 jmp DoInlineReturn 148