home *** CD-ROM | disk | FTP | other *** search
- ;
- ;NSYSGEN RESOURCED 7/27/78 BY WARD CHRISTENSEN
- ; TO ADD LOOP FUNCTION ON 'PUT SYSTEM'
- ;
- ORG 0100H
- BDOS EQU 05H
- BUFFER EQU 0900H
- LXI SP,STACK
- JMP START
- KEYIN MVI C,01H
- CALL BDOS
- ANI 5FH
- RET
- TYPE MOV E,A
- MVI C,02H
- CALL BDOS
- RET
- CRLF MVI A,0DH
- CALL TYPE
- MVI A,0AH
- CALL TYPE
- RET
- PRTMSG PUSH H
- CALL CRLF
- POP H
- MSGLP MOV A,M
- ORA A
- RZ
- PUSH H
- CALL TYPE
- POP H
- INX H
- JMP MSGLP
- SELDSK MOV C,A
- LHLD 0001H
- LXI D,0018H
- DAD D
- PCHL
- SETTRK LHLD 0001H
- LXI D,001BH
- DAD D
- PCHL
- SETSEC LHLD 0001H
- LXI D,001EH
- DAD D
- PCHL
- SETDMA LHLD 0001H
- LXI D,0021H
- DAD D
- PCHL
- READSEC LHLD 0001H
- LXI D,0024H
- DAD D
- PCHL
- WRSEC LHLD 0001H
- LXI D,0027H
- DAD D
- PCHL
- RWSYS LXI H,BUFFER
- SHLD BUFAD
- XRA A
- STA TRKNO
- LOOP LXI H,TRKNO
- MOV A,M
- CPI 02H
- RNC
- INR M
- MOV C,A
- CALL SETTRK
- TRKLOOP XRA A
- STA SECTNO
- SECLOOP CALL CKEOTRK
- NOP
- NOP
- NOP
- JNC LOOP
- INR M
- LHLD BUFAD
- MOV B,H
- MOV C,L
- LXI D,0080H
- DAD D
- SHLD BUFAD
- CALL SETDMA
- XRA A
- STA ERRCT
- RETRY LDA ERRCT
- CPI 10
- JC CONT
- LXI H,PERRMSG
- CALL PRTMSG
- CALL KEYIN
- CPI 0DH
- JNZ REBOOT
- CALL CRLF
- JMP SECLOOP
- CONT INR A
- STA ERRCT
- LDA SECTNO
- MOV C,A
- CALL SETSEC
- LDA RWFLG
- ORA A
- JZ READING
- CALL WRSEC
- JMP CKRETCD
- READING CALL READSEC
- CKRETCD ORA A
- JZ SECLOOP
- JMP RETRY
- KRET1 RET
- START LXI H,VERSMSG
- CALL PRTMSG
- LXI H,GETMSG
- CALL PRTMSG
- CALL KEYIN
- MVI C,01H
- CPI 'Y'
- JZ GETFRB
- CPI 'B'
- JZ GETFRB
- MVI C,00H
- CPI 'A'
- JNZ ASKPUT
- GETFRB MOV A,C
- ADI 'A'
- STA SRCDSK
- MOV A,C
- CALL SELDSK
- CALL CRLF
- LXI H,SRCMSG
- CALL PRTMSG
- CALL KEYIN
- CPI 0DH
- JNZ REBOOT
- CALL CRLF
- XRA A
- STA RWFLG
- CALL RWSYS
- LXI H,CPLTMSG
- CALL PRTMSG
- ASKPUT CALL CRLF
- LXI H,PUTMSG
- CALL PRTMSG
- CALL KEYIN
- MVI C,01H
- CPI 'Y'
- JZ PUTSYS
- CPI 'B'
- JZ PUTSYS
- MVI C,00H
- CPI 'A'
- JNZ REBOOT
- PUTSYS MOV A,C
- ADI 'A'
- STA DESTDSK
- MOV A,C
- CALL SELDSK
- CALL CRLF
- LXI H,DESTMSG
- CALL PRTMSG
- CALL KEYIN
- CPI 0DH
- JNZ REBOOT
- CALL CRLF
- LXI H,RWFLG
- MVI M,01H
- CALL RWSYS
- LXI H,CPLTMSG
- CALL PRTMSG
- JMP ASKPUT
- REBOOT LXI H,BOOTMSG
- CALL PRTMSG
- CALL KEYIN
- CPI 0DH
- JNZ REBOOT
- MVI A,00H
- CALL SELDSK
- CALL CRLF
- JMP 0000H
- VERSMSG DB 'SYSGEN VERSION 1.1',0
- GETMSG DB 'GET SYSTEM? (Y/N)',0
- SRCMSG DB 'SOURCE ON '
- SRCDSK DB 'B, THEN TYPE RETURN',0
- PUTMSG DB 'PUT SYSTEM? (Y/N)',0
- DESTMSG DB 'DESTINATION ON '
- DESTDSK DB 'B, THEN TYPE RETURN',0
- PERRMSG DB 'PERMANENT ERROR, TYPE RETURN '
- DB 'TO IGNORE',0
- CPLTMSG DB 'FUNCTION COMPLETE',0
- BOOTMSG DB 'REBOOTING, TYPE RETURN'
- DB 0,0
- TRKNO DB 0
- SECTNO DB 0
- RWFLG DB 0
- BUFAD DW 0000H
- ERRCT DB 0
- DS 0014H
- STACK DS 001FH
- ;
- ;CHECK FOR END OF TRK
- ;
- CKEOTRK LXI H,TRKNO
- MOV A,M
- DCR A
- DCR A
- JZ TRKTWO
- LXI H,SECTNO
- MOV A,M
- CPI 1AH
- RET
- TRKTWO LXI H,SECTNO
- MOV A,M
- CPI 22H
- RET
- END
-