Categorical Listing -------------------------------------------------------------------------- Math routines ------------- DNegate $C172 Negate a 16 bit integer 1-001 Ddiv $C169 Unsigned 16 bit division 1-002 DMult $C166 Unsigned 16 bit by 16 bit multiply 1-003 BMult $C163 Unsigned 16 bit by 8 bit multiply 1-004 BBMult $C160 Unsigned 8 bit by 8 bit multiply 1-005 DSdiv $C16C Signed 16 bit division 1-006 Dabs $C16F 16 bit absolute value 1-007 Ddec $C175 Decrement a 16 bit integer 1-008 DShiftLeft $C15D Multiple 16 bit arithmetic shift left 1-009 DShiftRight $C262 Multiple 16 bit logical shift right 1-010 CRC $C20E Compute the checksum of a memory region 1-011 Memory manipulation ------------------- InitRam $C181 Multiple memory location initialization 1-101 MoveData $C17E Intelligent memory block move 1-102 i_MoveData $C1B7 Intelligent memory block move with inline data 1-103 FillRam $C17B Memory block fill 1-104 i_FillRam $C1B4 Memory block fill with inline data 1-105 ClearRam $C178 Fill a memory region with zeroes 1-106 CmpString $C26B String compare 1-107 CopyString $C265 String copy 1-108 CmpFString $C26E Memory block comparison 1-109 CopyFString $C268 Memory block move 1-110 Text and fonts -------------- PutChar $C145 Display a character 1-201 SmallPutChar $C202 Draw a character on the screen 1-202 PutDecimal $C184 Display a 16 bit integer 1-203 PutString $C148 Display a text string 1-204 i_PutString $C1AE Display a text string with inline data 1-205 GetNextChar $C2A7 Read a character from the keyboard 1-206 GetString $C1BA Read a line of text from the user 1-207 InitTextPrompt $C1C0 Create the text cursor sprite 1-208 PromptOn $C29B Turn on the text cursor 1-209 PromptOff $C29E Turn off the text cursor 1-210 UseSystemFont $C14B Select the BSW font 1-211 LoadCharSet $C1CC Make a memory resident font the current font 1-212 GetRealSize $C1B1 Get a character's stats 1-213 GetCharWidth $C1C9 Get a character's width 1-214 Low level disk routines -------------------------- SetDevice $C2B0 Select a drive 1-301 ChangeDiskDevice $C2BC Change disk drive device number 1-302 OpenDisk $C2A1 Open a disk 1-303 NewDisk $C1E1 Initialize a drive 1-304 EnterTurbo $C214 Setup a drive with turbodos 1-305 ExitTurbo $C232 Stop turbodos in a drive 1-306 PurgeTurbo $C235 Stop and remove turbodos in a drive 1-307 GetDirHead $C247 Read track 18 sector 0 1-308 PutDirHead $C24A Write to track 18 sector 0 1-309 GetBlock $C1E4 Read a sector 1-310 PutBlock $C1E7 Write a sector 1-311 ReadBlock $C21A Read a sector with drive preset 1-312 WriteBlock $C220 Write a sector with drive preset 1-313 VerWriteBlock $C223 Verify before writing sector 1-314 GetPtrCurDkNm $C298 Compute address of disk's name 1-315 FindBAMBit $C2AD Check if a disk sector is in use 1-316 SetNextFree $C292 Find and allocate a disk block 1-317 BlkAlloc $C1FC Allocate sectors for a file 1-318 NxtBlkAlloc $C24D Allocate sectors for a file 1-319 SetGEOSDisk $C1EA Convert a disk to GEOS format 1-320 ChkDkGEOS $C1DE Check if a disk is GEOS format 1-321 CalcBlksFree $C1DB Compute number of free blocks on disk 1-322 FreeBlock $C2B9 Free a BAM bit in memory 1-323 High level disk routines ------------------------ FindFTypes $C23B Create a table of file names 1-401 FindFile $C20B Lookup a file in the directory 1-402 SaveFile $C1ED Save memory to a file 1-403 WriteFile $C1F9 Save memory to preallocated sectors 1-404 RenameFile $C259 Rename a file 1-405 DeleteFile $C238 Delete a file 1-406 FastDelFile $C244 Delete a temporary file 1-407 FreeFile $C226 Free a file's sectors 1-408 RstrAppl $C23E Load the SWAPFILE 1-409 GetFile $C208 Load a file, given a file name 1-410 LdFile $C211 Load a file, given a directory entry 1-411 LdApplic $C21D Load and run a file, given a directory entry 1-412 LdDeskAcc $C217 Load a file with memory swapping 1-413 ReadByte $C2B6 Get a byte from a file 1-414 ReadFile $C1FF Load a chain into memory, given the initial track and sector 1-415 GetFreeDirBlk $C1F6 Find a hole in the directory 1-416 SetGDirEntry $C1F0 Create a directory entry on disk 1-417 BldGDirEntry $C1F3 Create a directory entry in memory 1-418 GetFHdrInfo $C229 Get a file's load address 1-419 FollowChain $C205 Create a list of sectors used by a file 1-420 VLIR support routines --------------------- OpenRecordFile $C274 Open a VLIR file 1-501 PointRecord $C280 Goto a specific VLIR chain 1-502 PreviousRecord $C27D Move to previous VLIR chain 1-503 NextRecord $C27A Move to next VLIR chain 1-504 InsertRecord $C286 Insert a VLIR chain 1-505 AppendRecord $C289 Add a VLIR chain 1-506 DeleteRecord $C283 Remove a VLIR chain 1-507 ReadRecord $C28C Load a VLIR chain 1-508 WriteRecord $C28F Save memory to a VLIR chain 1-509 UpdateRecordFile $C295 Update a VLIR file 1-510 CloseRecordFile $C277 Close a VLIR file 1-511 Graphics -------- GraphicsString $C136 Process a graphic command table 1-601 i_GraphicsString $C1A8 Process a graphic command table with inline data 1-602 SetPattern $C139 Select a fill pattern 1-603 FrameRectangle $C127 Draw an outline in a pattern 1-604 i_FrameRectangle $C1A2 Draw a solid outline with inline data 1-605 Rectangle $C124 Fill a box with a pattern 1-606 i_Rectangle $C19F Fill a box with a pattern with inline data 1-607 RecoverRectangle $C12D Copy a box from screen 1 to screen 2 1-608 i_RecoverRectangle $C1A5 Copy a box from screen 1 to screen 2 with inline data 1-609 ImprintRectangle $C250 Copy a box from screen 2 to screen 1 1-610 i_ImprintRectangle $C253 Copy a box from screen 2 to screen 1 with inline data 1-611 InvertRectangle $C12A Reverse video a box 1-612 RecoverLine $C11E Copy a line from screen 2 to screen 1 1-613 InvertLine $C11B Reverse video a horizontal line 1-614 DrawLine $C130 Draw/Erase/Copy an arbitrary line 1-615 HorizontalLine $C118 Draw a horizontal line in a pattern 1-616 VerticalLine $C121 Draw a vertical line in a pattern 1-617 GetScanLine $C13C Compute memory address of a row on the screen 1-618 TestPoint $C13F Test the value of a pixel 1-619 DrawPoint $C133 Draw/Erase/Copy a point on the screen 1-620 BitmapUp $C1AB Draw a click box with inline data 1-621 i_BitmapUp $C1AB Draw a click box with inline data 1-622 BitmapClip $C2AA Draw a coded image 1-623 BitOtherClip $C2C5 Draw a coded image with user patches 1-624 DrawSprite $C1C6 Copy a sprite data block 1-625 PosSprite $C1CF Position a sprite 1-626 EnablSprite $C1D2 Turn on a sprite 1-627 DisablSprite $C1D5 Turn off a sprite 1-628 Controls -------- DoMenu $C151 Menu processor 1-701 DoPreviousMenu $C190 Close current menu 1-702 GotoFirstMenu $C1BD Close all menu levels 1-703 ReDoMenu $C193 Draw the current menu 1-704 RecoverMenu $C154 Erase the current menu 1-705 RecoverAllMenus $C157 Erase all menus 1-706 DoIcons $C15A Draw a table of click boxes 1-707 DoDlgBox $C256 Window processor 1-708 RstrFrmDialogue $C2BF Close a window 1-709 IsMseInRegion $C2B3 Check if mouse is inside a window 1-710 Panic $C2C2 Report system error 1-711 Miscellaneous ------------- InitForIO $C25C Open serial communication 1-801 DoneWithIO $C25F Close serial communication 1-802 FirstInit $C271 Initialize GEOS variables 1-803 MainLoop $C1C3 GEOS's main loop 1-804 InterruptMain $C100 IRQ routine 1-805 BootGEOS $C000 Reboot GEOS 1-806 StartAppl $C22F Run a program that is in memory 1-807 EnterDesktop $C22C Load and run DESKTOP 1-808 ToBasic $C241 Restart BASIC 1-809 CallRoutine $C1D8 Perform an indirect jump 1-810 DoInlineReturn $C2A4 Perform a jump through a table 1-811 StartMouseMode $C14E Initialize the mouse 1-812 MouseUp $C18A Turn on the mouse 1-813 MouseOff $C18D Turn off the mouse 1-814 ClearMouseMode $C19C Reset the mouse 1-815 Sleep $C199 Set up a time delay 1-816 GetRandom $C187 Change the random number 1-817 GetSerialNumber $C196 Who knows what this routine does??? 1-818 Processes --------- InitProcesses $C103 Initialize a table of recurring timed events 1-901 EnableProcess $C109 Force a recurring timed event to run 1-902 RestartProcess $C106 Enable a recurring timed event 1-903 FreezeProcess $C112 Stop a recurring timed event's timer 1-904 BlockProcess $C10C Prevent a recurring timed event from running 1-905 UnblockProcess $C10F Allow a recurring timed event to execute 1-906 UnfreezeProcess $C115 Start a recurring timed event's timer 1-907 REU Access ---------- StashRAM $C2C8 FetchRAM $C2CB SwapRAM $C2CE VerifyRAM $C2D1 DoRAMOp $C2D4