1 REM Ins{nd av Kristoffer Eriksson <5357> 1986-06-04 00.28.26 ; Fil: CAPSONLY.ASM ; Av: Kristoffer Eriksson, "SKE" <5357>, 1986. ; F|r: ABC800-serien. ; ;-Ver--/-Datum----/-Sign-/-Kommentar---------------------------------- ; 1.00 / 86-06-03 / SKE / ; ; L{gger in en liten rutin som konverterar alla sm} bokst{ver man skriver in ; p} tangentbordet, till stora. CONWRITE: = 11 Y.BOTM: = 65292 Y.COMTOP: = 65328 CONSI: = 65424 CONSRUT: CALL 0 ; Gamla CONSI l{ggs in h{r. $$GL]G: CP "`" RET C ; Om tecknet i reg A {r en gemen bokstav $$GH\G: CP "~"+1 ; konverteras det till en versal. RET NC SUB 32 RET ; Initieringsrutin INIT: CALL CHAIN.CLR CALL CLINEPAR ; Hitta parametrar p} kommandoraden. JR C L[NKAIN CP "-" ; "-" f}r inleda option. JR NZ I.X1 INC HL LD A,(HL) I.X1: PUSH AF CP ";" JR Z I.X2 INC HL I.X2: CALL CHAIN.LOAD ; L{s av angiven chain-fil. POP AF LD B,A CP ";" JR Z L[NKAIN ; Hoppa om inga optioner angvna. AND 255-32 ; Klassificera optionen. CP "S" JR Z I.SOPT CP "U" JR Z I.SOPT CP "V" JR Z I.VER LD A,B LD (FELOPT),A LD HL,FELOPT.TXT LD BC,FELOPTE.TXT-FELOPT.TXT JP CONWRITE ; \vr opt: Felmeddelande. I.VER: LD HL,VER.TXT LD BC,VERE.TXT-VER.TXT JP CONWRITE ; Opt V: Visa fakta, ladda ej. I.SOPT: LD (SPR]K),A L[NKAIN: LD A,(SPR]K) CP "U" JR NZ L[NKACONS LD A,"a" ; Gr{nser f|r alfabet a-z, i st f `-~. LD ($$GL]G+1),A LD A,"z"+1 LD ($$GH\G+1),A L[NKACONS: LD HL,(CONSI+1) ; L{nka in den nya CONSI-rutinen s} den LD (CONSRUT+1),HL ; ligger "|ver" den gamla. LD HL,CONSRUT LD (CONSI+1),HL LD HL,INIT ; Skydda minnesarean programmet ligger i LD (Y.BOTM),HL LD (Y.COMTOP),HL RET DEFB 255 DEFM "PARM:Spr}k: Svenska (S) eller USA (U)?" DEFB 0,4,"S","U",1 ; Typ: Tecken "S"-"U". SPR]K: DEFB "S" ; Optionsinsamling. S=Svenska, U=USA. OPTION: DEFB " " ; Tillf{llig lagring av optionstecknet. VER.TXT: DEFM "CAPSONLY Ver 1.00, Av Kristoffer Eriksson, Juni 1986." DEFB 13,10 DEFM "Syntax: RUN CAPSONLY (,(-)optioner) (;chainfil)" DEFB 13,10 DEFM "Optioner: V (visa version), S (svenska), U (usa)." DEFB 13,10 DEFM "Konverterar all inskriven text till versaler." DEFB 13,10 VERE.TXT: FELOPT.TXT: DEFM "Ok{nd option: '" FELOPT: DEFM " '. Kolla info med RUN CAPSONLY,V" DEFB 13,10 FELOPTE.TXT: INCLUDE CLINEPAR ; Kommandoradsparameterrutiner INCLUDE ENDINIT ; Chainfilnamnshantering INCLUDE ENDREL ; Avsluta med ev CHAIN.