From: cuz Date: Sun, 26 May 2002 09:08:52 +0000 (+0000) Subject: Combine the existing include files, move zp space out of crt0.s X-Git-Tag: V2.12.0~2332 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3aadd7f62b68a2eedb32e24c8353a829b82a1102;p=cc65 Combine the existing include files, move zp space out of crt0.s git-svn-id: svn://svn.cc65.org/cc65/trunk@1290 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/libsrc/cbm510/banking.s b/libsrc/cbm510/banking.s index f0a3cbd02..77686a307 100644 --- a/libsrc/cbm510/banking.s +++ b/libsrc/cbm510/banking.s @@ -7,7 +7,7 @@ .export set_bank, sys_bank, restore_bank .importzp ptr1 - .include "zeropage.inc" + .include "cbm510.inc" .code diff --git a/libsrc/cbm510/break.s b/libsrc/cbm510/break.s index cf5332a95..3f14b4499 100644 --- a/libsrc/cbm510/break.s +++ b/libsrc/cbm510/break.s @@ -9,8 +9,7 @@ .export _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc .import _atexit - .include "zeropage.inc" - .include "page3.inc" + .include "cbm510.inc" .bss diff --git a/libsrc/cbm510/cbm510.inc b/libsrc/cbm510/cbm510.inc new file mode 100644 index 000000000..d092f3d84 --- /dev/null +++ b/libsrc/cbm510/cbm510.inc @@ -0,0 +1,340 @@ +; +; Zero page variables and I/O definitions for the CBM 510 +; +; Taken from a kernal disassembly done by myself in 2000/2001. +; +; Ullrich von Bassewitz, 13.09.2001 + + +;----------------------------------------------------------------------------- +; Zeropage stuff + +ExecReg = $0000 +IndReg = $0001 + +; Up to $20 and $60-8F used by runtime and fixed values +; ----------------------------------- + +KbdScanBuf = $20 ; Intermediate for keyboard scan +; RS232 stuff +RecvHead = $21 ; Head of receive buffer +RecvTail = $22 ; Tail of receive buffer +RecvFreeCnt = $23 ; Number of bytes in receive buffer +SendHead = $24 ; Head of send buffer +SendTail = $25 ; Tail of send buffer +SendFreeCnt = $26 ; Number of bytes free in send buffer + +FileNameAdrLo = $90 +FileNameAdrHi = $91 +FileNameAdrSeg = $92 +SaveAdrLow = $93 +SaveAdrHi = $94 +SaveAdrSeg = $95 +EndAdrLow = $96 +EndAdrHi = $97 +EndAdrSeg = $98 +StartAdrLow = $99 +StartAdrHi = $9A +StartAdrSeg = $9B +Status = $9C +FileNameLen = $9D +LogicalAdr = $9E +FirstAdr = $9F +SecondAdr = $A0 +DefInpDev = $A1 +DefOutDev = $A2 +TapeBufPtr = $A3 +TapeBufPtrSeg = $A5 +rs232BufPtr = $A6 +rs232BufPtrSeg = $A8 +StopKeyFlag = $A9 +CTemp = $AA +snsw1 = $AB +SegChgPtr = $AC +PChighSave = $AE +PClowSave = $AF +SRSave = $B0 +ACSave = $B1 +XRSave = $B2 +YRSave = $B3 +SPSave = $B4 +IndSegSave = $B5 +IRQSaveHi = $B7 +IRQSaveLo = $B8 +Adr1 = $B9 +Adr2 = $BB +MoniCntr = $BD +MoniTmp = $BE +MoniDevNr = $BF +PgmKeyBuf = $C0 +PgmKeyPtr = $C2 +sedsal = $C4 +sedeal = $C6 +SCREEN_PTR = $C8 +CURS_Y = $CA +CURS_X = $CB +GrafMode = $CC +LastIndex = $CD +LastLine = $CE +LastCol = $CF +crsw = $D0 +KeyIndex = $D1 +QuoteSw = $D2 +Insrt = $D3 +Config = $D4 +LastLinePos = $D5 +PgmKeyIndex = $D6 +RepeatCount = $D7 +RepeatDelay = $D8 +sedt1 = $D9 ; Temp +sedt2 = $DA ; Temp, frequently used +PrtData = $DB +ScreenTop = $DC +ScreenBot = $DD +ScreenLeft = $DE +ScreenRight = $DF +ModKey = $E0 +NorKey = $E1 +BitTable = $E2 +CURS_FLAG = $E6 ; 1 = no cursor +CURS_BLINK = $E7 ; cursor blink counter +CRAM_PTR = $E8 +TempColor = $EA +CURS_STATE = $EB ; Cursor blink state +CHARCOLOR = $EC +CURS_COLOR = $ED ; Color behind cursor +OutCharTmp = $EE +ScreenSeq = $EF ; Segment of video RAM + +;----------------------------------------------------------------------------- +; Page 3 variables + +; +; system ram vectors +; + +IRQVec = $0300 +BRKVec = $0302 +NMIVec = $0304 +openVec = $0306 +closeVec = $0308 +chkinVec = $030A +ckoutVec = $030C +clrchVec = $030E +basinVec = $0310 +bsoutVec = $0312 +stopVec = $0314 +getinVec = $0316 +clallVec = $0318 +loadVec = $031A +saveVec = $031C +usrcmd = $031E +escvec = $0320 +ctrlvec = $0322 +secndVec = $0324 +tksaVec = $0326 +acptrVec = $0328 +cioutVec = $032A +untlkVec = $032C +unlsnVec = $032E +listnVec = $0330 +talkVec = $0332 + +; +; +; + +LogicalAdrTable = $0334 +FirstAdrTable = $033E +SecondAdrTable = $0348 +SysMemBot = $0352 +SysMemTop = $0355 +UsrMemBot = $0358 +UsrMemTop = $035B +TimOut = $035E +VerifyFlag = $035F +DevTabIndex = $0360 +MsgFlag = $0361 +CassBufPtr = $0362 +t1 = $0363 +t2 = $0364 +XSave = $0365 +SaveX = $0366 +SaveXt = $0367 +temp = $0368 +alarm = $0369 +TapeVec = $036A +LoadStAdr = $036F +CassMotFlag = $0375 +m6551Ctrl = $0376 +m6551Cmd = $0377 +rs232status = $037A +dcddsr = $037B +rs232head = $037C +rs232tail = $037D +PgmKeyEnd = $0380 +PgmKeySeg = $0382 +PgmKeySize = $0383 +rvsFlag = $0397 +linetmp = $0398 +LastPrtChar = $0399 +InsertFlag = $039A +ScrollFlag = $039B +FktTemp = $039C +PgmKeyIdx = $039D +LogScrollFlag = $039E +BellMode = $039F ; Bell on/off 00 = an +SegSave = $03A0 +TabStopTable = $03A1 ; 80 bits for tabstops +KeyBuf = $03AB ; Keyboard buffer +funvec = $03B5 ; Vector for function key handline +FunKeyTmp = $03B7 +sedt3 = $03B9 +MoniSegSave = $03f0 +wstvec = $03F8 +WstFlag = $03FA ; Warm start flag + +;----------------------------------------------------------------------------- +; I/O Definitions + +; I/O $d800: VIC + +VIC_SPR0_X = $00 +VIC_SPR0_Y = $01 +VIC_SPR1_X = $02 +VIC_SPR1_Y = $03 +VIC_SPR2_X = $04 +VIC_SPR2_Y = $05 +VIC_SPR3_X = $06 +VIC_SPR3_Y = $07 +VIC_SPR4_X = $08 +VIC_SPR4_Y = $09 +VIC_SPR5_X = $0A +VIC_SPR5_Y = $0B +VIC_SPR6_X = $0C +VIC_SPR6_Y = $0D +VIC_SPR7_X = $0E +VIC_SPR7_Y = $0F +VIC_SPR_HI_X = $10 +VIC_SPR_ENA = $15 +VIC_SPR_EXP_X = $17 +VIC_SPR_EXP_Y = $1D +VIC_SPR_MCOLOR = $1C +VIC_SPR_BG_PRIO = $1B + +VIC_SPR_MCOLOR0 = $25 +VIC_SPR_MCOLOR1 = $26 + +VIC_SPR0_COLOR = $27 +VIC_SPR1_COLOR = $28 +VIC_SPR2_COLOR = $29 +VIC_SPR3_COLOR = $2A +VIC_SPR4_COLOR = $2B +VIC_SPR5_COLOR = $2C +VIC_SPR6_COLOR = $2D +VIC_SPR7_COLOR = $2E + +VIC_CTRL1 = $11 +VIC_CTRL2 = $16 + +VIC_HLINE = $12 + +VIC_VIDEO_ADR = $18 + +VIC_IRR = $19 ; Interrupt request register +VIC_IMR = $1A ; Interrupt mask register + +VIC_BORDERCOLOR = $20 +VIC_BG_COLOR0 = $21 +VIC_BG_COLOR1 = $22 +VIC_BG_COLOR2 = $23 +VIC_BG_COLOR3 = $24 + + + +; I/O $da00: SID 6581 + +SID_S1Lo = $00 +SID_S1Hi = $01 +SID_PB1Lo = $02 +SID_PB1Hi = $03 +SID_Ctl1 = $04 +SID_AD1 = $05 +SID_SUR1 = $06 + +SID_S2Lo = $07 +SID_S2Hi = $08 +SID_PB2Lo = $09 +SID_PB2Hi = $0A +SID_Ctl2 = $0B +SID_AD2 = $0C +SID_SUR2 = $0D + +SID_S3Lo = $0E +SID_S3Hi = $0F +SID_PB3Lo = $10 +SID_PB3Hi = $11 +SID_Ctl3 = $12 +SID_AD3 = $13 +SID_SUR3 = $14 + +SID_FltLo = $15 +SID_FltHi = $16 +SID_FltCtl = $17 +SID_Amp = $18 +SID_ADConv1 = $19 +SID_ADConv2 = $1A +SID_Noise = $1B +SID_Read3 = $1C + + +; I/O $db00: CIA 6526 Inter Process Communication +; I/O $dc00: CIA 6526 + +CIA_PRA = $00 +CIA_PRB = $01 +CIA_DDRA = $02 +CIA_DDRB = $03 +CIA_ICR = $0D +CIA_CRA = $0E +CIA_CRB = $0F + + +; I/O $dd00: ACIA 6551 + +; acia = $dd00 + + ADataReg = $00 + AStatusReg = $01 + ACmdReg = $02 + ACtrlReg = $03 + + + +; I/O $de00: Triport #1 6525 + +; tpi1 = $de00 + + tpiPortA = $00 + tpiPortB = $01 + tpiPortC = $02 + tpiIntLatch = $02 + tpiDDRA = $03 + tpiDDRB = $04 + tpiDDRC = $05 + tpiIntMask = $05 + tpiCtrlReg = $06 + tpiActIntReg = $07 + + + +; I/O $df00: Triport #2 6525 + +; tpi2 = $df00 + + + +; Out video memory address + +COLOR_RAM = $D400 ; System bank + diff --git a/libsrc/cbm510/cgetc.s b/libsrc/cbm510/cgetc.s index 1e966341d..52db5b808 100644 --- a/libsrc/cbm510/cgetc.s +++ b/libsrc/cbm510/cgetc.s @@ -8,8 +8,7 @@ .condes k_blncur, 2 .import cursor - .include "zeropage.inc" - .include "page3.inc" + .include "cbm510.inc" ; ------------------------------------------------------------------------ @@ -91,7 +90,7 @@ L4: lda KeyBuf+1,x ; Move up the remaining chars @L9: sty CURS_FLAG ; Cursor on (Y = 0) rts - + .endproc diff --git a/libsrc/cbm510/clrscr.s b/libsrc/cbm510/clrscr.s index 206833cc1..c22d51545 100644 --- a/libsrc/cbm510/clrscr.s +++ b/libsrc/cbm510/clrscr.s @@ -5,8 +5,7 @@ .export _clrscr .import plot - .include "zeropage.inc" - .include "io.inc" + .include "cbm510.inc" ; ------------------------------------------------------------------------ ; void __fastcall__ clrscr (void); @@ -30,7 +29,7 @@ .proc clearpage - + txa pha ; Save count diff --git a/libsrc/cbm510/color.s b/libsrc/cbm510/color.s index 04332121f..5d0d7050d 100644 --- a/libsrc/cbm510/color.s +++ b/libsrc/cbm510/color.s @@ -6,8 +6,7 @@ .import sys_bank, restore_bank .importzp vic - .include "zeropage.inc" - .include "io.inc" + .include "cbm510.inc" ; ------------------------------------------------------------------------ diff --git a/libsrc/cbm510/conio.s b/libsrc/cbm510/conio.s index 2456f7b4f..54b3e4abf 100644 --- a/libsrc/cbm510/conio.s +++ b/libsrc/cbm510/conio.s @@ -6,5 +6,5 @@ .exportzp CURS_X, CURS_Y - .include "zeropage.inc" - + .include "cbm510.inc" + diff --git a/libsrc/cbm510/cputc.s b/libsrc/cbm510/cputc.s index c7d694042..557beae31 100644 --- a/libsrc/cbm510/cputc.s +++ b/libsrc/cbm510/cputc.s @@ -10,7 +10,7 @@ .import popa, _gotoxy .import xsize, revers - .include "zeropage.inc" + .include "cbm510.inc" .include "../cbm/cbm.inc" ; ------------------------------------------------------------------------ @@ -60,7 +60,7 @@ L3: sty CURS_X rts newline: - clc + clc lda xsize adc SCREEN_PTR sta SCREEN_PTR diff --git a/libsrc/cbm510/crt0.s b/libsrc/cbm510/crt0.s index cfb2681e0..b304c32c7 100644 --- a/libsrc/cbm510/crt0.s +++ b/libsrc/cbm510/crt0.s @@ -13,39 +13,9 @@ .import k_irq, k_nmi, k_plot, k_udtim, k_scnkey .include "zeropage.inc" - .include "io.inc" + .include "cbm510.inc" -; ------------------------------------------------------------------------ -; Define and export the ZP variables for the CBM510 runtime - - .exportzp sp, sreg, regsave - .exportzp ptr1, ptr2, ptr3, ptr4 - .exportzp tmp1, tmp2, tmp3, tmp4 - .exportzp regbank, zpspace - .exportzp vic, sid, cia1, cia2, acia, tpi1, tpi2 - .exportzp ktab1, ktab2, ktab3, ktab4, time, RecvBuf, SendBuf - -.zeropage - -zpstart = * -sp: .res 2 ; Stack pointer -sreg: .res 2 ; Secondary register/high 16 bit for longs -regsave: .res 2 ; slot to save/restore (E)AX into -ptr1: .res 2 -ptr2: .res 2 -ptr3: .res 2 -ptr4: .res 2 -tmp1: .res 1 -tmp2: .res 1 -tmp3: .res 1 -tmp4: .res 1 -regbank: .res 6 ; 6 byte register bank - -zpspace = * - zpstart ; Zero page space allocated - -.code - ; ------------------------------------------------------------------------ ; BASIC header and a small BASIC program. Since it is not possible to start ; programs in other banks using SYS, the BASIC program will write a small @@ -75,6 +45,8 @@ zpspace = * - zpstart ; Zero page space allocated ; that is overwritten later. ; +.code + ; To make things more simple, make the code of this module absolute. .org $0001 diff --git a/libsrc/cbm510/io.inc b/libsrc/cbm510/io.inc deleted file mode 100644 index 3d1422d86..000000000 --- a/libsrc/cbm510/io.inc +++ /dev/null @@ -1,149 +0,0 @@ -; -; I/O definitions for the CBM 510 -; -; Taken from a kernal disassembly done by myself in 2000/2001. -; -; Ullrich von Bassewitz, 13.09.2001 - - -; I/O $d800: VIC - -VIC_SPR0_X = $00 -VIC_SPR0_Y = $01 -VIC_SPR1_X = $02 -VIC_SPR1_Y = $03 -VIC_SPR2_X = $04 -VIC_SPR2_Y = $05 -VIC_SPR3_X = $06 -VIC_SPR3_Y = $07 -VIC_SPR4_X = $08 -VIC_SPR4_Y = $09 -VIC_SPR5_X = $0A -VIC_SPR5_Y = $0B -VIC_SPR6_X = $0C -VIC_SPR6_Y = $0D -VIC_SPR7_X = $0E -VIC_SPR7_Y = $0F -VIC_SPR_HI_X = $10 -VIC_SPR_ENA = $15 -VIC_SPR_EXP_X = $17 -VIC_SPR_EXP_Y = $1D -VIC_SPR_MCOLOR = $1C -VIC_SPR_BG_PRIO = $1B - -VIC_SPR_MCOLOR0 = $25 -VIC_SPR_MCOLOR1 = $26 - -VIC_SPR0_COLOR = $27 -VIC_SPR1_COLOR = $28 -VIC_SPR2_COLOR = $29 -VIC_SPR3_COLOR = $2A -VIC_SPR4_COLOR = $2B -VIC_SPR5_COLOR = $2C -VIC_SPR6_COLOR = $2D -VIC_SPR7_COLOR = $2E - -VIC_CTRL1 = $11 -VIC_CTRL2 = $16 - -VIC_HLINE = $12 - -VIC_VIDEO_ADR = $18 - -VIC_IRR = $19 ; Interrupt request register -VIC_IMR = $1A ; Interrupt mask register - -VIC_BORDERCOLOR = $20 -VIC_BG_COLOR0 = $21 -VIC_BG_COLOR1 = $22 -VIC_BG_COLOR2 = $23 -VIC_BG_COLOR3 = $24 - - - -; I/O $da00: SID 6581 - -SID_S1Lo = $00 -SID_S1Hi = $01 -SID_PB1Lo = $02 -SID_PB1Hi = $03 -SID_Ctl1 = $04 -SID_AD1 = $05 -SID_SUR1 = $06 - -SID_S2Lo = $07 -SID_S2Hi = $08 -SID_PB2Lo = $09 -SID_PB2Hi = $0A -SID_Ctl2 = $0B -SID_AD2 = $0C -SID_SUR2 = $0D - -SID_S3Lo = $0E -SID_S3Hi = $0F -SID_PB3Lo = $10 -SID_PB3Hi = $11 -SID_Ctl3 = $12 -SID_AD3 = $13 -SID_SUR3 = $14 - -SID_FltLo = $15 -SID_FltHi = $16 -SID_FltCtl = $17 -SID_Amp = $18 -SID_ADConv1 = $19 -SID_ADConv2 = $1A -SID_Noise = $1B -SID_Read3 = $1C - - -; I/O $db00: CIA 6526 Inter Process Communication -; I/O $dc00: CIA 6526 - -CIA_PRA = $00 -CIA_PRB = $01 -CIA_DDRA = $02 -CIA_DDRB = $03 -CIA_ICR = $0D -CIA_CRA = $0E -CIA_CRB = $0F - - -; I/O $dd00: ACIA 6551 - -; acia = $dd00 - - ADataReg = $00 - AStatusReg = $01 - ACmdReg = $02 - ACtrlReg = $03 - - - -; I/O $de00: Triport #1 6525 - -; tpi1 = $de00 - - tpiPortA = $00 - tpiPortB = $01 - tpiPortC = $02 - tpiIntLatch = $02 - tpiDDRA = $03 - tpiDDRB = $04 - tpiDDRC = $05 - tpiIntMask = $05 - tpiCtrlReg = $06 - tpiActIntReg = $07 - - - -; I/O $df00: Triport #2 6525 - -; tpi2 = $df00 - - - -; Out video memory address - -COLOR_RAM = $D400 ; System bank - diff --git a/libsrc/cbm510/kbhit.s b/libsrc/cbm510/kbhit.s index 5ef5e63ae..9e2b3f6f1 100644 --- a/libsrc/cbm510/kbhit.s +++ b/libsrc/cbm510/kbhit.s @@ -7,7 +7,7 @@ .export _kbhit .import return0, return1 - .include "zeropage.inc" + .include "cbm510.inc" .proc _kbhit lda KeyIndex ; Get number of characters diff --git a/libsrc/cbm510/kirq.s b/libsrc/cbm510/kirq.s index cd71693b2..eefc320ba 100644 --- a/libsrc/cbm510/kirq.s +++ b/libsrc/cbm510/kirq.s @@ -10,9 +10,7 @@ .import __IRQFUNC_TABLE__, __IRQFUNC_COUNT__ .importzp tpi1 - .include "zeropage.inc" - .include "io.inc" - .include "page3.inc" + .include "cbm510.inc" ; ------------------------------------------------------------------------- diff --git a/libsrc/cbm510/kplot.s b/libsrc/cbm510/kplot.s index 14369ce71..3d16d578f 100644 --- a/libsrc/cbm510/kplot.s +++ b/libsrc/cbm510/kplot.s @@ -8,8 +8,7 @@ .import __VIDRAM_START__ .importzp crtc - .include "zeropage.inc" - .include "io.inc" + .include "cbm510.inc" .macpack generic diff --git a/libsrc/cbm510/kscnkey.s b/libsrc/cbm510/kscnkey.s index d29845d02..0832a3461 100644 --- a/libsrc/cbm510/kscnkey.s +++ b/libsrc/cbm510/kscnkey.s @@ -7,9 +7,7 @@ .export k_scnkey .importzp tpi2, ktab1, ktab2, ktab3, ktab4 - .include "zeropage.inc" - .include "io.inc" - .include "page3.inc" + .include "cbm510.inc" .proc k_scnkey diff --git a/libsrc/cbm510/mouse.s b/libsrc/cbm510/mouse.s index 9ff1a4dc8..24a72ccb7 100644 --- a/libsrc/cbm510/mouse.s +++ b/libsrc/cbm510/mouse.s @@ -17,8 +17,7 @@ .import popax, addysp1 .importzp vic, sid, ptr1, sp - .include "zeropage.inc" - .include "io.inc" + .include "cbm510.inc" .macpack generic diff --git a/libsrc/cbm510/page3.inc b/libsrc/cbm510/page3.inc deleted file mode 100644 index 7095a1348..000000000 --- a/libsrc/cbm510/page3.inc +++ /dev/null @@ -1,94 +0,0 @@ -; -; Page 3 variables for the CBM 610 -; -; Taken from a kernal disassembly done by myself in 1987. -; -; Ullrich von Bassewitz, 28.09.1998 - - -; -; system ram vectors -; - -IRQVec = $0300 -BRKVec = $0302 -NMIVec = $0304 -openVec = $0306 -closeVec = $0308 -chkinVec = $030A -ckoutVec = $030C -clrchVec = $030E -basinVec = $0310 -bsoutVec = $0312 -stopVec = $0314 -getinVec = $0316 -clallVec = $0318 -loadVec = $031A -saveVec = $031C -usrcmd = $031E -escvec = $0320 -ctrlvec = $0322 -secndVec = $0324 -tksaVec = $0326 -acptrVec = $0328 -cioutVec = $032A -untlkVec = $032C -unlsnVec = $032E -listnVec = $0330 -talkVec = $0332 - -; -; -; - -LogicalAdrTable = $0334 -FirstAdrTable = $033E -SecondAdrTable = $0348 -SysMemBot = $0352 -SysMemTop = $0355 -UsrMemBot = $0358 -UsrMemTop = $035B -TimOut = $035E -VerifyFlag = $035F -DevTabIndex = $0360 -MsgFlag = $0361 -CassBufPtr = $0362 -t1 = $0363 -t2 = $0364 -XSave = $0365 -SaveX = $0366 -SaveXt = $0367 -temp = $0368 -alarm = $0369 -TapeVec = $036A -LoadStAdr = $036F -CassMotFlag = $0375 -m6551Ctrl = $0376 -m6551Cmd = $0377 -rs232status = $037A -dcddsr = $037B -rs232head = $037C -rs232tail = $037D -PgmKeyEnd = $0380 -PgmKeySeg = $0382 -PgmKeySize = $0383 -rvsFlag = $0397 -linetmp = $0398 -LastPrtChar = $0399 -InsertFlag = $039A -ScrollFlag = $039B -FktTemp = $039C -PgmKeyIdx = $039D -LogScrollFlag = $039E -BellMode = $039F ; Bell on/off 00 = an -SegSave = $03A0 -TabStopTable = $03A1 ; 80 bits for tabstops -KeyBuf = $03AB ; Keyboard buffer -funvec = $03B5 ; Vector for function key handline -FunKeyTmp = $03B7 -sedt3 = $03B9 -MoniSegSave = $03f0 -wstvec = $03F8 -WstFlag = $03FA ; Warm start flag - - diff --git a/libsrc/cbm510/peeksys.s b/libsrc/cbm510/peeksys.s index e3110603e..3d551e75c 100644 --- a/libsrc/cbm510/peeksys.s +++ b/libsrc/cbm510/peeksys.s @@ -5,7 +5,7 @@ .export _peekbsys, _peekwsys .importzp ptr1 - .include "zeropage.inc" + .include "cbm510.inc" ; ------------------------------------------------------------------------ diff --git a/libsrc/cbm510/pokesys.s b/libsrc/cbm510/pokesys.s index 6e94eec46..41b456706 100644 --- a/libsrc/cbm510/pokesys.s +++ b/libsrc/cbm510/pokesys.s @@ -8,7 +8,7 @@ .import popsreg .importzp sreg, tmp1 - .include "zeropage.inc" + .include "cbm510.inc" ; ------------------------------------------------------------------------ diff --git a/libsrc/cbm510/readjoy.s b/libsrc/cbm510/readjoy.s index 0bbbd5c30..9ebfe7413 100644 --- a/libsrc/cbm510/readjoy.s +++ b/libsrc/cbm510/readjoy.s @@ -8,7 +8,7 @@ .import sys_bank, restore_bank .importzp cia2, tmp1 - .include "io.inc" + .include "cbm510.inc" ; ------------------------------------------------------------------------ ; unsigned __fastcall__ readjoy (unsigned char joy); diff --git a/libsrc/cbm510/rs232.s b/libsrc/cbm510/rs232.s index 6e6451cd4..b45b0403d 100644 --- a/libsrc/cbm510/rs232.s +++ b/libsrc/cbm510/rs232.s @@ -30,7 +30,7 @@ .export _rs232_put, _rs232_pause, _rs232_unpause, _rs232_status .export k_rs232 - .include "zeropage.inc" + .include "cbm510.inc" ;---------------------------------------------------------------------------- diff --git a/libsrc/cbm510/zeropage.inc b/libsrc/cbm510/zeropage.inc deleted file mode 100644 index 70e865bb4..000000000 --- a/libsrc/cbm510/zeropage.inc +++ /dev/null @@ -1,105 +0,0 @@ -; -; Zero page variables for the CBM P500 -; -; Taken from a kernal disassembly done by myself in 2000/2001. -; -; Ullrich von Bassewitz, 13.09.2001 - - -ExecReg = $0000 -IndReg = $0001 - -; Up to $20 and $60-8F used by runtime and fixed values -; ----------------------------------- - -KbdScanBuf = $20 ; Intermediate for keyboard scan -; RS232 stuff -RecvHead = $21 ; Head of receive buffer -RecvTail = $22 ; Tail of receive buffer -RecvFreeCnt = $23 ; Number of bytes in receive buffer -SendHead = $24 ; Head of send buffer -SendTail = $25 ; Tail of send buffer -SendFreeCnt = $26 ; Number of bytes free in send buffer - -FileNameAdrLo = $90 -FileNameAdrHi = $91 -FileNameAdrSeg = $92 -SaveAdrLow = $93 -SaveAdrHi = $94 -SaveAdrSeg = $95 -EndAdrLow = $96 -EndAdrHi = $97 -EndAdrSeg = $98 -StartAdrLow = $99 -StartAdrHi = $9A -StartAdrSeg = $9B -Status = $9C -FileNameLen = $9D -LogicalAdr = $9E -FirstAdr = $9F -SecondAdr = $A0 -DefInpDev = $A1 -DefOutDev = $A2 -TapeBufPtr = $A3 -TapeBufPtrSeg = $A5 -rs232BufPtr = $A6 -rs232BufPtrSeg = $A8 -StopKeyFlag = $A9 -CTemp = $AA -snsw1 = $AB -SegChgPtr = $AC -PChighSave = $AE -PClowSave = $AF -SRSave = $B0 -ACSave = $B1 -XRSave = $B2 -YRSave = $B3 -SPSave = $B4 -IndSegSave = $B5 -IRQSaveHi = $B7 -IRQSaveLo = $B8 -Adr1 = $B9 -Adr2 = $BB -MoniCntr = $BD -MoniTmp = $BE -MoniDevNr = $BF -PgmKeyBuf = $C0 -PgmKeyPtr = $C2 -sedsal = $C4 -sedeal = $C6 -SCREEN_PTR = $C8 -CURS_Y = $CA -CURS_X = $CB -GrafMode = $CC -LastIndex = $CD -LastLine = $CE -LastCol = $CF -crsw = $D0 -KeyIndex = $D1 -QuoteSw = $D2 -Insrt = $D3 -Config = $D4 -LastLinePos = $D5 -PgmKeyIndex = $D6 -RepeatCount = $D7 -RepeatDelay = $D8 -sedt1 = $D9 ; Temp -sedt2 = $DA ; Temp, frequently used -PrtData = $DB -ScreenTop = $DC -ScreenBot = $DD -ScreenLeft = $DE -ScreenRight = $DF -ModKey = $E0 -NorKey = $E1 -BitTable = $E2 -CURS_FLAG = $E6 ; 1 = no cursor -CURS_BLINK = $E7 ; cursor blink counter -CRAM_PTR = $E8 -TempColor = $EA -CURS_STATE = $EB ; Cursor blink state -CHARCOLOR = $EC -CURS_COLOR = $ED ; Color behind cursor -OutCharTmp = $EE -ScreenSeq = $EF ; Segment of video RAM - diff --git a/libsrc/cbm610/banking.s b/libsrc/cbm610/banking.s index 57c47547c..209e25ea7 100644 --- a/libsrc/cbm610/banking.s +++ b/libsrc/cbm610/banking.s @@ -7,7 +7,7 @@ .export set_bank, sys_bank, restore_bank .importzp ptr1 - .include "zeropage.inc" + .include "cbm610.inc" .code diff --git a/libsrc/cbm610/break.s b/libsrc/cbm610/break.s index cf5332a95..624ca8a4e 100644 --- a/libsrc/cbm610/break.s +++ b/libsrc/cbm610/break.s @@ -9,8 +9,7 @@ .export _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc .import _atexit - .include "zeropage.inc" - .include "page3.inc" + .include "cbm610.inc" .bss diff --git a/libsrc/cbm610/cbm610.inc b/libsrc/cbm610/cbm610.inc index a7430ab95..32e41633d 100644 --- a/libsrc/cbm610/cbm610.inc +++ b/libsrc/cbm610/cbm610.inc @@ -1,17 +1,289 @@ ; -; CBM610 generic definitions. +; Zeropage and I/O definitions for the CBM 610 ; +; Taken from a kernal disassembly done by myself in 1987. +; +; Ullrich von Bassewitz, 28.09.1998 ; --------------------------------------------------------------------------- -; Vector and other locations +; Zeropage stuff + +ExecReg = $0000 +IndReg = $0001 + +; Up to $20 and $60-8F used by runtime and fixed values +; ----------------------------------- + +KbdScanBuf = $20 ; Intermediate for keyboard scan +; RS232 stuff +RecvHead = $21 ; Head of receive buffer +RecvTail = $22 ; Tail of receive buffer +RecvFreeCnt = $23 ; Number of bytes in receive buffer +SendHead = $24 ; Head of send buffer +SendTail = $25 ; Tail of send buffer +SendFreeCnt = $26 ; Number of bytes free in send buffer + +FileNameAdrLo = $90 +FileNameAdrHi = $91 +FileNameAdrSeg = $92 +SaveAdrLow = $93 +SaveAdrHi = $94 +SaveAdrSeg = $95 +EndAdrLow = $96 +EndAdrHi = $97 +EndAdrSeg = $98 +StartAdrLow = $99 +StartAdrHi = $9A +StartAdrSeg = $9B +Status = $9C +FileNameLen = $9D +LogicalAdr = $9E +FirstAdr = $9F +SecondAdr = $A0 +DefInpDev = $A1 +DefOutDev = $A2 +TapeBufPtr = $A3 +TapeBufPtrSeg = $A5 +rs232BufPtr = $A6 +rs232BufPtrSeg = $A8 +StopKeyFlag = $A9 +CTemp = $AA +snsw1 = $AB +SegChgPtr = $AC +PChighSave = $AE +PClowSave = $AF +SRSave = $B0 +ACSave = $B1 +XRSave = $B2 +YRSave = $B3 +SPSave = $B4 +IndSegSave = $B5 +IRQSaveHi = $B7 +IRQSaveLo = $B8 +Adr1 = $B9 +Adr2 = $BB +MoniCntr = $BD +MoniTmp = $BE +MoniDevNr = $BF +PgmKeyBuf = $C0 +PgmKeyPtr = $C2 +sedsal = $C4 +sedeal = $C6 +CharPtr = $C8 +CURS_Y = $CA +CURS_X = $CB +GrafMode = $CC +LastIndex = $CD +LastLine = $CE +LastCol = $CF +crsw = $D0 +KeyIndex = $D1 +QuoteSw = $D2 +Insrt = $D3 +Config = $D4 +LastLinePos = $D5 +PgmKeyIndex = $D6 +RepeatCount = $D7 +RepeatDelay = $D8 +sedt1 = $D9 ; Temp +sedt2 = $DA ; Temp, frequently used +PrtData = $DB +ScreenTop = $DC +ScreenBot = $DD +ScreenLeft = $DE +ScreenRight = $DF +ModKey = $E0 +NorKey = $E1 +BitTable = $E2 -FUNKEY_VEC = $03B5 ; --------------------------------------------------------------------------- -; I/O +; Page 3 variables + +; +; system ram vectors +; + +IRQVec = $0300 +BRKVec = $0302 +NMIVec = $0304 +openVec = $0306 +closeVec = $0308 +chkinVec = $030A +ckoutVec = $030C +clrchVec = $030E +basinVec = $0310 +bsoutVec = $0312 +stopVec = $0314 +getinVec = $0316 +clallVec = $0318 +loadVec = $031A +saveVec = $031C +usrcmd = $031E +escvec = $0320 +ctrlvec = $0322 +secndVec = $0324 +tksaVec = $0326 +acptrVec = $0328 +cioutVec = $032A +untlkVec = $032C +unlsnVec = $032E +listnVec = $0330 +talkVec = $0332 + +; +; +; + +LogicalAdrTable = $0334 +FirstAdrTable = $033E +SecondAdrTable = $0348 +SysMemBot = $0352 +SysMemTop = $0355 +UsrMemBot = $0358 +UsrMemTop = $035B +TimOut = $035E +VerifyFlag = $035F +DevTabIndex = $0360 +MsgFlag = $0361 +CassBufPtr = $0362 +t1 = $0363 +t2 = $0364 +XSave = $0365 +SaveX = $0366 +SaveXt = $0367 +temp = $0368 +alarm = $0369 +TapeVec = $036A +LoadStAdr = $036F +CassMotFlag = $0375 +m6551Ctrl = $0376 +m6551Cmd = $0377 +rs232status = $037A +dcddsr = $037B +rs232head = $037C +rs232tail = $037D +PgmKeyEnd = $0380 +PgmKeySeg = $0382 +PgmKeySize = $0383 +rvsFlag = $0397 +linetmp = $0398 +LastPrtChar = $0399 +InsertFlag = $039A +ScrollFlag = $039B +FktTemp = $039C +PgmKeyIdx = $039D +LogScrollFlag = $039E +BellMode = $039F ; Bell on/off 00 = an +SegSave = $03A0 +TabStopTable = $03A1 ; 80 bits for tabstops +KeyBuf = $03AB ; Keyboard buffer +FUNKEY_VEC = $03B5 ; Vector for function key handline +FunKeyTmp = $03B7 +sedt3 = $03B9 +MoniSegSave = $03f0 +wstvec = $03F8 +WstFlag = $03FA ; Warm start flag + + +; --------------------------------------------------------------------------- +; I/O definitions + + +; I/O $d800: CRTC 6545 CRTC = $D800 CRTC_ADDR = $00 CRTC_DATA = $01 + +; I/O $da00: SID 6581 + +; sid = $da00 + +Osc1 = $00 +Osc2 = $07 +Osc3 = $0e + +FreqLo = $00 +FreqHi = $01 +PulseF = $02 +PulseC = $03 +OscCtl = $04 +AtkDcy = $05 +SusRel = $06 + +FiCtlLo = $15 +FiCtlHi = $16 +Resonance = $17 +Volume = $18 +PotX = $19 +PotY = $1A +Random = $1B +Env3 = $1C + + + +; I/O $db00: CIA 6526 Inter Process Communication + +; IPCcia = $db00 + +PortA = $00 +PortB = $01 +DDRA = $02 +DDRB = $03 +TimALo = $04 +TimAHi = $05 +TimBLo = $06 +TimBHi = $07 +TOD10 = $08 +TODsec = $09 +TODmin = $0A +TODhour = $0B +SerDataReg = $0C +IntCtrReg = $0D +CtrlA = $0E +CtrlB = $0F + + + +; I/O $dc00: CIA 6526 + +; cia = $dc00 + + + +; I/O $dd00: ACIA 6551 + +; acia = $dd00 + +ADataReg = $00 +AStatusReg = $01 +ACmdReg = $02 +ACtrlReg = $03 + + + +; I/O $de00: Triport #1 6525 + +; tpi1 = $de00 + +tpiPortA = $00 +tpiPortB = $01 +tpiPortC = $02 +tpiIntLatch = $02 +tpiDDRA = $03 +tpiDDRB = $04 +tpiDDRC = $05 +tpiIntMask = $05 +tpiCtrlReg = $06 +tpiActIntReg = $07 + + + +; I/O $df00: Triport #2 6525 + +; tpi2 = $df00 + + diff --git a/libsrc/cbm610/cgetc.s b/libsrc/cbm610/cgetc.s index c801c3ab8..d64ff346f 100644 --- a/libsrc/cbm610/cgetc.s +++ b/libsrc/cbm610/cgetc.s @@ -8,8 +8,7 @@ .import plot, write_crtc .import cursor - .include "zeropage.inc" - .include "page3.inc" + .include "cbm610.inc" _cgetc: lda KeyIndex ; Get number of characters diff --git a/libsrc/cbm610/clrscr.s b/libsrc/cbm610/clrscr.s index 22ca5e9b9..084f4ca7d 100644 --- a/libsrc/cbm610/clrscr.s +++ b/libsrc/cbm610/clrscr.s @@ -7,7 +7,7 @@ .export _clrscr .import plot - .include "zeropage.inc" + .include "cbm610.inc" .proc _clrscr diff --git a/libsrc/cbm610/cputc.s b/libsrc/cbm610/cputc.s index 9454b138a..aa94b8aa4 100644 --- a/libsrc/cbm610/cputc.s +++ b/libsrc/cbm610/cputc.s @@ -13,7 +13,6 @@ .import xsize, revers .include "cbm610.inc" - .include "zeropage.inc" .include "../cbm/cbm.inc" _cputcxy: @@ -71,7 +70,7 @@ L4: inc CURS_Y ; Handle character if high bit set -L10: and #$7F +L10: and #$7F cmp #$7E ; PI? bne L11 lda #$5E ; Load screen code for PI diff --git a/libsrc/cbm610/crt0.s b/libsrc/cbm610/crt0.s index 1b67d1ade..9c5769521 100644 --- a/libsrc/cbm610/crt0.s +++ b/libsrc/cbm610/crt0.s @@ -12,39 +12,9 @@ .import k_irq, k_nmi, k_plot, k_udtim, k_scnkey .include "zeropage.inc" - .include "io.inc" + .include "cbm610.inc" -; ------------------------------------------------------------------------ -; Define and export the ZP variables for the CBM610 runtime - - .exportzp sp, sreg, regsave - .exportzp ptr1, ptr2, ptr3, ptr4 - .exportzp tmp1, tmp2, tmp3, tmp4 - .exportzp regbank, zpspace - .exportzp crtc, sid, IPCcia, cia, acia, tpi1, tpi2 - .exportzp ktab1, ktab2, ktab3, ktab4, time, RecvBuf, SendBuf - -.zeropage - -zpstart = * -sp: .res 2 ; Stack pointer -sreg: .res 2 ; Secondary register/high 16 bit for longs -regsave: .res 2 ; slot to save/restore (E)AX into -ptr1: .res 2 -ptr2: .res 2 -ptr3: .res 2 -ptr4: .res 2 -tmp1: .res 1 -tmp2: .res 1 -tmp3: .res 1 -tmp4: .res 1 -regbank: .res 6 ; 6 byte register bank - -zpspace = * - zpstart ; Zero page space allocated - -.code - ; ------------------------------------------------------------------------ ; BASIC header and a small BASIC program. Since it is not possible to start ; programs in other banks using SYS, the BASIC program will write a small @@ -74,6 +44,8 @@ zpspace = * - zpstart ; Zero page space allocated ; that is overwritten later. ; +.code + ; To make things more simple, make the code of this module absolute. .org $0001 @@ -415,4 +387,4 @@ k_settim: spsave: .res 1 - + diff --git a/libsrc/cbm610/crtc.s b/libsrc/cbm610/crtc.s index 18670b9df..9ad94054b 100644 --- a/libsrc/cbm610/crtc.s +++ b/libsrc/cbm610/crtc.s @@ -8,7 +8,6 @@ .importzp crtc .include "cbm610.inc" - .include "zeropage.inc" ; Write a value to the CRTC. The index is in Y, the value in A diff --git a/libsrc/cbm610/io.inc b/libsrc/cbm610/io.inc deleted file mode 100644 index 4d7d29bf4..000000000 --- a/libsrc/cbm610/io.inc +++ /dev/null @@ -1,108 +0,0 @@ -; -; I/O definitions for the CBM 610 -; -; Taken from a kernal disassembly done by myself in 1987. -; -; Ullrich von Bassewitz, 28.09.1998 - - -; I/O $d800: CRTC 6545 - -; crtc = $d800 - - CAdrReg = $00 - CDataReg = $01 - - - -; I/O $da00: SID 6581 - -; sid = $da00 - - Osc1 = $00 - Osc2 = $07 - Osc3 = $0e - - FreqLo = $00 - FreqHi = $01 - PulseF = $02 - PulseC = $03 - OscCtl = $04 - AtkDcy = $05 - SusRel = $06 - - FiCtlLo = $15 - FiCtlHi = $16 - Resonance = $17 - Volume = $18 - PotX = $19 - PotY = $1A - Random = $1B - Env3 = $1C - - - -; I/O $db00: CIA 6526 Inter Process Communication - -; IPCcia = $db00 - - PortA = $00 - PortB = $01 - DDRA = $02 - DDRB = $03 - TimALo = $04 - TimAHi = $05 - TimBLo = $06 - TimBHi = $07 - TOD10 = $08 - TODsec = $09 - TODmin = $0A - TODhour = $0B - SerDataReg = $0C - IntCtrReg = $0D - CtrlA = $0E - CtrlB = $0F - - - -; I/O $dc00: CIA 6526 - -; cia = $dc00 - - - -; I/O $dd00: ACIA 6551 - -; acia = $dd00 - - ADataReg = $00 - AStatusReg = $01 - ACmdReg = $02 - ACtrlReg = $03 - - - -; I/O $de00: Triport #1 6525 - -; tpi1 = $de00 - - tpiPortA = $00 - tpiPortB = $01 - tpiPortC = $02 - tpiIntLatch = $02 - tpiDDRA = $03 - tpiDDRB = $04 - tpiDDRC = $05 - tpiIntMask = $05 - tpiCtrlReg = $06 - tpiActIntReg = $07 - - - -; I/O $df00: Triport #2 6525 - -; tpi2 = $df00 - - - - diff --git a/libsrc/cbm610/kbhit.s b/libsrc/cbm610/kbhit.s index 5ef5e63ae..14963e98c 100644 --- a/libsrc/cbm610/kbhit.s +++ b/libsrc/cbm610/kbhit.s @@ -7,7 +7,7 @@ .export _kbhit .import return0, return1 - .include "zeropage.inc" + .include "cbm610.inc" .proc _kbhit lda KeyIndex ; Get number of characters diff --git a/libsrc/cbm610/kirq.s b/libsrc/cbm610/kirq.s index 63630720b..4bda6abf8 100644 --- a/libsrc/cbm610/kirq.s +++ b/libsrc/cbm610/kirq.s @@ -8,9 +8,7 @@ .import k_scnkey, k_udtim, k_rs232 .importzp tpi1 - .include "zeropage.inc" - .include "io.inc" - .include "page3.inc" + .include "cbm610.inc" ; ------------------------------------------------------------------------- diff --git a/libsrc/cbm610/kplot.s b/libsrc/cbm610/kplot.s index e7f633db1..2a514185a 100644 --- a/libsrc/cbm610/kplot.s +++ b/libsrc/cbm610/kplot.s @@ -7,7 +7,7 @@ .export k_plot .importzp crtc - .include "zeropage.inc" + .include "cbm610.inc" .proc k_plot diff --git a/libsrc/cbm610/kscnkey.s b/libsrc/cbm610/kscnkey.s index 8d0447924..ee30cf35a 100644 --- a/libsrc/cbm610/kscnkey.s +++ b/libsrc/cbm610/kscnkey.s @@ -7,9 +7,7 @@ .export k_scnkey .importzp tpi2, ktab1, ktab2, ktab3, ktab4 - .include "zeropage.inc" - .include "io.inc" - .include "page3.inc" + .include "cbm610.inc" .proc k_scnkey diff --git a/libsrc/cbm610/page3.inc b/libsrc/cbm610/page3.inc deleted file mode 100644 index 7095a1348..000000000 --- a/libsrc/cbm610/page3.inc +++ /dev/null @@ -1,94 +0,0 @@ -; -; Page 3 variables for the CBM 610 -; -; Taken from a kernal disassembly done by myself in 1987. -; -; Ullrich von Bassewitz, 28.09.1998 - - -; -; system ram vectors -; - -IRQVec = $0300 -BRKVec = $0302 -NMIVec = $0304 -openVec = $0306 -closeVec = $0308 -chkinVec = $030A -ckoutVec = $030C -clrchVec = $030E -basinVec = $0310 -bsoutVec = $0312 -stopVec = $0314 -getinVec = $0316 -clallVec = $0318 -loadVec = $031A -saveVec = $031C -usrcmd = $031E -escvec = $0320 -ctrlvec = $0322 -secndVec = $0324 -tksaVec = $0326 -acptrVec = $0328 -cioutVec = $032A -untlkVec = $032C -unlsnVec = $032E -listnVec = $0330 -talkVec = $0332 - -; -; -; - -LogicalAdrTable = $0334 -FirstAdrTable = $033E -SecondAdrTable = $0348 -SysMemBot = $0352 -SysMemTop = $0355 -UsrMemBot = $0358 -UsrMemTop = $035B -TimOut = $035E -VerifyFlag = $035F -DevTabIndex = $0360 -MsgFlag = $0361 -CassBufPtr = $0362 -t1 = $0363 -t2 = $0364 -XSave = $0365 -SaveX = $0366 -SaveXt = $0367 -temp = $0368 -alarm = $0369 -TapeVec = $036A -LoadStAdr = $036F -CassMotFlag = $0375 -m6551Ctrl = $0376 -m6551Cmd = $0377 -rs232status = $037A -dcddsr = $037B -rs232head = $037C -rs232tail = $037D -PgmKeyEnd = $0380 -PgmKeySeg = $0382 -PgmKeySize = $0383 -rvsFlag = $0397 -linetmp = $0398 -LastPrtChar = $0399 -InsertFlag = $039A -ScrollFlag = $039B -FktTemp = $039C -PgmKeyIdx = $039D -LogScrollFlag = $039E -BellMode = $039F ; Bell on/off 00 = an -SegSave = $03A0 -TabStopTable = $03A1 ; 80 bits for tabstops -KeyBuf = $03AB ; Keyboard buffer -funvec = $03B5 ; Vector for function key handline -FunKeyTmp = $03B7 -sedt3 = $03B9 -MoniSegSave = $03f0 -wstvec = $03F8 -WstFlag = $03FA ; Warm start flag - - diff --git a/libsrc/cbm610/peeksys.s b/libsrc/cbm610/peeksys.s index e3110603e..4002b26bc 100644 --- a/libsrc/cbm610/peeksys.s +++ b/libsrc/cbm610/peeksys.s @@ -5,7 +5,7 @@ .export _peekbsys, _peekwsys .importzp ptr1 - .include "zeropage.inc" + .include "cbm610.inc" ; ------------------------------------------------------------------------ diff --git a/libsrc/cbm610/pokesys.s b/libsrc/cbm610/pokesys.s index ebd4ec5cf..96cad928e 100644 --- a/libsrc/cbm610/pokesys.s +++ b/libsrc/cbm610/pokesys.s @@ -8,7 +8,7 @@ .import popsreg .importzp sreg, tmp1 - .include "zeropage.inc" + .include "cbm610.inc" _pokebsys: diff --git a/libsrc/cbm610/rs232.s b/libsrc/cbm610/rs232.s index 1ed4c615f..dad07af7c 100644 --- a/libsrc/cbm610/rs232.s +++ b/libsrc/cbm610/rs232.s @@ -30,7 +30,7 @@ .export _rs232_put, _rs232_pause, _rs232_unpause, _rs232_status .export k_rs232 - .include "zeropage.inc" + .include "cbm610.inc" ;---------------------------------------------------------------------------- @@ -327,7 +327,7 @@ _rs232_put: lda #ErrOverflow ldx #$00 rts - + ; There is enough room (character still in A) @L3: ldx IndReg diff --git a/libsrc/cbm610/zeropage.inc b/libsrc/cbm610/zeropage.inc deleted file mode 100644 index 5e9ba5d62..000000000 --- a/libsrc/cbm610/zeropage.inc +++ /dev/null @@ -1,100 +0,0 @@ -; -; Zero page variables for the CBM 610 -; -; Taken from a kernal disassembly done by myself in 1987. -; -; Ullrich von Bassewitz, 28.09.1998 - - -ExecReg = $0000 -IndReg = $0001 - -; Up to $20 and $60-8F used by runtime and fixed values -; ----------------------------------- - -KbdScanBuf = $20 ; Intermediate for keyboard scan -; RS232 stuff -RecvHead = $21 ; Head of receive buffer -RecvTail = $22 ; Tail of receive buffer -RecvFreeCnt = $23 ; Number of bytes in receive buffer -SendHead = $24 ; Head of send buffer -SendTail = $25 ; Tail of send buffer -SendFreeCnt = $26 ; Number of bytes free in send buffer - -FileNameAdrLo = $90 -FileNameAdrHi = $91 -FileNameAdrSeg = $92 -SaveAdrLow = $93 -SaveAdrHi = $94 -SaveAdrSeg = $95 -EndAdrLow = $96 -EndAdrHi = $97 -EndAdrSeg = $98 -StartAdrLow = $99 -StartAdrHi = $9A -StartAdrSeg = $9B -Status = $9C -FileNameLen = $9D -LogicalAdr = $9E -FirstAdr = $9F -SecondAdr = $A0 -DefInpDev = $A1 -DefOutDev = $A2 -TapeBufPtr = $A3 -TapeBufPtrSeg = $A5 -rs232BufPtr = $A6 -rs232BufPtrSeg = $A8 -StopKeyFlag = $A9 -CTemp = $AA -snsw1 = $AB -SegChgPtr = $AC -PChighSave = $AE -PClowSave = $AF -SRSave = $B0 -ACSave = $B1 -XRSave = $B2 -YRSave = $B3 -SPSave = $B4 -IndSegSave = $B5 -IRQSaveHi = $B7 -IRQSaveLo = $B8 -Adr1 = $B9 -Adr2 = $BB -MoniCntr = $BD -MoniTmp = $BE -MoniDevNr = $BF -PgmKeyBuf = $C0 -PgmKeyPtr = $C2 -sedsal = $C4 -sedeal = $C6 -CharPtr = $C8 -CURS_Y = $CA -CURS_X = $CB -GrafMode = $CC -LastIndex = $CD -LastLine = $CE -LastCol = $CF -crsw = $D0 -KeyIndex = $D1 -QuoteSw = $D2 -Insrt = $D3 -Config = $D4 -LastLinePos = $D5 -PgmKeyIndex = $D6 -RepeatCount = $D7 -RepeatDelay = $D8 -sedt1 = $D9 ; Temp -sedt2 = $DA ; Temp, frequently used -PrtData = $DB -ScreenTop = $DC -ScreenBot = $DD -ScreenLeft = $DE -ScreenRight = $DF -ModKey = $E0 -NorKey = $E1 -BitTable = $E2 - - - - -