DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

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

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦4afa7d442⟧ TextFile

    Length: 2560 (0xa00)
    Types: TextFile
    Names: »BUTMOVE.MAC«, »OLESBUT.MAC«

Derivation

└─⟦122ca995a⟧ Bits:30005902 Move-IT arbejdsdiskette
    └─ ⟦this⟧ »BUTMOVE.MAC« 
    └─ ⟦this⟧ »OLESBUT.MAC« 

TextFile

	.Z80

SPORT	EQU	95
DPORT	EQU	94
BDOS	EQU	0005
CR	EQU	13
LF	EQU	10

	ASEG
	ORG	100H

BIOS	EQU	$		;THIS IS THE USER'S BIOS!!!
START:	JP	0302H		;THE WAY TO THE PROGRAM
	JP	4000H		;END OF USER SECTION
	JP	INITI		;COMLINE INIT.
	JP	FINISH		;COMLINE DE-INIT.
	JP	INSTA		;COMLINE STATUS
	JP	INDAT		;COMLINE DATA INPUT
	JP	OUTSTA		;COMLINE OUTPUT STATUS
	JP	OUTDAT		;COMLINE OUTPUT DATA
	JP	CNFGMS		;POINT TO THE CONFIGURATION MESSAGE
	JP	DIAL		;AUTO-DIAL/ANSWER SUPPORT

;	THE CONFIG MESSAGE IS 80 CHARACTERS LONG, PLUS A CR AND TWO LFS
CNFGMS:	
	DB	'               '
	DB	'JET-80 INTERRUPT INTERFACE By, Bent Hansen'
	DB	0DH,0AH,0AH,'$'


INITI:	LD      A,015H ;INIT. COMLINE (NO ENTRY,EXIT PARMS)
        OUT     (SPORT),A
        LD      A,6Ah
        OUT     (SPORT),A
; ----- ANY CODE THE SYSTEM NEEDS TO INITIALIZE THE COMLINE -----
; -----                SHOULD BE ADDED HERE                 -----

	RET


FINISH:	;DE-INIT. COMLINE (NO ENTRY,EXIT PARMS)

; ----- ANY CODE THE SYSTEM NEEDS TO UN -- INITIALIZE THE COMLINE -----
; -----                   SHOULD BE ADDED HERE                    -----

	RET

INSTA:	;INPUT STATUS (A=FF IF CHAR READY,0 IF NOT)

;	ADD A ROUTINE TO READ THE STATUS OF THE INPUT PORT HERE
;	USE ANY REGISTERS YOU LIKE, AND UPON EXIT, SET THE A REG
;	TO 0FFH IF A CHARACTER IS WAITING, OR TO 0 IF NOT

	IN	A,(SPORT)
	BIT	0,A
	JR	Z,INRDY
	LD	A,0FFH
	RET
INRDY:	XOR	A
	RET

INDAT:	;INPUT DATA (EXIT W/ CHARS. IN A REG)

;	ADD A ROUTINE TO GET THE DATA AT THE INPUT PORT HERE
;	RETURN THE CARACTER IN THE A REGISTER (DO NOT CHANGE THE 
;	CHARACTER IN ANY WAY!)

	IN	A,(DPORT)
	RET

OUTSTA:	;OUTPUT STATUS (A=FF IF RDY FOR CHAR, 0 IF NOT)

;	ADD A ROUTINE TO READ THE STATUS OF THE OUTPUT PORT HERE.
;	USE ANY REGISTERS YOU LIKE, AND, UPON EXIT, SET THE A REG
;	TO 0FFH IF THE DATA PORT IS READY TO SEND DATA, OR TO 0 IF
;	NOT.


	IN	A,(SPORT)
	BIT	2,A
	JR	Z,ONRDY
	LD	A,0FFH
	RET
ONRDY:	XOR	A
	RET

OUTDAT:	;OUTPUT DATA (CHAR IN A ON ENTRY)

;	ADD A ROUTINE TO OUTPUT THE CHARACTER IN THE A REGISTER TO
;	THE DATA PORT.

	OUT	(DPORT),A
	RET	

DIAL:	;AUTO DIAL/ANSWER SUPPORT

;
;	UPON ENTRY, B=0 FOR DIALING, 1 FOR HANGING UP,
;		   OR 2 FOR ANSWERING
;
;	IF B=0 (DIALING), HL POINTS TO THE DIALING STRING,
;
	LD	A,2
	CP	B
	JR	Z,ANSW
	DEC	A
	CP	B
	JR	Z,HANGUP

DIALNR:	
	RET
ANSW:	
	RET
HANGUP:	
	RET
	END

«eof»