home *** CD-ROM | disk | FTP | other *** search
- ;
- ;NORTHSTAR TO VERSAFLOPPY FILE TRANSFER PROGRAM
- ;DEBUGGED AND ENHANCED BY ROD HART WA3MEZ
- ; AUGUST 14, 1980
- ;
- ; TO USE, BRING UP THE NORTH STAR CP/M AS A 16K SYSTEM
- ; AND THE VERSAFLOPPY AS A 48K SYSTEM. BE SURE TO BOOT
- ; UP THE VERSAFLOPPY FIRST AND USE DDT TO BOOT UP THE
- ; NORTH STAR SYSTEM.
-
- ; THESE EQUATES ARE USED BY THIS PROGRAM
-
- VT EQU 0BH ;VDM-1 CLEAR SCREEN
- BDOS EQU 5
- REBDOS EQU 0AC06H ;48K VERSAFLOPPY BDOS VECTOR
- SEBDOS EQU 00005H ;16K N* BDOS VECTOR
- DEFFCB EQU 5CH ;DEFAULT FILE CONTROL BLOCK
- OPEN EQU 15
- SETBUF EQU 26
- DELETE EQU 19
- MAKE EQU 22
- READ EQU 20
- WRITE EQU 21
- CLOSE EQU 16
- PRINT EQU 9
- FCBCR EQU DEFFCB+32
- WBOOT EQU 0
-
-
-
- ORG 100H
- LXI D,MSG5
- MVI C,PRINT
- CALL BDOS
- START LXI H,0
- DAD SP
- SHLD OLDSP
- LXI SP,STACK
- MVI B,0FH
- LXI D,6CH
- LXI H,NFCB
- LOOP1 LDAX D
- MOV M,A
- INX H
- INX D
- DCR B
- JNZ LOOP1
- LXI D,DEFFCB
- MVI C,OPEN
- CALL SEBDOS
- CPI 255
- JNZ OPNOK
- CALL ERROR
- DB 'FILE NOT FOUND ON THE NORTH STAR DISK.$'
- OPNOK LXI D,MSG1
- MVI C,PRINT
- CALL BDOS
- XRA A
- STA FCBCR
- STA NFCB+32
- LXI D,NFCB
- MVI C,DELETE
- CALL REBDOS
- LXI D,NFCB
- MVI C,MAKE
- CALL REBDOS
- JP OKOPN
- CALL ERROR
- DB 'CANNOT CREATE THE FILE ON THE VERSAFLOPPY DISK$'
- OKOPN LXI D,MSG2
- MVI C,PRINT
- CALL BDOS
- CALL READIT
- CPI 0
- JZ HERE
- CPI 1
- JZ DONE
- CALL ERROR
- DB 'THERE WAS AN ERROR IN THE CALL TO BDOS.$'
- HERE LXI D,MSG3
- MVI C,PRINT
- CALL BDOS
- CALL WRITIT
- CPI 2
- JNZ OKOPN
- CALL ERROR
- DB 'THE DISK IS FULL, CANNOT WRITE ANY MORE TO IT.$'
- READIT PUSH B
- PUSH D
- PUSH H
- MVI C,SETBUF
- LXI D,0080H
- CALL SEBDOS
- MVI C,READ
- LXI D,DEFFCB
- CALL SEBDOS
- POP H
- POP D
- POP B
- RET
- WRITIT PUSH B
- PUSH D
- PUSH H
- MVI C,SETBUF
- LXI D,0080H
- CALL REBDOS
- MVI C,WRITE
- LXI D,NFCB
- CALL REBDOS
- POP H
- POP D
- POP B
- RET
- DONE LXI D,MSG4
- MVI C,PRINT
- CALL BDOS
- MVI C,CLOSE
- LXI D,NFCB
- CALL REBDOS
- JMP WBOOT
- ERROR POP D
- MVI C,PRINT
- CALL BDOS
- JMP WBOOT
- NFCB DS 35
- OLDSP DS 2
- MSG1 DB 'THE OPENING OF FILES WAS OK'
- DB 0AH,0DH,'$'
- MSG2 DB 'READING A SECTOR FROM NORTH STAR DISK'
- DB 0AH,0DH,'$'
- MSG3 DB 'WRITING A SECTOR TO VERSAFLOPPY DISK'
- DB 0AH,0DH,'$'
- MSG4 DB 'CLOSING THE FILES NOW'
- DB 0AH,0DH,'$'
- MSG5 DB VT,0AH,0DH,'16K NORTH STAR TO 48K VERSAFLOPPY CP/M TRANSFER PROGRAM'
- DB 0AH,0DH,'$'
- STACK EQU $+100
- END
-