|
|
@ -2009,45 +2009,24 @@ AUTOSUB: |
|
|
; |
|
|
; |
|
|
; SETUP AUTO SUBMIT COMMAND (IF REQUIRED FILES EXIST) |
|
|
; SETUP AUTO SUBMIT COMMAND (IF REQUIRED FILES EXIST) |
|
|
LD A,(DEFDRIVE) ; GET DEFAULT DRIVE |
|
|
LD A,(DEFDRIVE) ; GET DEFAULT DRIVE |
|
|
|
|
|
|
|
|
;CALL PRTHEXBYTE |
|
|
|
|
|
|
|
|
|
|
|
PUSH AF |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PUSH AF ; SAVE DEFAULT DRIVE |
|
|
INC A ; CONVERT FROM DRIVE NUM TO FCB DRIVE CODE |
|
|
INC A ; CONVERT FROM DRIVE NUM TO FCB DRIVE CODE |
|
|
LD (FCB_SUB),A ; SET DRIVE OF SUBMIT.COM FCB |
|
|
LD (FCB_SUB),A ; SET DRIVE OF SUBMIT.COM FCB |
|
|
LD (FCB_PRO),A ; SET DRIVE OF PROFILE.SUB FCB |
|
|
LD (FCB_PRO),A ; SET DRIVE OF PROFILE.SUB FCB |
|
|
; |
|
|
; |
|
|
LD C,13 ; RESET DISK SYSTEM |
|
|
LD C,13 ; RESET DISK SYSTEM |
|
|
CALL BDOS |
|
|
|
|
|
|
|
|
|
|
|
;CALL PC_PERIOD |
|
|
|
|
|
|
|
|
|
|
|
POP AF |
|
|
|
|
|
; |
|
|
|
|
|
;DEC A ; BACK TO ZERO INDEX |
|
|
|
|
|
|
|
|
|
|
|
;LD E,A ; PUT IN E |
|
|
|
|
|
;LD C,14 ; SELECT DISK FUNCTION |
|
|
|
|
|
;CALL BDOS ; DO IT |
|
|
|
|
|
|
|
|
|
|
|
;CALL PC_PERIOD |
|
|
|
|
|
|
|
|
CALL BDOS ; DO IT |
|
|
|
|
|
POP AF ; RESTORE DEFAULT DRIVE |
|
|
; |
|
|
; |
|
|
LD C,17 ; BDOS FUNCTION: FIND FIRST |
|
|
LD C,17 ; BDOS FUNCTION: FIND FIRST |
|
|
LD DE,FCB_SUB ; CHECK FOR SUBMIT.COM |
|
|
LD DE,FCB_SUB ; CHECK FOR SUBMIT.COM |
|
|
CALL BDOS ; INVOKE BDOS TO LOOK FOR FILE |
|
|
CALL BDOS ; INVOKE BDOS TO LOOK FOR FILE |
|
|
|
|
|
|
|
|
;CALL PRTHEXBYTE |
|
|
|
|
|
|
|
|
|
|
|
INC A ; CHECK FOR ERR, $FF --> $00 |
|
|
INC A ; CHECK FOR ERR, $FF --> $00 |
|
|
RET Z ; ERR, DO NOT ATTEMPT AUTO SUBMIT |
|
|
RET Z ; ERR, DO NOT ATTEMPT AUTO SUBMIT |
|
|
; |
|
|
; |
|
|
LD C,17 ; BDOS FUNCTION: FIND FIRST |
|
|
LD C,17 ; BDOS FUNCTION: FIND FIRST |
|
|
LD DE,FCB_PRO ; CHECK FOR PROFILE.SUB |
|
|
LD DE,FCB_PRO ; CHECK FOR PROFILE.SUB |
|
|
CALL BDOS ; INVOKE BDOS TO LOOK FOR FILE |
|
|
CALL BDOS ; INVOKE BDOS TO LOOK FOR FILE |
|
|
|
|
|
|
|
|
;CALL PRTHEXBYTE |
|
|
|
|
|
|
|
|
|
|
|
INC A ; CHECK FOR ERR, $FF --> $00 |
|
|
INC A ; CHECK FOR ERR, $FF --> $00 |
|
|
RET Z ; ERR, DO NOT ATTEMPT AUTO SUBMIT |
|
|
RET Z ; ERR, DO NOT ATTEMPT AUTO SUBMIT |
|
|
; |
|
|
; |
|
|
@ -2423,7 +2402,8 @@ DRV_INIT8: |
|
|
CP E ; COMPARE TO CUR SLICE |
|
|
CP E ; COMPARE TO CUR SLICE |
|
|
JR NZ,DRV_INIT8A ; IF NE, OK TO CONTINUE |
|
|
JR NZ,DRV_INIT8A ; IF NE, OK TO CONTINUE |
|
|
INC E ; IS BOOT DU/SLICE, SKIP IT |
|
|
INC E ; IS BOOT DU/SLICE, SKIP IT |
|
|
JR DRV_INIT8 ; AND RESTART LOOP |
|
|
|
|
|
|
|
|
DJNZ DRV_INIT8 ; LOOP AS NEEDED |
|
|
|
|
|
RET ; DONE |
|
|
; |
|
|
; |
|
|
DRV_INIT8A: ; ENTRY POINT TO SKIP BOOT DISK/LU CHECK |
|
|
DRV_INIT8A: ; ENTRY POINT TO SKIP BOOT DISK/LU CHECK |
|
|
; |
|
|
; |
|
|
@ -2541,22 +2521,6 @@ DRV_INIT3A: |
|
|
RET ; AND RETURN |
|
|
RET ; AND RETURN |
|
|
; |
|
|
; |
|
|
DRV_INIT4: ; SET SLICES PER VOLUME (HDSPV) BASED ON HARD DISK VOLUME COUNT |
|
|
DRV_INIT4: ; SET SLICES PER VOLUME (HDSPV) BASED ON HARD DISK VOLUME COUNT |
|
|
|
|
|
|
|
|
; ; *** DEBUG *** |
|
|
|
|
|
; CALL NEWLINE2 |
|
|
|
|
|
; LD A,(DRVLSTC) |
|
|
|
|
|
; LD B,A |
|
|
|
|
|
; CALL PRTHEXBYTE |
|
|
|
|
|
; LD A,' ' |
|
|
|
|
|
; CALL COUT |
|
|
|
|
|
; LD HL,DRVLST |
|
|
|
|
|
;TEMP1: |
|
|
|
|
|
; LD A,(HL) |
|
|
|
|
|
; INC HL |
|
|
|
|
|
; CALL PRTHEXBYTE |
|
|
|
|
|
; DJNZ TEMP1 |
|
|
|
|
|
; ; *** DEBUG *** |
|
|
|
|
|
|
|
|
|
|
|
LD A,E ; HARD DISK VOLUME COUNT TO A |
|
|
LD A,E ; HARD DISK VOLUME COUNT TO A |
|
|
LD E,8 ; ASSUME 8 SLICES PER VOLUME |
|
|
LD E,8 ; ASSUME 8 SLICES PER VOLUME |
|
|
DEC A ; DEC ACCUM TO CHECK FOR COUNT = 1 |
|
|
DEC A ; DEC ACCUM TO CHECK FOR COUNT = 1 |
|
|
@ -2569,14 +2533,6 @@ DRV_INIT4: ; SET SLICES PER VOLUME (HDSPV) BASED ON HARD DISK VOLUME COUNT |
|
|
DRV_INIT5: |
|
|
DRV_INIT5: |
|
|
LD A,E ; SLICES PER VOLUME VALUE TO ACCUM |
|
|
LD A,E ; SLICES PER VOLUME VALUE TO ACCUM |
|
|
LD (HDSPV),A ; SAVE IT |
|
|
LD (HDSPV),A ; SAVE IT |
|
|
; |
|
|
|
|
|
; ; SETUP TO ENUMERATE DEVICES TO BUILD DRVMAP |
|
|
|
|
|
; LD B,BF_SYSGET |
|
|
|
|
|
; LD C,BF_SYSGET_DIOCNT |
|
|
|
|
|
; RST 08 ; E := DISK UNIT COUNT |
|
|
|
|
|
; LD B,E ; COUNT TO B |
|
|
|
|
|
; LD C,0 ; USE C AS DEVICE LIST INDEX |
|
|
|
|
|
; |
|
|
|
|
|
LD DE,(BOOTVOL) ; BOOT VOLUME (UNIT, SLICE) |
|
|
LD DE,(BOOTVOL) ; BOOT VOLUME (UNIT, SLICE) |
|
|
LD A,1 ; ROM DISK UNIT? |
|
|
LD A,1 ; ROM DISK UNIT? |
|
|
CP D ; CHECK IT |
|
|
CP D ; CHECK IT |
|
|
@ -2627,7 +2583,8 @@ DRV_INIT8: |
|
|
CP E ; COMPARE TO CUR SLICE |
|
|
CP E ; COMPARE TO CUR SLICE |
|
|
JR NZ,DRV_INIT8A ; IF NE, OK TO CONTINUE |
|
|
JR NZ,DRV_INIT8A ; IF NE, OK TO CONTINUE |
|
|
INC E ; IS BOOT DU/SLICE, SKIP IT |
|
|
INC E ; IS BOOT DU/SLICE, SKIP IT |
|
|
JR DRV_INIT8 ; AND RESTART LOOP |
|
|
|
|
|
|
|
|
DJNZ DRV_INIT8 ; LOOP AS NEEDED |
|
|
|
|
|
RET ; DONE |
|
|
; |
|
|
; |
|
|
DRV_INIT8A: ; ENTRY POINT TO SKIP BOOT DISK/LU CHECK |
|
|
DRV_INIT8A: ; ENTRY POINT TO SKIP BOOT DISK/LU CHECK |
|
|
; |
|
|
; |
|
|
@ -2712,20 +2669,7 @@ DPH_INIT1: |
|
|
CALL PRTDRV ; PRINT DRIVE INFO |
|
|
CALL PRTDRV ; PRINT DRIVE INFO |
|
|
LD A,D ; A := UNIT |
|
|
LD A,D ; A := UNIT |
|
|
PUSH HL ; SAVE DRIVE MAP POINTER |
|
|
PUSH HL ; SAVE DRIVE MAP POINTER |
|
|
;PUSH AF ; SAVE UNIT |
|
|
|
|
|
;; MATCH AND SAVE DEFAULT DRIVE BASED ON BOOT UNIT/SLICE |
|
|
|
|
|
;LD HL,BOOTVOL + 1 ; POINT TO BOOT UNIT |
|
|
|
|
|
;LD A,D ; LOAD CURRENT UNIT |
|
|
|
|
|
;CP (HL) ; MATCH? |
|
|
|
|
|
;JR NZ,DPH_INIT1A ; BYPASS IF NOT BOOT UNIT |
|
|
|
|
|
;DEC HL ; POINT TO BOOT SLICE |
|
|
|
|
|
;LD A,E ; LOAD CURRENT SLICE |
|
|
|
|
|
;CP (HL) ; MATCH? |
|
|
|
|
|
;JR NZ,DPH_INIT1A ; BYPASS IF NOT BOOT SLICE |
|
|
|
|
|
;LD A,C ; LOAD THE CURRENT DRIVE NUM |
|
|
|
|
|
;LD (DEFDRIVE),A ; SAVE AS DEFAULT |
|
|
|
|
|
DPH_INIT1A: |
|
|
DPH_INIT1A: |
|
|
;POP AF ; RESTORE UNIT |
|
|
|
|
|
LD DE,(DPHTOP) ; GET ADDRESS OF NEXT DPH |
|
|
LD DE,(DPHTOP) ; GET ADDRESS OF NEXT DPH |
|
|
PUSH DE ; ... AND SAVE IT |
|
|
PUSH DE ; ... AND SAVE IT |
|
|
; INVOKE THE DPH BUILD ROUTINE |
|
|
; INVOKE THE DPH BUILD ROUTINE |
|
|
@ -2857,7 +2801,6 @@ MAKDPH2: |
|
|
PUSH HL ; MOVE ALLOC RESULT PTR |
|
|
PUSH HL ; MOVE ALLOC RESULT PTR |
|
|
POP BC ; ... TO BC |
|
|
POP BC ; ... TO BC |
|
|
POP HL ; RECOVER DPH PTR TO HL |
|
|
POP HL ; RECOVER DPH PTR TO HL |
|
|
;JR NZ,ERR_HEAPOVF ; HANDLE POSSIBLE ALLOC OVERFLOW HERE |
|
|
|
|
|
JR C,ERR_HEAPOVF ; HANDLE POSSIBLE ALLOC OVERFLOW HERE |
|
|
JR C,ERR_HEAPOVF ; HANDLE POSSIBLE ALLOC OVERFLOW HERE |
|
|
LD (HL),C ; SAVE CKS/ALS BUF |
|
|
LD (HL),C ; SAVE CKS/ALS BUF |
|
|
INC HL ; ... ADDRESS IN |
|
|
INC HL ; ... ADDRESS IN |
|
|
@ -2876,7 +2819,6 @@ ALLOC: |
|
|
PUSH DE ; AND SAVE FOR RETURN VALUE |
|
|
PUSH DE ; AND SAVE FOR RETURN VALUE |
|
|
ADD HL,DE ; ADD REQUESTED SPACE, HL := NEW HEAP TOP |
|
|
ADD HL,DE ; ADD REQUESTED SPACE, HL := NEW HEAP TOP |
|
|
JR C,ALLOCX ; TEST FOR CPU MEMORY SPACE OVERFLOW |
|
|
JR C,ALLOCX ; TEST FOR CPU MEMORY SPACE OVERFLOW |
|
|
;LD DE,(HEAPLIM) ; LOAD DE WITH HEAP LIMIT |
|
|
|
|
|
LD DE,HEAPEND ; LOAD DE WITH HEAP LIMIT |
|
|
LD DE,HEAPEND ; LOAD DE WITH HEAP LIMIT |
|
|
EX DE,HL ; DE=NEW HEAPTOP, HL=HEAPLIM |
|
|
EX DE,HL ; DE=NEW HEAPTOP, HL=HEAPLIM |
|
|
SBC HL,DE ; HEAPLIM - HEAPTOP |
|
|
SBC HL,DE ; HEAPLIM - HEAPTOP |
|
|
|