home *** CD-ROM | disk | FTP | other *** search
- * THESE ROUTINES USE INPARM AND OUTPARM TO INTERFACE THE
- * SYSTEM UTILITY ROUTINES (PUT, GET, OBJR, OBJW) TO THE
- * VERSION II BEAST INTERPRETER (EXEC)
- *
- INPARM EQU 5030H
- OUTPARM EQU 5033H
- *
- ORG 2B80H
- PUT EQU 5000H
- XPUT: CALL INPARM ;GET X-COORDINATE INTO B
- MOV B,E
- CALL INPARM ;GET Y-COORDINATE INTO C
- MOV C,E
- CALL INPARM ;GET COLOR BYTE INTO D
- MOV D,E
- JMP PUT ;AND "PUT" IT AT (X,Y)
- *
- GET EQU 5003H
- XGET: CALL INPARM ;GET X-COORD INTO B
- MOV B,E
- CALL INPARM ;GET Y-COORD INTO C
- MOV C,E
- CALL GET ;"GET" COLOR BYTE INTO E
- MOV E,D
- MVI D,0 ;AND ZERO OUT HI-BYTE FOR PARM PASSING
- JMP OUTPARM ;AND RETURN THE COLOR VALUE
- *
- OBJR EQU 5006H
- XOBJR: CALL INPARM ;GET OBJECT NUMBER INTO A FOR NOW
- MOV A,E
- CALL INPARM ;GET BYTE NUMBER INTO E
- MOV D,A ;PUT OBJECT NUMBER IN D WHERE IT BELONGS
- CALL OBJR ;GET VALUE OF SPECIFIED OBJECT-BYTE
- MOV E,A ;INTO E AND ZERO OUT D FOR PARM PASSING
- MVI D,0
- JMP OUTPARM ;RETURN THE VALUE OF THE SPECIFIED BYTE
- *
- OBJW EQU 5009H
- XOBJW: CALL INPARM ;GET OBJECT # INTO H
- MOV H,E
- CALL INPARM ;GET BYTE # INTO L
- MOV L,E
- CALL INPARM ;GET DESIRED VALUE INTO A
- MOV A,E
- XCHG ;GET OBJECT & BYTE INTO D & E WHERE THEY BELONG
- JMP OBJW ;AND PUT DESIRED VALUE INTO DESIRED OBJECT-BYTE
-