DataMuseum.dk

Presents historical artifacts from the history of:

Jet Computer Jet80

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Jet Computer Jet80

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦3eb377943⟧ TextFile

    Length: 1280 (0x500)
    Types: TextFile
    Names: »OPFILE.SRC«

Derivation

└─⟦c9df7130d⟧ Bits:30005915 Pascal MT+ Release 5.2 (Jet-80)
    └─ ⟦this⟧ »OPFILE.SRC« 

TextFile

;SUBROUTINES FOR OPENING FILES FOR OUTPUT AND INPUT
;
	NAME OPFILE
	ENTRY OPNOT,OPNIN
	EXT SELDSK,POPHDB,DERR,PUSHBD
	INCLUDE DEFLT.SRC
;
;OPNOT OPENS A FILE FOR OUTPUT.  THE POINTER TO THE FILE DESCRIPTOR IS
;PASSED IN HL.  ANY FILE WITH THE SAME NAME ALREADY IN THE DIRECTORY IS 
;DELETED.
OPNOT	CALL	PUSHBD		;SAVE ALL REGISTERS EXCEPT A
	PUSH	PSW
	CALL	SELDSK
	XCHG
	MVI	C,22		; CP/M CODE TO CREATE A FILE ENTRY.
	CALL	CPM
	CPI	255		; CHECK FOR DIRECTORY FULL ERROR.
	JZ	DERR
	POP	PSW
	POP	H
	POP	D
	POP	B
	EXX
	EXAF
	POP	PSW
	EXAF
	POP	Y
	POP	X
	POP	H
	POP	D
	POP	B
	; FALL THROUGH AND DO CODE FOR OPENING AN INPUT FILE.

OPNIN	CALL 	PUSHBD		;SAVE ALL REGISTERS EXCEPT A
	PUSH	PSW
	PUSH	H
	LXI	D,BYTPT		; OFFSET INTO FILE DESCRIPTOR OF BYTE POINTER.
	DAD	D
	MVI	M,0FFH		; SET BYTE POINTER TO EMPTY.
	INX	H		; HL NOW POINTS TO LSBYT
	MVI	M,0FFH
	POP	H		; RESTORE HL (IT NOW POINTS TO START OF FCB).
	CALL	SELDSK		; SELECT PROPER DRIVE.
	XCHG
	MVI	C,15		; CP/M CODE FOR OPEN FILE.
	CALL	CPM
	ADI	1		; CARRY NOW SET IF ERROR OCCURRED.
	POP	B
	MOV	A,B		; RESTORE A WITHOUT AFFECTING THE FLAGS.
	JMP	POPHDB
;
«eof»