CC = ../../src/cc65/cc65
LD = ../../src/ld65/ld65
-AFLAGS = -t $(SYS) --forget-inc-paths -Iinc -I../../asminc
+AFLAGS = -t $(SYS) --forget-inc-paths -I. -I../../asminc
CFLAGS = -Osir -g -T -t $(SYS) --forget-inc-paths -I . -I ../../include
#--------------------------------------------------------------------------
--- /dev/null
+
+;GeosConst - various system constans sorted by function
+;reassembled by Maciej 'YTM/Elysium' Witkowiak
+;4-2-99, 18-3-99
+
+NULL = 0
+FALSE = NULL
+TRUE = $ff
+
+MOUSE_SPRNUM = 0
+
+DISK_DRV_LGH = $0d80
+
+;
+;filetypes
+; GEOS
+NOT_GEOS = 0
+BASIC = 1
+ASSEMBLY = 2
+DATA = 3
+SYSTEM = 4
+DESK_ACC = 5
+APPLICATION = 6
+APPL_DATA = 7
+FONT = 8
+PRINTER = 9
+INPUT_DEVICE = 10
+DISK_DEVICE = 11
+SYSTEM_BOOT = 12
+TEMPORARY = 13
+AUTO_EXEC = 14
+INPUT_128 = 15
+NUMFILETYPES = 16
+; structure
+SEQUENTIAL = 0
+VLIR = 1
+; DOS
+DEL = 0
+SEQ = 1
+PRG = 2
+USR = 3
+REL = 4
+CBM = 5
+
+;drivetypes
+DRV_NULL = 0
+DRV_1541 = 1
+DRV_1571 = 2
+DRV_1581 = 3
+DRV_NETWORK = 15
+
+;various disk
+REL_FILE_NUM = 9
+CMND_FILE_NUM = 15
+MAX_CMND_STR = 32
+DIR_1581_TRACK = 40
+DIR_ACC_CHAN = 13
+DIR_TRACK = 18
+N_TRACKS = 35
+DK_NM_ID_LEN = 18
+TRACK = 9
+SECTOR = 12
+TOTAL_BLOCKS = 664
+
+;colours
+BLACK = 0
+WHITE = 1
+RED = 2
+CYAN = 3
+PURPLE = 4
+GREEN = 5
+BLUE = 6
+YELLOW = 7
+ORANGE = 8
+BROWN = 9
+LTRED = 10
+DKGREY = 11
+GREY = 12
+MEDGREY = 12
+LTGREEN = 13
+LTBLUE = 14
+LTGREY = 15
+
+;vic memory banks
+GRBANK0 = %11
+GRBANK1 = %10
+GRBANK2 = %01
+GRBANK3 = %00
+
+;screen
+VIC_X_POS_OFF = 24
+VIC_Y_POS_OFF = 50
+SC_BYTE_WIDTH = 40
+SC_PIX_HEIGHT = 200
+SC_PIX_WIDTH = 320
+SC_SIZE = 8000
+;128 screen size constants
+SCREENBYTEWIDTH = 80
+SCREENPIXELWIDTH = 640
+
+
+;control characters
+EOF = 0
+BACKSPACE = 8
+FORWARDSPACE = 9
+TAB = 9
+LF = 10
+HOME = 11
+PAGE_BREAK = 12
+UPLINE = 12
+CR = 13
+ULINEON = 14
+ULINEOFF = 15
+ESC_GRAPHICS = 16
+ESC_RULER = 17
+REV_ON = 18
+REV_OFF = 19
+GOTOX = 20
+GOTOY = 21
+GOTOXY = 22
+NEWCARDSET = 23
+BOLDON = 24
+ITALICON = 25
+OUTLINEON = 26
+PLAINTEXT = 27
+
+;keyboard
+KEY_F1 = 1
+KEY_F2 = 2
+KEY_F3 = 3
+KEY_F4 = 4
+KEY_F5 = 5
+KEY_F6 = 6
+KEY_NOSCRL = 7
+KEY_ENTER = 11
+KEY_F7 = 14
+KEY_F8 = 15
+KEY_UP = 16
+KEY_DOWN = 17
+KEY_HOME = 18
+KEY_CLEAR = 19
+KEY_LARROW = 20
+KEY_UPARROR = 21
+KEY_STOP = 22
+KEY_RUN = 23
+KEY_BPS = 24
+KEY_HELP = 25
+KEY_ALT = 26
+KEY_ESC = 27
+KEY_INSERT = 28
+KEY_DELETE = 29
+KEY_RIGHT = 30
+KEY_INVALID = 31
+KEY_LEFT = BACKSPACE
+
+;DialogBox
+; icons
+OK = 1
+CANCEL = 2
+YES = 3
+NO = 4
+OPEN = 5
+DISK = 6
+; commands
+DBTXTSTR = 11
+DBVARSTR = 12
+DBGETSTRING = 13
+DBSYSOPV = 14
+DBGRPHSTR = 15
+DBGETFILES = 16
+DBOPVEC = 17
+DBUSRICON = 18
+DB_USR_ROUT = 19
+; tabulation in standard window
+DBI_X_0 = 1
+DBI_X_1 = 9
+DBI_X_2 = 17
+DBI_Y_0 = 8
+DBI_Y_1 = 40
+DBI_Y_2 = 72
+; standard window
+SET_DB_POS = 0
+DEF_DB_POS = $80
+DEF_DB_TOP = 32
+DEF_DB_BOT = 127
+DEF_DB_LEFT = 64
+DEF_DB_RIGHT = 255
+; text tabulation
+TXT_LN_1_Y = 16
+TXT_LN_2_Y = 32
+TXT_LN_3_Y = 48
+TXT_LN_4_Y = 64
+TXT_LN_5_Y = 80
+TXT_LN_X = 16
+; ???
+SYSDBI_HEIGHT = 16
+SYSDBI_WIDTH = 6
+
+;GraphicsString - commands
+MOVEPENTO = 1
+LINETO = 2
+RECTANGLETO = 3
+NEWPATTERN = 5
+ESC_PUTSTRING = 6
+FRAME_RECTO = 7
+PEN_X_DELTA = 8
+PEN_Y_DELTA = 9
+PEN_XY_DELTA = 10
+
+
+;DoMenu - menutypes
+MENU_ACTION = $00
+DYN_SUB_MENU = $40
+SUB_MENU = $80
+HORIZONTAL = %00000000
+VERTICAL = %10000000
+
+;Errors
+ANY_FAULT = %11110000
+NO_BLOCKS = 1
+INV_TRACK = 2
+INSUFF_SPACE = 3
+FULL_DIRECTORY = 4
+FILE_NOT_FOUND = 5
+BAD_BAM = 6
+UNOPENED_VLIR = 7
+INV_RECORD = 8
+OUT_OF_RECORDS = 9
+STRUCT_MISMAT = 10
+BFR_OVERFLOW = 11
+CANCEL_ERR = 12
+DEV_NOT_FOUND = 13
+INCOMPATIBLE = 14
+HDR_NOT_THERE = $20
+NO_SYNC = $21
+DBLK_NOT_THERE = $22
+DAT_CHKSUM_ERR = $23
+WR_VER_ERR = $25
+WR_PR_ON = $26
+HDR_CHKSUM_ERR = $27
+DSK_ID_MISMAT = $29
+BYTE_DEC_ERR = $2e
+DOS_MISMATCH = $73
+
+;Offsets
+; ???
+OFF_INDEX_PTR = 1
+; icons
+OFF_NM_ICNS = 0
+OFF_IC_XMOUSE = 1
+OFF_IC_YMOUSE = 3
+OFF_PIC_ICON = 0
+OFF_X_ICON_POS = 2
+OFF_Y_ICON_POS = 3
+OFF_WDTH_ICON = 4
+OFF_HEIGHT_ICON = 5
+OFF_SRV_RT_ICON = 6
+OFF_NX_ICON = 8
+; menu
+OFF_MY_TOP = 0
+OFF_MY_BOT = 1
+OFF_MX_LEFT = 2
+OFF_MX_RIGHT = 4
+OFF_NUM_M_ITEMS = 6
+OFF_1ST_M_ITEM = 7
+; dialog box
+OFF_DB_FORM = 0
+OFF_DB_TOP = 1
+OFF_DB_BOT = 2
+OFF_DB_LEFT = 3
+OFF_DB_RIGHT = 5
+OFF_DB_1STCMD = 7
+; directory
+; disk header
+OFF_TO_BAM = 4
+OFF_DISK_NAME = 144
+OFF_GS_DTYPE = 189
+OFF_OP_TR_SC = 171
+OFF_GS_ID = 173
+; dir entry
+FRST_FILE_ENTRY = 2
+OFF_CFILE_TYPE = 0
+OFF_DE_TR_SC = 1
+OFF_FNAME = 3
+OFF_GHDR_PTR = 19
+OFF_GSTRUC_TYPE = 21
+OFF_GFILE_TYPE = 22
+OFF_YEAR = 23
+OFF_SIZE = 28
+OFF_NXT_FILE = 32
+; file header
+O_GHIC_WIDTH = 2
+O_GHIC_HEIGHT = 3
+O_GHIC_PIC = 4
+O_GHCMDR_TYPE = 68
+O_GHGEOS_TYPE = 69
+O_GHSTR_TYPE = 70
+O_GHST_ADDR = 71
+O_GHEND_ADDR = 73
+O_GHST_VEC = 75
+O_GHFNAME = 77
+O_128_FLAGS = 96
+O_GH_AUTHOR = 97
+O_GHP_DISK = 97
+O_GHP_FNAME = 117
+O_GHINFO_TXT = $a0
+
+; values for CPU_DATA - C64 memory config
+RAM_64K = $30 ;64K RAM
+IO_IN = $35 ;60K RAM, 4K I/O space in
+KRNL_IO_IN = $36 ;kernal and I/O mapped into memory
+KRNL_BAS_IO_IN = $37 ;kernal, I/O and basic mapped into memory
+
+;values for config - C128 mmu
+CIOIN = $7E ;60K RAM, 4K I/O space in
+CRAM64K = $7F ;64K RAM
+CKRNLBASIOIN = $40 ;kernal, I/O and basic ROM's mapped into memory
+CKRNLIOIN = $4E ;Kernal ROM and I/O space mapped in
+
+;values of faultData - pointer position vs. mouseTop/Bottom/Left/Right
+; bit numbers
+OFFTOP_BIT = 7
+OFFBOTTOM_BIT = 6
+OFFLEFT_BIT = 5
+OFFRIGHT_BIT = 4
+OFFMENU_BIT = 3
+; masks
+SET_OFFTOP = %10000000
+SET_OFFBOTTOM = %01000000
+SET_OFFLEFT = %00100000
+SET_OFFRIGHT = %00010000
+SET_OFFMENU = %00001000
+
+;values of currentMode
+; bit numbers
+UNDERLINE_BIT = 7
+BOLD_BIT = 6
+REVERSE_BIT = 5
+ITALIC_BIT = 4
+OUTLINE_BIT = 3
+SUPERSCRIPT_BIT = 2
+SUBSCRIPT_BIT = 1
+; masks
+SET_UNDERLINE = %10000000
+SET_BOLD = %01000000
+SET_REVERSE = %00100000
+SET_ITALIC = %00010000
+SET_OUTLINE = %00001000
+SET_SUPERSCRIPT = %00000100
+SET_SUBSCRIPT = %00000010
+SET_PLAINTEXT = %00000000
+
+;Process control variable
+; bit numbers
+RUNABLE_BIT = 7
+BLOCKED_BIT = 6
+FROZEN_BIT = 5
+NOTIMER_BIT = 4
+; masks
+SET_RUNABLE = %10000000
+SET_BLOCKED = %01000000
+SET_FROZEN = %00100000
+SET_NOTIMER = %00010000
+
+;mouseOn
+; bit numbers
+MOUSEON_BIT = 7
+MENUON_BIT = 6
+ICONSON_BIT = 5
+; masks
+SET_MSE_ON = %10000000
+SET_MENUON = %01000000
+SET_ICONSON = %00100000
+
+;pressFlag
+; bit numbers
+KEYPRESS_BIT = 7
+INPUT_BIT = 6
+MOUSE_BIT = 5
+; masks
+SET_KEYPRESS = %10000000
+SET_INPUTCHG = %01000000
+SET_MOUSE = %00100000
+
+;dispBufferOn
+ST_WRGS_FORE = $20
+ST_WR_BACK = $40
+ST_WR_FORE = $80
+
+;alarmSetFlag
+ALARMMASK = %00000100
+
+;PutDecimal
+ ;leading zeroes
+SET_NOSURPRESS = %00000000
+SET_SURPRESS = %01000000
+ ;justification
+SET_RIGHTJUST = %00000000
+SET_LEFTJUST = %10000000
+
+;icons, menus status flags
+ST_FLASH = $80
+ST_INVERT = $40
+ST_LD_AT_ADDR = $01
+ST_LD_DATA = $80
+ST_PR_DATA = $40
+ST_WR_PR = $40
+
+;???
+ADD1_W = $2000
+DOUBLE_B = $80
+DOUBLE_W = $8000
+
+CLR_SAVE = %01000000
+CONSTRAINED = %01000000
+UN_CONSTRAINED = %00000000
+FG_SAVE = %10000000
+
+FUTURE1 = 7
+FUTURE2 = 8
+FUTURE3 = 9
+FUTURE4 = 10
+USELAST = 127
+SHORTCUT = 128
--- /dev/null
+
+;-------------------------------------------------------------------------
+; OFFSETS INTO SECTSIZETAB (DIO functions)
+;-------------------------------------------------------------------------
+
+sst_flag = 0 ; length 1
+sst_sectsize = 1 ; 2
+sst_driveno = 3 ; 1 (drive #)
+sst_size = 4 ; size of one entry
+ ; if changed, adapt diopncls.s
+
+;-------------------------------------------------------------------------
+; OFFSETS INTO dio_phys_pos
+;-------------------------------------------------------------------------
+
+diopp_head = 0 ; head
+diopp_track = 1 ; track / cylinder
+diopp_sector = 3 ; sector
+diopp_size = 5 ; size of structure
--- /dev/null
+
+;GEOS Disk Driver JumpTab
+;reassembled by Maciej 'YTM/Alliance' Witkowiak
+;4-2-99
+
+;pointers
+_InitForIO = $9000
+_DoneWithIO = $9002
+_ExitTurbo = $9004
+_PurgeTurbo = $9006
+_EnterTurbo = $9008
+_ChangeDiskDevice = $900a
+_NewDisk = $900c
+_ReadBlock = $900e
+_WriteBlock = $9010
+_VerWriteBlock = $9012
+_OpenDisk = $9014
+_GetBlock = $9016
+_PutBlock = $9018
+_GetDirHead = $901a
+_PutDirHead = $901c
+_GetFreeDirBlk = $901e
+_CalcBlksFree = $9020
+_FreeBlock = $9022
+_SetNextFree = $9024
+_FindBAMBit = $9026
+_NxtBlkAlloc = $9028
+_BlkAlloc = $902a
+_ChkDkGEOS = $902c
+_SetGEOSDisk = $902e
+
+;jump table
+Get1stDirEntry = $9030
+GetNxtDirEntry = $9033
+GetBorder = $9036
+AddDirBlock = $9039
+ReadBuff = $903c
+WriteBuff = $903f
+;??? = $9042
+;??? = $9045
+AllocateBlock = $9048
+ReadLink = $904b
--- /dev/null
+
+;GEOS macros
+;reassembled for 6502TASM/MMS by Maciej 'YTM/Elysium' Witkowiak
+;4-2-99
+
+;28-6-99 - ca65 port
+;macro 'sub' renamed to 'ssub' due to 65816 mnemonics
+
+
+ .macro LoadB dest, value
+ lda #value
+ sta dest
+ .endmacro
+
+ .macro LoadW dest, value
+ LoadB dest+1, >(value)
+ LoadB dest+0, <(value)
+ .endmacro
+
+ .macro MoveB source, dest
+ lda source
+ sta dest
+ .endmacro
+
+ .macro MoveW source, dest
+ MoveB source+1, dest+1
+ MoveB source+0, dest+0
+ .endmacro
+
+ .macro add source
+ clc
+ adc source
+ .endmacro
+
+ .macro AddB source, dest
+ lda source
+ add dest
+ sta dest
+ .endmacro
+
+ .macro AddW source, dest
+ AddB source+0, dest+0
+ lda source+1
+ adc dest+1
+ sta dest+1
+ .endmacro
+
+ .macro AddVB value, dest
+ lda dest
+ clc
+ adc #(value)
+ sta dest
+ .endmacro
+
+ .macro AddVW value, dest
+.local Skip
+ AddVB <(value), dest+0
+ .if (>(value))=0
+ bcc Skip
+ inc dest+1
+ .else
+ lda #>(value)
+ adc dest+1
+ sta dest+1
+ .endif
+Skip:
+ .endmacro
+
+ .macro ssub source
+ sec
+ sbc source
+ .endmacro
+
+ .macro SubB source, dest
+ lda dest
+ ssub source
+ sta dest
+ .endmacro
+
+ .macro SubW source, dest
+ SubB source+0, dest+0
+ lda dest+1
+ sbc source+1
+ sta dest+1
+ .endmacro
+
+ .macro SubVW value, dest
+ sec
+ lda dest+0
+ sbc #<(value)
+ sta dest+0
+ lda dest+1
+ sbc #>(value)
+ sta dest+1
+ .endmacro
+
+ .macro CmpB source, dest
+ lda source
+ cmp dest
+ .endmacro
+
+ .macro CmpBI source, immed
+ lda source
+ cmp #(immed)
+ .endmacro
+
+ .macro CmpW source, dest
+.local Skip
+ CmpB source+1, dest+1
+ bne Skip
+ CmpB source+0, dest+0
+Skip:
+ .endmacro
+
+ .macro CmpWI source, immed
+.local Skip
+ CmpBI source+1, >(immed)
+ bne Skip
+ CmpBI source+0, <(immed)
+Skip:
+ .endmacro
+
+ .macro PushB source
+ lda source
+ pha
+ .endmacro
+
+ .macro PushW source
+ PushB source+1
+ PushB source+0
+ .endmacro
+
+ .macro PopB dest
+ pla
+ sta dest
+ .endmacro
+
+ .macro PopW dest
+ PopB dest+0
+ PopB dest+1
+ .endmacro
+
+ .macro bra addr
+ clv
+ bvc addr
+ .endmacro
+
+ .macro smb bitNumber, dest
+ pha
+ lda #(1 << bitNumber)
+ ora dest
+ sta dest
+ pla
+ .endmacro
+
+ .macro smbf bitNumber, dest
+ lda #(1 << bitNumber)
+ ora dest
+ sta dest
+ .endmacro
+
+ .macro rmb bitNumber, dest
+ pha
+ lda #(1 << bitNumber) ^ $ff
+ and dest
+ sta dest
+ pla
+ .endmacro
+
+ .macro rmbf bitNumber, dest
+ lda #(1 << bitNumber) ^ $ff
+ and dest
+ sta dest
+ .endmacro
+
+ .macro bbs bitNumber, source, addr
+.local Skip
+ php
+ pha
+ lda source
+ and #(1 << bitNumber)
+ beq Skip
+ pla
+ plp
+ bra addr
+Skip: pla
+ plp
+ .endmacro
+
+ .macro bbsf bitNumber, source, addr
+ .if bitNumber=7
+ bit source
+ bmi addr
+ .else
+ .if bitNumber=6
+ bit source
+ bvs addr
+ .else
+ lda source
+ and #(1 << bitNumber)
+ bne addr
+ .endif
+ .endif
+ .endmacro
+
+ .macro bbr bitNumber, source, addr
+.local Skip
+ php
+ pha
+ lda source
+ and #(1 << bitNumber)
+ bne Skip
+ pla
+ plp
+ bra addr
+Skip: pla
+ plp
+ .endmacro
+
+ .macro bbrf bitNumber, source, addr
+ .if bitNumber=7
+ bit source
+ bpl addr
+ .else
+ .if bitNumber=6
+ bit source
+ bvc addr
+ .else
+ lda source
+ and #(1 << bitNumber)
+ beq addr
+ .endif
+ .endif
+ .endmacro
+
+;03.03.99 by Maciej Witkowiak
+
+ .macro addv value
+ clc
+ adc #(value)
+ .endmacro
+
+ .macro subv value
+ sec
+ sbc #(value)
+ .endmacro
+
+ .macro bnex addr
+ txa
+ bne addr
+ .endmacro
+
+ .macro beqx addr
+ txa
+ beq addr
+ .endmacro
--- /dev/null
+
+;GEOS variable memory locations sorted by address
+;reassembled by Maciej 'YTM/Elysium' Witkowiak
+;4-2-99
+
+zpage = $0000
+;
+
+CPU_DDR = $00
+CPU_DATA = $01
+;
+r0 = $02
+r0L = $02
+r0H = $03
+r1 = $04
+r1L = $04
+r1H = $05
+r2 = $06
+r2L = $06
+r2H = $07
+r3 = $08
+r3L = $08
+r3H = $09
+r4 = $0a
+r4L = $0a
+r4H = $0b
+r5 = $0c
+r5L = $0c
+r5H = $0d
+r6 = $0e
+r6L = $0e
+r6H = $0f
+r7 = $10
+r7L = $10
+r7H = $11
+r8 = $12
+r8L = $12
+r8H = $13
+r9 = $14
+r9L = $14
+r9H = $15
+r10 = $16
+r10L = $16
+r10H = $17
+r11 = $18
+r11L = $18
+r11H = $19
+r12 = $1a
+r12L = $1a
+r12H = $1b
+r13 = $1c
+r13L = $1c
+r13H = $1d
+r14 = $1e
+r14L = $1e
+r14H = $1f
+r15 = $20
+r15L = $20
+r15H = $21
+;
+a0 = $fb
+a0L = $fb
+a0H = $fc
+a1 = $fd
+a1L = $fd
+a1H = $fe
+a2 = $70
+a2L = $70
+a2H = $71
+a3 = $72
+a3L = $72
+a3H = $73
+a4 = $74
+a4L = $74
+a4H = $75
+a5 = $76
+a5L = $76
+a5H = $77
+a6 = $78
+a6L = $78
+a6H = $79
+a7 = $7a
+a7L = $7a
+a7H = $7b
+a8 = $7c
+a8L = $7c
+a8H = $7d
+a9 = $7e
+a9L = $7e
+a9H = $7f
+
+;
+
+curPattern = $22
+string = $24
+baselineOffset = $26
+curSetWidth = $27
+curHeight = $29
+curIndexTable = $2a
+cardDataPntr = $2c
+currentMode = $2e
+dispBufferOn = $2f
+mouseOn = $30
+msePicPtr = $31
+windowTop = $33
+windowBottom = $34
+leftMargin = $35
+rightMargin = $37
+pressFlag = $39
+mouseXPos = $3a
+mouseYPos = $3c
+returnAddress = $3d
+graphMode = $3f
+TURBO_DD00 = $8e ; from 1541 turbo
+TURBO_DD00_CPY = $8f ; from 1541 turbo
+STATUS = $90
+curDevice = $ba
+;
+irqvec = $0314
+bkvec = $0316
+nmivec = $0318
+;
+APP_RAM = $0400
+BACK_SCR_BASE = $6000
+PRINTBASE = $7900
+OS_VARS = $8000
+;
+diskBlkBuf = $8000
+fileHeader = $8100
+curDirHead = $8200
+fileTrScTab = $8300
+dirEntryBuf = $8400
+DrACurDkNm = $841e
+DrBCurDkNm = $8430
+dataFileName = $8442
+dataDiskName = $8453
+PrntFilename = $8465
+PrntDiskName = $8476
+curDrive = $8489
+diskOpenFlg = $848a
+isGEOS = $848b
+interleave = $848c
+NUMDRV = $848d
+driveType = $848e
+_driveType = driveType-8
+turboFlags = $8492
+_turboFlags = turboFlags-8
+curRecord = $8496
+usedRecords = $8497
+fileWritten = $8498
+fileSize = $8499
+appMain = $849b
+intTopVector = $849d
+intBotVector = $849f
+mouseVector = $84a1
+keyVector = $84a3
+inputVector = $84a5
+mouseFaultVec = $84a7
+otherPressVec = $84a9
+StringFaultVec = $84ab
+alarmTmtVector = $84ad
+BRKVector = $84af
+RecoverVector = $84b1
+selectionFlash = $84b3
+alphaFlag = $84b4
+iconSelFlg = $84b5
+faultData = $84b6
+menuNumber = $84b7
+mouseTop = $84b8
+mouseBottom = $84b9
+mouseLeft = $84ba
+mouseRight = $84bc
+stringX = $84be
+stringY = $84c0
+mousePicData = $84c1
+maxMouseSpeed = $8501
+minMouseSpeed = $8502
+mouseAccel = $8503
+keyData = $8504
+mouseData = $8505
+inputData = $8506
+mouseSpeed = $8507
+random = $850a
+saveFontTab = $850c
+dblClickCount = $8515
+year = $8516
+month = $8517
+day = $8518
+hour = $8519
+minutes = $851a
+seconds = $851b
+alarmSetFlag = $851c
+sysDBData = $851d
+screencolors = $851e
+dlgBoxRamBuf = $851f ; to $8697
+;
+;$8698 - $8877 - various system data (keyboard queue, VLIR t&s, DBox, Menu, timers)
+;
+savedmoby2 = $88bb
+scr80polar = $88bc
+scr80colors = $88bd
+vdcClrMode = $88be
+driveData = $88bf
+ramExpSize = $88c3
+sysRAMFlg = $88c4
+firstBoot = $88c5
+curType = $88c6
+ramBase = $88c7
+inputDevName = $88cb
+memBase = $88cf ;???
+DrCCurDkNm = $88dc
+DrDCurDkNm = $88ee
+dir2Head = $8900
+;
+SPRITE_PICS = $8a00
+spr0pic = $8a00
+spr1pic = $8a40
+spr2pic = $8a80
+spr3pic = $8ac0
+spr4pic = $8b00
+spr5pic = $8b40
+spr6pic = $8b80
+spr7pic = $8bc0
+COLOR_MATRIX = $8c00
+;
+obj0Pointer = $8ff8
+obj1Pointer = $8ff9
+obj2Pointer = $8ffa
+obj3Pointer = $8ffb
+obj4Pointer = $8ffc
+obj5Pointer = $8ffd
+obj6Pointer = $8ffe
+obj7Pointer = $8fff
+;
+DISK_BASE = $9000
+SCREEN_BASE = $a000
+OS_ROM = $c000
+OS_JUMPTAB = $c100
+RAMC_BASE = $de00
+RAMC_WINDOW = $df00
+EXP_BASE = $df00
+MOUSE_BASE_128 = $fd00
+MOUSE_JMP_128 = $fd00
+END_MOUSE_128 = $fe80
+MOUSE_BASE = $fe80
+MOUSE_JMP = $fe80
+config = $ff00
+END_MOUSE = $fffa
+NMI_VECTOR = $fffa
+RESET_VECTOR = $fffc
+IRQ_VECTOR = $fffe
+;
+vicbase = $d000
+sidbase = $d400
+mmu = $d500
+VDC = $d600
+ctab = $d800
+cia1base = $dc00
+cia2base = $dd00
+;
+mob0xpos = $d000
+mob0ypos = $d001
+mob1xpos = $d002
+mob1ypos = $d003
+mob2xpos = $d004
+mob2ypos = $d005
+mob3xpos = $d006
+mob3ypos = $d007
+mob4xpos = $d008
+mob4ypos = $d009
+mob5xpos = $d00a
+mob5ypos = $d00b
+mob6xpos = $d00c
+mob6ypos = $d00d
+mob7xpos = $d00e
+mob7ypos = $d00f
+msbxpos = $d010
+grcntrl1 = $d011
+rasreg = $d012
+lpxpos = $d013
+lpypos = $d014
+mobenble = $d015
+grcntrl2 = $d016
+grmemptr = $d018
+grirq = $d019
+grirqen = $d01a
+moby2 = $d017
+mobprior = $d01b
+mobmcm = $d01c
+mobx2 = $d01d
+mobmobcol = $d01e
+mobbakcol = $d01f
+extclr = $d020
+bakclr0 = $d021
+bakclr1 = $d022
+bakclr2 = $d023
+bakclr3 = $d024
+mcmclr0 = $d025
+mcmclr1 = $d026
+mob0clr = $d027
+mob1clr = $d028
+mob2clr = $d029
+mob3clr = $d02a
+mob4clr = $d02b
+mob5clr = $d02c
+mob6clr = $d02d
+mob7clr = $d02e
+keyreg = $d02f
+clkreg = $d030
+
+;
+vdcreg = $d600
+vdcdata = $d601
+;
--- /dev/null
+
+;GEOS various variables in OS_ROM area
+;reassembled by Maciej 'YTM/Alliance' Witkowiak
+;4-2-99
+
+bootName = $c006
+version = $c00f
+nationality = $c010
+sysFlgCopy = $c012
+c128Flag = $c013
+dateCopy = $c018
\ No newline at end of file
+++ /dev/null
-
-;GeosConst - various system constans sorted by function
-;reassembled by Maciej 'YTM/Elysium' Witkowiak
-;4-2-99, 18-3-99
-
-NULL = 0
-FALSE = NULL
-TRUE = $ff
-
-MOUSE_SPRNUM = 0
-
-DISK_DRV_LGH = $0d80
-
-;
-;filetypes
-; GEOS
-NOT_GEOS = 0
-BASIC = 1
-ASSEMBLY = 2
-DATA = 3
-SYSTEM = 4
-DESK_ACC = 5
-APPLICATION = 6
-APPL_DATA = 7
-FONT = 8
-PRINTER = 9
-INPUT_DEVICE = 10
-DISK_DEVICE = 11
-SYSTEM_BOOT = 12
-TEMPORARY = 13
-AUTO_EXEC = 14
-INPUT_128 = 15
-NUMFILETYPES = 16
-; structure
-SEQUENTIAL = 0
-VLIR = 1
-; DOS
-DEL = 0
-SEQ = 1
-PRG = 2
-USR = 3
-REL = 4
-CBM = 5
-
-;drivetypes
-DRV_NULL = 0
-DRV_1541 = 1
-DRV_1571 = 2
-DRV_1581 = 3
-DRV_NETWORK = 15
-
-;various disk
-REL_FILE_NUM = 9
-CMND_FILE_NUM = 15
-MAX_CMND_STR = 32
-DIR_1581_TRACK = 40
-DIR_ACC_CHAN = 13
-DIR_TRACK = 18
-N_TRACKS = 35
-DK_NM_ID_LEN = 18
-TRACK = 9
-SECTOR = 12
-TOTAL_BLOCKS = 664
-
-;colours
-BLACK = 0
-WHITE = 1
-RED = 2
-CYAN = 3
-PURPLE = 4
-GREEN = 5
-BLUE = 6
-YELLOW = 7
-ORANGE = 8
-BROWN = 9
-LTRED = 10
-DKGREY = 11
-GREY = 12
-MEDGREY = 12
-LTGREEN = 13
-LTBLUE = 14
-LTGREY = 15
-
-;vic memory banks
-GRBANK0 = %11
-GRBANK1 = %10
-GRBANK2 = %01
-GRBANK3 = %00
-
-;screen
-VIC_X_POS_OFF = 24
-VIC_Y_POS_OFF = 50
-SC_BYTE_WIDTH = 40
-SC_PIX_HEIGHT = 200
-SC_PIX_WIDTH = 320
-SC_SIZE = 8000
-;128 screen size constants
-SCREENBYTEWIDTH = 80
-SCREENPIXELWIDTH = 640
-
-
-;control characters
-EOF = 0
-BACKSPACE = 8
-FORWARDSPACE = 9
-TAB = 9
-LF = 10
-HOME = 11
-PAGE_BREAK = 12
-UPLINE = 12
-CR = 13
-ULINEON = 14
-ULINEOFF = 15
-ESC_GRAPHICS = 16
-ESC_RULER = 17
-REV_ON = 18
-REV_OFF = 19
-GOTOX = 20
-GOTOY = 21
-GOTOXY = 22
-NEWCARDSET = 23
-BOLDON = 24
-ITALICON = 25
-OUTLINEON = 26
-PLAINTEXT = 27
-
-;keyboard
-KEY_F1 = 1
-KEY_F2 = 2
-KEY_F3 = 3
-KEY_F4 = 4
-KEY_F5 = 5
-KEY_F6 = 6
-KEY_NOSCRL = 7
-KEY_ENTER = 11
-KEY_F7 = 14
-KEY_F8 = 15
-KEY_UP = 16
-KEY_DOWN = 17
-KEY_HOME = 18
-KEY_CLEAR = 19
-KEY_LARROW = 20
-KEY_UPARROR = 21
-KEY_STOP = 22
-KEY_RUN = 23
-KEY_BPS = 24
-KEY_HELP = 25
-KEY_ALT = 26
-KEY_ESC = 27
-KEY_INSERT = 28
-KEY_DELETE = 29
-KEY_RIGHT = 30
-KEY_INVALID = 31
-KEY_LEFT = BACKSPACE
-
-;DialogBox
-; icons
-OK = 1
-CANCEL = 2
-YES = 3
-NO = 4
-OPEN = 5
-DISK = 6
-; commands
-DBTXTSTR = 11
-DBVARSTR = 12
-DBGETSTRING = 13
-DBSYSOPV = 14
-DBGRPHSTR = 15
-DBGETFILES = 16
-DBOPVEC = 17
-DBUSRICON = 18
-DB_USR_ROUT = 19
-; tabulation in standard window
-DBI_X_0 = 1
-DBI_X_1 = 9
-DBI_X_2 = 17
-DBI_Y_0 = 8
-DBI_Y_1 = 40
-DBI_Y_2 = 72
-; standard window
-SET_DB_POS = 0
-DEF_DB_POS = $80
-DEF_DB_TOP = 32
-DEF_DB_BOT = 127
-DEF_DB_LEFT = 64
-DEF_DB_RIGHT = 255
-; text tabulation
-TXT_LN_1_Y = 16
-TXT_LN_2_Y = 32
-TXT_LN_3_Y = 48
-TXT_LN_4_Y = 64
-TXT_LN_5_Y = 80
-TXT_LN_X = 16
-; ???
-SYSDBI_HEIGHT = 16
-SYSDBI_WIDTH = 6
-
-;GraphicsString - commands
-MOVEPENTO = 1
-LINETO = 2
-RECTANGLETO = 3
-NEWPATTERN = 5
-ESC_PUTSTRING = 6
-FRAME_RECTO = 7
-PEN_X_DELTA = 8
-PEN_Y_DELTA = 9
-PEN_XY_DELTA = 10
-
-
-;DoMenu - menutypes
-MENU_ACTION = $00
-DYN_SUB_MENU = $40
-SUB_MENU = $80
-HORIZONTAL = %00000000
-VERTICAL = %10000000
-
-;Errors
-ANY_FAULT = %11110000
-NO_BLOCKS = 1
-INV_TRACK = 2
-INSUFF_SPACE = 3
-FULL_DIRECTORY = 4
-FILE_NOT_FOUND = 5
-BAD_BAM = 6
-UNOPENED_VLIR = 7
-INV_RECORD = 8
-OUT_OF_RECORDS = 9
-STRUCT_MISMAT = 10
-BFR_OVERFLOW = 11
-CANCEL_ERR = 12
-DEV_NOT_FOUND = 13
-INCOMPATIBLE = 14
-HDR_NOT_THERE = $20
-NO_SYNC = $21
-DBLK_NOT_THERE = $22
-DAT_CHKSUM_ERR = $23
-WR_VER_ERR = $25
-WR_PR_ON = $26
-HDR_CHKSUM_ERR = $27
-DSK_ID_MISMAT = $29
-BYTE_DEC_ERR = $2e
-DOS_MISMATCH = $73
-
-;Offsets
-; ???
-OFF_INDEX_PTR = 1
-; icons
-OFF_NM_ICNS = 0
-OFF_IC_XMOUSE = 1
-OFF_IC_YMOUSE = 3
-OFF_PIC_ICON = 0
-OFF_X_ICON_POS = 2
-OFF_Y_ICON_POS = 3
-OFF_WDTH_ICON = 4
-OFF_HEIGHT_ICON = 5
-OFF_SRV_RT_ICON = 6
-OFF_NX_ICON = 8
-; menu
-OFF_MY_TOP = 0
-OFF_MY_BOT = 1
-OFF_MX_LEFT = 2
-OFF_MX_RIGHT = 4
-OFF_NUM_M_ITEMS = 6
-OFF_1ST_M_ITEM = 7
-; dialog box
-OFF_DB_FORM = 0
-OFF_DB_TOP = 1
-OFF_DB_BOT = 2
-OFF_DB_LEFT = 3
-OFF_DB_RIGHT = 5
-OFF_DB_1STCMD = 7
-; directory
-; disk header
-OFF_TO_BAM = 4
-OFF_DISK_NAME = 144
-OFF_GS_DTYPE = 189
-OFF_OP_TR_SC = 171
-OFF_GS_ID = 173
-; dir entry
-FRST_FILE_ENTRY = 2
-OFF_CFILE_TYPE = 0
-OFF_DE_TR_SC = 1
-OFF_FNAME = 3
-OFF_GHDR_PTR = 19
-OFF_GSTRUC_TYPE = 21
-OFF_GFILE_TYPE = 22
-OFF_YEAR = 23
-OFF_SIZE = 28
-OFF_NXT_FILE = 32
-; file header
-O_GHIC_WIDTH = 2
-O_GHIC_HEIGHT = 3
-O_GHIC_PIC = 4
-O_GHCMDR_TYPE = 68
-O_GHGEOS_TYPE = 69
-O_GHSTR_TYPE = 70
-O_GHST_ADDR = 71
-O_GHEND_ADDR = 73
-O_GHST_VEC = 75
-O_GHFNAME = 77
-O_128_FLAGS = 96
-O_GH_AUTHOR = 97
-O_GHP_DISK = 97
-O_GHP_FNAME = 117
-O_GHINFO_TXT = $a0
-
-; values for CPU_DATA - C64 memory config
-RAM_64K = $30 ;64K RAM
-IO_IN = $35 ;60K RAM, 4K I/O space in
-KRNL_IO_IN = $36 ;kernal and I/O mapped into memory
-KRNL_BAS_IO_IN = $37 ;kernal, I/O and basic mapped into memory
-
-;values for config - C128 mmu
-CIOIN = $7E ;60K RAM, 4K I/O space in
-CRAM64K = $7F ;64K RAM
-CKRNLBASIOIN = $40 ;kernal, I/O and basic ROM's mapped into memory
-CKRNLIOIN = $4E ;Kernal ROM and I/O space mapped in
-
-;values of faultData - pointer position vs. mouseTop/Bottom/Left/Right
-; bit numbers
-OFFTOP_BIT = 7
-OFFBOTTOM_BIT = 6
-OFFLEFT_BIT = 5
-OFFRIGHT_BIT = 4
-OFFMENU_BIT = 3
-; masks
-SET_OFFTOP = %10000000
-SET_OFFBOTTOM = %01000000
-SET_OFFLEFT = %00100000
-SET_OFFRIGHT = %00010000
-SET_OFFMENU = %00001000
-
-;values of currentMode
-; bit numbers
-UNDERLINE_BIT = 7
-BOLD_BIT = 6
-REVERSE_BIT = 5
-ITALIC_BIT = 4
-OUTLINE_BIT = 3
-SUPERSCRIPT_BIT = 2
-SUBSCRIPT_BIT = 1
-; masks
-SET_UNDERLINE = %10000000
-SET_BOLD = %01000000
-SET_REVERSE = %00100000
-SET_ITALIC = %00010000
-SET_OUTLINE = %00001000
-SET_SUPERSCRIPT = %00000100
-SET_SUBSCRIPT = %00000010
-SET_PLAINTEXT = %00000000
-
-;Process control variable
-; bit numbers
-RUNABLE_BIT = 7
-BLOCKED_BIT = 6
-FROZEN_BIT = 5
-NOTIMER_BIT = 4
-; masks
-SET_RUNABLE = %10000000
-SET_BLOCKED = %01000000
-SET_FROZEN = %00100000
-SET_NOTIMER = %00010000
-
-;mouseOn
-; bit numbers
-MOUSEON_BIT = 7
-MENUON_BIT = 6
-ICONSON_BIT = 5
-; masks
-SET_MSE_ON = %10000000
-SET_MENUON = %01000000
-SET_ICONSON = %00100000
-
-;pressFlag
-; bit numbers
-KEYPRESS_BIT = 7
-INPUT_BIT = 6
-MOUSE_BIT = 5
-; masks
-SET_KEYPRESS = %10000000
-SET_INPUTCHG = %01000000
-SET_MOUSE = %00100000
-
-;dispBufferOn
-ST_WRGS_FORE = $20
-ST_WR_BACK = $40
-ST_WR_FORE = $80
-
-;alarmSetFlag
-ALARMMASK = %00000100
-
-;PutDecimal
- ;leading zeroes
-SET_NOSURPRESS = %00000000
-SET_SURPRESS = %01000000
- ;justification
-SET_RIGHTJUST = %00000000
-SET_LEFTJUST = %10000000
-
-;icons, menus status flags
-ST_FLASH = $80
-ST_INVERT = $40
-ST_LD_AT_ADDR = $01
-ST_LD_DATA = $80
-ST_PR_DATA = $40
-ST_WR_PR = $40
-
-;???
-ADD1_W = $2000
-DOUBLE_B = $80
-DOUBLE_W = $8000
-
-CLR_SAVE = %01000000
-CONSTRAINED = %01000000
-UN_CONSTRAINED = %00000000
-FG_SAVE = %10000000
-
-FUTURE1 = 7
-FUTURE2 = 8
-FUTURE3 = 9
-FUTURE4 = 10
-USELAST = 127
-SHORTCUT = 128
+++ /dev/null
-
-;-------------------------------------------------------------------------
-; OFFSETS INTO SECTSIZETAB (DIO functions)
-;-------------------------------------------------------------------------
-
-sst_flag = 0 ; length 1
-sst_sectsize = 1 ; 2
-sst_driveno = 3 ; 1 (drive #)
-sst_size = 4 ; size of one entry
- ; if changed, adapt diopncls.s
-
-;-------------------------------------------------------------------------
-; OFFSETS INTO dio_phys_pos
-;-------------------------------------------------------------------------
-
-diopp_head = 0 ; head
-diopp_track = 1 ; track / cylinder
-diopp_sector = 3 ; sector
-diopp_size = 5 ; size of structure
+++ /dev/null
-
-;GEOS Disk Driver JumpTab
-;reassembled by Maciej 'YTM/Alliance' Witkowiak
-;4-2-99
-
-;pointers
-_InitForIO = $9000
-_DoneWithIO = $9002
-_ExitTurbo = $9004
-_PurgeTurbo = $9006
-_EnterTurbo = $9008
-_ChangeDiskDevice = $900a
-_NewDisk = $900c
-_ReadBlock = $900e
-_WriteBlock = $9010
-_VerWriteBlock = $9012
-_OpenDisk = $9014
-_GetBlock = $9016
-_PutBlock = $9018
-_GetDirHead = $901a
-_PutDirHead = $901c
-_GetFreeDirBlk = $901e
-_CalcBlksFree = $9020
-_FreeBlock = $9022
-_SetNextFree = $9024
-_FindBAMBit = $9026
-_NxtBlkAlloc = $9028
-_BlkAlloc = $902a
-_ChkDkGEOS = $902c
-_SetGEOSDisk = $902e
-
-;jump table
-Get1stDirEntry = $9030
-GetNxtDirEntry = $9033
-GetBorder = $9036
-AddDirBlock = $9039
-ReadBuff = $903c
-WriteBuff = $903f
-;??? = $9042
-;??? = $9045
-AllocateBlock = $9048
-ReadLink = $904b
+++ /dev/null
-
-;GEOS macros
-;reassembled for 6502TASM/MMS by Maciej 'YTM/Elysium' Witkowiak
-;4-2-99
-
-;28-6-99 - ca65 port
-;macro 'sub' renamed to 'ssub' due to 65816 mnemonics
-
-
- .macro LoadB dest, value
- lda #value
- sta dest
- .endmacro
-
- .macro LoadW dest, value
- LoadB dest+1, >(value)
- LoadB dest+0, <(value)
- .endmacro
-
- .macro MoveB source, dest
- lda source
- sta dest
- .endmacro
-
- .macro MoveW source, dest
- MoveB source+1, dest+1
- MoveB source+0, dest+0
- .endmacro
-
- .macro add source
- clc
- adc source
- .endmacro
-
- .macro AddB source, dest
- lda source
- add dest
- sta dest
- .endmacro
-
- .macro AddW source, dest
- AddB source+0, dest+0
- lda source+1
- adc dest+1
- sta dest+1
- .endmacro
-
- .macro AddVB value, dest
- lda dest
- clc
- adc #(value)
- sta dest
- .endmacro
-
- .macro AddVW value, dest
-.local Skip
- AddVB <(value), dest+0
- .if (>(value))=0
- bcc Skip
- inc dest+1
- .else
- lda #>(value)
- adc dest+1
- sta dest+1
- .endif
-Skip:
- .endmacro
-
- .macro ssub source
- sec
- sbc source
- .endmacro
-
- .macro SubB source, dest
- lda dest
- ssub source
- sta dest
- .endmacro
-
- .macro SubW source, dest
- SubB source+0, dest+0
- lda dest+1
- sbc source+1
- sta dest+1
- .endmacro
-
- .macro SubVW value, dest
- sec
- lda dest+0
- sbc #<(value)
- sta dest+0
- lda dest+1
- sbc #>(value)
- sta dest+1
- .endmacro
-
- .macro CmpB source, dest
- lda source
- cmp dest
- .endmacro
-
- .macro CmpBI source, immed
- lda source
- cmp #(immed)
- .endmacro
-
- .macro CmpW source, dest
-.local Skip
- CmpB source+1, dest+1
- bne Skip
- CmpB source+0, dest+0
-Skip:
- .endmacro
-
- .macro CmpWI source, immed
-.local Skip
- CmpBI source+1, >(immed)
- bne Skip
- CmpBI source+0, <(immed)
-Skip:
- .endmacro
-
- .macro PushB source
- lda source
- pha
- .endmacro
-
- .macro PushW source
- PushB source+1
- PushB source+0
- .endmacro
-
- .macro PopB dest
- pla
- sta dest
- .endmacro
-
- .macro PopW dest
- PopB dest+0
- PopB dest+1
- .endmacro
-
- .macro bra addr
- clv
- bvc addr
- .endmacro
-
- .macro smb bitNumber, dest
- pha
- lda #(1 << bitNumber)
- ora dest
- sta dest
- pla
- .endmacro
-
- .macro smbf bitNumber, dest
- lda #(1 << bitNumber)
- ora dest
- sta dest
- .endmacro
-
- .macro rmb bitNumber, dest
- pha
- lda #(1 << bitNumber) ^ $ff
- and dest
- sta dest
- pla
- .endmacro
-
- .macro rmbf bitNumber, dest
- lda #(1 << bitNumber) ^ $ff
- and dest
- sta dest
- .endmacro
-
- .macro bbs bitNumber, source, addr
-.local Skip
- php
- pha
- lda source
- and #(1 << bitNumber)
- beq Skip
- pla
- plp
- bra addr
-Skip: pla
- plp
- .endmacro
-
- .macro bbsf bitNumber, source, addr
- .if bitNumber=7
- bit source
- bmi addr
- .else
- .if bitNumber=6
- bit source
- bvs addr
- .else
- lda source
- and #(1 << bitNumber)
- bne addr
- .endif
- .endif
- .endmacro
-
- .macro bbr bitNumber, source, addr
-.local Skip
- php
- pha
- lda source
- and #(1 << bitNumber)
- bne Skip
- pla
- plp
- bra addr
-Skip: pla
- plp
- .endmacro
-
- .macro bbrf bitNumber, source, addr
- .if bitNumber=7
- bit source
- bpl addr
- .else
- .if bitNumber=6
- bit source
- bvc addr
- .else
- lda source
- and #(1 << bitNumber)
- beq addr
- .endif
- .endif
- .endmacro
-
-;03.03.99 by Maciej Witkowiak
-
- .macro addv value
- clc
- adc #(value)
- .endmacro
-
- .macro subv value
- sec
- sbc #(value)
- .endmacro
-
- .macro bnex addr
- txa
- bne addr
- .endmacro
-
- .macro beqx addr
- txa
- beq addr
- .endmacro
+++ /dev/null
-
-;GEOS variable memory locations sorted by address
-;reassembled by Maciej 'YTM/Elysium' Witkowiak
-;4-2-99
-
-zpage = $0000
-;
-
-CPU_DDR = $00
-CPU_DATA = $01
-;
-r0 = $02
-r0L = $02
-r0H = $03
-r1 = $04
-r1L = $04
-r1H = $05
-r2 = $06
-r2L = $06
-r2H = $07
-r3 = $08
-r3L = $08
-r3H = $09
-r4 = $0a
-r4L = $0a
-r4H = $0b
-r5 = $0c
-r5L = $0c
-r5H = $0d
-r6 = $0e
-r6L = $0e
-r6H = $0f
-r7 = $10
-r7L = $10
-r7H = $11
-r8 = $12
-r8L = $12
-r8H = $13
-r9 = $14
-r9L = $14
-r9H = $15
-r10 = $16
-r10L = $16
-r10H = $17
-r11 = $18
-r11L = $18
-r11H = $19
-r12 = $1a
-r12L = $1a
-r12H = $1b
-r13 = $1c
-r13L = $1c
-r13H = $1d
-r14 = $1e
-r14L = $1e
-r14H = $1f
-r15 = $20
-r15L = $20
-r15H = $21
-;
-a0 = $fb
-a0L = $fb
-a0H = $fc
-a1 = $fd
-a1L = $fd
-a1H = $fe
-a2 = $70
-a2L = $70
-a2H = $71
-a3 = $72
-a3L = $72
-a3H = $73
-a4 = $74
-a4L = $74
-a4H = $75
-a5 = $76
-a5L = $76
-a5H = $77
-a6 = $78
-a6L = $78
-a6H = $79
-a7 = $7a
-a7L = $7a
-a7H = $7b
-a8 = $7c
-a8L = $7c
-a8H = $7d
-a9 = $7e
-a9L = $7e
-a9H = $7f
-
-;
-
-curPattern = $22
-string = $24
-baselineOffset = $26
-curSetWidth = $27
-curHeight = $29
-curIndexTable = $2a
-cardDataPntr = $2c
-currentMode = $2e
-dispBufferOn = $2f
-mouseOn = $30
-msePicPtr = $31
-windowTop = $33
-windowBottom = $34
-leftMargin = $35
-rightMargin = $37
-pressFlag = $39
-mouseXPos = $3a
-mouseYPos = $3c
-returnAddress = $3d
-graphMode = $3f
-TURBO_DD00 = $8e ; from 1541 turbo
-TURBO_DD00_CPY = $8f ; from 1541 turbo
-STATUS = $90
-curDevice = $ba
-;
-irqvec = $0314
-bkvec = $0316
-nmivec = $0318
-;
-APP_RAM = $0400
-BACK_SCR_BASE = $6000
-PRINTBASE = $7900
-OS_VARS = $8000
-;
-diskBlkBuf = $8000
-fileHeader = $8100
-curDirHead = $8200
-fileTrScTab = $8300
-dirEntryBuf = $8400
-DrACurDkNm = $841e
-DrBCurDkNm = $8430
-dataFileName = $8442
-dataDiskName = $8453
-PrntFilename = $8465
-PrntDiskName = $8476
-curDrive = $8489
-diskOpenFlg = $848a
-isGEOS = $848b
-interleave = $848c
-NUMDRV = $848d
-driveType = $848e
-_driveType = driveType-8
-turboFlags = $8492
-_turboFlags = turboFlags-8
-curRecord = $8496
-usedRecords = $8497
-fileWritten = $8498
-fileSize = $8499
-appMain = $849b
-intTopVector = $849d
-intBotVector = $849f
-mouseVector = $84a1
-keyVector = $84a3
-inputVector = $84a5
-mouseFaultVec = $84a7
-otherPressVec = $84a9
-StringFaultVec = $84ab
-alarmTmtVector = $84ad
-BRKVector = $84af
-RecoverVector = $84b1
-selectionFlash = $84b3
-alphaFlag = $84b4
-iconSelFlg = $84b5
-faultData = $84b6
-menuNumber = $84b7
-mouseTop = $84b8
-mouseBottom = $84b9
-mouseLeft = $84ba
-mouseRight = $84bc
-stringX = $84be
-stringY = $84c0
-mousePicData = $84c1
-maxMouseSpeed = $8501
-minMouseSpeed = $8502
-mouseAccel = $8503
-keyData = $8504
-mouseData = $8505
-inputData = $8506
-mouseSpeed = $8507
-random = $850a
-saveFontTab = $850c
-dblClickCount = $8515
-year = $8516
-month = $8517
-day = $8518
-hour = $8519
-minutes = $851a
-seconds = $851b
-alarmSetFlag = $851c
-sysDBData = $851d
-screencolors = $851e
-dlgBoxRamBuf = $851f ; to $8697
-;
-;$8698 - $8877 - various system data (keyboard queue, VLIR t&s, DBox, Menu, timers)
-;
-savedmoby2 = $88bb
-scr80polar = $88bc
-scr80colors = $88bd
-vdcClrMode = $88be
-driveData = $88bf
-ramExpSize = $88c3
-sysRAMFlg = $88c4
-firstBoot = $88c5
-curType = $88c6
-ramBase = $88c7
-inputDevName = $88cb
-memBase = $88cf ;???
-DrCCurDkNm = $88dc
-DrDCurDkNm = $88ee
-dir2Head = $8900
-;
-SPRITE_PICS = $8a00
-spr0pic = $8a00
-spr1pic = $8a40
-spr2pic = $8a80
-spr3pic = $8ac0
-spr4pic = $8b00
-spr5pic = $8b40
-spr6pic = $8b80
-spr7pic = $8bc0
-COLOR_MATRIX = $8c00
-;
-obj0Pointer = $8ff8
-obj1Pointer = $8ff9
-obj2Pointer = $8ffa
-obj3Pointer = $8ffb
-obj4Pointer = $8ffc
-obj5Pointer = $8ffd
-obj6Pointer = $8ffe
-obj7Pointer = $8fff
-;
-DISK_BASE = $9000
-SCREEN_BASE = $a000
-OS_ROM = $c000
-OS_JUMPTAB = $c100
-RAMC_BASE = $de00
-RAMC_WINDOW = $df00
-EXP_BASE = $df00
-MOUSE_BASE_128 = $fd00
-MOUSE_JMP_128 = $fd00
-END_MOUSE_128 = $fe80
-MOUSE_BASE = $fe80
-MOUSE_JMP = $fe80
-config = $ff00
-END_MOUSE = $fffa
-NMI_VECTOR = $fffa
-RESET_VECTOR = $fffc
-IRQ_VECTOR = $fffe
-;
-vicbase = $d000
-sidbase = $d400
-mmu = $d500
-VDC = $d600
-ctab = $d800
-cia1base = $dc00
-cia2base = $dd00
-;
-mob0xpos = $d000
-mob0ypos = $d001
-mob1xpos = $d002
-mob1ypos = $d003
-mob2xpos = $d004
-mob2ypos = $d005
-mob3xpos = $d006
-mob3ypos = $d007
-mob4xpos = $d008
-mob4ypos = $d009
-mob5xpos = $d00a
-mob5ypos = $d00b
-mob6xpos = $d00c
-mob6ypos = $d00d
-mob7xpos = $d00e
-mob7ypos = $d00f
-msbxpos = $d010
-grcntrl1 = $d011
-rasreg = $d012
-lpxpos = $d013
-lpypos = $d014
-mobenble = $d015
-grcntrl2 = $d016
-grmemptr = $d018
-grirq = $d019
-grirqen = $d01a
-moby2 = $d017
-mobprior = $d01b
-mobmcm = $d01c
-mobx2 = $d01d
-mobmobcol = $d01e
-mobbakcol = $d01f
-extclr = $d020
-bakclr0 = $d021
-bakclr1 = $d022
-bakclr2 = $d023
-bakclr3 = $d024
-mcmclr0 = $d025
-mcmclr1 = $d026
-mob0clr = $d027
-mob1clr = $d028
-mob2clr = $d029
-mob3clr = $d02a
-mob4clr = $d02b
-mob5clr = $d02c
-mob6clr = $d02d
-mob7clr = $d02e
-keyreg = $d02f
-clkreg = $d030
-
-;
-vdcreg = $d600
-vdcdata = $d601
-;
+++ /dev/null
-
-;GEOS various variables in OS_ROM area
-;reassembled by Maciej 'YTM/Alliance' Witkowiak
-;4-2-99
-
-bootName = $c006
-version = $c00f
-nationality = $c010
-sysFlgCopy = $c012
-c128Flag = $c013
-dateCopy = $c018
\ No newline at end of file
+++ /dev/null
-
-;GEOS Input Driver Jump Tab
-;reassembled by Maciej 'YTM/Alliance' Witkowiak
-;4-2-99
-
-;for C64
-;MOUSE_JMP = $fe80
-SlowMouse = $fe83
-UpdateMouse = $fe86
-SetMouse = $fe89
-
-;for C128
-;MOUSE_JMP_128 = $fd00
-SlowMouse_128 = $fd03
-UpdateMouse_128 = $fd06
-SetMouse_128 = $fd09
+++ /dev/null
-
-;GEOS System Jump Table
-;reassembled by Maciej 'YTM/Alliance' Witkowiak
-;4-2-99
-
-;jump table
-InterruptMain = $c100
-InitProcesses = $c103
-RestartProcess = $c106
-EnableProcess = $c109
-BlockProcess = $c10c
-UnBlockProcess = $c10f
-FreezeProcess = $c112
-UnFreezeProcess = $c115
-HorizontalLine = $c118
-InvertLine = $c11b
-RecoverLine = $c11e
-VerticalLine = $c121
-Rectangle = $c124
-FrameRectangle = $c127
-InvertRectangle = $c12a
-RecoverRectangle = $c12d
-DrawLine = $c130
-DrawPoint = $c133
-GraphicsString = $c136
-SetPattern = $c139
-GetScanLine = $c13c
-TestPoint = $c13f
-BitmapUp = $c142
-PutChar = $c145
-PutString = $c148
-UseSystemFont = $c14b
-StartMouseMode = $c14e
-DoMenu = $c151
-RecoverMenu = $c154
-RecoverAllMenus = $c157
-DoIcons = $c15a
-DShiftLeft = $c15d
-BBMult = $c160
-BMult = $c163
-DMult = $c166
-Ddiv = $c169
-DSdiv = $c16c
-Dabs = $c16f
-Dnegate = $c172
-Ddec = $c175
-ClearRam = $c178
-FillRam = $c17b
-MoveData = $c17e
-InitRam = $c181
-PutDecimal = $c184
-GetRandom = $c187
-MouseUp = $c18a
-MouseOff = $c18d
-DoPreviousMenu = $c190
-ReDoMenu = $c193
-GetSerialNumber = $c196
-Sleep = $c199
-ClearMouseMode = $c19c
-i_Rectangle = $c19f
-i_FrameRectangle = $c1a2
-i_RecoverRectangle = $c1a5
-i_GraphicsString = $c1a8
-i_BitmapUp = $c1ab
-i_PutString = $c1ae
-GetRealSize = $c1b1
-i_FillRam = $c1b4
-i_MoveData = $c1b7
-GetString = $c1ba
-GotoFirstMenu = $c1bd
-InitTextPrompt = $c1c0
-MainLoop = $c1c3
-DrawSprite = $c1c6
-GetCharWidth = $c1c9
-LoadCharSet = $c1cc
-PosSprite = $c1cf
-EnablSprite = $c1d2
-DisablSprite = $c1d5
-CallRoutine = $c1d8
-CalcBlksFree = $c1db
-ChkDkGEOS = $c1de
-NewDisk = $c1e1
-GetBlock = $c1e4
-PutBlock = $c1e7
-SetGEOSDisk = $c1ea
-SaveFile = $c1ed
-SetGDirEntry = $c1f0
-BldGDirEntry = $c1f3
-GetFreeDirBlk = $c1f6
-WriteFile = $c1f9
-BlkAlloc = $c1fc
-ReadFile = $c1ff
-SmallPutChar = $c202
-FollowChain = $c205
-GetFile = $c208
-FindFile = $c20b
-CRC = $c20e
-LdFile = $c211
-EnterTurbo = $c214
-LdDeskAcc = $c217
-ReadBlock = $c21a
-LdApplic = $c21d
-WriteBlock = $c220
-VerWriteBlock = $c223
-FreeFile = $c226
-GetFHdrInfo = $c229
-EnterDeskTop = $c22c
-StartAppl = $c22f
-ExitTurbo = $c232
-PurgeTurbo = $c235
-DeleteFile = $c238
-FindFTypes = $c23b
-RstrAppl = $c23e
-ToBASIC = $c241
-FastDelFile = $c244
-GetDirHead = $c247
-PutDirHead = $c24a
-NxtBlkAlloc = $c24d
-ImprintRectangle = $c250
-i_ImprintRectangle = $c253
-DoDlgBox = $c256
-RenameFile = $c259
-InitForIO = $c25c
-DoneWithIO = $c25f
-DShiftRight = $c262
-CopyString = $c265
-CopyFString = $c268
-CmpString = $c26b
-CmpFString = $c26e
-FirstInit = $c271
-OpenRecordFile = $c274
-CloseRecordFile = $c277
-NextRecord = $c27a
-PreviousRecord = $c27d
-PointRecord = $c280
-DeleteRecord = $c283
-InsertRecord = $c286
-AppendRecord = $c289
-ReadRecord = $c28c
-WriteRecord = $c28f
-SetNextFree = $c292
-UpdateRecordFile = $c295
-GetPtrCurDkNm = $c298
-PromptOn = $c29b
-PromptOff = $c29e
-OpenDisk = $c2a1
-DoInlineReturn = $c2a4
-GetNextChar = $c2a7
-BitmapClip = $c2aa
-FindBAMBit = $c2ad
-SetDevice = $c2b0
-IsMseInRegion = $c2b3
-ReadByte = $c2b6
-FreeBlock = $c2b9
-ChangeDiskDevice = $c2bc
-RstrFrmDialogue = $c2bf
-Panic = $c2c2
-BitOtherClip = $c2c5
-StashRAM = $c2c8
-FetchRAM = $c2cb
-SwapRAM = $c2ce
-VerifyRAM = $c2d1
-DoRAMOp = $c2d4
-
-;only in GEOS 128
-TempHideMouse = $c2d7
-SetMousePicture = $c2da
-SetNewMode = $c2dd
-NormalizeX = $c2e0
-MoveBData = $c2e3
-SwapBData = $c2e6
-VerifyBData = $c2e9
-DoBOp = $c2ec
-AccessCache = $c2ef
-HideOnlyMouse = $c2f2
-SetColorMode = $c2f5
-ColorCard = $c2f8
-ColorRectangle = $c2fb
+++ /dev/null
-
-;GEOS Printer Driver Jump Table
-;reassembled by Maciej 'YTM/Alliance' Witkowiak
-;4-2-99
-
-;jump table
-InitForPrint = $7900
-StartPrint = $7903
-PrintBuffer = $7906
-StopPrint = $7909
-GetDimensions = $790c
-PrinsASCII = $790f
-StartASCII = $7912
-SetNLQ = $7915
--- /dev/null
+
+;GEOS Input Driver Jump Tab
+;reassembled by Maciej 'YTM/Alliance' Witkowiak
+;4-2-99
+
+;for C64
+;MOUSE_JMP = $fe80
+SlowMouse = $fe83
+UpdateMouse = $fe86
+SetMouse = $fe89
+
+;for C128
+;MOUSE_JMP_128 = $fd00
+SlowMouse_128 = $fd03
+UpdateMouse_128 = $fd06
+SetMouse_128 = $fd09
--- /dev/null
+
+;GEOS System Jump Table
+;reassembled by Maciej 'YTM/Alliance' Witkowiak
+;4-2-99
+
+;jump table
+InterruptMain = $c100
+InitProcesses = $c103
+RestartProcess = $c106
+EnableProcess = $c109
+BlockProcess = $c10c
+UnBlockProcess = $c10f
+FreezeProcess = $c112
+UnFreezeProcess = $c115
+HorizontalLine = $c118
+InvertLine = $c11b
+RecoverLine = $c11e
+VerticalLine = $c121
+Rectangle = $c124
+FrameRectangle = $c127
+InvertRectangle = $c12a
+RecoverRectangle = $c12d
+DrawLine = $c130
+DrawPoint = $c133
+GraphicsString = $c136
+SetPattern = $c139
+GetScanLine = $c13c
+TestPoint = $c13f
+BitmapUp = $c142
+PutChar = $c145
+PutString = $c148
+UseSystemFont = $c14b
+StartMouseMode = $c14e
+DoMenu = $c151
+RecoverMenu = $c154
+RecoverAllMenus = $c157
+DoIcons = $c15a
+DShiftLeft = $c15d
+BBMult = $c160
+BMult = $c163
+DMult = $c166
+Ddiv = $c169
+DSdiv = $c16c
+Dabs = $c16f
+Dnegate = $c172
+Ddec = $c175
+ClearRam = $c178
+FillRam = $c17b
+MoveData = $c17e
+InitRam = $c181
+PutDecimal = $c184
+GetRandom = $c187
+MouseUp = $c18a
+MouseOff = $c18d
+DoPreviousMenu = $c190
+ReDoMenu = $c193
+GetSerialNumber = $c196
+Sleep = $c199
+ClearMouseMode = $c19c
+i_Rectangle = $c19f
+i_FrameRectangle = $c1a2
+i_RecoverRectangle = $c1a5
+i_GraphicsString = $c1a8
+i_BitmapUp = $c1ab
+i_PutString = $c1ae
+GetRealSize = $c1b1
+i_FillRam = $c1b4
+i_MoveData = $c1b7
+GetString = $c1ba
+GotoFirstMenu = $c1bd
+InitTextPrompt = $c1c0
+MainLoop = $c1c3
+DrawSprite = $c1c6
+GetCharWidth = $c1c9
+LoadCharSet = $c1cc
+PosSprite = $c1cf
+EnablSprite = $c1d2
+DisablSprite = $c1d5
+CallRoutine = $c1d8
+CalcBlksFree = $c1db
+ChkDkGEOS = $c1de
+NewDisk = $c1e1
+GetBlock = $c1e4
+PutBlock = $c1e7
+SetGEOSDisk = $c1ea
+SaveFile = $c1ed
+SetGDirEntry = $c1f0
+BldGDirEntry = $c1f3
+GetFreeDirBlk = $c1f6
+WriteFile = $c1f9
+BlkAlloc = $c1fc
+ReadFile = $c1ff
+SmallPutChar = $c202
+FollowChain = $c205
+GetFile = $c208
+FindFile = $c20b
+CRC = $c20e
+LdFile = $c211
+EnterTurbo = $c214
+LdDeskAcc = $c217
+ReadBlock = $c21a
+LdApplic = $c21d
+WriteBlock = $c220
+VerWriteBlock = $c223
+FreeFile = $c226
+GetFHdrInfo = $c229
+EnterDeskTop = $c22c
+StartAppl = $c22f
+ExitTurbo = $c232
+PurgeTurbo = $c235
+DeleteFile = $c238
+FindFTypes = $c23b
+RstrAppl = $c23e
+ToBASIC = $c241
+FastDelFile = $c244
+GetDirHead = $c247
+PutDirHead = $c24a
+NxtBlkAlloc = $c24d
+ImprintRectangle = $c250
+i_ImprintRectangle = $c253
+DoDlgBox = $c256
+RenameFile = $c259
+InitForIO = $c25c
+DoneWithIO = $c25f
+DShiftRight = $c262
+CopyString = $c265
+CopyFString = $c268
+CmpString = $c26b
+CmpFString = $c26e
+FirstInit = $c271
+OpenRecordFile = $c274
+CloseRecordFile = $c277
+NextRecord = $c27a
+PreviousRecord = $c27d
+PointRecord = $c280
+DeleteRecord = $c283
+InsertRecord = $c286
+AppendRecord = $c289
+ReadRecord = $c28c
+WriteRecord = $c28f
+SetNextFree = $c292
+UpdateRecordFile = $c295
+GetPtrCurDkNm = $c298
+PromptOn = $c29b
+PromptOff = $c29e
+OpenDisk = $c2a1
+DoInlineReturn = $c2a4
+GetNextChar = $c2a7
+BitmapClip = $c2aa
+FindBAMBit = $c2ad
+SetDevice = $c2b0
+IsMseInRegion = $c2b3
+ReadByte = $c2b6
+FreeBlock = $c2b9
+ChangeDiskDevice = $c2bc
+RstrFrmDialogue = $c2bf
+Panic = $c2c2
+BitOtherClip = $c2c5
+StashRAM = $c2c8
+FetchRAM = $c2cb
+SwapRAM = $c2ce
+VerifyRAM = $c2d1
+DoRAMOp = $c2d4
+
+;only in GEOS 128
+TempHideMouse = $c2d7
+SetMousePicture = $c2da
+SetNewMode = $c2dd
+NormalizeX = $c2e0
+MoveBData = $c2e3
+SwapBData = $c2e6
+VerifyBData = $c2e9
+DoBOp = $c2ec
+AccessCache = $c2ef
+HideOnlyMouse = $c2f2
+SetColorMode = $c2f5
+ColorCard = $c2f8
+ColorRectangle = $c2fb
--- /dev/null
+
+;GEOS Printer Driver Jump Table
+;reassembled by Maciej 'YTM/Alliance' Witkowiak
+;4-2-99
+
+;jump table
+InitForPrint = $7900
+StartPrint = $7903
+PrintBuffer = $7906
+StopPrint = $7909
+GetDimensions = $790c
+PrinsASCII = $790f
+StartASCII = $7912
+SetNLQ = $7915