home *** CD-ROM | disk | FTP | other *** search
- TITLE VECTOR SUBSYSTEM OF SYSTEM MONITOR RELEASE A
- ; ******Donated to the Pascal/Z Users Group,July 1980*****
- ; INTEL I/O STANDARD VECTOR SUBSYSTEM
- ; FOR THE SYSTEM MONITOR
- ;
- ; MODIFIED FOR C-MACRO ASSEMBLER MAY 1979
- ;
- ;
- ; EXTERNAL LINKAGES
- ;
- ;MBASE IS MONITOR BASE
- ;CBASE IS CONSOLE SUBSYSTEM BASE
- ;TBASE IS CASSETTE SUBSYSTEM BASE
- ;WBASE IS MONITOR WORK SPACE
- ;
- ;
- ; LINKAGES TO CONSOLE SUBSYSTEM
- ;
- CSTATS DEFL CBASE+3
- CKEYIN DEFL CBASE+6
- CLISTR DEFL CBASE+0CH
- CVOUT DEFL CBASE+18H
- ;
- ; LINKAGES TO CASSETTE SUBSYSTEM
- ;
- TSAVE DEFL TBASE+3
- TLOAD DEFL TBASE+6
- ;
- ; LINKAGES TO MONITOR
-
- MSTRT DEFL MBASE
- MRSTRT DEFL MBASE+3
- MMEMRY DEFL MBASE+6
-
- ;START OF MONITOR CODE
- ;
- VBASE EQU $
- ;
- ; EXTERNAL ENTRY VECTORS
- ;
- ; INTEL STANDARD I/O
- ;
- VNTRY0 JP MSTRT ;COLD START OF MONITOR
- VNTRY1 JP CINP ;CONSOL INPUT
- VNTRY2 JP RINP ;READER INPUT
- VNTRY3 JP COUT ;CONSOL OUTPUT
- VNTRY4 JP POUT ;PUNCH OUTPUT
- VNTRY5 JP LOUT ;LINE PRINTER OUTPUT
- VNTRY6 JP CSTA ;CONSOL STATUS
- VNTRY7 JP IOCH ;I/O CHECK
- VNTRY8 JP IOST ;I/O SET
- VNTRY9 JP MTST ;MEMORY TEST
- VNTRYA JP MRSTRT ;WARM START OF MONITOR
- ;
- ; SUBSYSTEM BASE ADDRESSES
- VCADDR DEFW CBASE ;CONSOLE SUBSYSTEM BASE ADDR
- VTADDR DEFW TBASE ;CASSETTE SUBSYSTEM BASE ADDR
- VDADDR DEFW DBASE ;DISK SUBSYSTEM BASE ADDR
- ;
- VWORK DEFW WBASE ;MONITOR VARIABLE BASE ADDRESS
- ;
- ;
- ; INTEL I/O ENTRY VECTORS
- ;
- ZCIV DEFW ZSKEY ;TTY
- DEFW ZSKEY ;CRT
- DEFW ZSKEY ;BATCH
- DEFW ZSKEY ;USER
- ZRIV DEFW ZCASI ;TTY
- DEFW ZCASI ;HI-SP TAPE
- DEFW ZCASI ;CASSTTE
- DEFW ZCASI ;USER
- ZCOV DEFW ZVIDEO ;TTY
- DEFW ZVIDEO ;CRT
- DEFW ZPRTR ;BATCH
- DEFW ZVIDEO ;USER
- ZPOV DEFW ZCASO ;TTY
- DEFW ZCASO ;HI-SP TAPE
- DEFW ZCASO ;CASSETTE
- DEFW ZCASO ;USER
- ZLOV DEFW ZPRTR ;TTY
- DEFW ZVIDEO ;CRT
- DEFW ZPRTR ;PRINTER
- DEFW ZPRTR ;USER
- ZSTV DEFW ZSTAT ;TTY
- DEFW ZSTAT ;CRT
- DEFW ZSTAT ;BATCH
- DEFW ZSTAT ;USER
- ;
- ; INTEL ENTRY ROUTINES
- ;
- CINP CALL ZENTRY
- AND 03H
- LD HL,ZCIV
- JP ZVECT
- ;
- RINP CALL ZENTRY
- AND 0CH
- RRCA
- RRCA
- LD HL,ZRIV
- JR ZVECT
-
- ;
- COUT CALL ZENTRY
- AND 03H
- LD HL,ZCOV
- JR ZVECT
- ;
- POUT CALL ZENTRY
- AND 30H
- RRCA
- RRCA
- RRCA
- RRCA
- LD HL,ZPOV
- JR ZVECT
- ;
- LOUT CALL ZENTRY
- AND 0C0H
- RLCA
- RLCA
- LD HL,ZLOV
- JR ZVECT
- ;
- CSTA CALL ZENTRY
- AND 03H
- LD HL,ZSTV
- JR ZVECT
- ;
- IOCH CALL ZENTRY
- JR ZEXIT
- ;
- IOST CALL ZENTRY
- LD A,C
- LD (IY-4DH),A
- JR ZEXIT
- ;
- MTST CALL ZENTRY
- CALL MMEMRY
- LD B,H
- LD A,L
- JR ZEXIT
- ;
- ZENTRY EX (SP),HL
- PUSH DE
- PUSH IY
- LD IY,(VWORK)
- LD A,(IY-4DH)
- JP (HL)
- ;
- ; VECTOR ROUTINE
- ;
- ZVECT ADD A,A
- ADD A,L
- LD L,A
- JR NC,ZVT1
- INC H
- ZVT1 LD E,(HL)
- INC HL
- LD D,(HL)
- EX DE,HL
- POP IY
- POP DE
- EX (SP),HL
- RET
- ;
- ZEXIT POP IY
- POP DE
- POP HL
- RET
- ;
- ZSKEY CALL CKEYIN
- OR A
- RET
- ;
- ZSTAT JP CSTATS
- ;
- ZVIDEO JP CVOUT
- ;
- ZCASI JP TLOAD
- ;
- ZCASO JP TSAVE
- ;
- ZPRTR JP CLISTR
-