From f4947cda6879dea07b329e1fc437e968e9ec0109 Mon Sep 17 00:00:00 2001 From: Dave Lyons Date: Mon, 31 Aug 2020 00:46:01 -0700 Subject: [PATCH] Use names for more ROM routines and for "reset". --- src/common/2/Apple.Globals2.asm | 9 +- src/common/2/Macros2.asm | 3 +- src/shell/2/date_time.asm | 4 +- src/shell/2/file_execution2.asm | 29 ++++--- src/shell/2/init.asm | 2 +- src/shell/2/misc.asm | 10 +-- src/shell/main.asm | 10 +-- src/xtn/2/brun.asm | 42 ++++----- src/xtn/2/conp.asm | 1 - src/xtn/2/deschw.asm | 148 ++++---------------------------- src/xtn/2/dump.asm | 10 +-- src/xtn/2/ffind.asm | 6 +- src/xtn/2/gsbuff.asm | 18 ++-- src/xtn/2/net.asm | 29 +++---- src/xtn/2/strings.asm | 21 +++-- src/xtn/2/sysalias.asm | 11 +-- src/xtn/2/x10.asm | 9 +- 17 files changed, 125 insertions(+), 237 deletions(-) diff --git a/src/common/2/Apple.Globals2.asm b/src/common/2/Apple.Globals2.asm index 41a9739..b188655 100644 --- a/src/common/2/Apple.Globals2.asm +++ b/src/common/2/Apple.Globals2.asm @@ -45,18 +45,21 @@ button2 = $c063 ; ; ROM routines ; +prblnk = $f948 ; print 3 blanks f8rom_init = $fb2f -pwrdup = $fb6f +pwrdup = $fb6f ; aka SETPWRC machine = $fbb3 bascalc = $fbc1 +bell1 = $fbdd home = $fc58 wait = $fca8 crout = $fd8e prbyte = $fdda cout = $fded +idroutine = $fe1f ; GS or not GS move = $fe2c -inverse = $fe80 -normal = $fe84 +inverse = $fe80 ; SETINV +normal = $fe84 ; SETNORM setkbd = $fe89 setvid = $fe93 outport = $fe95 diff --git a/src/common/2/Macros2.asm b/src/common/2/Macros2.asm index 8b588d0..a0005ab 100644 --- a/src/common/2/Macros2.asm +++ b/src/common/2/Macros2.asm @@ -27,6 +27,7 @@ sta level .endmacro +; [TODO] use .p816 instead of invoking this macro .macro XCE .byte $fb -.endmacro \ No newline at end of file +.endmacro diff --git a/src/shell/2/date_time.asm b/src/shell/2/date_time.asm index b77ffd5..b7ff8d4 100644 --- a/src/shell/2/date_time.asm +++ b/src/shell/2/date_time.asm @@ -11,8 +11,8 @@ print_time: jsr validate_year_number sec - jsr $fe1f ;an RTS in not-IIgs - bcs :+ ;not IIgs + jsr idroutine ;an RTS in not-IIgs + bcs :+ ;not IIgs lda cfgclock ;Use IIgs clock? bne doGSclk : lda date+1 diff --git a/src/shell/2/file_execution2.asm b/src/shell/2/file_execution2.asm index b6894fe..b1d44cd 100644 --- a/src/shell/2/file_execution2.asm +++ b/src/shell/2/file_execution2.asm @@ -1,3 +1,6 @@ + +rdkey = $fd0c + ;**************************************** ; ; shell/runcmd -- SYS/BIN/S16 file runner @@ -7,7 +10,7 @@ run_s16: jsr notspool sec - jsr $fe1f ;IIgs? + jsr idroutine ;IIgs? bcs typerr lda #>bridge_name ldy #cmdpath @@ -110,8 +113,8 @@ no_return: jsr print_path message_cstr_cr "..." jsr hook_speech - lda $3f3 - sta $3f4 ; cause Reset to reboot + lda reset+1 + sta reset+2 ; cause Reset to reboot lda #$ff ; disconnect NMI ldy #$59 @@ -301,13 +304,13 @@ myqcode: cld lda $c082 sta $c00c - jsr $fe89 - jsr $fe93 + jsr setkbd + jsr setvid start_normal jsr f8rom_init jsr home - lda $3f3 - sta $3f4 + lda reset+1 + sta reset+2 ; init brkv lda #$fa sta $3f1 @@ -357,7 +360,7 @@ qtprobx: jsr qtone lda #$e jsr qtone - jsr $fd0c + jsr rdkey jsr home jmp rtn_again-myqcode+$1000 @@ -444,9 +447,9 @@ lderr1: lda lderrmsg-loader+$1800,x bpl lderr1 pla jsr prbyte - lda $3f3 - sta $3f4 - jsr $fd0c + lda reset+1 + sta reset+2 + jsr rdkey CALLOS mli_bye, ldbye-loader+$1800 jmp ($fffc) ldbye: .byte 4,0,0,0,0,0,0 diff --git a/src/shell/2/init.asm b/src/shell/2/init.asm index c96fbab..f765554 100644 --- a/src/shell/2/init.asm +++ b/src/shell/2/init.asm @@ -97,7 +97,7 @@ two_e: ror two_e_flag no80xc: txa pha sec - jsr $fe1f ;Contains RTS in not-IIgs + jsr idroutine ;Contains RTS in not-IIgs pla bcs no_IIgs ora #%00001000 ;IIgs diff --git a/src/shell/2/misc.asm b/src/shell/2/misc.asm index 3cba037..c52dad5 100644 --- a/src/shell/2/misc.asm +++ b/src/shell/2/misc.asm @@ -67,7 +67,7 @@ find_mydir: lda $281 ora #%10000000 - cmp #$80+'/' + cmp #_'/' bne fdir_partial lda #0 sta mypath @@ -96,7 +96,7 @@ strip_mp: beq :+ lda mypath,x ora #%10000000 - cmp #$80+'/' + cmp #_'/' bne strip_mp : stx mypath stx mydir_len @@ -174,7 +174,7 @@ pe_fnd: inc p jmp crout pe_notfnd: - lda #$80+'$' + lda #_'$' jsr cout lda errcode jsr prbyte @@ -189,14 +189,14 @@ bell: lda cfgbell bne sysbell ldy #32 -bell1: lda #2 +: lda #2 jsr wait sta spkr lda #$24 jsr wait sta spkr dey - bne bell1 + bne :- rts fix_stack: diff --git a/src/shell/main.asm b/src/shell/main.asm index d30cdac..64fe918 100644 --- a/src/shell/main.asm +++ b/src/shell/main.asm @@ -1846,8 +1846,8 @@ go_quit: sta $3fd sty $3fc - lda $3f3 - sta $3f4 + lda reset+1 + sta reset+2 ; quitting to S16? bit s16_flag bmi quit_s16 @@ -1883,7 +1883,7 @@ go_boot: ; If IIgs, do what the ProDOS-16 PQUIT thinger does ; on 'Reboot system' sec - jsr $fe1f ;CLC on IIgs + jsr idroutine ;CLC on IIgs bcs rb_NotGS sei lda #0 @@ -5910,8 +5910,8 @@ off80: .if IsDavex2 jsr mess .byte _'U'-ctrl,_'T'-ctrl,_'A',_'1',0 ; for an old 80-column card on Apple II+? - jsr $fe89 - jsr $fe93 + jsr setkbd + jsr setvid jsr hook_speech .else ; isDavex3 jsr on40 diff --git a/src/xtn/2/brun.asm b/src/xtn/2/brun.asm index 249fb70..82f4486 100644 --- a/src/xtn/2/brun.asm +++ b/src/xtn/2/brun.asm @@ -33,11 +33,13 @@ .segment "CODE_2000" orgadr = $2000 -; sys ; org orgadr .include "Common/2/Apple.Globals2.asm" .include "Common/2/Mli.globals2.asm" - ; + +rdkey = $fd0c + +.define _(char) char | $80 ;********************************************* filebuff = $bb00 @@ -54,27 +56,27 @@ thePath: .byte 0,0,0,0,0,0,0,0,0,0 ;10 zeroes .byte 0,0,0,0,0,0,0,0,0,0 ;10 zeroes .byte 0,0,0,0,0,0,0,0,0,0 ;10 zeroes image2 = * - lda $3f3 - sta $3f4 - jsr $fe84 - jsr $fb2f - jsr $fe89 - jsr $fe93 - jsr $fc58 + lda reset+1 + sta reset+2 ; make reset reboot + jsr normal + jsr f8rom_init + jsr setkbd + jsr setvid + jsr home lda $c000 - cmp #$b8 + cmp #_'8' beq yes80 - cmp #$b3 ;"3"? + cmp #_'3' bne no80colmn yes80: lda #$c3 ldy #0 sta $37 sty $36 - sta $c010 ;clear kbd - jsr $fd8e ;crout + sta kbdstrb ;clear kbd + jsr crout no80colmn = * - lda $3f3 - sta $3f4 + lda reset+1 + sta reset+2 lda #0 sta level ldx #0 @@ -88,12 +90,12 @@ copyme: lda $2000,x bne copyme jmp continue+diff1 i_error: pha - jsr $fc58 + jsr home pla - jsr $fdda - jsr $fbdd - jsr $fbdd - jsr $fd0c + jsr prbyte + jsr bell1 + jsr bell1 + jsr rdkey OutaHere = * jsr mli .byte mli_bye diff --git a/src/xtn/2/conp.asm b/src/xtn/2/conp.asm index ff1f2c0..50f5aa3 100644 --- a/src/xtn/2/conp.asm +++ b/src/xtn/2/conp.asm @@ -45,7 +45,6 @@ orgadr = $9800 ; org orgadr -;prbyte = $fdda ; myversion = $09 minversion = $11 diff --git a/src/xtn/2/deschw.asm b/src/xtn/2/deschw.asm index b86998d..b82b432 100644 --- a/src/xtn/2/deschw.asm +++ b/src/xtn/2/deschw.asm @@ -115,37 +115,29 @@ systemtype: asc "System: " .byte 0 sec - jsr $fe1f + jsr idroutine bcc st_gs jmp IdentNotGS ; st_gs: jsr xmess - - asc "Apple IIgs, ROM version $" - .byte 0 clc +; [TODO] Use .p816 .byte b_xce,b_rep,$30 - jsr $fe1f + jsr idroutine .byte b_phy sec .byte b_xce pla - jsr $fdda + jsr prbyte jsr xmess - - asc " (Machine ID=$" - .byte 0 pla - jsr $fdda + jsr prbyte jsr xmess - - asc ")" - .byte 0 jsr my_crout clc @@ -163,10 +155,7 @@ st_gs: jsr xmess sec .byte b_xce jsr xmess - - asc "Total RAM = " - .byte 0 ldx #10 div1K: lsr totalmem+3 @@ -213,29 +202,20 @@ not_2p3: cmp #$ea bne Not2e1 jsr xmess - - asc "Apple IIe (unenhanced)" - .byte 0 rts Not2e1: cmp #$e0 bne not2e2 jsr xmess - - asc "Apple IIe (enhanced)" - .byte 0 rts not2e2: cmp #$e1 bne notDbgr jsr xmess - - asc "Apple IIe (special ROMs)" - .byte 0 rts notDbgr: @@ -246,10 +226,7 @@ notDbgr: cmp #5 beq IIcPlus jsr xmess - - asc "Apple IIc, version " - .byte 0 lda $fbbf cmp #$ff @@ -262,45 +239,28 @@ notDbgr: beq TwoC4 unkn0: jmp unknown IIcPlus: jsr xmess - - asc "Apple IIc Plus" - .byte 0 rts TwoC1: jsr xmess - - asc "1" - .byte 0 rts TwoC2: jsr xmess - - asc "2: 3.5" - .byte $a2 - - asc " disk ROM" - .byte 0 rts TwoC3: jsr xmess - - asc "3: Memory Expandable" - .byte 0 rts TwoC4: jsr xmess - - asc "4: Revised Mem. Expandable" - .byte 0 rts + ;**************************************************** scanslots: lda #1 @@ -313,19 +273,13 @@ ss1: jsr scan1 rts ; scan1: jsr xmess - - asc "Slot " - .byte 0 lda slot - ora #'0'+$80 + ora #_'0' jsr cout jsr xmess - - asc ": " - .byte 0 lda slot ora #$c0 @@ -334,9 +288,8 @@ scan1: jsr xmess sta rom jsr PrSlotDesc jsr my_crout - jsr MaybeATLK - rts -; + jmp MaybeATLK + ATLKsig: asc "ATLK" .byte 0 MaybeATLK: @@ -348,10 +301,7 @@ at_chk: lda (rom),y cpy #$FE bcc at_chk jsr xmess - - asc " AppleTalk card; version=" - .byte 0 ldy #$fe lda (rom),y @@ -377,15 +327,12 @@ prnib: and #$0F adc #6 prn_dig: adc #$B0 jmp cout -; + SlotEmpty: jsr xmess - - asc "empty" - .byte 0 rts -; + notPasc0: jmp notPasc PrSlotDesc: ldy slot @@ -408,19 +355,13 @@ PrSlotDesc: lda (rom),y pha jsr xmess - - asc "Pascal ID = $" - .byte 0 pla pha jsr prbyte jsr xmess - - asc ": " - .byte 0 pla lsr a @@ -439,31 +380,19 @@ PascTbl: .addr ps8-1,ps9-1,ps10-1,ps0-1,ps0-1,ps0-1,ps0-1,ps0-1 ; ps0: jsr xmess - - asc "???" - .byte 0 rts ps1: jsr xmess - - asc "printer" - .byte 0 rts ps2: jsr xmess - - asc "joystick/mouse" - .byte 0 rts ps3: jsr xmess - - asc "serial or parallel card" - .byte 0 rts ps4: jsr xmess @@ -614,16 +543,13 @@ desNotSP: inc slot ; Descr1SP: jsr xmess - - asc "SmartPort controller found in slot " - .byte 0 lda slot - ora #'0'+$80 + ora #_'0' jsr cout jsr xmess - .byte $80+'.',cr,0 + .byte _'.',cr,0 ; find the entry point ldy #$ff lda (rom),y @@ -647,10 +573,7 @@ SpStatus: jsr CallSP bcs staterr jsr xmess - - asc "Number of devices: " - .byte 0 lda #0 ldy NumDevs @@ -680,10 +603,7 @@ es_done: rts ; StatOneUnit: jsr xmess - - asc "Unit #" - .byte 0 lda Unit sta UnitNum @@ -691,10 +611,7 @@ StatOneUnit: lda #0 jsr xprdec_2 jsr xmess - - asc ": " - .byte 0 ldx #sptSTATUS lda #>Stat1parms @@ -709,10 +626,7 @@ statok: jsr my_crout ; jsr xmess - - asc " Blocks: " - .byte 0 lda NumBlocks+2 ldx NumBlocks+1 @@ -724,10 +638,7 @@ statok: jsr my_crout ; jsr xmess - - asc " Device name: " - .byte 0 ldx #0 ldy NameLen @@ -741,48 +652,32 @@ prname1: lda NameLen+1,x ; jsr PrintType jsr xmess - - asc ", subtype=$" - .byte 0 lda DevSubtype - jsr $fdda + jsr prbyte jsr xmess - - asc ", version=$" - .byte 0 lda UnitVersion+1 - jsr $fdda + jsr prbyte lda UnitVersion - jsr $fdda - jsr my_crout - rts + jsr prbyte + jmp my_crout ; PrintType: jsr xmess - - asc " Type = " - .byte 0 lda #0 ldy DevType jsr xprdec_2 jsr xmess - - asc " (" - .byte 0 jsr prtype2 jsr xmess - - asc ")" - .byte 0 rts @@ -803,27 +698,18 @@ PrintStatByte: sta scratch jsr sb7 jsr xmess - - asc ", " - .byte 0 asl scratch asl scratch jsr ChkNot jsr xmess - - asc "online, " - .byte 0 asl scratch jsr ChkNot jsr xmess - - asc "write protected" - .byte 0 rts ; diff --git a/src/xtn/2/dump.asm b/src/xtn/2/dump.asm index 751d3c6..7f4e03f 100644 --- a/src/xtn/2/dump.asm +++ b/src/xtn/2/dump.asm @@ -175,12 +175,12 @@ DoTheOffset = * jsr cout lda offset+2 ;beq dto_1 - jsr $fdda + jsr prbyte dto_1: lda offset+1 - jsr $fdda + jsr prbyte lda offset - jsr $fdda - lda #':'+$80 + jsr prbyte + lda #_':' jsr cout lda #Space jsr cout @@ -218,7 +218,7 @@ DoTheHex = * MoreHex: cpx count bcs Blanks lda data,x - jsr $fdda + jsr prbyte lda #Space jsr cout inx diff --git a/src/xtn/2/ffind.asm b/src/xtn/2/ffind.asm index 256440f..1cdc275 100644 --- a/src/xtn/2/ffind.asm +++ b/src/xtn/2/ffind.asm @@ -249,9 +249,9 @@ detail: lda #'d'+$80 .byte 0 lda catbuff+$20 - jsr $fdda + jsr prbyte lda catbuff+$1f - jsr $fdda + jsr prbyte jsr xmess @@ -308,7 +308,7 @@ plainpath: ldy #Wildcard @@ -370,7 +369,7 @@ copyKind: dey bpl copyKind - lda #'z'+$80 + lda #'z' jsr xgetparm_ch bcs UseMyZone sta str+1 @@ -397,9 +396,7 @@ copyZ: lda (str),y .addr LookupP jsr xmess - asc "Number of matches: $" - .byte 0 lda lkupCount jsr prbyte diff --git a/src/xtn/2/strings.asm b/src/xtn/2/strings.asm index d9fdd91..c72e8a6 100644 --- a/src/xtn/2/strings.asm +++ b/src/xtn/2/strings.asm @@ -24,11 +24,10 @@ OrgAdr = $A000 ;change as necessary (end below $B000) ; org OrgAdr -PrByte = $fdda Space = $A0 ; -MyVersion = $10 -MinVersion = $11 +MyVersion = $11 +MinVersion = $14 ;********************************************* rts .byte $ee,$ee @@ -40,9 +39,9 @@ MinVersion = $11 .byte 0,0,0,0 ; parameters here .byte 0,t_wildpath - .byte $80+'l',t_int1 ;minimum length - .byte $80+'o',t_nil ;offsets - .byte $80+'m',t_nil ;allow mixed bit 7 + .byte 'l',t_int1 ;minimum length + .byte 'o',t_nil ;offsets + .byte 'm',t_nil ;allow mixed bit 7 .byte 0,0 descr: pstr "find printable strings in files" @@ -69,7 +68,7 @@ start: nop ;don't let shell print wildcards ldy open_path jsr xprint_path jsr xmess - .byte $80+':',cr,0 + .byte _':',cr,0 ; ; Open the source file ; @@ -272,12 +271,12 @@ DoTheOffset = * lda #'$'+$80 jsr cout lda offset+2 - jsr PrByte + jsr prbyte lda offset+1 - jsr PrByte + jsr prbyte lda offset - jsr PrByte - lda #':'+$80 + jsr prbyte + lda #_':' jsr cout lda #Space jsr cout diff --git a/src/xtn/2/sysalias.asm b/src/xtn/2/sysalias.asm index 6b2f396..54dde97 100644 --- a/src/xtn/2/sysalias.asm +++ b/src/xtn/2/sysalias.asm @@ -52,6 +52,7 @@ .include "Common/2/Mli.globals2.asm" .include "Common/Macros.asm" +rdkey = $fd0c .segment "CODE_A000" @@ -404,12 +405,12 @@ copyme: lda $2000,x bne copyme jmp continue ; +diff1 i_error: pha - jsr $fc58 + jsr home pla - jsr $fdda - jsr $fbdd - jsr $fbdd - jsr $fd0c + jsr prbyte + jsr bell1 + jsr bell1 + jsr rdkey jsr mli .byte mli_bye .addr bye_parms ; +diff1 diff --git a/src/xtn/2/x10.asm b/src/xtn/2/x10.asm index 0e59292..3488b82 100644 --- a/src/xtn/2/x10.asm +++ b/src/xtn/2/x10.asm @@ -449,9 +449,9 @@ wait_ac2: jsr inchar debugByte: bit Debug bpl dbbx - jsr $fdda - lda #$a0 - jsr $fded + jsr prbyte + lda #_' ' + jsr cout dbbx: rts ; print_status: @@ -463,10 +463,7 @@ print_status: rts stat1: jsr xmess .byte cr - - asc_hi "S=1" - .byte cr,0 rts ;