mirror of https://github.com/wwarthen/RomWBW.git
272 changed files with 48497 additions and 158 deletions
@ -0,0 +1,68 @@ |
|||||
|
/* twodrive.c 7/11/2012 dwg - */ |
||||
|
|
||||
|
/* This program is experimental and is not for release because
|
||||
|
it contains techniques which are not recommended because |
||||
|
there are better API functions to do these operations. */ |
||||
|
|
||||
|
|
||||
|
#include "cpmbios.h" |
||||
|
#include "bioscall.h" |
||||
|
|
||||
|
#include "cpmbdos.h" |
||||
|
#include "bdoscall.h" |
||||
|
|
||||
|
#define u8 unsigned char |
||||
|
#define u16 unsigned int |
||||
|
|
||||
|
struct DPH * pDPH_C; |
||||
|
struct DPB * pDPB_C; |
||||
|
u8 * pDU_C; |
||||
|
u16 * pCUR_C; |
||||
|
u16 * pNUM_C; |
||||
|
|
||||
|
struct DPH * pDPH_D; |
||||
|
struct DPB * pDPB_D; |
||||
|
u8 * pDU_D; |
||||
|
u16 * pCUR_D; |
||||
|
u16 * pNUM_D; |
||||
|
|
||||
|
main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[]; |
||||
|
{ |
||||
|
|
||||
|
ireghl = pSELDSK; |
||||
|
iregbc = DRIVEC; |
||||
|
iregde = 0; |
||||
|
bioscall(); |
||||
|
pDPH_C = ireghl; |
||||
|
pDPB_C = pDPH_C->dpb; |
||||
|
pDU_C = ireghl -1; |
||||
|
*pDU_C = 0X41; |
||||
|
printf("Current C: DevUnit is %02x\n",*pDU_C); |
||||
|
pCUR_C = ireghl + 18; |
||||
|
*pCUR_C = 0; |
||||
|
printf("Current C: Logical Unit is %d\n",* pCUR_C); |
||||
|
pNUM_C = ireghl + 20; |
||||
|
*pNUM_C = 64/9; |
||||
|
printf("Current C: Number of LU's is %d\n",* pNUM_C); |
||||
|
|
||||
|
ireghl = pSELDSK; |
||||
|
iregbc = DRIVED; |
||||
|
iregde = 0; |
||||
|
bioscall(); |
||||
|
pDPH_D = ireghl; |
||||
|
pDPB_D = pDPH_D->dpb; |
||||
|
pDU_D = ireghl -1; |
||||
|
*pDU_D = 0x41; |
||||
|
printf("Current D: DevUnit is %02x\n",*pDU_D); |
||||
|
pCUR_D = ireghl + 18; |
||||
|
*pCUR_D = 1; |
||||
|
printf("Current D: Logical Unit is %d\n",* pCUR_D); |
||||
|
pNUM_D = ireghl + 20; |
||||
|
*pNUM_D = 64/9; |
||||
|
printf("Current D: Number of LU's is %d\n",* pNUM_D); |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
@ -0,0 +1,322 @@ |
|||||
|
/* map.c 6/7/2012 dwg - */ |
||||
|
|
||||
|
#include "portab.h" |
||||
|
#include "globals.h" |
||||
|
#include "stdio.h" |
||||
|
#include "stdlib.h" |
||||
|
#include "memory.h" |
||||
|
|
||||
|
#include "cpmbind.h" |
||||
|
|
||||
|
#include "infolist.h" |
||||
|
#include "dphdpb.h" |
||||
|
#include "dphmap.h" |
||||
|
#include "metadata.h" |
||||
|
#include "clogical.h" |
||||
|
#include "applvers.h" |
||||
|
|
||||
|
#define MAXDRIVE 8 |
||||
|
|
||||
|
/* Drive List Geometry */ |
||||
|
#define COL1 0 |
||||
|
#define COL2 (80/4) |
||||
|
#define COL3 (80/2) |
||||
|
#define COL4 (COL2+COL3) |
||||
|
#define LINE 3 |
||||
|
|
||||
|
/* Logical Unit List Geometry */ |
||||
|
#define LGUT 5 |
||||
|
#define COL1A 0 |
||||
|
#define COL2A (80/3) |
||||
|
#define COL3A (2*COL2A) |
||||
|
|
||||
|
/* Nomenclature Geometry */ |
||||
|
#define LINE2 8 |
||||
|
|
||||
|
/* Misc Info Geometry */ |
||||
|
#define CDLINE 6 |
||||
|
|
||||
|
/* BDOS Function number */ |
||||
|
#define RETCURR 25 |
||||
|
|
||||
|
/* function defined in bdoscall.asm */ |
||||
|
extern lurst(); |
||||
|
|
||||
|
struct BIOS * pBIOS; |
||||
|
|
||||
|
struct DPH * pDPH; |
||||
|
|
||||
|
int devunit; |
||||
|
int dev; |
||||
|
int unit; |
||||
|
int currlu; |
||||
|
int numlu; |
||||
|
int drivenum; |
||||
|
int drive; |
||||
|
int deflu; |
||||
|
|
||||
|
char szTemp[128]; |
||||
|
|
||||
|
int readsec(drive,track,sector,buffer) |
||||
|
int drive; |
||||
|
int track; |
||||
|
int sector; |
||||
|
unsigned int buffer; |
||||
|
{ |
||||
|
ireghl = pSELDSK; |
||||
|
iregbc = drive; |
||||
|
iregde = 0; |
||||
|
bioscall(); |
||||
|
|
||||
|
ireghl = pSETTRK; |
||||
|
iregbc = track; |
||||
|
bioscall(); |
||||
|
|
||||
|
ireghl = pSETSEC; |
||||
|
iregbc = sector; |
||||
|
bioscall(); |
||||
|
|
||||
|
ireghl = pSETDMA; |
||||
|
iregbc = buffer; |
||||
|
bioscall(); |
||||
|
|
||||
|
ireghl = pREAD; |
||||
|
bioscall(); |
||||
|
return irega; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
int haslu(dr) |
||||
|
int dr; |
||||
|
{ |
||||
|
if(0 < lugnum(dr)) { |
||||
|
return TRUE; |
||||
|
} else { |
||||
|
return FALSE; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
void dispdph(l,c,drive,ptr) |
||||
|
int l; |
||||
|
int c; |
||||
|
char drive; |
||||
|
struct DPH *ptr; |
||||
|
{ |
||||
|
|
||||
|
/*
|
||||
|
unsigned int xlt; |
||||
|
unsigned int rv1; |
||||
|
unsigned int rv2; |
||||
|
unsigned int rv3; |
||||
|
unsigned int dbf; |
||||
|
unsigned int dpb; |
||||
|
unsigned int csv; |
||||
|
unsigned int alv; |
||||
|
unsigned char sigl; |
||||
|
unsigned char sigu; |
||||
|
unsigned int current; |
||||
|
unsigned int number; |
||||
|
*/ |
||||
|
crtlc(l,c); |
||||
|
printf("%c: ",drive); |
||||
|
|
||||
|
devunit = lugdu(drive-'A'); |
||||
|
dev = devunit & 0xf0; |
||||
|
unit = devunit & 0x0f; |
||||
|
|
||||
|
currlu = lugcur(drive-'A'); |
||||
|
switch(dev) { |
||||
|
case DEV_MD: |
||||
|
if(0 == unit) printf("ROM"); |
||||
|
if(1 == unit) printf("RAM"); |
||||
|
break; |
||||
|
case DEV_FD: |
||||
|
printf("FD%d",unit); |
||||
|
break; |
||||
|
case DEV_IDE: |
||||
|
printf("IDE%d",unit); |
||||
|
break; |
||||
|
case DEV_ATAPI: |
||||
|
printf("ATAPI%d",unit); |
||||
|
break; |
||||
|
case DEV_PPIDE: |
||||
|
printf("PPIDE%d",unit); |
||||
|
break; |
||||
|
case DEV_SD: |
||||
|
printf("SD%d",unit); |
||||
|
break; |
||||
|
case DEV_PRPSD: |
||||
|
printf("PRPSD%d",unit); |
||||
|
break; |
||||
|
default: |
||||
|
printf("UNK"); |
||||
|
break; |
||||
|
}; |
||||
|
|
||||
|
if('L' == (unsigned char)ptr->sigl) { |
||||
|
if('U' == (unsigned char)ptr->sigu) { |
||||
|
/* printf("-LU%d",(int)ptr->current); */ |
||||
|
printf("-LU%d",currlu); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/* printf("dpb=0x%04x, ",(unsigned int)ptr->dpb);
|
||||
|
printf("sigl=0x%02x, ",(unsigned char)ptr->sigl); |
||||
|
printf("sigu=0x%02x, ",(unsigned char)ptr->sigu); |
||||
|
printf("curr=0x%04x, ",(unsigned int)ptr->current); |
||||
|
printf("numb=0x%04x", (unsigned int)ptr->number); |
||||
|
*/ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
int main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[]; |
||||
|
{ |
||||
|
int i; |
||||
|
int mylu; |
||||
|
int drivenum; |
||||
|
int column; |
||||
|
int line; |
||||
|
char szDrive[32]; |
||||
|
char szLuNum[32]; |
||||
|
|
||||
|
if(argc == 3) { |
||||
|
|
||||
|
strcpy(szDrive,argv[1]); |
||||
|
strcpy(szLuNum,argv[2]); |
||||
|
|
||||
|
mylu = atoi(szLuNum); |
||||
|
|
||||
|
if(strlen(szDrive) == 2) { |
||||
|
if(':' == szDrive[1]) { |
||||
|
switch(szDrive[0]) { |
||||
|
case 'a': |
||||
|
case 'A': |
||||
|
luscur(0,mylu); |
||||
|
break; |
||||
|
case 'b': |
||||
|
case 'B': |
||||
|
luscur(1,mylu); |
||||
|
break; |
||||
|
case 'c': |
||||
|
case 'C': |
||||
|
luscur(2,mylu); |
||||
|
break; |
||||
|
case 'd': |
||||
|
case 'D': |
||||
|
luscur(3,mylu); |
||||
|
break; |
||||
|
case 'e': |
||||
|
case 'E': |
||||
|
luscur(4,mylu); |
||||
|
break; |
||||
|
case 'f': |
||||
|
case 'F': |
||||
|
luscur(5,mylu); |
||||
|
break; |
||||
|
case 'g': |
||||
|
case 'G': |
||||
|
luscur(6,mylu); |
||||
|
break; |
||||
|
case 'h': |
||||
|
case 'H': |
||||
|
luscur(7,mylu); |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
exit(1); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
pBIOS = BIOSAD; |
||||
|
|
||||
|
crtinit(); |
||||
|
crtclr(); |
||||
|
crtlc(0,0); |
||||
|
|
||||
|
printf("MAP.COM %d/%d/%d v%d.%d.%d.%d", |
||||
|
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP); |
||||
|
printf(" dwg - System Storage Drives and Logical Units"); |
||||
|
|
||||
|
ireghl = pGETINFO; |
||||
|
bioscall(); |
||||
|
pINFOLIST = ireghl; |
||||
|
|
||||
|
crtlc(CDLINE,COL3A+LGUT); |
||||
|
printf("infolist.version %d\n",pINFOLIST->version); |
||||
|
|
||||
|
pDPHMAP = (struct DPHMAPA *)pINFOLIST->dphmap; |
||||
|
|
||||
|
dispdph(LINE, COL1+LGUT-1,'A',(struct DPH *)pDPHMAP->drivea); |
||||
|
dispdph(LINE+1,COL1+LGUT-1,'B',(struct DPH *)pDPHMAP->driveb); |
||||
|
dispdph(LINE, COL2+LGUT-1,'C',(struct DPH *)pDPHMAP->drivec); |
||||
|
dispdph(LINE+1,COL2+LGUT-1,'D',(struct DPH *)pDPHMAP->drived); |
||||
|
dispdph(LINE, COL3+LGUT-1,'E',(struct DPH *)pDPHMAP->drivee); |
||||
|
dispdph(LINE+1,COL3+LGUT-1,'F',(struct DPH *)pDPHMAP->drivef); |
||||
|
dispdph(LINE, COL4+LGUT-1,'G',(struct DPH *)pDPHMAP->driveg); |
||||
|
dispdph(LINE+1,COL4+LGUT-1,'H',(struct DPH *)pDPHMAP->driveh); |
||||
|
|
||||
|
dregbc = RETCURR; |
||||
|
bdoscall(); |
||||
|
drive = drega; |
||||
|
|
||||
|
crtlc(CDLINE,5); |
||||
|
printf("Current drive is %c:",'A'+drive); |
||||
|
|
||||
|
devunit = lugdu(drive); |
||||
|
dev = devunit & 0xf0; |
||||
|
unit = devunit & 0x0f; |
||||
|
currlu = lugcur(drive); |
||||
|
deflu = currlu; |
||||
|
numlu = lugnum(drive); |
||||
|
|
||||
|
crtlc(CDLINE,COL2A+LGUT); |
||||
|
printf("Number of LUs is %d\n",lugnum(drive)); |
||||
|
|
||||
|
if(0<numlu) { |
||||
|
crtlc(LINE2,COL1A+LGUT); |
||||
|
printf("LU -----Label------"); |
||||
|
crtlc(LINE2,COL2A+LGUT); |
||||
|
printf("LU -----Label------"); |
||||
|
crtlc(LINE2,COL3A+LGUT); |
||||
|
printf("LU -----Label------"); |
||||
|
|
||||
|
line = LINE2+1; |
||||
|
column = 0; |
||||
|
for(i=0;i<numlu;i++) { |
||||
|
luscur(drive,i); |
||||
|
readsec(drive,0,11,&metadata); |
||||
|
metadata.term = 0; |
||||
|
switch(column++) { |
||||
|
case 0: |
||||
|
crtlc(line,COL1A+LGUT); |
||||
|
printf("%2d %s",i,metadata.label); |
||||
|
break; |
||||
|
case 1: |
||||
|
crtlc(line,COL2A+LGUT); |
||||
|
printf("%2d %s",i,metadata.label); |
||||
|
break; |
||||
|
case 2: |
||||
|
crtlc(line,COL3A+LGUT); |
||||
|
printf("%2d %s",i,metadata.label); |
||||
|
column = 0; |
||||
|
line++; |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
luscur(drive,deflu); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/****************/ |
||||
|
/* eof - cmap.c */ |
||||
|
/****************/ |
||||
@ -0,0 +1,106 @@ |
|||||
|
; access.asm 7/19/2012 dwg - for 2.0.0.0 B22 |
||||
|
; access.com 2/17/2012 dwg - review for release 1.5.1.0 |
||||
|
; access.asm 2/11/2012 dwg - make ident compliant |
||||
|
; access.com 2/07/2012 dwg - review for release 1.5 |
||||
|
; access.com 2/05/2012 dwg - adjust for new macros |
||||
|
; access.asm 1/30/2012 dwg - use new do$start and do$end macros |
||||
|
; access.asm 1/28/2012 dwg - assure file exists from within submit file |
||||
|
|
||||
|
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3. |
||||
|
; |
||||
|
; This file is part of NuBiosDWG and is free software: you can |
||||
|
; redistribute it and/or modify it under the terms of the GNU |
||||
|
; General Public License as published by the Free Software Foundation, |
||||
|
; either version 3 of the License, or (at your option) any later version. |
||||
|
; This file is distributed in the hope that it will be useful, |
||||
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
; GNU General Public License for more details. |
||||
|
; You should have received a copy of the GNU General Public License |
||||
|
; along with it. If not, see <http://www.gnu.org/licenses/>. |
||||
|
|
||||
|
;---------------------------------------------------------------------- |
||||
|
maclib portab |
||||
|
maclib globals |
||||
|
maclib cpmbdos |
||||
|
maclib printers |
||||
|
maclib banner |
||||
|
maclib applvers |
||||
|
maclib z80 |
||||
|
maclib memory |
||||
|
maclib version |
||||
|
maclib cpmappl |
||||
|
maclib banner |
||||
|
;----------------------- |
||||
|
|
||||
|
do$start |
||||
|
|
||||
|
jmp around$bandata |
||||
|
argv dw prog,dat,prod,orig,ser,myname,0 |
||||
|
prog db 'ACCESS.COM $' |
||||
|
date |
||||
|
serial |
||||
|
product |
||||
|
originator |
||||
|
oriname |
||||
|
uuid db '08D4953E-B6F4-4673-990C-7E17A0A299BD$' |
||||
|
around$bandata: |
||||
|
|
||||
|
sbanner argv |
||||
|
|
||||
|
lda 80h ; pick up the command tail length provided by CCP |
||||
|
cpi 0 ; were there any parameters given? |
||||
|
jnz no$usage ; If not, go around |
||||
|
printf 'usage - access <filename>' |
||||
|
jmp do$exit |
||||
|
no$usage: |
||||
|
|
||||
|
memcpy work$fcb,PRIFCB,32 ; Save initial default FCB from CCP |
||||
|
|
||||
|
printf 'Checking: ' |
||||
|
|
||||
|
mvi a,'$' ; place a terminating dollar sign |
||||
|
sta PRIFCB+9 ; at the end of the filname field |
||||
|
print PRIFCB+1 ; and print the filename portion |
||||
|
|
||||
|
conout '.' ; print the seperating dot |
||||
|
|
||||
|
memcpy PRIFCB,work$fcb,16 ; get a fresh copy of the initial FCB |
||||
|
mvi a,'$' ; place a terminating dollar sign |
||||
|
sta PRIFCB+12 ; at the end of the filetype field |
||||
|
print PRIFCB+9 ; and print the filetype |
||||
|
print crlf ; followed by a CR and LF |
||||
|
|
||||
|
memcpy PRIFCB,work$fcb,32 ; restore the initial FCB |
||||
|
|
||||
|
mvi c,FOPEN ; Try to open the given filename |
||||
|
lxi d,PRIFCB ; using the primary default FCB |
||||
|
call BDOS ; with a BDOS call |
||||
|
cpi 255 ; Test for Open Failure (255) |
||||
|
jnz done ; jump if file existed |
||||
|
|
||||
|
mvi c,FDELETE ; Delete the A:$$$.SUB file |
||||
|
lxi d,del$fcb ; using an alternative FCB |
||||
|
call BDOS |
||||
|
|
||||
|
printf 'Submit file terminated due to missing file$' |
||||
|
|
||||
|
jmp do$exit ; Go to the one true exit point |
||||
|
|
||||
|
done: |
||||
|
printf 'File found, Submit may proceed' |
||||
|
do$exit: |
||||
|
do$end |
||||
|
|
||||
|
newfcb del$fcb,1,'$$$ SUB' |
||||
|
|
||||
|
work$fcb ds 36 ; A place to save a copy of the default FCB on entry |
||||
|
|
||||
|
crlf db CR,LF ; a dollar sign terminated CR and LF |
||||
|
term db '$' ; a general purpose terminating character |
||||
|
|
||||
|
end start |
||||
|
|
||||
|
; eof - access.asm |
||||
|
|
||||
|
|
||||
@ -0,0 +1,18 @@ |
|||||
|
rem access.sub 9/5/2012 dwg - build access from sources |
||||
|
|
||||
|
if not exist access.rel erase access.cpm |
||||
|
if not exist access.rel z80mu rmac access |
||||
|
|
||||
|
if not exist printers.rel erase access.cpm |
||||
|
if not exist printers.rel z80mu rmac printers |
||||
|
|
||||
|
if not exist memory.rel erase access.cpm |
||||
|
if not exist memory.rel z80mu rmac memory |
||||
|
|
||||
|
if not exist banner.rel erase access.cpm |
||||
|
if not exist banner.rel z80mu rmac banner |
||||
|
|
||||
|
if not exist access.cpm z80mu link access,memory,banner,printers |
||||
|
if not exist access.cpm rename access.com access.cpm |
||||
|
|
||||
|
dir access.cpm |
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,7 @@ |
|||||
|
e:rem access.sub 9/5/2012 dwg - build access from sources |
||||
|
rasm80 access |
||||
|
rasm80 printers |
||||
|
rasm80 memory |
||||
|
rasm80 banner |
||||
|
link80 access,memory,banner,printers |
||||
|
|
||||
@ -0,0 +1,8 @@ |
|||||
|
0103 HEXREF 0113 IDSIG 0115 IDRMJ 0116 IDRMN |
||||
|
0117 IDRUP 0118 IDRTP 0119 IDMON 011A IDDAY |
||||
|
011B IDYR 0120 PRESTK 0122 BEGIN 09C1 PRDWOR |
||||
|
0999 PRHBYT 09AE PRHWOR 0554 XBANNE 07FF XSBANN |
||||
|
0546 XMEMCP 0547 XMEMSE 0983 PRHNYB 09CD PDEC |
||||
|
09EF PDEC1 09F1 PDEC2 0A0D PDEC3 0A24 PDEC4 |
||||
|
0A25 PDEC5 |
||||
|
|
||||
Binary file not shown.
@ -1,20 +1,20 @@ |
|||||
/****************************/ |
|
||||
/* applvers.h dwg - 2.0.0.0 */ |
|
||||
/****************************/ |
|
||||
|
/************************************/ |
||||
|
/* applvers.h dwg - 2.2.0.3 Beta */ |
||||
|
/************************************/ |
||||
|
|
||||
#define A_RMJ 2 |
#define A_RMJ 2 |
||||
#define A_RMN 0 |
|
||||
|
#define A_RMN 3 |
||||
#define A_RUP 0 |
#define A_RUP 0 |
||||
#define A_RTP 0 |
#define A_RTP 0 |
||||
|
|
||||
#define A_MONTH 6 |
|
||||
#define A_DAY 10 |
|
||||
#define A_YEAR 2012 |
|
||||
#define A_YR 12 |
|
||||
|
#define A_MONTH 1 |
||||
|
#define A_DAY 16 |
||||
|
#define A_YEAR 2013 |
||||
|
#define A_YR 13 |
||||
|
|
||||
/********************/ |
/********************/ |
||||
/* eof - applvers.h */ |
/* eof - applvers.h */ |
||||
/********************/ |
/********************/ |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,34 @@ |
|||||
|
; applvers.lib 2/29/2012 dwg - For RomWBW 2.1.1 Release |
||||
|
|
||||
|
A$RMJ equ 2 |
||||
|
A$RMN equ 2 |
||||
|
A$RUP equ 0 |
||||
|
A$RTP equ 0 |
||||
|
|
||||
|
A$MONTH equ 2 |
||||
|
A$DAY equ 15 |
||||
|
A$YEAR equ 2013 |
||||
|
|
||||
|
date macro |
||||
|
dat db ' 2/15/2013$' |
||||
|
endm |
||||
|
|
||||
|
serial macro |
||||
|
ser db '654321$' |
||||
|
endm |
||||
|
|
||||
|
product macro |
||||
|
prod db 'CPM80$' |
||||
|
endm |
||||
|
|
||||
|
originator macro |
||||
|
orig db 'DWG$' |
||||
|
endm |
||||
|
|
||||
|
oriname macro |
||||
|
myname db ' Douglas W Goodall $' |
||||
|
endm |
||||
|
|
||||
|
; eof - applvers.lib |
||||
|
|
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,13 @@ |
|||||
|
/* ascii.h 11/25/2012 dwg - */ |
||||
|
|
||||
|
#define ASCII_BS 8 |
||||
|
#define ASCII_TAB 9 |
||||
|
#define ASCII_LF 10 |
||||
|
#define ASCII_VT 11 |
||||
|
#define ASCII_FF 12 |
||||
|
#define ASCII_CR 13 |
||||
|
#define ASCII_ESC 27 |
||||
|
|
||||
|
/* eof - ascii.h */ |
||||
|
|
||||
|
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,18 @@ |
|||||
|
; |
||||
|
; This is a sample AUTOEXEC.Z80 file. Tailor it to your own preferences, |
||||
|
; or delete it entirely. |
||||
|
; |
||||
|
set_bdos min |
||||
|
set_cpmecho off |
||||
|
set_cpmlist lpt1 |
||||
|
set_cpmpun com1 |
||||
|
set_cpmrdr com1 |
||||
|
set_cpu z80 |
||||
|
set_fake on |
||||
|
set_illop fault |
||||
|
set_iobase 400 |
||||
|
set_mask on |
||||
|
set_source z80 |
||||
|
set_term h19 |
||||
|
set_vars on |
||||
|
coldboot |
||||
@ -0,0 +1,656 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global pINFOLIS_,2 |
||||
|
global metadata_,128 |
||||
|
global pSYSCFG_,2 |
||||
|
global pCBIOS_,2 |
||||
|
PUBLIC main_ |
||||
|
main_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-132-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,-6596 |
||||
|
SHLD ireghl_ |
||||
|
CALL bioscall_ |
||||
|
LHLD ireghl_ |
||||
|
SHLD pINFOLIS_ |
||||
|
LHLD pINFOLIS_ |
||||
|
PUSH H |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,-6656 |
||||
|
SHLD pCBIOS_ |
||||
|
LXI H,-4096 |
||||
|
SHLD hregbc_ |
||||
|
LXI H,-16384 |
||||
|
SHLD hregde_ |
||||
|
CALL diagnose_ |
||||
|
LXI H,-16384 |
||||
|
SHLD pSYSCFG_ |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,68 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
CALL crtinit_ |
||||
|
POP D |
||||
|
CALL crtclr_ |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,1 |
||||
|
PUSH H |
||||
|
LXI H,1 |
||||
|
PUSH H |
||||
|
LXI H,2 |
||||
|
PUSH H |
||||
|
LXI H,2012 |
||||
|
PUSH H |
||||
|
LXI H,29 |
||||
|
PUSH H |
||||
|
LXI H,8 |
||||
|
PUSH H |
||||
|
LXI H,.1+31 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,16 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LXI H,.1+64 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,-4096 |
||||
|
SHLD hregbc_ |
||||
|
LXI H,-16384 |
||||
|
SHLD hregde_ |
||||
|
CALL diagnose_ |
||||
|
LXI H,-16384 |
||||
|
SHLD pSYSCFG_ |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,2 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,3 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,.1+107 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,4 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,9 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+117 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,5 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,10 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+126 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,6 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,11 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+135 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,7 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,12 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+144 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,9 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,7 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,2-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,2-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,-16384 |
||||
|
DAD D |
||||
|
SHLD dregde_ |
||||
|
LXI H,9 |
||||
|
SHLD dregbc_ |
||||
|
CALL bdoscall_ |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,10 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,5 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,-16384 |
||||
|
DAD D |
||||
|
XCHG |
||||
|
LXI H,0-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,128 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,-124-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL memset_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,11 |
||||
|
PUSH H |
||||
|
LXI H,2-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-124-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL memcpy_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,-128-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
LXI H,.1+153 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,26 |
||||
|
PUSH H |
||||
|
LXI H,3 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,.1+156 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,26 |
||||
|
PUSH H |
||||
|
LXI H,4 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pCBIOS_ |
||||
|
LXI D,75 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+166 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,26 |
||||
|
PUSH H |
||||
|
LXI H,5 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pCBIOS_ |
||||
|
LXI D,76 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+175 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,26 |
||||
|
PUSH H |
||||
|
LXI H,6 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pCBIOS_ |
||||
|
LXI D,77 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+184 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,26 |
||||
|
PUSH H |
||||
|
LXI H,7 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pCBIOS_ |
||||
|
LXI D,78 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+193 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,26 |
||||
|
PUSH H |
||||
|
LXI H,9 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pINFOLIS_ |
||||
|
LXI D,4 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,2-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,128 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,-124-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL memset_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,127 |
||||
|
PUSH H |
||||
|
LXI H,4-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-124-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL memcpy_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-130-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .4 |
||||
|
.3: |
||||
|
LXI H,-130-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.4: |
||||
|
LXI H,-130-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,128 |
||||
|
CALL .ul |
||||
|
JZ .5 |
||||
|
LXI H,-130-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,-128-.2 |
||||
|
DAD SP |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,45 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .6 |
||||
|
LXI H,-132-.2 |
||||
|
DAD SP |
||||
|
mov a,m |
||||
|
inx h |
||||
|
ora m |
||||
|
JZ .7 |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,-128-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,-126-.2 |
||||
|
DAD SP |
||||
|
DAD D |
||||
|
POP D |
||||
|
MOV M,E |
||||
|
JMP .8 |
||||
|
.7: |
||||
|
LXI H,1 |
||||
|
XCHG |
||||
|
LXI H,-132-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.8: |
||||
|
.6: |
||||
|
JMP .3 |
||||
|
.5: |
||||
|
LXI H,-128-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
LXI H,.1+202 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,26 |
||||
|
PUSH H |
||||
|
LXI H,10 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD pINFOLIS_ |
||||
|
LXI D,6 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,0-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,128 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,-124-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL memset_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,11 |
||||
|
PUSH H |
||||
|
LXI H,2-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-124-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL memcpy_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,-128-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
LXI H,.1+205 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,52 |
||||
|
PUSH H |
||||
|
LXI H,3 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,.1+208 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,52 |
||||
|
PUSH H |
||||
|
LXI H,4 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,2 |
||||
|
PUSH H |
||||
|
LXI H,.1+219 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,52 |
||||
|
PUSH H |
||||
|
LXI H,5 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,1 |
||||
|
PUSH H |
||||
|
LXI H,.1+228 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,52 |
||||
|
PUSH H |
||||
|
LXI H,6 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,1 |
||||
|
PUSH H |
||||
|
LXI H,.1+237 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,52 |
||||
|
PUSH H |
||||
|
LXI H,7 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,.1+246 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,52 |
||||
|
PUSH H |
||||
|
LXI H,10 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,29 |
||||
|
PUSH H |
||||
|
LXI H,8 |
||||
|
PUSH H |
||||
|
LXI H,12 |
||||
|
PUSH H |
||||
|
LXI H,.1+255 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,23 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
RET |
||||
|
.2 EQU -136 |
||||
|
.1: |
||||
|
DB 112,111,115,116,32,71,69,84,73,78,70,79,32,105,114 |
||||
|
DB 101,103,104,108,32,105,115,32,48,120,37,48,52,120,10 |
||||
|
DB 0,66,65,78,75,69,82,46,67,79,77,32,37,100,47 |
||||
|
DB 37,100,47,37,100,32,118,37,100,46,37,100,46,37,100 |
||||
|
DB 46,37,100,0,32,100,119,103,32,45,32,68,105,115,112 |
||||
|
DB 108,97,121,32,77,101,109,111,114,121,32,66,97,110,107 |
||||
|
DB 32,67,104,97,114,97,99,116,101,114,105,115,116,105,99 |
||||
|
DB 115,0,82,79,77,32,66,97,110,107,49,0,82,77,74 |
||||
|
DB 32,61,32,37,100,0,82,77,78,32,61,32,37,100,0 |
||||
|
DB 82,85,80,32,61,32,37,100,0,82,84,80,32,61,32 |
||||
|
DB 37,100,0,37,115,0,67,66,73,79,83,32,72,68,82 |
||||
|
DB 0,82,77,74,32,61,32,37,100,0,82,77,78,32,61 |
||||
|
DB 32,37,100,0,82,85,80,32,61,32,37,100,0,82,84 |
||||
|
DB 80,32,61,32,37,100,0,37,115,0,37,115,0,66,65 |
||||
|
DB 78,75,69,82,46,67,79,77,0,82,77,74,32,61,32 |
||||
|
DB 37,100,0,82,77,78,32,61,32,37,100,0,82,85,80 |
||||
|
DB 32,61,32,37,100,0,82,84,80,32,61,32,37,100,0 |
||||
|
DB 37,48,50,100,37,48,50,100,37,48,50,100,0 |
||||
|
extrn crtlc_ |
||||
|
extrn crtclr_ |
||||
|
extrn crtinit_ |
||||
|
extrn printf_ |
||||
|
extrn diagnose_ |
||||
|
extrn hregde_ |
||||
|
extrn hregbc_ |
||||
|
extrn bioscall_ |
||||
|
extrn ireghl_ |
||||
|
extrn bdoscall_ |
||||
|
extrn dregde_ |
||||
|
extrn dregbc_ |
||||
|
extrn memset_ |
||||
|
extrn memcpy_ |
||||
|
extrn .eq |
||||
|
extrn .ul |
||||
|
END |
||||
|
|
||||
@ -0,0 +1,153 @@ |
|||||
|
/* banker.c 6/7/2012 dwg - */ |
||||
|
|
||||
|
#include "stdio.h" |
||||
|
#include "stdlib.h" |
||||
|
#include "memory.h" |
||||
|
|
||||
|
/* #include "cpmbind.h" */ |
||||
|
|
||||
|
#include "std.h" |
||||
|
#include "infolist.h" |
||||
|
#include "metadata.h" |
||||
|
|
||||
|
/* #include "setlunum.h" */ |
||||
|
|
||||
|
#include "applvers.h" |
||||
|
#include "bdoscall.h" |
||||
|
#include "cpmbdos.h" |
||||
|
#include "bioscall.h" |
||||
|
#include "cpmbios.h" |
||||
|
#include "diagnose.h" |
||||
|
#include "cnfgdata.h" |
||||
|
#include "syscfg.h" |
||||
|
#include "applvers.h" |
||||
|
|
||||
|
#define COL1 0 |
||||
|
#define COL2 (80/3) |
||||
|
#define COL3 (2*COL2) |
||||
|
#define LINE 2 |
||||
|
|
||||
|
#define BDOS 5 /* memory address of BDOS invocation */ |
||||
|
#define HIGHSEG 0x0C000 /* memory address of system config */ |
||||
|
|
||||
|
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */ |
||||
|
|
||||
|
struct SYSCFG * pSYSCFG; |
||||
|
struct BIOS * pCBIOS; |
||||
|
|
||||
|
int main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[] ; |
||||
|
{ |
||||
|
|
||||
|
char * varloc; |
||||
|
char * tstloc; |
||||
|
char temp[128]; |
||||
|
|
||||
|
int i; |
||||
|
int bFirst; |
||||
|
|
||||
|
bFirst = 0; |
||||
|
|
||||
|
ireghl = pGETINFO; |
||||
|
bioscall(); |
||||
|
pINFOLIST = ireghl; |
||||
|
printf("post GETINFO ireghl is 0x%04x\n",pINFOLIST); |
||||
|
|
||||
|
pCBIOS = 0x0e600; |
||||
|
|
||||
|
hregbc = GETSYSCFG; /* function = Get System Config */ |
||||
|
hregde = HIGHSEG; /* addr of dest (must be high) */ |
||||
|
diagnose(); /* invoke the NBIOS function */ |
||||
|
pSYSCFG = HIGHSEG; |
||||
|
|
||||
|
crtinit(pSYSCFG->cnfgdata.termtype); |
||||
|
crtclr(); |
||||
|
crtlc(0,0); |
||||
|
|
||||
|
printf("BANKER.COM %d/%d/%d v%d.%d.%d.%d", |
||||
|
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP); |
||||
|
printf(" dwg - Display Memory Bank Characteristics"); |
||||
|
|
||||
|
hregbc = 0x0f000; |
||||
|
hregde = 0x0c000; |
||||
|
diagnose(); |
||||
|
pSYSCFG = 0x0C000; |
||||
|
|
||||
|
crtlc(LINE+0,COL1); |
||||
|
crtlc(LINE+1,COL1); |
||||
|
printf("ROM Bank1"); |
||||
|
crtlc(LINE+2,COL1); |
||||
|
printf("RMJ = %d",pSYSCFG->cnfgdata.rmj); |
||||
|
crtlc(LINE+3,COL1); |
||||
|
printf("RMN = %d",pSYSCFG->cnfgdata.rmn); |
||||
|
crtlc(LINE+4,COL1); |
||||
|
printf("RUP = %d",pSYSCFG->cnfgdata.rup); |
||||
|
crtlc(LINE+5,COL1); |
||||
|
printf("RTP = %d",pSYSCFG->cnfgdata.rtp); |
||||
|
crtlc(LINE+7,COL1); |
||||
|
varloc = pSYSCFG->varloc; |
||||
|
/* dregde = (unsigned int)varloc-0x200+0x0c000; */ |
||||
|
dregde = (unsigned int)varloc+0x0c000; |
||||
|
|
||||
|
dregbc = 9; |
||||
|
bdoscall(); |
||||
|
crtlc(LINE+8,COL1); |
||||
|
/* tstloc = 0x0c000-0x0200+(unsigned int)pSYSCFG->tstloc; */ |
||||
|
tstloc = 0x0c000+(unsigned int)pSYSCFG->tstloc; |
||||
|
memset(temp,0,sizeof(temp)); |
||||
|
memcpy(temp,tstloc,11); |
||||
|
printf("%s",temp); |
||||
|
|
||||
|
crtlc(LINE+1,COL2); |
||||
|
printf("CBIOS HDR"); |
||||
|
crtlc(LINE+2,COL2); |
||||
|
printf("RMJ = %d",pCBIOS->rmj); |
||||
|
crtlc(LINE+3,COL2); |
||||
|
printf("RMN = %d",pCBIOS->rmn); |
||||
|
crtlc(LINE+4,COL2); |
||||
|
printf("RUP = %d",pCBIOS->rup); |
||||
|
crtlc(LINE+5,COL2); |
||||
|
printf("RTP = %d",pCBIOS->rtp); |
||||
|
/* */ |
||||
|
crtlc(LINE+7,COL2); |
||||
|
varloc = pINFOLIST->varloc; |
||||
|
memset(temp,0,sizeof(temp)); |
||||
|
memcpy(temp,varloc,sizeof(temp)-1); |
||||
|
for(i=0;i<sizeof(temp);i++) { |
||||
|
if('-' == temp[i]) { |
||||
|
if(0 != bFirst) { |
||||
|
temp[i] = 0; |
||||
|
} else { |
||||
|
bFirst = 1; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
printf("%s",temp); |
||||
|
|
||||
|
crtlc(LINE+8,COL2); |
||||
|
tstloc = pINFOLIST->tstloc; |
||||
|
memset(temp,0,sizeof(temp)); |
||||
|
memcpy(temp,tstloc,11); |
||||
|
printf("%s",temp); |
||||
|
|
||||
|
crtlc(LINE+1,COL3); |
||||
|
printf("BANKER.COM"); |
||||
|
crtlc(LINE+2,COL3); |
||||
|
printf("RMJ = %d",A_RMJ); |
||||
|
crtlc(LINE+3,COL3); |
||||
|
printf("RMN = %d",A_RMN); |
||||
|
crtlc(LINE+4,COL3); |
||||
|
printf("RUP = %d",A_RUP); |
||||
|
crtlc(LINE+5,COL3); |
||||
|
printf("RTP = %d",A_RTP); |
||||
|
|
||||
|
crtlc(LINE+8,COL3); |
||||
|
printf("%02d%02d%02d",A_YR,A_MONTH,A_DAY); |
||||
|
crtlc(23,0); |
||||
|
} |
||||
|
|
||||
|
/*****************/ |
||||
|
/* eof - cview.c */ |
||||
|
/*****************/ |
||||
|
|
||||
@ -0,0 +1,156 @@ |
|||||
|
; banner.asm 9/5/2012 dwg - new version semantics - #.#.# (#) |
||||
|
|
||||
|
maclib portab |
||||
|
maclib globals |
||||
|
maclib cpmbios |
||||
|
maclib cpmbdos |
||||
|
maclib bioshdr |
||||
|
maclib printers |
||||
|
maclib cpmappl |
||||
|
maclib applvers |
||||
|
|
||||
|
cseg |
||||
|
|
||||
|
|
||||
|
; entered with argv in hl |
||||
|
public x$banner |
||||
|
x$banner: |
||||
|
shld argv |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprog ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xvers ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprod ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xorig ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xser ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xnam ! xchg |
||||
|
|
||||
|
|
||||
|
printf '----------------------------------------' |
||||
|
print crlf |
||||
|
lhld xprog ! xchg ! mvi c,9 ! call BDOS |
||||
|
printf ' ' |
||||
|
IF A$MONTH LT 10 |
||||
|
conout ' ' |
||||
|
ENDIF |
||||
|
IF A$DAY LT 10 |
||||
|
conout ' ' |
||||
|
ENDIF |
||||
|
lxi h,A$MONTH |
||||
|
call pr$d$word |
||||
|
conout '/' |
||||
|
lxi h,A$DAY |
||||
|
call pr$d$word |
||||
|
conout '/' |
||||
|
lxi h,A$YEAR |
||||
|
call pr$d$word |
||||
|
printf ' ' |
||||
|
printf 'Version ' |
||||
|
lxi h,A$RMJ |
||||
|
call pr$d$word |
||||
|
conout '.' |
||||
|
lxi h,A$RMN |
||||
|
call pr$d$word |
||||
|
conout '.' |
||||
|
lxi h,A$RUP |
||||
|
call pr$d$word |
||||
|
printf ' (' |
||||
|
lxi h,A$RTP |
||||
|
call pr$d$word |
||||
|
conout ')' |
||||
|
print crlf |
||||
|
printf 'S/N ' |
||||
|
|
||||
|
lhld xprod ! xchg ! mvi c,9 ! call BDOS |
||||
|
|
||||
|
conout '-' |
||||
|
|
||||
|
lhld xorig ! xchg ! mvi c,9 ! call BDOS |
||||
|
|
||||
|
conout '-' |
||||
|
|
||||
|
; print xser |
||||
|
lhld xser ! xchg ! mvi c,9 ! call BDOS |
||||
|
|
||||
|
printf ' ' |
||||
|
; printf 'All Rights Reserved' |
||||
|
printf 'Licensed under GPL3' |
||||
|
print crlf |
||||
|
printf 'Copyright (C) 2011-12' |
||||
|
|
||||
|
lhld xnam ! xchg ! mvi c,9 ! call BDOS |
||||
|
|
||||
|
print crlf |
||||
|
printf '----------------------------------------' |
||||
|
print crlf |
||||
|
|
||||
|
ret |
||||
|
|
||||
|
|
||||
|
; entered with argv in hl |
||||
|
public x$sbanner |
||||
|
x$sbanner: |
||||
|
shld argv |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprog ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xvers ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprod ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xorig ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xser ! xchg |
||||
|
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xnam ! xchg |
||||
|
|
||||
|
|
||||
|
; printf '----------------------------------------' |
||||
|
; print crlf |
||||
|
lhld xprog ! xchg ! mvi c,9 ! call BDOS |
||||
|
printf ' ' |
||||
|
IF A$MONTH LT 10 |
||||
|
conout ' ' |
||||
|
ENDIF |
||||
|
IF A$DAY LT 10 |
||||
|
conout ' ' |
||||
|
ENDIF |
||||
|
lxi h,A$MONTH |
||||
|
call pr$d$word |
||||
|
conout '/' |
||||
|
lxi h,A$DAY |
||||
|
call pr$d$word |
||||
|
conout '/' |
||||
|
lxi h,A$YEAR |
||||
|
call pr$d$word |
||||
|
printf ' ' |
||||
|
printf 'Vers. ' |
||||
|
lxi h,A$RMJ |
||||
|
call pr$d$word |
||||
|
conout '.' |
||||
|
lxi h,A$RMN |
||||
|
call pr$d$word |
||||
|
conout '.' |
||||
|
lxi h,A$RUP |
||||
|
call pr$d$word |
||||
|
printf ' ( ' |
||||
|
lxi h,A$RTP |
||||
|
call pr$d$word |
||||
|
printf ') ' |
||||
|
printf 'COPR Douglas Goodall Licensed w/GPLv3' |
||||
|
|
||||
|
|
||||
|
print crlf |
||||
|
|
||||
|
ret |
||||
|
|
||||
|
|
||||
|
;---------------------------------------------------------------- |
||||
|
|
||||
|
argv ds 2 |
||||
|
;---------------- |
||||
|
xprog ds 2 |
||||
|
xvers ds 2 |
||||
|
xprod ds 2 |
||||
|
xorig ds 2 |
||||
|
xser ds 2 |
||||
|
xnam ds 2 |
||||
|
|
||||
|
crlf db CR,LF,'$' |
||||
|
|
||||
|
end |
||||
|
|
||||
|
; eof - banner.asm |
||||
|
|
||||
@ -0,0 +1,18 @@ |
|||||
|
; banner.lib 7/19/2012 dwg - for 2.0.0.0 B22 |
||||
|
; banner.lib 2/17/2012 dwg - review for release 1.5.1.0 |
||||
|
; banner.lib 2/11/2012 dwg - banner library declarations |
||||
|
|
||||
|
extrn x$banner |
||||
|
banner macro argv |
||||
|
lxi h,argv |
||||
|
call x$banner |
||||
|
endm |
||||
|
|
||||
|
extrn x$sbanner |
||||
|
sbanner macro argv |
||||
|
lxi h,argv |
||||
|
call x$sbanner |
||||
|
endm |
||||
|
|
||||
|
; eof - banner.lib |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,29 @@ |
|||||
|
000F ADAY 0009 AL0OFS 000A AL1OFS 000E ALVOFS 0002 AMONTH |
||||
|
041E ARGV 0002 ARMJ 0002 ARMN 0000 ARTP 0000 ARUP |
||||
|
07DD AYEAR 0005 BDOS E600 BIBOOT E609 BICONIN E60C BICONOUT |
||||
|
E606 BICONST 0000 BIDRVA 0001 BIDRVB 0002 BIDRVC 0003 BIDRVD |
||||
|
0004 BIDRVE 0005 BIDRVF 0006 BIDRVG 0007 BIDRVH E618 BIHOME |
||||
|
E60F BILIST E62D BILISTST E612 BIPUNCH E627 BIREAD E615 BIREADER |
||||
|
E630 BISECTRN E61B BISELDSK E624 BISETDMA E621 BISETSEC E61E BISETTRK |
||||
|
E603 BIWBOOT E62A BIWRITE 0003 BLMOFS 0002 BSHOFS 0001 BYTESIZE |
||||
|
000B CKSOFS 003A COLON 000D CR 0001 CREAD 042C CRLF |
||||
|
0020 CROFS 000C CSVOFS 0012 CUROFS 0002 CWRITE 0010 D0OFS |
||||
|
0008 DBFOFS 0080 DEFBUF 000F DPBLEN 000A DPBOFS 0010 DPHLEN |
||||
|
0001 DRIVEB 0007 DRMOFS 0000 DROFS 000D DSKRESET 0005 DSMOFS |
||||
|
0001 ENGLISH 001B ESC 0004 EXMOFS 000C EXOFS 0001 F1OFS |
||||
|
0002 F2OFS 0003 F3OFS 0004 F4OFS 0005 F5OFS 0006 F6OFS |
||||
|
0007 F7OFS 0008 F8OFS 0000 FALSE 0024 FCBLEN 0010 FCLOSE |
||||
|
0023 FCOMPSIZE 0013 FDELETE 0016 FMAKE 000F FOPEN 0017 FRENAME |
||||
|
0020 LENFCB 000A LF 0010 LU1OFS 0011 LU2OFS 0010 MAXLABEL |
||||
|
0000 NEVER 0014 NLUOFS 00E5 OEMID 000D OFFOFS 0000 PRDWORD |
||||
|
0000 PRHBYTE 0000 PRHWORD 005C PRIFCB 0009 PRINTSTR 0021 R0OFS |
||||
|
0022 R1OFS 0023 R2OFS 000F RCOFS 000A READCONBUF 0014 READSEQ |
||||
|
0025 RESETDRIVE 0019 RETCURR 000C RETVERNO E64B RMJ E64C RMN |
||||
|
E64E RTP E64D RUP 0002 RV1OFS 0004 RV2OFS 0006 RV3OFS |
||||
|
000D S1OFS 000E S2OFS 006C SECFCB 000E SELDSK 001A SETDMA |
||||
|
0024 SETRANDREC 0000 SPANISH 0000 SPTOFS 0200 STACKSIZE 0009 T1OFS |
||||
|
000A T2OFS 000B T3OFS 0000 TERMCPM 0001 TRUE 0002 WORDSIZE |
||||
|
0022 WRITERAND 0028 WRITERANDZF 0015 WRITESEQ 0000 XBANNER |
||||
|
0000 XLTOFS 042A XNAM 0426 XORIG 0424 XPROD 0420 XPROG |
||||
|
02AB XSBANNER 0428 XSER 0422 XVERS |
||||
|
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,385 @@ |
|||||
|
; biohdr.lib 2/19/2012 dwg - BIOS header display macros |
||||
|
; copyright (C) 2011 Douglas Goodall. All Rights Reserved. |
||||
|
; Licensed to N8VEM Community for non-commercial use only. |
||||
|
|
||||
|
; 2/19/2012 dwg - review for release 1.5.1.0 |
||||
|
; 2/05/2012 dwg - added DSKM (DM_ROM...) better late than never |
||||
|
; 2/05/2012 dwg - added prpsdenable,prpsdtrace, and prpsdcapacity |
||||
|
; 1/16/2012 dwg - extend LU numbers to 0x1C entries (256MB) |
||||
|
; 1/11/2012 dwg - added new setlu for 1.4 slice technique |
||||
|
; 12/18/2011 dwg - added REVISION (from svn) |
||||
|
; 12/07/2011 dwg - BIOS header enhancement for version 1.3 |
||||
|
|
||||
|
; Common Configuration items, |
||||
|
; Valid in all configurations |
||||
|
RMJ equ 0E64Bh |
||||
|
RMN equ RMJ+1 |
||||
|
RUP equ RMN+1 |
||||
|
RTP equ RUP+1 |
||||
|
|
||||
|
if 0 |
||||
|
BANPTR equ RTP+1 |
||||
|
DKMP equ BANPTR+2 |
||||
|
DBBOOL equ DKMP+2 ; Disk Boot Boolean |
||||
|
DBDRV equ DBBOOL+1 ; Disk Boot Drive Code |
||||
|
FREQ equ DBDRV+1 |
||||
|
PLAT equ FREQ+1 ; Hardware Platform |
||||
|
DIOPLT equ PLAT+1 |
||||
|
VDUPLT equ DIOPLT+1 |
||||
|
ROMSIZ equ VDUPLT+1 |
||||
|
RAMSIZ equ ROMSIZ+2 |
||||
|
CRAM equ RAMSIZ+2 |
||||
|
DSKY equ CRAM+1 ; Is Display/Keyboard Attached? |
||||
|
UART equ DSKY+1 ; Is UART Enabled? |
||||
|
VDUEN equ UART+1 |
||||
|
FDEN equ VDUEN+1 ; Is Floppy Disk Support Enabled |
||||
|
FDTR equ FDEN+1 ; Is Floppy Disk Error Tracing Enabled? |
||||
|
FMED equ FDTR+1 ; Floppy Disk Media Type |
||||
|
FALT equ FMED+1 ; Alternative Floppy Disk Media Type |
||||
|
FAUT equ FALT+1 ; Is Floppy Disk Automatic Sensing Enabled? |
||||
|
IDEN equ FAUT+1 ; Is On-Board IDE Support Enabled |
||||
|
IDTR equ IDEN+1 |
||||
|
IDE8 equ IDTR+1 |
||||
|
IDCP equ IDE8+1 ; 1/13/2012 IDE Capacity |
||||
|
PPEN equ IDCP+2 ; Is PPIDE Support Enablned? |
||||
|
PPTR equ PPEN+1 ; Is PPIDE Tracing Enabled? |
||||
|
PP8B equ PPTR+1 |
||||
|
PPCP equ PP8B+1 ; 1/13/2012 PPIDE Capacity |
||||
|
PSLW equ PPCP+2 ; Use NOPs for recovery-time compensation |
||||
|
BTYP equ PSLW+1 |
||||
|
BTTO equ BTYP+1 |
||||
|
BTDF equ BTTO+1 |
||||
|
BAUD equ BTDF+1 ; What is the Console Baud Rate |
||||
|
|
||||
|
; Only Valid if PLATFORM == PLT_N8 |
||||
|
CLKDIV equ BAUD+2 ; Z180_CLKDIV |
||||
|
MEMWAIT equ CLKDIV+1 ; Z180_MEMWAIT |
||||
|
IOWAIT equ MEMWAIT+1 ; Z180_IOWAIT |
||||
|
CNTLB0 equ IOWAIT+1 ; Z180_CNTLB0 |
||||
|
CNTLB1 equ CNTLB0+1 ; Z180_CNTLB1 |
||||
|
SDENABLE equ CNTLB1+1 |
||||
|
SDTRACE equ SDENABLE+1 |
||||
|
SDCP equ SDTRACE+1 ; 1/13/2012 SD Capacity |
||||
|
VDPTR equ SDCP+2 ; pointer to VDU Data |
||||
|
FDPTR equ VDPTR+2 ; pointer to FD Data |
||||
|
IDEPTR equ FDPTR+2 ; pointer to IDE Data |
||||
|
PPIPTR equ IDEPTR+2 ; pointer to PPIDE_DATA Data |
||||
|
PPIPTR2 equ PPIPTR+2 ; pointer to PPIDE.ASM DATA |
||||
|
|
||||
|
DEFIO equ PPIPTR2+2 ; pointer to DEFIOBYTE |
||||
|
LDRC equ DEFIO+1 ; pointer to LDRCON |
||||
|
DBGC equ LDRC+1 ; pointer to DBGCON |
||||
|
TTYP equ DBGC+1 ; pointer to TERMTYPE |
||||
|
REV equ TTYP+1 ; subversion revision |
||||
|
|
||||
|
TMDT equ REV+2 ; startup date and time |
||||
|
|
||||
|
PSDE equ TMDT+6 ; prpsdenable |
||||
|
PSDT equ PSDE+1 ; prpsdtrace |
||||
|
PSDC equ PSDT+1 ; prpsdcapacity |
||||
|
PRCE equ PSDC+2 |
||||
|
|
||||
|
DSKM equ PRCE+1 ; DM_ROM... |
||||
|
|
||||
|
DTSZ equ DSKM+1 ; DATASIZE |
||||
|
|
||||
|
; LU0 LU1 LU2 LU3 LU4 LU5 LU6 LU7 LU8 LU9 |
||||
|
; 41 82 c3 104 145 186 1c7 208 249 286 |
||||
|
; |
||||
|
; LU10 LU11 LU12 LU13 LU14 LU15 LU16 |
||||
|
; 2c7 308 349 38a 3cb 40c 44d |
||||
|
|
||||
|
LU0 equ 0 ; 041h ; PPIDE1 offset for first slice (default) |
||||
|
LU1 equ 1 ; 082h ; PPIDE1 offset for second slice |
||||
|
LU2 equ 2 ; 0C3h ; PPIDE1 offset for third slice |
||||
|
LU3 equ 3 ; 104h ; PPIDE1 offset for fourth slice |
||||
|
LU4 equ 4 ; 145h ; PPIDE1 offset for fifth slice |
||||
|
LU5 equ 5 ; 186h ; PPIDE1 offset for sixth slice |
||||
|
LU6 equ 6 ; 1c7h ; PPIDE1 offset for seventh slice |
||||
|
LU7 equ 7 ; 208h ; PPIDE1 offset for eighth slice |
||||
|
LU8 equ 8 ; 249h ; PPIDE1 offset for ninth slice |
||||
|
LU9 equ 9 ; 286h ; PPIDE1 offset for tenth slice |
||||
|
LU10 equ 10 |
||||
|
LU11 equ 11 |
||||
|
LU12 equ 12 |
||||
|
LU13 equ 13 |
||||
|
LU14 equ 14 |
||||
|
LU15 equ 15 |
||||
|
LU16 equ 16 |
||||
|
LU17 equ 17 |
||||
|
LU18 equ 18 |
||||
|
LU19 equ 19 |
||||
|
LU20 equ 20 |
||||
|
LU21 equ 21 |
||||
|
LU22 equ 22 |
||||
|
LU23 equ 23 |
||||
|
LU24 equ 24 |
||||
|
LU25 equ 25 |
||||
|
LU26 equ 26 ; 0x1a |
||||
|
LU27 equ 27 ; 0x1b (1Cth entry) |
||||
|
|
||||
|
endif |
||||
|
|
||||
|
DRIVEB equ 1 ; 0=A, 1=B... |
||||
|
|
||||
|
|
||||
|
setlu13 macro offset |
||||
|
lxi h,PPIPTR2 ; set pointer to ppide.asm data |
||||
|
mov e,m ; dereference pointer |
||||
|
inx h |
||||
|
mov d,m ; de -> ppide.asm data |
||||
|
xchg ; hl -> ppide.asm data |
||||
|
lxi d,6 ; offset to offset |
||||
|
dad d ; hl -> offset in ppide.asm data |
||||
|
lxi d,offset ; load caller's parameter in de |
||||
|
mov m,e ; stuff LO offset byte into offset |
||||
|
inx h ; bump ptr |
||||
|
mov m,d ; stuff HO offset byte into offset |
||||
|
mvi c,13 ; BDOS DSKRESET |
||||
|
call 5 ; call BDOS |
||||
|
endm |
||||
|
|
||||
|
getlu13 macro |
||||
|
lxi h,PPIPTR2 ; set pointer to ppide.asm data |
||||
|
mov e,m ; dereference pointer |
||||
|
inx h |
||||
|
mov d,m ; de -> ppide.asm data |
||||
|
xchg ; hl -> ppide.asm data |
||||
|
lxi d,6 ; offset to offset |
||||
|
dad d ; hl -> offset in ppide.asm data |
||||
|
mov e,m ; pick up LO byte of offset |
||||
|
inx h ; bump ptr |
||||
|
mov d,m ; pick up HO byte of offset |
||||
|
xchg ; hl = offset |
||||
|
endm |
||||
|
|
||||
|
setlu14 macro offset |
||||
|
lxi h,PPIPTR2 ; set pointer to ppide.asm data |
||||
|
mov e,m ; dereference pointer |
||||
|
inx h |
||||
|
mov d,m ; de -> ppide.asm data |
||||
|
xchg ; hl -> ppide.asm data |
||||
|
lxi d,6 ; offset to offset |
||||
|
dad d ; hl -> offset in ppide.asm data |
||||
|
lxi d,offset ; load caller's parameter in de |
||||
|
mov m,e ; stuff LO offset byte into offset |
||||
|
inx h ; bump ptr |
||||
|
mov m,d ; stuff HO offset byte into offset |
||||
|
mvi c,13 ; BDOS DSKRESET |
||||
|
call 5 ; call BDOS |
||||
|
endm |
||||
|
|
||||
|
getlu14 macro |
||||
|
lxi h,PPIPTR2 ; set pointer to ppide.asm data |
||||
|
mov e,m ; dereference pointer |
||||
|
inx h |
||||
|
mov d,m ; de -> ppide.asm data |
||||
|
xchg ; hl -> ppide.asm data |
||||
|
lxi d,6 ; offset to offset |
||||
|
dad d ; hl -> offset in ppide.asm data |
||||
|
mov e,m ; pick up LO byte of offset |
||||
|
inx h ; bump ptr |
||||
|
mov d,m ; pick up HO byte of offset |
||||
|
xchg ; hl = offset |
||||
|
endm |
||||
|
|
||||
|
setlu macro drive,slice |
||||
|
local dontboth,msg,msg2 |
||||
|
mvi c,drive |
||||
|
call BISELDSK |
||||
|
lxi d,16 |
||||
|
dad d |
||||
|
mov a,m |
||||
|
cpi 'L' |
||||
|
jnz dontboth |
||||
|
inx h |
||||
|
mov a,m |
||||
|
cpi 'U' |
||||
|
jnz dontboth |
||||
|
inx h |
||||
|
mvi a,slice |
||||
|
mov m,a |
||||
|
print msg |
||||
|
mvi a,drive |
||||
|
adi 'A' |
||||
|
mov e,a |
||||
|
mvi c,2 |
||||
|
call BDOS |
||||
|
print msg2 |
||||
|
lxi h,slice |
||||
|
call pr$d$word |
||||
|
jmp dontboth |
||||
|
msg db CR,LF,'Drive $' |
||||
|
msg2 db ': set to Logical Unit (slice) $' |
||||
|
dontboth: |
||||
|
endm |
||||
|
|
||||
|
|
||||
|
xluset macro |
||||
|
local ldrive,lslice,dontboth,msg,msg2 |
||||
|
; C = DRIVE |
||||
|
; A = SLICE |
||||
|
sta lslice |
||||
|
mov a,c |
||||
|
sta ldrive |
||||
|
|
||||
|
call BISELDSK ; uses c parameter (drive) |
||||
|
lxi d,16 |
||||
|
dad d |
||||
|
mov a,m |
||||
|
cpi 'L' |
||||
|
jnz dontboth |
||||
|
inx h |
||||
|
mov a,m |
||||
|
cpi 'U' |
||||
|
jnz dontboth |
||||
|
inx h |
||||
|
lda lslice |
||||
|
mov m,a ; put slice into CURRENT |
||||
|
|
||||
|
; print msg |
||||
|
; lda ldrive |
||||
|
; adi 'A' |
||||
|
; mov e,a |
||||
|
; mvi c,2 |
||||
|
; call BDOS |
||||
|
; print msg2 |
||||
|
; lda lslice |
||||
|
; mov l,a |
||||
|
; mvi h,0 |
||||
|
; call pr$d$word |
||||
|
|
||||
|
jmp dontboth |
||||
|
msg db CR,LF,'Drive $' |
||||
|
msg2 db ': set to Logical Unit (slice) $' |
||||
|
ldrive db 0 |
||||
|
lslice db 0 |
||||
|
dontboth: |
||||
|
endm |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
hdrlit macro ptr,val,msg |
||||
|
local notval |
||||
|
lxi h,ptr |
||||
|
mvi a,val |
||||
|
cmp m |
||||
|
jnz notval |
||||
|
print msg |
||||
|
notval: |
||||
|
endm |
||||
|
|
||||
|
|
||||
|
hdrbool macro ptr,tmsg,fmsg |
||||
|
local itstrue,itsfalse,imdone |
||||
|
enter |
||||
|
lxi h,ptr |
||||
|
mov a,m |
||||
|
cpi TRUE |
||||
|
jnz itsfalse |
||||
|
lxi d,tmsg |
||||
|
jmp imdone |
||||
|
itsfalse: lxi d,fmsg |
||||
|
imdone: mvi c,PRINTSTR |
||||
|
call BDOS |
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
hdrbyte macro ptr,msg |
||||
|
enter |
||||
|
mvi c,PRINTSTR |
||||
|
lxi d,msg |
||||
|
call BDOS |
||||
|
lxi h,ptr |
||||
|
mov a,m |
||||
|
call pr$h$byte |
||||
|
|
||||
|
conout '(' |
||||
|
mov e,m |
||||
|
mov d,0 |
||||
|
xchg |
||||
|
call pr$d$word |
||||
|
conout ')' |
||||
|
|
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
hdrpbyte macro ptr,msg |
||||
|
enter |
||||
|
mvi c,PRINTSTR |
||||
|
lxi d,msg |
||||
|
call BDOS |
||||
|
lxi h,PTR |
||||
|
mov e,m |
||||
|
inx h |
||||
|
mov d,m |
||||
|
xchg |
||||
|
mov a,m |
||||
|
call pr$h$byte |
||||
|
|
||||
|
; conout ' ' |
||||
|
conout '(' |
||||
|
mov e,m |
||||
|
mov d,0 |
||||
|
xchg |
||||
|
call pr$d$word |
||||
|
conout ')' |
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
hdrword macro ptr,msg |
||||
|
enter |
||||
|
|
||||
|
mvi c,PRINTSTR |
||||
|
lxi d,msg |
||||
|
call BDOS |
||||
|
|
||||
|
lxi h,ptr |
||||
|
inx h |
||||
|
mov a,m |
||||
|
call pr$h$byte |
||||
|
|
||||
|
lxi h,ptr |
||||
|
mov a,m |
||||
|
call pr$h$byte |
||||
|
|
||||
|
conout '(' |
||||
|
lxi h,ptr |
||||
|
mov e,m |
||||
|
inx h |
||||
|
mov d,m |
||||
|
xchg |
||||
|
call pr$d$word |
||||
|
conout ')' |
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
syncerr macro |
||||
|
print syncmsg |
||||
|
exit |
||||
|
endm |
||||
|
|
||||
|
hdrvalid macro |
||||
|
local byte1ok,byte2ok |
||||
|
enter |
||||
|
lxi h,CFDA |
||||
|
mov a,m |
||||
|
cpi 0DAh |
||||
|
jz byte1ok |
||||
|
syncerr |
||||
|
byte1ok: |
||||
|
inx h |
||||
|
mov al,m |
||||
|
cpi 0CFh |
||||
|
jz byte2ok |
||||
|
syncerr |
||||
|
byte2ok: |
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
; eof - bioshdr.lib |
||||
|
|
||||
@ -0,0 +1,208 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
DSEG |
||||
|
public lines_ |
||||
|
lines_: |
||||
|
DW .1+0 |
||||
|
CSEG |
||||
|
.1: |
||||
|
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 |
||||
|
DB 45,45,45,45,45,45,45,45,45,45,45,45,45,45,45 |
||||
|
DB 45,45,45,45,45,45,45,45,45,45,0 |
||||
|
DSEG |
||||
|
public line1_ |
||||
|
line1_: |
||||
|
DW .2+0 |
||||
|
CSEG |
||||
|
.2: |
||||
|
DB 49,50,51,52,53,54,55,56,46,49,50,51,32,109,109 |
||||
|
DB 47,100,100,47,121,121,121,121,32,32,86,101,114,115,105 |
||||
|
DB 111,110,32,120,46,120,46,120,46,120,0 |
||||
|
DSEG |
||||
|
public line2_ |
||||
|
line2_: |
||||
|
DW .3+0 |
||||
|
CSEG |
||||
|
.3: |
||||
|
DB 83,47,78,32,67,80,77,56,48,45,68,87,71,45,54 |
||||
|
DB 53,52,51,50,49,32,76,105,99,101,110,115,101,100,32 |
||||
|
DB 117,110,100,101,114,32,71,80,76,51,0 |
||||
|
DSEG |
||||
|
public line3_ |
||||
|
line3_: |
||||
|
DW .4+0 |
||||
|
CSEG |
||||
|
.4: |
||||
|
DB 67,111,112,121,114,105,103,104,116,32,40,67,41,32,50 |
||||
|
DB 48,49,49,45,49,50,32,68,111,117,103,108,97,115,32 |
||||
|
DB 87,46,32,71,111,111,100,97,108,108,0 |
||||
|
PUBLIC sbanner_ |
||||
|
sbanner_: lxi d,.6 |
||||
|
call csave |
||||
|
LXI H,8-.6 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.5+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,2013 |
||||
|
PUSH H |
||||
|
LXI H,16 |
||||
|
PUSH H |
||||
|
LXI H,1 |
||||
|
PUSH H |
||||
|
LXI H,.5+4 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,3 |
||||
|
PUSH H |
||||
|
LXI H,2 |
||||
|
PUSH H |
||||
|
LXI H,.5+18 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,10 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LXI H,.5+39 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
RET |
||||
|
.6 EQU -128 |
||||
|
.5: |
||||
|
DB 37,115,32,0,37,50,100,47,37,50,100,47,37,52,100 |
||||
|
DB 32,32,0,86,101,114,115,105,111,110,32,37,100,46,37 |
||||
|
DB 100,46,37,100,46,37,100,32,0,67,79,80,82,32,68 |
||||
|
DB 111,117,103,108,97,115,32,71,111,111,100,97,108,108,32 |
||||
|
DB 76,105,99,101,110,115,101,100,32,119,47,71,80,76,118 |
||||
|
DB 51,10,0 |
||||
|
PUBLIC banner_ |
||||
|
banner_: lxi d,.8 |
||||
|
call csave |
||||
|
LHLD lines_ |
||||
|
PUSH H |
||||
|
LXI H,.7+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.8 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-122-.8 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL strcpy_ |
||||
|
POP D |
||||
|
POP D |
||||
|
.9: |
||||
|
LXI H,-124-.8 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL strlen_ |
||||
|
POP D |
||||
|
PUSH H |
||||
|
LXI H,12 |
||||
|
POP D |
||||
|
XCHG |
||||
|
CALL .gt |
||||
|
JZ .10 |
||||
|
LXI H,.7+4 |
||||
|
PUSH H |
||||
|
LXI H,-122-.8 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
CALL strcat_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .9 |
||||
|
.10: |
||||
|
LXI H,-124-.8 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
LXI H,.7+6 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,2013 |
||||
|
PUSH H |
||||
|
LXI H,16 |
||||
|
PUSH H |
||||
|
LXI H,1 |
||||
|
PUSH H |
||||
|
LXI H,.7+10 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,3 |
||||
|
PUSH H |
||||
|
LXI H,2 |
||||
|
PUSH H |
||||
|
LXI H,.7+24 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,10 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LHLD line2_ |
||||
|
PUSH H |
||||
|
LXI H,.7+45 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD line3_ |
||||
|
PUSH H |
||||
|
LXI H,.7+49 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LHLD lines_ |
||||
|
PUSH H |
||||
|
LXI H,.7+53 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
RET |
||||
|
.8 EQU -128 |
||||
|
.7: |
||||
|
DB 37,115,10,0,32,0,37,115,32,0,37,50,100,47,37 |
||||
|
DB 50,100,47,37,52,100,32,32,0,86,101,114,115,105,111 |
||||
|
DB 110,32,37,100,46,37,100,46,37,100,46,37,100,10,0 |
||||
|
DB 37,115,10,0,37,115,10,0,37,115,10,0 |
||||
|
extrn strcat_ |
||||
|
extrn strlen_ |
||||
|
extrn strcpy_ |
||||
|
extrn printf_ |
||||
|
extrn .gt |
||||
|
END |
||||
|
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,333 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn zsave,zret |
||||
|
global termtype_,1 |
||||
|
DSEG |
||||
|
public wy50row_ |
||||
|
wy50row_: |
||||
|
DB 32 |
||||
|
DB 33 |
||||
|
DB 34 |
||||
|
DB 35 |
||||
|
DB 36 |
||||
|
DB 37 |
||||
|
DB 38 |
||||
|
DB 39 |
||||
|
DB 40 |
||||
|
DB 41 |
||||
|
DB 42 |
||||
|
DB 43 |
||||
|
DB 44 |
||||
|
DB 45 |
||||
|
DB 46 |
||||
|
DB 47 |
||||
|
DB 48 |
||||
|
DB 49 |
||||
|
DB 50 |
||||
|
DB 51 |
||||
|
DB 52 |
||||
|
DB 53 |
||||
|
DB 54 |
||||
|
DB 55 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public wy50col_ |
||||
|
wy50col_: |
||||
|
DB 32 |
||||
|
DB 33 |
||||
|
DB 34 |
||||
|
DB 35 |
||||
|
DB 36 |
||||
|
DB 37 |
||||
|
DB 38 |
||||
|
DB 39 |
||||
|
DB 40 |
||||
|
DB 41 |
||||
|
DB 42 |
||||
|
DB 43 |
||||
|
DB 44 |
||||
|
DB 45 |
||||
|
DB 46 |
||||
|
DB 47 |
||||
|
DB 48 |
||||
|
DB 49 |
||||
|
DB 50 |
||||
|
DB 51 |
||||
|
DB 52 |
||||
|
DB 53 |
||||
|
DB 54 |
||||
|
DB 55 |
||||
|
DB 56 |
||||
|
DB 57 |
||||
|
DB 58 |
||||
|
DB 59 |
||||
|
DB 60 |
||||
|
DB 61 |
||||
|
DB 62 |
||||
|
DB 63 |
||||
|
DB 64 |
||||
|
DB 65 |
||||
|
DB 66 |
||||
|
DB 67 |
||||
|
DB 68 |
||||
|
DB 69 |
||||
|
DB 70 |
||||
|
DB 71 |
||||
|
DB 72 |
||||
|
DB 73 |
||||
|
DB 74 |
||||
|
DB 75 |
||||
|
DB 76 |
||||
|
DB 77 |
||||
|
DB 78 |
||||
|
DB 79 |
||||
|
DB 80 |
||||
|
DB 81 |
||||
|
DB 82 |
||||
|
DB 83 |
||||
|
DB 84 |
||||
|
DB 85 |
||||
|
DB 86 |
||||
|
DB 87 |
||||
|
DB 88 |
||||
|
DB 89 |
||||
|
DB 90 |
||||
|
DB 91 |
||||
|
DB 92 |
||||
|
DB 93 |
||||
|
DB 94 |
||||
|
DB 95 |
||||
|
DB 96 |
||||
|
DB 97 |
||||
|
DB 98 |
||||
|
DB 99 |
||||
|
DB 100 |
||||
|
DB 101 |
||||
|
DB 102 |
||||
|
DB 103 |
||||
|
DB 104 |
||||
|
DB 105 |
||||
|
DB 106 |
||||
|
DB 107 |
||||
|
DB 108 |
||||
|
DB 109 |
||||
|
DB 110 |
||||
|
DB 111 |
||||
|
CSEG |
||||
|
PUBLIC crtinit_ |
||||
|
crtinit_: lxi d,.2 |
||||
|
call zsave |
||||
|
LXI H,12-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
XCHG |
||||
|
MOV A,L |
||||
|
STA termtype_ |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
PUBLIC crtclr_ |
||||
|
crtclr_: lxi d,.3 |
||||
|
call zsave |
||||
|
LDA termtype_ |
||||
|
MOV L,A |
||||
|
MVI H,0 |
||||
|
JMP .4 |
||||
|
.6: |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,6-.3 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .8 |
||||
|
.7: |
||||
|
LXI H,6-.3 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.8: |
||||
|
LXI H,6-.3 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,43 |
||||
|
CALL .lt |
||||
|
JZ .9 |
||||
|
LXI H,10 |
||||
|
PUSH H |
||||
|
LXI H,13 |
||||
|
PUSH H |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .7 |
||||
|
.9: |
||||
|
JMP .5 |
||||
|
.10: |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.1+5 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.11: |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.1+11 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.12: |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.1+15 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.4: |
||||
|
CALL .swt |
||||
|
DW 4 |
||||
|
DW 0,.6 |
||||
|
DW 1,.10 |
||||
|
DW 2,.11 |
||||
|
DW 3,.12 |
||||
|
DW .5 |
||||
|
.5: |
||||
|
RET |
||||
|
.3 EQU -2 |
||||
|
.1: |
||||
|
DB 37,99,37,99,0,37,99,91,50,74,0,37,99,43,0 |
||||
|
DB 37,99,74,37,99,72,0 |
||||
|
PUBLIC crtlc_ |
||||
|
crtlc_: lxi d,.14 |
||||
|
call zsave |
||||
|
LDA termtype_ |
||||
|
MOV L,A |
||||
|
MVI H,0 |
||||
|
JMP .15 |
||||
|
.17: |
||||
|
JMP .16 |
||||
|
.18: |
||||
|
LXI H,102 |
||||
|
PUSH H |
||||
|
LXI H,16-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,16-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.13+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,10 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
JMP .16 |
||||
|
.19: |
||||
|
LXI H,14-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,wy50col_ |
||||
|
DAD D |
||||
|
DCX H |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,14-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,wy50row_ |
||||
|
DAD D |
||||
|
DCX H |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.13+11 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
JMP .16 |
||||
|
.20: |
||||
|
LXI H,14-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,32 |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
LXI H,14-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,32 |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.13+19 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
JMP .16 |
||||
|
.15: |
||||
|
CALL .swt |
||||
|
DW 4 |
||||
|
DW 0,.17 |
||||
|
DW 1,.18 |
||||
|
DW 2,.19 |
||||
|
DW 3,.20 |
||||
|
DW .16 |
||||
|
.16: |
||||
|
RET |
||||
|
.14 EQU -2 |
||||
|
.13: |
||||
|
DB 37,99,91,37,100,59,37,100,37,99,0,37,99,61,37 |
||||
|
DB 99,37,99,0,37,99,89,37,99,37,99,0 |
||||
|
extrn printf_ |
||||
|
extrn .lt |
||||
|
END |
||||
@ -0,0 +1,970 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global pDPHMAP_,2 |
||||
|
global pDPHVEC_,24 |
||||
|
DSEG |
||||
|
public pSYSCFG_ |
||||
|
pSYSCFG_: |
||||
|
DW -16384 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public map_ |
||||
|
map_: |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 1 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 1 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public attroff_ |
||||
|
attroff_: |
||||
|
DB 27 |
||||
|
DB 91 |
||||
|
DB 109 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public attrbold_ |
||||
|
attrbold_: |
||||
|
DB 27 |
||||
|
DB 91 |
||||
|
DB 49 |
||||
|
DB 109 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public attrlow_ |
||||
|
attrlow_: |
||||
|
DB 27 |
||||
|
DB 91 |
||||
|
DB 50 |
||||
|
DB 109 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public attrundr_ |
||||
|
attrundr_: |
||||
|
DB 27 |
||||
|
DB 91 |
||||
|
DB 52 |
||||
|
DB 109 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public attrblnk_ |
||||
|
attrblnk_: |
||||
|
DB 27 |
||||
|
DB 91 |
||||
|
DB 53 |
||||
|
DB 109 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public attrrevs_ |
||||
|
attrrevs_: |
||||
|
DB 27 |
||||
|
DB 91 |
||||
|
DB 55 |
||||
|
DB 109 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public attrinvs_ |
||||
|
attrinvs_: |
||||
|
DB 27 |
||||
|
DB 91 |
||||
|
DB 56 |
||||
|
DB 109 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public graphon_ |
||||
|
graphon_: |
||||
|
DB 27 |
||||
|
DB 70 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public graphoff_ |
||||
|
graphoff_: |
||||
|
DB 27 |
||||
|
DB 71 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public atreset_ |
||||
|
atreset_: |
||||
|
DB 48 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public atbold_ |
||||
|
atbold_: |
||||
|
DB 49 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public atdim_ |
||||
|
atdim_: |
||||
|
DB 50 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public atundrsc_ |
||||
|
atundrsc_: |
||||
|
DB 52 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public atblink_ |
||||
|
atblink_: |
||||
|
DB 53 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public atrevs_ |
||||
|
atrevs_: |
||||
|
DB 55 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public athidden_ |
||||
|
athidden_: |
||||
|
DB 56 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public fgblack_ |
||||
|
fgblack_: |
||||
|
DB 51 |
||||
|
DB 48 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public fgred_ |
||||
|
fgred_: |
||||
|
DB 51 |
||||
|
DB 49 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public fggreen_ |
||||
|
fggreen_: |
||||
|
DB 51 |
||||
|
DB 50 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public fgyellow_ |
||||
|
fgyellow_: |
||||
|
DB 51 |
||||
|
DB 51 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public fgblue_ |
||||
|
fgblue_: |
||||
|
DB 51 |
||||
|
DB 52 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public fgmagent_ |
||||
|
fgmagent_: |
||||
|
DB 51 |
||||
|
DB 53 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public fgcyan_ |
||||
|
fgcyan_: |
||||
|
DB 51 |
||||
|
DB 54 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public fgwhite_ |
||||
|
fgwhite_: |
||||
|
DB 51 |
||||
|
DB 55 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public bgblack_ |
||||
|
bgblack_: |
||||
|
DB 52 |
||||
|
DB 48 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public bgred_ |
||||
|
bgred_: |
||||
|
DB 52 |
||||
|
DB 49 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public bggreen_ |
||||
|
bggreen_: |
||||
|
DB 52 |
||||
|
DB 50 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public bgyellow_ |
||||
|
bgyellow_: |
||||
|
DB 52 |
||||
|
DB 51 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public bgblue_ |
||||
|
bgblue_: |
||||
|
DB 52 |
||||
|
DB 52 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public bgmagent_ |
||||
|
bgmagent_: |
||||
|
DB 52 |
||||
|
DB 53 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public bgcyan_ |
||||
|
bgcyan_: |
||||
|
DB 52 |
||||
|
DB 54 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public bgwhite_ |
||||
|
bgwhite_: |
||||
|
DB 52 |
||||
|
DB 55 |
||||
|
DB 0 |
||||
|
CSEG |
||||
|
PUBLIC dispattr_ |
||||
|
dispattr_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,12-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,12-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,12-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,10 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
.1: |
||||
|
DB 37,99,91,37,115,59,37,115,59,37,115,109,0 |
||||
|
PUBLIC main_ |
||||
|
main_: lxi d,.4 |
||||
|
call csave |
||||
|
LXI H,1 |
||||
|
XCHG |
||||
|
LXI H,8-.4 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
CALL .lt |
||||
|
JZ .5 |
||||
|
LXI H,1 |
||||
|
XCHG |
||||
|
LXI H,2-.4 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .7 |
||||
|
.6: |
||||
|
LXI H,2-.4 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.7: |
||||
|
LXI H,2-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,8-.4 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
CALL .lt |
||||
|
JZ .8 |
||||
|
LXI H,2-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
DAD H |
||||
|
XCHG |
||||
|
LXI H,10-.4 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
CALL atoi_ |
||||
|
POP D |
||||
|
PUSH H |
||||
|
LXI H,.3+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .6 |
||||
|
.8: |
||||
|
JMP .9 |
||||
|
.5: |
||||
|
LXI H,-4096 |
||||
|
SHLD hregbc_ |
||||
|
LXI H,-16384 |
||||
|
SHLD hregde_ |
||||
|
CALL diagnose_ |
||||
|
LXI H,-16384 |
||||
|
SHLD pSYSCFG_ |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,68 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
CALL crtinit_ |
||||
|
POP D |
||||
|
CALL crtclr_ |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,bgblack_ |
||||
|
PUSH H |
||||
|
LXI H,fggreen_ |
||||
|
PUSH H |
||||
|
LXI H,atbold_ |
||||
|
PUSH H |
||||
|
CALL dispattr_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,.3+3 |
||||
|
PUSH H |
||||
|
CALL banner_ |
||||
|
POP D |
||||
|
LXI H,attroff_ |
||||
|
PUSH H |
||||
|
LXI H,.3+9 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,bgblack_ |
||||
|
PUSH H |
||||
|
LXI H,fgcyan_ |
||||
|
PUSH H |
||||
|
LXI H,atbold_ |
||||
|
PUSH H |
||||
|
CALL dispattr_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .11 |
||||
|
.10: |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.11: |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,16 |
||||
|
CALL .lt |
||||
|
JZ .12 |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
DAD H |
||||
|
DAD H |
||||
|
LXI D,9 |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
LXI H,6 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.3+12 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .10 |
||||
|
.12: |
||||
|
LXI H,attroff_ |
||||
|
PUSH H |
||||
|
LXI H,.3+17 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-6-.4 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .14 |
||||
|
.13: |
||||
|
LXI H,-6-.4 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.14: |
||||
|
LXI H,-6-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,16 |
||||
|
CALL .lt |
||||
|
JZ .15 |
||||
|
LXI H,4 |
||||
|
PUSH H |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,7 |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,bgblack_ |
||||
|
PUSH H |
||||
|
LXI H,fgcyan_ |
||||
|
PUSH H |
||||
|
LXI H,atbold_ |
||||
|
PUSH H |
||||
|
CALL dispattr_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,-6-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.3+20 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,attroff_ |
||||
|
PUSH H |
||||
|
LXI H,.3+25 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .17 |
||||
|
.16: |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.17: |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,16 |
||||
|
CALL .lt |
||||
|
JZ .18 |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
DAD H |
||||
|
DAD H |
||||
|
LXI D,10 |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,7 |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,-6-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
DAD H |
||||
|
DAD H |
||||
|
DAD H |
||||
|
DAD H |
||||
|
XCHG |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
DAD D |
||||
|
LXI D,map_ |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,1 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .19 |
||||
|
LXI H,.3+28 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .20 |
||||
|
.19: |
||||
|
LXI H,-6-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
DAD H |
||||
|
DAD H |
||||
|
DAD H |
||||
|
DAD H |
||||
|
XCHG |
||||
|
LXI H,-4-.4 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
LXI H,.3+30 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
.20: |
||||
|
JMP .16 |
||||
|
.18: |
||||
|
LXI H,bgblack_ |
||||
|
PUSH H |
||||
|
LXI H,fgcyan_ |
||||
|
PUSH H |
||||
|
LXI H,atbold_ |
||||
|
PUSH H |
||||
|
CALL dispattr_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,-6-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.3+33 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,attroff_ |
||||
|
PUSH H |
||||
|
LXI H,.3+40 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.15: |
||||
|
.9: |
||||
|
LXI H,0 |
||||
|
RET |
||||
|
.4 EQU -10 |
||||
|
.3: |
||||
|
DB 37,99,0,67,72,65,82,83,0,37,115,0,91,37,120 |
||||
|
DB 93,0,37,115,0,91,37,120,93,0,37,115,0,46,0 |
||||
|
DB 37,99,0,32,32,91,37,120,93,0,37,115,0 |
||||
|
extrn atoi_ |
||||
|
extrn printf_ |
||||
|
extrn banner_ |
||||
|
extrn crtlc_ |
||||
|
extrn crtclr_ |
||||
|
extrn crtinit_ |
||||
|
extrn diagnose_ |
||||
|
extrn hregde_ |
||||
|
extrn hregbc_ |
||||
|
extrn .eq |
||||
|
extrn .lt |
||||
|
END |
||||
|
|
||||
@ -0,0 +1,18 @@ |
|||||
|
e:rem chars.sub 7/22/2012 dwg - build chars from source |
||||
|
cc chars |
||||
|
as chars |
||||
|
as bdoscall |
||||
|
as bioscall |
||||
|
as diagnose |
||||
|
cc cbanner |
||||
|
as cbanner |
||||
|
cc ctermcap |
||||
|
as ctermcap |
||||
|
ln chars.o bdoscall.o bioscall.o cbanner.o diagnose.o ctermcap.o c.lib |
||||
|
era chars.o |
||||
|
era bdoscall.o |
||||
|
era bioscall.o |
||||
|
era diagose.o |
||||
|
era cbanner.o |
||||
|
era ctermcap.o |
||||
|
|
||||
@ -0,0 +1,12 @@ |
|||||
|
e:access access.com |
||||
|
e:access cpmname.com |
||||
|
e:access findfile.com |
||||
|
e:access map.com |
||||
|
e:access meta.com |
||||
|
e:access multifmt.com |
||||
|
e:access rem.com |
||||
|
e:access setlabel.com |
||||
|
e:access sysgen.com |
||||
|
e:access termtype.com |
||||
|
e:access view.com |
||||
|
|
||||
@ -0,0 +1,27 @@ |
|||||
|
era *.bak |
||||
|
era *.prn |
||||
|
era *.rel |
||||
|
era *.sym |
||||
|
era *.lst |
||||
|
era *.o |
||||
|
era sect0*.h |
||||
|
era sect1*.h |
||||
|
era sect2*.h |
||||
|
era sect3*.h |
||||
|
era sect4*.h |
||||
|
era sect5*.h |
||||
|
era sect6*.h |
||||
|
era sect7*.h |
||||
|
era sect8*.h |
||||
|
era sect9*.h |
||||
|
era sect0*.inc |
||||
|
era sect1*.inc |
||||
|
era sect2*.inc |
||||
|
era sect3*.inc |
||||
|
era sect4*.inc |
||||
|
era sect5*.inc |
||||
|
era sect6*.inc |
||||
|
era sect7*.inc |
||||
|
era sect8*.inc |
||||
|
era sect9*.inc |
||||
|
|
||||
@ -0,0 +1,44 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global style_,1 |
||||
|
global vdp_rege_,960 |
||||
|
global pINFOLIS_,2 |
||||
|
global metadata_,128 |
||||
|
global pCNFGDAT_,2 |
||||
|
global pSYSCFG_,2 |
||||
|
PUBLIC main_ |
||||
|
main_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,-4096 |
||||
|
SHLD hregbc_ |
||||
|
LXI H,-16384 |
||||
|
SHLD hregde_ |
||||
|
CALL diagnose_ |
||||
|
LXI H,-16384 |
||||
|
SHLD pSYSCFG_ |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,68 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
CALL crtinit_ |
||||
|
POP D |
||||
|
CALL crtclr_ |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
RET |
||||
|
.2 EQU -1 |
||||
|
extrn diagnose_ |
||||
|
extrn hregde_ |
||||
|
extrn hregbc_ |
||||
|
extrn crtlc_ |
||||
|
extrn crtclr_ |
||||
|
extrn crtinit_ |
||||
|
END |
||||
|
|
||||
@ -0,0 +1,48 @@ |
|||||
|
/* clear.c 11/23/2012 dwg - */ |
||||
|
|
||||
|
#include "portab.h" |
||||
|
#include "globals.h" |
||||
|
|
||||
|
#include "stdio.h" |
||||
|
#include "stdlib.h" |
||||
|
#include "memory.h" |
||||
|
#include "applvers.h" |
||||
|
#include "n8chars.h" |
||||
|
#include "tms9918.h" |
||||
|
#include "std.h" |
||||
|
#include "ctermcap.h" |
||||
|
#include "cpmbdos.h" |
||||
|
#include "bdoscall.h" |
||||
|
#include "hbios.h" |
||||
|
#include "asmiface.h" |
||||
|
#include "diagnose.h" |
||||
|
#include "cnfgdata.h" |
||||
|
#include "syscfg.h" |
||||
|
#include "cpmbind.h" |
||||
|
#include "infolist.h" |
||||
|
#include "metadata.h" |
||||
|
#include "clogical.h" |
||||
|
|
||||
|
#define HIGHSEG 0x0C000 /* memory address of system config */ |
||||
|
|
||||
|
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */ |
||||
|
|
||||
|
struct CNFGDATA * pCNFGDATA; |
||||
|
struct SYSCFG * pSYSCFG; |
||||
|
|
||||
|
int main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[]; |
||||
|
{ |
||||
|
char column; |
||||
|
|
||||
|
hregbc = GETSYSCFG; /* function = Get System Config */ |
||||
|
hregde = HIGHSEG; /* addr of dest (must be high) */ |
||||
|
diagnose(); /* invoke the NBIOS function */ |
||||
|
pSYSCFG = HIGHSEG; |
||||
|
crtinit(pSYSCFG->cnfgdata.termtype); |
||||
|
crtclr(); |
||||
|
crtlc(0,0); |
||||
|
} |
||||
|
|
||||
|
|
||||
@ -0,0 +1,10 @@ |
|||||
|
e:rem clear.sub 7/22/2012 dwg - build clear from sources |
||||
|
cc clear |
||||
|
as clear |
||||
|
as bdoscall |
||||
|
as bioscall |
||||
|
cc ctermcap |
||||
|
as ctermcap |
||||
|
as diagnose |
||||
|
ln clear.o diagnose.o bioscall.o bdoscall.o ctermcap.o c.lib |
||||
|
|
||||
@ -0,0 +1,159 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
PUBLIC lugcur_ |
||||
|
lugcur_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,12-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-6602 |
||||
|
PUSH H |
||||
|
CALL asmif_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LHLD xregde_ |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
PUBLIC lugnum_ |
||||
|
lugnum_: lxi d,.3 |
||||
|
call csave |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,12-.3 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-6602 |
||||
|
PUSH H |
||||
|
CALL asmif_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LHLD xreghl_ |
||||
|
RET |
||||
|
.3 EQU 0 |
||||
|
PUBLIC lugdu_ |
||||
|
lugdu_: lxi d,.4 |
||||
|
call csave |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,12-.4 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-6602 |
||||
|
PUSH H |
||||
|
CALL asmif_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LHLD xregbc_ |
||||
|
LXI D,8 |
||||
|
XCHG |
||||
|
CALL .ur |
||||
|
RET |
||||
|
.4 EQU 0 |
||||
|
PUBLIC luscur_ |
||||
|
luscur_: lxi d,.5 |
||||
|
call csave |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,12-.5 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-6602 |
||||
|
PUSH H |
||||
|
CALL asmif_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LHLD xreghl_ |
||||
|
PUSH H |
||||
|
LXI H,12-.5 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LHLD xregbc_ |
||||
|
PUSH H |
||||
|
LXI H,-6599 |
||||
|
PUSH H |
||||
|
CALL asmif_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
RET |
||||
|
.5 EQU 0 |
||||
|
PUBLIC lusnum_ |
||||
|
lusnum_: lxi d,.6 |
||||
|
call csave |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,12-.6 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,-6602 |
||||
|
PUSH H |
||||
|
CALL asmif_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LXI H,10-.6 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LHLD xregde_ |
||||
|
PUSH H |
||||
|
LHLD xregbc_ |
||||
|
PUSH H |
||||
|
LXI H,-6599 |
||||
|
PUSH H |
||||
|
CALL asmif_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
RET |
||||
|
.6 EQU 0 |
||||
|
extrn asmif_ |
||||
|
extrn xreghl_ |
||||
|
extrn xregde_ |
||||
|
extrn xregbc_ |
||||
|
extrn .ur |
||||
|
END |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,127 @@ |
|||||
|
/* cls.c 7/21/2012 dwg - elegant form of clear screen program */ |
||||
|
|
||||
|
/*
|
||||
|
#include "stdio.h" |
||||
|
#include "applvers.h" |
||||
|
*/ |
||||
|
|
||||
|
/* declarations for HBIOS access */ |
||||
|
extern char hrega; |
||||
|
extern unsigned int hregbc; |
||||
|
extern unsigned int hregde; |
||||
|
extern unsigned int hreghl; |
||||
|
extern diagnose(); |
||||
|
|
||||
|
/* declaration dir BIOS and BDOS and low level calls */ |
||||
|
extern char xrega; |
||||
|
extern unsigned int xregbc; |
||||
|
extern unsigned int xregde; |
||||
|
extern unsigned int xreghl; |
||||
|
extern asmif(); /* asmif(0x0E6**,bc,de,hl); */ |
||||
|
|
||||
|
#define BDOS 5 /* memory address of BDOS invocation */ |
||||
|
#define HIGHSEG 0x0C000 /* memory address of system config */ |
||||
|
|
||||
|
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */ |
||||
|
|
||||
|
/* pointer based Configuration Data structure */ |
||||
|
struct CNFGDATA { |
||||
|
unsigned char rmj; |
||||
|
unsigned char rmn; |
||||
|
unsigned char rup; |
||||
|
unsigned char rtp; |
||||
|
unsigned char diskboot; |
||||
|
unsigned char devunit; |
||||
|
unsigned int bootlu; |
||||
|
unsigned char hour; |
||||
|
unsigned char minute; |
||||
|
unsigned char second; |
||||
|
unsigned char month; |
||||
|
unsigned char day; |
||||
|
unsigned char year; |
||||
|
unsigned char freq; |
||||
|
unsigned char platform; |
||||
|
unsigned char dioplat; |
||||
|
unsigned char vdumode; |
||||
|
unsigned int romsize; |
||||
|
unsigned int ramsize; |
||||
|
unsigned char clrramdk; |
||||
|
unsigned char dskyenable; |
||||
|
unsigned char uartenable; |
||||
|
unsigned char vduenable; |
||||
|
unsigned char fdenable; |
||||
|
unsigned char fdtrace; |
||||
|
unsigned char fdmedia; |
||||
|
unsigned char fdmediaalt; |
||||
|
unsigned char fdmauto; |
||||
|
unsigned char ideenable; |
||||
|
unsigned char idetrace; |
||||
|
unsigned char ide8bit; |
||||
|
unsigned int idecapacity; |
||||
|
unsigned char ppideenable; |
||||
|
unsigned char ppidetrace; |
||||
|
unsigned char ppide8bit; |
||||
|
unsigned int ppidecapacity; |
||||
|
unsigned char ppideslow; |
||||
|
unsigned char boottype; |
||||
|
unsigned char boottimeout; |
||||
|
unsigned char bootdefault; |
||||
|
unsigned int baudrate; |
||||
|
unsigned char ckdiv; |
||||
|
unsigned char memwait; |
||||
|
unsigned char iowait; |
||||
|
unsigned char cntlb0; |
||||
|
unsigned char cntlb1; |
||||
|
unsigned char sdenable; |
||||
|
unsigned char sdtrace; |
||||
|
unsigned int sdcapacity; |
||||
|
unsigned char sdcsio; |
||||
|
unsigned char sdcsiofast; |
||||
|
unsigned char defiobyte; |
||||
|
unsigned char termtype; |
||||
|
unsigned int revision; |
||||
|
unsigned char prpsdenable; |
||||
|
unsigned char prpsdtrace; |
||||
|
unsigned int prpsdcapacity; |
||||
|
unsigned char prpconenable; |
||||
|
unsigned int biossize; |
||||
|
unsigned char pppenable; |
||||
|
unsigned char pppsdenable; |
||||
|
unsigned char pppsdtrace; |
||||
|
unsigned int pppsdcapacity; |
||||
|
unsigned char pppconenable; |
||||
|
unsigned char prpenable; |
||||
|
}; |
||||
|
|
||||
|
struct JMP { |
||||
|
unsigned char opcode; /* JMP opcode */ |
||||
|
unsigned int address; /* JMP address */ |
||||
|
}; |
||||
|
|
||||
|
struct SYSCFG { |
||||
|
struct JMP jmp; |
||||
|
void * cnfloc; |
||||
|
void * tstloc; |
||||
|
void * varloc; |
||||
|
struct CNFGDATA cnfgdata; |
||||
|
char filler[256-3-2-2-2-sizeof(struct CNFGDATA)]; |
||||
|
} * pSYSCFG = HIGHSEG; |
||||
|
|
||||
|
|
||||
|
main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[]; |
||||
|
{ |
||||
|
hregbc = GETSYSCFG; /* function = Get System Config */ |
||||
|
hregde = HIGHSEG; /* addr of dest (must be high) */ |
||||
|
diagnose(); /* invoke the HBIOS function */ |
||||
|
|
||||
|
crtinit(pSYSCFG->cnfgdata.termtype); /* pass termtype to init */ |
||||
|
|
||||
|
crtclr(); |
||||
|
|
||||
|
crtlc(0,0); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,283 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
PUBLIC memcmp_ |
||||
|
memcmp_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,2-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,10-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,0-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-2-.2 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .4 |
||||
|
.3: |
||||
|
LXI H,-2-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.4: |
||||
|
LXI H,-2-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,12-.2 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
CALL .lt |
||||
|
JZ .5 |
||||
|
LXI H,0-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
XCHG |
||||
|
DCX H |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,4-.2 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
XCHG |
||||
|
DCX H |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
POP H |
||||
|
CALL .ne |
||||
|
JZ .6 |
||||
|
LXI H,0 |
||||
|
RET |
||||
|
.6: |
||||
|
JMP .3 |
||||
|
.5: |
||||
|
LXI H,1 |
||||
|
RET |
||||
|
.2 EQU -6 |
||||
|
PUBLIC memcpy_ |
||||
|
memcpy_: lxi d,.7 |
||||
|
call csave |
||||
|
LXI H,10-.7 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,2-.7 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,8-.7 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,0-.7 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-2-.7 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .9 |
||||
|
.8: |
||||
|
LXI H,-2-.7 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.9: |
||||
|
LXI H,-2-.7 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,12-.7 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
CALL .lt |
||||
|
JZ .10 |
||||
|
LXI H,2-.7 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
XCHG |
||||
|
DCX H |
||||
|
MOV E,M |
||||
|
PUSH D |
||||
|
LXI H,2-.7 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
XCHG |
||||
|
DCX H |
||||
|
POP D |
||||
|
MOV M,E |
||||
|
JMP .8 |
||||
|
.10: |
||||
|
RET |
||||
|
.7 EQU -6 |
||||
|
PUBLIC memset_ |
||||
|
memset_: lxi d,.11 |
||||
|
call csave |
||||
|
LXI H,8-.11 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,2-.11 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,0-.11 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .13 |
||||
|
.12: |
||||
|
LXI H,0-.11 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.13: |
||||
|
LXI H,0-.11 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,12-.11 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
CALL .ul |
||||
|
JZ .14 |
||||
|
LXI H,10-.11 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
PUSH D |
||||
|
LXI H,4-.11 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
XCHG |
||||
|
DCX H |
||||
|
POP D |
||||
|
MOV M,E |
||||
|
JMP .12 |
||||
|
.14: |
||||
|
RET |
||||
|
.11 EQU -4 |
||||
|
extrn .ne |
||||
|
extrn .lt |
||||
|
extrn .ul |
||||
|
END |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,527 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global cache_,17 |
||||
|
PUBLIC cnamept1_ |
||||
|
cnamept1_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
CALL strcpy_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
INX H |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.1+17 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
INX H |
||||
|
INX H |
||||
|
INX H |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.1+51 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,5 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.1+85 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,7 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.1+119 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,9 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+153 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,10 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+175 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,11 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+197 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,12 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+219 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+241 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,13 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .3 |
||||
|
.5: |
||||
|
LXI H,.1+261 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .4 |
||||
|
.6: |
||||
|
LXI H,.1+266 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .4 |
||||
|
.3: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.6 |
||||
|
DW 1,.5 |
||||
|
DW .4 |
||||
|
.4: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,14 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+272 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,15 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+298 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,23 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+324 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+349 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,24 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .7 |
||||
|
.9: |
||||
|
LXI H,.1+369 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .8 |
||||
|
.10: |
||||
|
LXI H,.1+375 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .8 |
||||
|
.11: |
||||
|
LXI H,.1+380 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .8 |
||||
|
.7: |
||||
|
CALL .swt |
||||
|
DW 3 |
||||
|
DW 1,.9 |
||||
|
DW 2,.10 |
||||
|
DW 3,.11 |
||||
|
DW .8 |
||||
|
.8: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+383 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,25 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .12 |
||||
|
.14: |
||||
|
LXI H,.1+403 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.15: |
||||
|
LXI H,.1+415 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.16: |
||||
|
LXI H,.1+429 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.17: |
||||
|
LXI H,.1+441 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.18: |
||||
|
LXI H,.1+453 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.19: |
||||
|
LXI H,.1+463 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.20: |
||||
|
LXI H,.1+478 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.12: |
||||
|
CALL .swt |
||||
|
DW 6 |
||||
|
DW 0,.14 |
||||
|
DW 1,.15 |
||||
|
DW 2,.16 |
||||
|
DW 3,.17 |
||||
|
DW 4,.18 |
||||
|
DW 5,.19 |
||||
|
DW .20 |
||||
|
.13: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+486 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,26 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .21 |
||||
|
.23: |
||||
|
LXI H,.1+506 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.24: |
||||
|
LXI H,.1+518 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.25: |
||||
|
LXI H,.1+529 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.26: |
||||
|
LXI H,.1+541 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.27: |
||||
|
LXI H,.1+555 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.28: |
||||
|
LXI H,.1+567 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.21: |
||||
|
CALL .swt |
||||
|
DW 5 |
||||
|
DW 0,.23 |
||||
|
DW 1,.24 |
||||
|
DW 2,.25 |
||||
|
DW 3,.26 |
||||
|
DW 4,.27 |
||||
|
DW .28 |
||||
|
.22: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,27 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+577 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,29 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+599 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
.1: |
||||
|
DB 115,121,115,99,102,103,45,62,99,110,102,103,100,97,116 |
||||
|
DB 97,0,115,121,115,99,102,103,45,62,106,109,112,32,32 |
||||
|
DB 32,32,32,32,32,32,32,32,32,32,106,112,32,32,48 |
||||
|
DB 37,48,52,120,104,0,115,121,115,99,102,103,45,62,99 |
||||
|
DB 110,102,108,111,99,32,32,32,32,32,32,32,32,32,46 |
||||
|
DB 100,119,32,48,37,48,52,120,104,0,115,121,115,99,102 |
||||
|
DB 103,45,62,116,115,116,108,111,99,32,32,32,32,32,32 |
||||
|
DB 32,32,32,46,100,119,32,48,37,48,52,120,104,0,115 |
||||
|
DB 121,115,99,102,103,45,62,118,97,114,108,111,99,32,32 |
||||
|
DB 32,32,32,32,32,32,32,46,100,119,32,48,37,48,52 |
||||
|
DB 120,104,0,37,115,46,114,109,106,32,32,32,32,32,32 |
||||
|
DB 32,32,32,32,32,61,32,37,100,0,37,115,46,114,109 |
||||
|
DB 110,32,32,32,32,32,32,32,32,32,32,32,61,32,37 |
||||
|
DB 100,0,37,115,46,114,117,112,32,32,32,32,32,32,32 |
||||
|
DB 32,32,32,32,61,32,37,100,0,37,115,46,114,116,112 |
||||
|
DB 32,32,32,32,32,32,32,32,32,32,32,61,32,37,100 |
||||
|
DB 0,37,115,46,100,105,115,107,98,111,111,116,32,32,32 |
||||
|
DB 32,32,32,61,32,0,84,82,85,69,0,70,65,76,83 |
||||
|
DB 69,0,37,115,46,100,101,118,117,110,105,116,32,32,32 |
||||
|
DB 32,32,32,32,61,32,48,120,37,48,50,120,0,37,115 |
||||
|
DB 46,98,111,111,116,108,117,32,32,32,32,32,32,32,32 |
||||
|
DB 61,32,48,120,37,48,52,120,0,37,115,46,102,114,101 |
||||
|
DB 113,32,32,32,32,32,32,32,32,32,32,61,32,37,100 |
||||
|
DB 77,72,122,0,37,115,46,112,108,97,116,102,111,114,109 |
||||
|
DB 32,32,32,32,32,32,61,32,0,78,56,86,69,77,0 |
||||
|
DB 90,69,84,65,0,78,56,0,37,115,46,100,105,111,112 |
||||
|
DB 108,97,116,32,32,32,32,32,32,32,61,32,0,68,73 |
||||
|
DB 79,80,76,84,95,78,79,78,69,0,68,73,79,80,76 |
||||
|
DB 84,95,68,73,83,75,73,79,0,68,73,79,80,76,84 |
||||
|
DB 95,90,69,84,65,0,68,73,79,80,76,84,95,68,73 |
||||
|
DB 68,69,0,68,73,79,80,76,84,95,78,56,0,68,73 |
||||
|
DB 79,80,76,84,95,68,73,83,75,73,79,51,0,85,110 |
||||
|
DB 107,110,111,119,110,0,37,115,46,118,100,117,109,111,100 |
||||
|
DB 101,32,32,32,32,32,32,32,61,32,0,86,68,85,80 |
||||
|
DB 76,84,95,78,79,78,69,0,86,68,85,80,76,84,95 |
||||
|
DB 86,68,85,0,86,68,85,80,76,84,95,86,68,85,67 |
||||
|
DB 0,86,68,85,80,76,84,95,80,82,79,80,73,79,0 |
||||
|
DB 86,68,85,80,76,84,95,86,80,78,56,0,85,110,107 |
||||
|
DB 110,111,119,110,33,33,0,37,115,46,114,111,109,115,105 |
||||
|
DB 122,101,32,32,32,32,32,32,32,61,32,37,100,0,37 |
||||
|
DB 115,46,114,97,109,115,105,122,101,32,32,32,32,32,32 |
||||
|
DB 32,61,32,37,100,0 |
||||
|
extrn printf_ |
||||
|
extrn strcpy_ |
||||
|
extrn pager_ |
||||
|
END |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,480 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global cache_,17 |
||||
|
PUBLIC cnamept2_ |
||||
|
cnamept2_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
CALL strcpy_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+17 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,31 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .3 |
||||
|
.5: |
||||
|
LXI H,.1+37 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .4 |
||||
|
.6: |
||||
|
LXI H,.1+47 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .4 |
||||
|
.7: |
||||
|
LXI H,.1+56 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .4 |
||||
|
.3: |
||||
|
CALL .swt |
||||
|
DW 3 |
||||
|
DW 0,.5 |
||||
|
DW 1,.6 |
||||
|
DW 2,.7 |
||||
|
DW .4 |
||||
|
.4: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+68 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,32 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .8 |
||||
|
.10: |
||||
|
LXI H,.1+88 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .9 |
||||
|
.11: |
||||
|
LXI H,.1+93 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .9 |
||||
|
.8: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.11 |
||||
|
DW 1,.10 |
||||
|
DW .9 |
||||
|
.9: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+99 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,33 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .12 |
||||
|
.14: |
||||
|
LXI H,.1+119 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.15: |
||||
|
LXI H,.1+124 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.12: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.15 |
||||
|
DW 1,.14 |
||||
|
DW .13 |
||||
|
.13: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+130 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,34 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .16 |
||||
|
.18: |
||||
|
LXI H,.1+150 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .17 |
||||
|
.19: |
||||
|
LXI H,.1+155 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .17 |
||||
|
.16: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.19 |
||||
|
DW 1,.18 |
||||
|
DW .17 |
||||
|
.17: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+161 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,35 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .20 |
||||
|
.22: |
||||
|
LXI H,.1+181 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .21 |
||||
|
.23: |
||||
|
LXI H,.1+186 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .21 |
||||
|
.20: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.23 |
||||
|
DW 1,.22 |
||||
|
DW .21 |
||||
|
.21: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,35 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,1 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .24 |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+192 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,36 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .25 |
||||
|
.27: |
||||
|
LXI H,.1+212 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .26 |
||||
|
.28: |
||||
|
LXI H,.1+219 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .26 |
||||
|
.29: |
||||
|
LXI H,.1+232 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .26 |
||||
|
.30: |
||||
|
LXI H,.1+243 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .26 |
||||
|
.31: |
||||
|
LXI H,.1+254 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .26 |
||||
|
.25: |
||||
|
CALL .swt |
||||
|
DW 4 |
||||
|
DW 0,.27 |
||||
|
DW 1,.28 |
||||
|
DW 2,.29 |
||||
|
DW 3,.30 |
||||
|
DW .31 |
||||
|
.26: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+264 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,37 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .32 |
||||
|
.34: |
||||
|
LXI H,.1+284 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,.1+291 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .33 |
||||
|
.35: |
||||
|
LXI H,.1+329 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,.1+336 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .33 |
||||
|
.36: |
||||
|
LXI H,.1+376 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,.1+383 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .33 |
||||
|
.37: |
||||
|
LXI H,.1+422 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,.1+429 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .33 |
||||
|
.38: |
||||
|
LXI H,.1+468 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .33 |
||||
|
.32: |
||||
|
CALL .swt |
||||
|
DW 4 |
||||
|
DW 0,.34 |
||||
|
DW 1,.35 |
||||
|
DW 2,.36 |
||||
|
DW 3,.37 |
||||
|
DW .38 |
||||
|
.33: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+478 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,38 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .39 |
||||
|
.41: |
||||
|
LXI H,.1+498 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,.1+505 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.42: |
||||
|
LXI H,.1+543 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,.1+550 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.43: |
||||
|
LXI H,.1+590 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,.1+597 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.44: |
||||
|
LXI H,.1+636 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,.1+643 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.39: |
||||
|
CALL .swt |
||||
|
DW 4 |
||||
|
DW 0,.41 |
||||
|
DW 1,.42 |
||||
|
DW 2,.43 |
||||
|
DW 3,.44 |
||||
|
DW .40 |
||||
|
.40: |
||||
|
CALL pager_ |
||||
|
.24: |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
.1: |
||||
|
DB 115,121,115,99,102,103,45,62,99,110,102,103,100,97,116 |
||||
|
DB 97,0,37,115,46,99,108,114,114,97,109,100,107,32,32 |
||||
|
DB 32,32,32,32,61,32,0,67,76,82,95,78,69,86,69 |
||||
|
DB 82,0,67,76,82,95,65,85,84,79,0,67,76,82,95 |
||||
|
DB 65,76,76,87,65,89,83,0,37,115,46,100,115,107,121 |
||||
|
DB 101,110,97,98,108,101,32,32,32,32,61,32,0,84,82 |
||||
|
DB 85,69,0,70,65,76,83,69,0,37,115,46,117,97,114 |
||||
|
DB 116,101,110,97,98,108,101,32,32,32,32,61,32,0,84 |
||||
|
DB 82,85,69,0,70,65,76,83,69,0,37,115,46,118,100 |
||||
|
DB 117,101,110,97,98,108,101,32,32,32,32,32,61,32,0 |
||||
|
DB 84,82,85,69,0,70,65,76,83,69,0,37,115,46,102 |
||||
|
DB 100,101,110,97,98,108,101,32,32,32,32,32,32,61,32 |
||||
|
DB 0,84,82,85,69,0,70,65,76,83,69,0,37,115,46 |
||||
|
DB 102,100,116,114,97,99,101,32,32,32,32,32,32,32,61 |
||||
|
DB 32,0,83,105,108,101,110,116,0,70,97,116,97,108,32 |
||||
|
DB 69,114,114,111,114,115,0,65,108,108,32,69,114,114,111 |
||||
|
DB 114,115,0,69,118,101,114,121,116,104,105,110,103,0,85 |
||||
|
DB 110,107,110,111,119,110,33,33,0,37,115,46,102,100,109 |
||||
|
DB 101,100,105,97,32,32,32,32,32,32,32,61,32,0,70 |
||||
|
DB 68,77,55,50,48,0,32,32,51,46,53,32,55,50,48 |
||||
|
DB 75,66,32,50,45,115,105,100,101,100,32,56,48,32,84 |
||||
|
DB 114,107,115,32,57,32,83,101,99,116,111,114,115,0,70 |
||||
|
DB 68,77,49,52,52,0,32,32,51,46,53,32,49,46,52 |
||||
|
DB 52,77,66,32,50,45,115,105,100,101,100,32,56,48,32 |
||||
|
DB 84,114,107,115,32,49,56,32,83,101,99,116,111,114,115 |
||||
|
DB 0,70,68,77,51,54,48,0,32,32,53,46,50,53,32 |
||||
|
DB 51,54,48,75,66,32,50,45,115,105,100,101,100,32,52 |
||||
|
DB 48,32,84,114,107,115,32,57,32,83,101,99,116,111,114 |
||||
|
DB 115,0,70,68,77,49,50,48,0,32,32,51,46,53,32 |
||||
|
DB 49,46,50,77,66,32,50,45,115,105,100,101,100,32,56 |
||||
|
DB 48,32,84,114,107,115,32,49,53,32,83,101,99,116,111 |
||||
|
DB 114,115,0,85,110,107,110,111,119,110,33,33,0,37,115 |
||||
|
DB 46,102,100,109,101,100,105,97,97,108,116,32,32,32,32 |
||||
|
DB 61,32,0,70,68,77,55,50,48,0,32,32,51,46,53 |
||||
|
DB 32,55,50,48,75,66,32,50,45,115,105,100,101,100,32 |
||||
|
DB 56,48,32,84,114,107,115,32,57,32,83,101,99,116,111 |
||||
|
DB 114,115,0,70,68,77,49,52,52,0,32,32,51,46,53 |
||||
|
DB 32,49,46,52,52,77,66,32,50,45,115,105,100,101,100 |
||||
|
DB 32,56,48,32,84,114,107,115,32,49,56,32,83,101,99 |
||||
|
DB 116,111,114,115,0,70,68,77,51,54,48,0,32,32,53 |
||||
|
DB 46,50,53,32,51,54,48,75,66,32,50,45,115,105,100 |
||||
|
DB 101,100,32,52,48,32,84,114,107,115,32,57,32,83,101 |
||||
|
DB 99,116,111,114,115,0,70,68,77,49,50,48,0,32,32 |
||||
|
DB 51,46,53,32,49,46,50,77,66,32,50,45,115,105,100 |
||||
|
DB 101,100,32,56,48,32,84,114,107,115,32,49,53,32,83 |
||||
|
DB 101,99,116,111,114,115,0 |
||||
|
extrn printf_ |
||||
|
extrn strcpy_ |
||||
|
extrn pager_ |
||||
|
extrn .eq |
||||
|
END |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,794 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global cache_,17 |
||||
|
PUBLIC cnamept3_ |
||||
|
cnamept3_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
CALL strcpy_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+17 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,39 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .3 |
||||
|
.5: |
||||
|
LXI H,.1+37 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .4 |
||||
|
.6: |
||||
|
LXI H,.1+42 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .4 |
||||
|
.3: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.6 |
||||
|
DW 1,.5 |
||||
|
DW .4 |
||||
|
.4: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+48 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,40 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .7 |
||||
|
.9: |
||||
|
LXI H,.1+68 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .8 |
||||
|
.10: |
||||
|
LXI H,.1+73 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .8 |
||||
|
.7: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.10 |
||||
|
DW 1,.9 |
||||
|
DW .8 |
||||
|
.8: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,40 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,1 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .11 |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+79 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,41 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .12 |
||||
|
.14: |
||||
|
LXI H,.1+95 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.15: |
||||
|
LXI H,.1+102 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.16: |
||||
|
LXI H,.1+109 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.17: |
||||
|
LXI H,.1+120 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .13 |
||||
|
.12: |
||||
|
CALL .swt |
||||
|
DW 3 |
||||
|
DW 0,.14 |
||||
|
DW 1,.15 |
||||
|
DW 2,.16 |
||||
|
DW .17 |
||||
|
.13: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+130 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,42 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .18 |
||||
|
.20: |
||||
|
LXI H,.1+149 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .19 |
||||
|
.21: |
||||
|
LXI H,.1+154 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .19 |
||||
|
.22: |
||||
|
LXI H,.1+160 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .19 |
||||
|
.18: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.21 |
||||
|
DW 1,.20 |
||||
|
DW .22 |
||||
|
.19: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,43 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+170 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
.11: |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+194 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,45 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .23 |
||||
|
.25: |
||||
|
LXI H,.1+214 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .24 |
||||
|
.26: |
||||
|
LXI H,.1+219 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .24 |
||||
|
.23: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.26 |
||||
|
DW 1,.25 |
||||
|
DW .24 |
||||
|
.24: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,45 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,1 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .27 |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+225 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,46 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .28 |
||||
|
.30: |
||||
|
LXI H,.1+245 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .29 |
||||
|
.31: |
||||
|
LXI H,.1+252 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .29 |
||||
|
.32: |
||||
|
LXI H,.1+259 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .29 |
||||
|
.33: |
||||
|
LXI H,.1+270 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .29 |
||||
|
.28: |
||||
|
CALL .swt |
||||
|
DW 3 |
||||
|
DW 0,.30 |
||||
|
DW 1,.31 |
||||
|
DW 2,.32 |
||||
|
DW .33 |
||||
|
.29: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+280 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,47 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .34 |
||||
|
.36: |
||||
|
LXI H,.1+300 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .35 |
||||
|
.37: |
||||
|
LXI H,.1+305 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .35 |
||||
|
.38: |
||||
|
LXI H,.1+311 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .35 |
||||
|
.34: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.37 |
||||
|
DW 1,.36 |
||||
|
DW .38 |
||||
|
.35: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,48 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+321 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+345 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,50 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .39 |
||||
|
.41: |
||||
|
LXI H,.1+365 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.42: |
||||
|
LXI H,.1+370 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.43: |
||||
|
LXI H,.1+376 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.39: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.42 |
||||
|
DW 1,.41 |
||||
|
DW .43 |
||||
|
.40: |
||||
|
CALL pager_ |
||||
|
.27: |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+386 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,51 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .44 |
||||
|
.46: |
||||
|
LXI H,.1+406 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .45 |
||||
|
.47: |
||||
|
LXI H,.1+414 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .45 |
||||
|
.44: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 1,.46 |
||||
|
DW 2,.47 |
||||
|
DW .45 |
||||
|
.45: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,52 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+422 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,53 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+452 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,54 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,10-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,54 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+475 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,24 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,3 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .48 |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,56 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+511 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,57 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+533 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,58 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+559 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,59 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+585 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,60 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+611 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+637 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,61 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .49 |
||||
|
.51: |
||||
|
LXI H,.1+657 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .50 |
||||
|
.52: |
||||
|
LXI H,.1+662 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .50 |
||||
|
.53: |
||||
|
LXI H,.1+668 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .50 |
||||
|
.49: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.52 |
||||
|
DW 1,.51 |
||||
|
DW .53 |
||||
|
.50: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+678 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,62 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .54 |
||||
|
.56: |
||||
|
LXI H,.1+698 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .55 |
||||
|
.57: |
||||
|
LXI H,.1+703 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .55 |
||||
|
.58: |
||||
|
LXI H,.1+709 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .55 |
||||
|
.54: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.57 |
||||
|
DW 1,.56 |
||||
|
DW .58 |
||||
|
.55: |
||||
|
CALL pager_ |
||||
|
.48: |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
.1: |
||||
|
DB 115,121,115,99,102,103,45,62,99,110,102,103,100,97,116 |
||||
|
DB 97,0,37,115,46,102,100,109,97,117,116,111,32,32,32 |
||||
|
DB 32,32,32,32,61,32,0,84,82,85,69,0,70,65,76 |
||||
|
DB 83,69,0,37,115,46,105,100,101,101,110,97,98,108,101 |
||||
|
DB 32,32,32,32,32,61,32,0,84,82,85,69,0,70,65 |
||||
|
DB 76,83,69,0,37,115,46,105,100,101,116,114,97,99,101 |
||||
|
DB 32,32,61,32,0,83,73,76,69,78,84,0,69,82,82 |
||||
|
DB 79,82,83,0,69,86,69,82,89,84,72,73,78,71,0 |
||||
|
DB 85,110,107,110,111,119,110,33,33,0,37,115,46,100,101 |
||||
|
DB 56,98,105,116,32,32,32,32,32,32,32,61,32,0,84 |
||||
|
DB 82,85,69,0,70,65,76,83,69,0,85,110,107,110,111 |
||||
|
DB 119,110,33,33,0,37,115,46,105,100,101,99,97,112,97 |
||||
|
DB 99,105,116,121,32,32,32,61,32,37,100,77,66,0,37 |
||||
|
DB 115,46,112,112,105,100,101,101,110,97,98,108,101,32,32 |
||||
|
DB 32,61,32,0,84,82,85,69,0,70,65,76,83,69,0 |
||||
|
DB 37,115,46,112,112,105,100,101,116,114,97,99,101,32,32 |
||||
|
DB 32,32,61,32,0,83,73,76,69,78,84,0,69,82,82 |
||||
|
DB 79,82,83,0,69,86,69,82,89,84,72,73,78,71,0 |
||||
|
DB 85,110,107,110,111,119,110,33,33,0,37,115,46,112,112 |
||||
|
DB 105,100,101,56,98,105,116,32,32,32,32,32,61,32,0 |
||||
|
DB 84,82,85,69,0,70,65,76,83,69,0,85,110,107,110 |
||||
|
DB 111,119,110,33,33,0,37,115,46,112,112,105,100,101,99 |
||||
|
DB 97,112,97,99,105,116,121,32,61,32,37,100,75,66,0 |
||||
|
DB 37,115,46,112,112,105,100,101,115,108,111,119,32,32,32 |
||||
|
DB 32,32,61,32,0,84,82,85,69,0,70,65,76,83,69 |
||||
|
DB 0,85,110,107,110,111,119,110,33,33,0,37,115,46,98 |
||||
|
DB 111,111,116,116,121,112,101,32,32,32,32,32,32,61,32 |
||||
|
DB 0,66,84,95,77,69,78,85,0,66,84,95,65,85,84 |
||||
|
DB 79,0,37,115,46,98,111,111,116,116,105,109,101,111,117 |
||||
|
DB 116,32,32,32,61,32,37,100,32,115,101,99,111,110,100 |
||||
|
DB 115,0,37,115,46,98,111,111,116,100,101,102,97,117,108 |
||||
|
DB 116,32,32,32,61,32,37,99,58,0,37,115,46,98,97 |
||||
|
DB 117,100,114,97,116,101,32,32,32,32,32,32,61,32,37 |
||||
|
DB 117,32,40,48,120,37,48,52,120,41,32,66,97,117,100 |
||||
|
DB 0,37,115,46,99,107,100,105,118,32,32,32,32,32,32 |
||||
|
DB 32,32,32,61,32,37,100,0,37,115,46,109,101,109,119 |
||||
|
DB 97,105,116,32,32,32,32,32,32,32,61,32,48,120,37 |
||||
|
DB 48,50,120,0,37,115,46,105,111,119,97,105,116,32,32 |
||||
|
DB 32,32,32,32,32,32,61,32,48,120,37,48,50,120,0 |
||||
|
DB 37,115,46,99,110,116,108,98,48,32,32,32,32,32,32 |
||||
|
DB 32,32,61,32,48,120,37,48,50,120,0,37,115,46,99 |
||||
|
DB 110,116,108,98,49,32,32,32,32,32,32,32,32,61,32 |
||||
|
DB 48,120,37,48,50,120,0,37,115,46,115,100,101,110,97 |
||||
|
DB 98,108,101,32,32,32,32,32,32,61,32,0,84,82,85 |
||||
|
DB 69,0,70,65,76,83,69,0,85,110,107,110,111,119,110 |
||||
|
DB 33,33,0,37,115,46,115,100,116,114,97,99,101,32,32 |
||||
|
DB 32,32,32,32,32,61,32,0,84,82,85,69,0,70,65 |
||||
|
DB 76,83,69,0,85,110,107,110,111,119,110,33,33,0 |
||||
|
extrn printf_ |
||||
|
extrn strcpy_ |
||||
|
extrn pager_ |
||||
|
extrn .eq |
||||
|
END |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,742 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global cache_,17 |
||||
|
PUBLIC cnamept4_ |
||||
|
cnamept4_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
CALL strcpy_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,24 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,3 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .3 |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,63 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+17 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+41 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,65 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .4 |
||||
|
.6: |
||||
|
LXI H,.1+61 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.7: |
||||
|
LXI H,.1+66 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.8: |
||||
|
LXI H,.1+72 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.4: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.7 |
||||
|
DW 1,.6 |
||||
|
DW .8 |
||||
|
.5: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+82 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,66 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .9 |
||||
|
.11: |
||||
|
LXI H,.1+102 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .10 |
||||
|
.12: |
||||
|
LXI H,.1+107 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .10 |
||||
|
.13: |
||||
|
LXI H,.1+113 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .10 |
||||
|
.9: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.12 |
||||
|
DW 1,.11 |
||||
|
DW .13 |
||||
|
.10: |
||||
|
CALL pager_ |
||||
|
.3: |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,67 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+123 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+149 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,68 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .14 |
||||
|
.16: |
||||
|
LXI H,.1+169 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .15 |
||||
|
.17: |
||||
|
LXI H,.1+178 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .15 |
||||
|
.18: |
||||
|
LXI H,.1+188 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .15 |
||||
|
.19: |
||||
|
LXI H,.1+198 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .15 |
||||
|
.20: |
||||
|
LXI H,.1+208 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .15 |
||||
|
.14: |
||||
|
CALL .swt |
||||
|
DW 4 |
||||
|
DW 0,.16 |
||||
|
DW 1,.17 |
||||
|
DW 2,.18 |
||||
|
DW 3,.19 |
||||
|
DW .20 |
||||
|
.15: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,69 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+218 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+240 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,84 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .21 |
||||
|
.23: |
||||
|
LXI H,.1+260 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.24: |
||||
|
LXI H,.1+265 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.25: |
||||
|
LXI H,.1+271 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .22 |
||||
|
.21: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.24 |
||||
|
DW 1,.23 |
||||
|
DW .25 |
||||
|
.22: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,84 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,1 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .26 |
||||
|
LXI H,.1+281 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,71 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .27 |
||||
|
.29: |
||||
|
LXI H,.1+301 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .28 |
||||
|
.30: |
||||
|
LXI H,.1+306 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .28 |
||||
|
.31: |
||||
|
LXI H,.1+312 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .28 |
||||
|
.27: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.30 |
||||
|
DW 1,.29 |
||||
|
DW .31 |
||||
|
.28: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,71 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,1 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .32 |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+322 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,72 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .33 |
||||
|
.35: |
||||
|
LXI H,.1+342 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .34 |
||||
|
.36: |
||||
|
LXI H,.1+349 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .34 |
||||
|
.37: |
||||
|
LXI H,.1+356 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .34 |
||||
|
.38: |
||||
|
LXI H,.1+367 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .34 |
||||
|
.33: |
||||
|
CALL .swt |
||||
|
DW 3 |
||||
|
DW 0,.35 |
||||
|
DW 1,.36 |
||||
|
DW 2,.37 |
||||
|
DW .38 |
||||
|
.34: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+377 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+397 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,75 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .39 |
||||
|
.41: |
||||
|
LXI H,.1+417 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.42: |
||||
|
LXI H,.1+422 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.43: |
||||
|
LXI H,.1+428 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .40 |
||||
|
.39: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.42 |
||||
|
DW 1,.41 |
||||
|
DW .43 |
||||
|
.40: |
||||
|
CALL pager_ |
||||
|
.32: |
||||
|
.26: |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,76 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+438 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+460 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,78 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .44 |
||||
|
.46: |
||||
|
LXI H,.1+480 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .45 |
||||
|
.47: |
||||
|
LXI H,.1+485 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .45 |
||||
|
.48: |
||||
|
LXI H,.1+491 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .45 |
||||
|
.44: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.47 |
||||
|
DW 1,.46 |
||||
|
DW .48 |
||||
|
.45: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,78 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,1 |
||||
|
POP D |
||||
|
CALL .eq |
||||
|
JZ .49 |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+501 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,79 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .50 |
||||
|
.52: |
||||
|
LXI H,.1+520 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .51 |
||||
|
.53: |
||||
|
LXI H,.1+525 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .51 |
||||
|
.54: |
||||
|
LXI H,.1+531 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .51 |
||||
|
.50: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.53 |
||||
|
DW 1,.52 |
||||
|
DW .54 |
||||
|
.51: |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+541 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,80 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .55 |
||||
|
.57: |
||||
|
LXI H,.1+561 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .56 |
||||
|
.58: |
||||
|
LXI H,.1+568 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .56 |
||||
|
.59: |
||||
|
LXI H,.1+575 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .56 |
||||
|
.60: |
||||
|
LXI H,.1+586 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .56 |
||||
|
.55: |
||||
|
CALL .swt |
||||
|
DW 3 |
||||
|
DW 0,.57 |
||||
|
DW 1,.58 |
||||
|
DW 2,.59 |
||||
|
DW .60 |
||||
|
.56: |
||||
|
CALL pager_ |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,73 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+596 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
LXI H,cache_ |
||||
|
PUSH H |
||||
|
LXI H,.1+618 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,83 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
XCHG |
||||
|
JMP .61 |
||||
|
.63: |
||||
|
LXI H,.1+638 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .62 |
||||
|
.64: |
||||
|
LXI H,.1+643 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .62 |
||||
|
.65: |
||||
|
LXI H,.1+649 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .62 |
||||
|
.61: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 0,.64 |
||||
|
DW 1,.63 |
||||
|
DW .65 |
||||
|
.62: |
||||
|
CALL pager_ |
||||
|
.49: |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
.1: |
||||
|
DB 115,121,115,99,102,103,45,62,99,110,102,103,100,97,116 |
||||
|
DB 97,0,37,115,46,115,100,99,97,112,97,99,105,116,121 |
||||
|
DB 32,32,32,32,61,32,37,117,75,66,0,37,115,46,115 |
||||
|
DB 100,99,115,105,111,32,32,32,32,32,32,32,32,61,32 |
||||
|
DB 0,84,82,85,69,0,70,65,76,83,69,0,85,110,107 |
||||
|
DB 110,111,119,110,33,33,0,37,115,46,115,100,99,115,105 |
||||
|
DB 111,102,97,115,116,32,32,32,32,61,32,0,84,82,85 |
||||
|
DB 69,0,70,65,76,83,69,0,85,110,107,110,111,119,110 |
||||
|
DB 33,33,0,37,115,46,100,101,102,105,111,98,121,116,101 |
||||
|
DB 32,32,32,32,32,61,32,48,120,37,48,50,120,0,37 |
||||
|
DB 115,46,116,101,114,109,116,121,112,101,32,32,32,32,32 |
||||
|
DB 32,61,32,0,84,69,82,77,95,84,84,89,0,84,69 |
||||
|
DB 82,77,95,65,78,83,73,0,84,69,82,77,95,87,89 |
||||
|
DB 83,69,0,84,69,82,77,95,86,84,53,50,0,85,110 |
||||
|
DB 107,110,111,119,110,33,33,0,37,115,46,114,101,118,105 |
||||
|
DB 115,105,111,110,32,32,32,32,32,32,61,32,37,100,0 |
||||
|
DB 37,115,46,112,114,112,101,110,97,98,108,101,32,32,32 |
||||
|
DB 32,32,61,32,0,84,82,85,69,0,70,65,76,83,69 |
||||
|
DB 0,85,110,107,110,111,119,110,33,33,0,37,115,46,112 |
||||
|
DB 114,112,115,100,101,110,97,98,108,101,32,32,32,61,32 |
||||
|
DB 0,84,82,85,69,0,70,65,76,83,69,0,85,110,107 |
||||
|
DB 110,111,119,110,33,33,0,37,115,46,112,114,112,115,100 |
||||
|
DB 116,114,97,99,101,32,32,32,32,61,32,0,83,73,76 |
||||
|
DB 69,78,84,0,69,82,82,79,82,83,0,69,86,69,82 |
||||
|
DB 89,84,72,73,78,71,0,85,110,107,110,111,119,110,33 |
||||
|
DB 33,0,37,115,46,112,114,112,115,100,99,97,112,97,99 |
||||
|
DB 105,116,121,32,61,32,0,37,115,46,112,114,112,99,111 |
||||
|
DB 110,101,110,97,98,108,101,32,32,61,32,0,84,82,85 |
||||
|
DB 69,0,70,65,76,83,69,0,85,110,107,110,111,119,110 |
||||
|
DB 33,33,0,37,115,46,98,105,111,115,115,105,122,101,32 |
||||
|
DB 32,32,32,32,32,61,32,37,100,0,37,115,46,112,112 |
||||
|
DB 112,101,110,97,98,108,101,32,32,32,32,32,61,32,0 |
||||
|
DB 84,82,85,69,0,70,65,76,83,69,0,85,110,107,110 |
||||
|
DB 111,119,110,33,33,0,37,115,46,112,112,112,115,100,101 |
||||
|
DB 110,97,98,108,101,32,32,61,32,0,84,82,85,69,0 |
||||
|
DB 70,65,76,83,69,0,85,110,107,110,111,119,110,33,33 |
||||
|
DB 0,37,115,46,112,112,112,115,100,116,114,97,99,101,32 |
||||
|
DB 32,32,32,61,32,0,83,73,76,69,78,84,0,69,82 |
||||
|
DB 82,79,82,83,0,69,86,69,82,89,84,72,73,78,71 |
||||
|
DB 0,85,110,107,110,111,119,110,33,33,0,37,115,46,112 |
||||
|
DB 112,112,99,97,112,97,99,105,116,121,32,32,32,61,32 |
||||
|
DB 37,100,0,37,115,46,112,112,112,99,111,110,101,110,97 |
||||
|
DB 98,108,101,32,32,61,32,0,84,82,85,69,0,70,65 |
||||
|
DB 76,83,69,0,85,110,107,110,111,119,110,33,33,0 |
||||
|
extrn printf_ |
||||
|
extrn strcpy_ |
||||
|
extrn pager_ |
||||
|
extrn .eq |
||||
|
END |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,210 @@ |
|||||
|
; cnfgdata.lib 7/19/2012 dwg - |
||||
|
|
||||
|
byte equ 1 |
||||
|
word equ 2 |
||||
|
|
||||
|
;; /* cnfgdata.h 6/04/2012 dwg - */ |
||||
|
;; |
||||
|
;; struct CNFGDATA { |
||||
|
;; unsigned char rmj; |
||||
|
cfgrmj equ 08009h |
||||
|
;; |
||||
|
;; unsigned char rmn; |
||||
|
cfgrmn equ cfgrmj + byte |
||||
|
;; |
||||
|
;; unsigned char rup; |
||||
|
cfgrup equ cfgrmn + byte |
||||
|
;; |
||||
|
;; unsigned char rtp; |
||||
|
cfgrtp equ cfgrup + byte |
||||
|
;; |
||||
|
;; unsigned char diskboot; |
||||
|
diskboot equ cfgrtp + byte |
||||
|
;; |
||||
|
;; unsigned char devunit; |
||||
|
devunit equ diskboot + byte |
||||
|
;; |
||||
|
;; unsigned int bootlu; |
||||
|
bootlu equ devunit + byte |
||||
|
;; |
||||
|
;; unsigned char hour; |
||||
|
hour equ bootlu + word |
||||
|
;; |
||||
|
;; unsigned char minute; |
||||
|
minute equ hour + byte |
||||
|
;; |
||||
|
;; unsigned char second; |
||||
|
second equ minute + byte |
||||
|
;; |
||||
|
;; unsigned char month; |
||||
|
month equ second + byte |
||||
|
;; |
||||
|
;; unsigned char day; |
||||
|
day equ month + byte |
||||
|
;; |
||||
|
;; unsigned char year; |
||||
|
year equ day + byte |
||||
|
;; |
||||
|
;; unsigned char freq; |
||||
|
freq equ year + byte |
||||
|
;; |
||||
|
;; unsigned char platform; |
||||
|
platform equ freq+ byte |
||||
|
;; |
||||
|
;; unsigned char dioplat; |
||||
|
dioplat equ platform + byte |
||||
|
;; |
||||
|
;; unsigned char vdumode; |
||||
|
vdumode equ dioplat + byte |
||||
|
;; |
||||
|
;; unsigned int romsize; |
||||
|
romsize equ vdumode + byte |
||||
|
;; |
||||
|
;; unsigned int ramsize; |
||||
|
ramsize equ romsize + word |
||||
|
;; |
||||
|
;; unsigned char clrramdk; |
||||
|
clrramdk equ ramsize + word |
||||
|
;; |
||||
|
;; unsigned char dskyenable; |
||||
|
dskyenable equ clrramdk + byte |
||||
|
;; |
||||
|
;; unsigned char uartenable; |
||||
|
uartenable equ dskyenable + byte |
||||
|
;; |
||||
|
;; unsigned char vduenable; |
||||
|
vduenable equ uartenable + byte |
||||
|
;; |
||||
|
;; unsigned char fdenable; |
||||
|
fdenable equ vduenable + byte |
||||
|
;; |
||||
|
;; unsigned char fdtrace; |
||||
|
fdtrace equ fdenable + byte |
||||
|
;; |
||||
|
;; unsigned char fdmedia; |
||||
|
fdmedia equ fdtrace + byte |
||||
|
;; |
||||
|
;; unsigned char fdmediaalt; |
||||
|
fdmediaalt equ fdmedia + byte |
||||
|
;; |
||||
|
;; unsigned char fdmauto; |
||||
|
fdmauto equ fdmediaalt + byte |
||||
|
;; |
||||
|
;; unsigned char ideenable; |
||||
|
ideenable equ fdmauto + byte |
||||
|
;; |
||||
|
;; unsigned char idetrace; |
||||
|
idetrace equ ideenable + byte |
||||
|
;; |
||||
|
;; unsigned char ide8bit; |
||||
|
ide8bit equ idetrace + byte |
||||
|
;; |
||||
|
;; unsigned int idecapacity; |
||||
|
idecapacity equ ide8bit + byte |
||||
|
;; |
||||
|
;; unsigned char ppideenable; |
||||
|
ppideenable equ idecapacity + word |
||||
|
;; |
||||
|
;; unsigned char ppidetrace; |
||||
|
ppidetrace equ ppideenable + byte |
||||
|
;; |
||||
|
;; unsigned char ppide8bit; |
||||
|
ppide8bit equ ppidetrace + byte |
||||
|
;; |
||||
|
;; unsigned int ppidecapacity; |
||||
|
ppidecapacity equ ppide8bit + byte |
||||
|
;; |
||||
|
;; unsigned char ppideslow; |
||||
|
ppideslow equ ppidecapacity + word |
||||
|
;; |
||||
|
;; unsigned char boottype; |
||||
|
boottype equ ppideslow + byte |
||||
|
;; |
||||
|
;; unsigned char boottimeout; |
||||
|
boottimeout equ boottype + byte |
||||
|
;; |
||||
|
;; unsigned char bootdefault; |
||||
|
bootdefault equ boottimeout + byte |
||||
|
;; |
||||
|
;; unsigned int baudrate; |
||||
|
baudrate equ bootdefault + byte |
||||
|
;; |
||||
|
;; unsigned char ckdiv; |
||||
|
ckdiv equ baudrate + word |
||||
|
;; |
||||
|
;; unsigned char memwait; |
||||
|
memwait equ ckdiv + byte |
||||
|
;; |
||||
|
;; unsigned char iowait; |
||||
|
iowait equ memwait + byte |
||||
|
;; |
||||
|
;; unsigned char cntlb0; |
||||
|
cntlb0 equ iowait + byte |
||||
|
;; |
||||
|
;; unsigned char cntlb1; |
||||
|
cntlb1 equ cntlb0 + byte |
||||
|
;; |
||||
|
;; unsigned char sdenable; |
||||
|
sdenable equ cntlb1 + byte |
||||
|
;; |
||||
|
;; unsigned char sdtrace; |
||||
|
sdtrace equ sdenable + byte |
||||
|
;; |
||||
|
;; unsigned int sdcapacity; |
||||
|
sdcapacity equ sdtrace + byte |
||||
|
;; |
||||
|
;; unsigned char sdcsio; |
||||
|
sdcsio equ sdcapacity + word |
||||
|
;; |
||||
|
;; unsigned char sdcsiofast; |
||||
|
sdcsiofast equ sdcsio + byte |
||||
|
;; |
||||
|
;; unsigned char defiobyte; |
||||
|
defiobyte equ sdcsiofast + byte |
||||
|
;; |
||||
|
;; unsigned char termtype; |
||||
|
termtype equ defiobyte + byte |
||||
|
;; |
||||
|
;; unsigned int revision; |
||||
|
revision equ termtype + byte |
||||
|
;; |
||||
|
;; unsigned char prpsdenable; |
||||
|
prpsdenable equ revision + word |
||||
|
;; |
||||
|
;; unsigned char prpsdtrace; |
||||
|
prpsdtrace equ prpsdenable + byte |
||||
|
;; |
||||
|
;; unsigned int prpsdcapacity; |
||||
|
prpsdcapacity equ prpsdtrace + byte |
||||
|
;; |
||||
|
;; unsigned char prpconenable; |
||||
|
prpconenable equ prpsdcapacity + word |
||||
|
;; |
||||
|
;; unsigned int biossize; |
||||
|
biossize equ prpconenable + byte |
||||
|
;; |
||||
|
;; unsigned char pppenable; |
||||
|
pppenable equ biossize + word |
||||
|
;; |
||||
|
;; unsigned char pppsdenable; |
||||
|
pppsdenable equ pppenable + byte |
||||
|
;; |
||||
|
;; unsigned char pppsdtrace; |
||||
|
pppsdtrace equ pppsdenable + byte |
||||
|
;; |
||||
|
;; unsigned int pppsdcapacity; |
||||
|
pppsdcapacity equ pppsdtrace + byte |
||||
|
;; |
||||
|
;; unsigned char pppconenable; |
||||
|
pppconenable equ pppsdcapacity + word |
||||
|
;; |
||||
|
;; unsigned char prpenable; |
||||
|
prpenable equ pppconenable + byte |
||||
|
;; |
||||
|
;; }; |
||||
|
;; |
||||
|
;; /********************/ |
||||
|
;; /* eof - cnfgdata.h */ |
||||
|
;; /********************/ |
||||
|
|
||||
|
|
||||
@ -0,0 +1,80 @@ |
|||||
|
/* convert.c 7/11/2012 dwg -
|
||||
|
|
||||
|
The purpose of this program is similar to the CP/M dump program |
||||
|
except that in addition to the normal hexadecimal bytes, a field |
||||
|
of ascii bytes to the right are displayed as well. |
||||
|
|
||||
|
*/ |
||||
|
|
||||
|
#include "stdio.h" |
||||
|
|
||||
|
|
||||
|
char visible[256] = { |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 00 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 10 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 20 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 30 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 40 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 50 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 60 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, /* 70 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 80 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 90 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* A0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* B0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* C0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* D0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* E0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* F0 */ |
||||
|
}; |
||||
|
|
||||
|
#include "cvt2h.h" |
||||
|
|
||||
|
unsigned char sector[32767]; |
||||
|
|
||||
|
main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[]; |
||||
|
{ |
||||
|
int i,j; |
||||
|
int offset; |
||||
|
int result; |
||||
|
unsigned char byte; |
||||
|
char name[32]; |
||||
|
|
||||
|
|
||||
|
FILE * fd; |
||||
|
|
||||
|
for(i=0;i<sizeof(sector);i++) sector[i] = 0; |
||||
|
|
||||
|
banner("DUMP.COM"); |
||||
|
|
||||
|
/* cvt2h(0x0100,12*1024,"dumpcomh.h"); */ |
||||
|
|
||||
|
|
||||
|
if(1 == argc) { |
||||
|
printf("Sorry, no input file specified"); |
||||
|
exit(1); |
||||
|
} |
||||
|
|
||||
|
fd = fopen(argv[1],"r"); |
||||
|
if(NULL == fd) { |
||||
|
printf("Sorry, cannot open input file"); |
||||
|
exit(1); |
||||
|
} |
||||
|
|
||||
|
printf("Converting %s\n\n",argv[1]); |
||||
|
|
||||
|
result = fread(sector,32767,1,fd); |
||||
|
|
||||
|
for(i=32767;i>0;i--) { |
||||
|
if(sector[i] != 0) break; |
||||
|
} |
||||
|
|
||||
|
sprintf(name,"sect%04x.h",0); |
||||
|
cvt2h(sector,i,name); |
||||
|
fclose(fd); |
||||
|
|
||||
|
exit(0); |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,28 @@ |
|||||
|
rem coreapps.bat 2/15/2013 dwg - build all core apps using batch files |
||||
|
|
||||
|
if not exist access.cpm call access.bat |
||||
|
|
||||
|
if not exist cpmname.cpm call cpmname.bat |
||||
|
|
||||
|
if not exist findfile.cpm call findfile.bat |
||||
|
if not exist findfile.cpm pause |
||||
|
|
||||
|
if not exist map.cpm call map.bat |
||||
|
|
||||
|
if not exist meta.cpm call meta.bat |
||||
|
|
||||
|
if not exist multifmt.cpm call multifmt.bat |
||||
|
|
||||
|
if not exist rem.cpm call makerem.bat |
||||
|
|
||||
|
if not exist setlabel.cpm call setlabel.bat |
||||
|
|
||||
|
if not exist sysgen.cpm call sysgen.bat |
||||
|
|
||||
|
if not exist termtype.cpm call termtype.bat |
||||
|
|
||||
|
if not exist view.cpm call view.bat |
||||
|
|
||||
|
rem All Core Apps Built |
||||
|
dir *.cpm /w |
||||
|
|
||||
@ -0,0 +1,38 @@ |
|||||
|
rem coreapps.bat 2/15/2013 dwg - build all core apps using batch files |
||||
|
|
||||
|
if not exist access.cpm call access.bat |
||||
|
if not exist access.cpm pause |
||||
|
|
||||
|
if not exist cpmname.cpm call cpmname.bat |
||||
|
if not exist cpmname.cpm pause |
||||
|
|
||||
|
if not exist findfile.cpm call findfile.bat |
||||
|
if not exist findfile.cpm pause |
||||
|
|
||||
|
if not exist map.cpm call map.bat |
||||
|
if not exist map.cpm pause |
||||
|
|
||||
|
if not exist meta.cpm call meta.bat |
||||
|
if not exist meta.cpm pause |
||||
|
|
||||
|
if not exist multifmt.cpm call multifmt.bat |
||||
|
if not exist multifmt.cpm pause |
||||
|
|
||||
|
if not exist rem.cpm call makerem.bat |
||||
|
if not exist rem.cpm pause |
||||
|
|
||||
|
if not exist setlabel.cpm call setlabel.bat |
||||
|
if not exist setlabel.cpm pause |
||||
|
|
||||
|
if not exist sysgen.cpm call sysgen.bat |
||||
|
if not exist sysgen.cpm pause |
||||
|
|
||||
|
if not exist termtype.cpm call termtype.bat |
||||
|
if not exist termtype.cpm pause |
||||
|
|
||||
|
if not exist view.cpm call view.bat |
||||
|
if not exist view.cpm pause |
||||
|
|
||||
|
rem All Core Apps Built |
||||
|
dir *.cpm /w |
||||
|
|
||||
@ -0,0 +1,71 @@ |
|||||
|
e:rmac access |
||||
|
e:rmac banner |
||||
|
e:rmac findfile |
||||
|
e:rmac hbios |
||||
|
e:rmac identity |
||||
|
e:rmac labelib |
||||
|
e:rmac memory |
||||
|
e:rmac metadata |
||||
|
e:rmac printers |
||||
|
e:rmac rem |
||||
|
e:rmac setlabel |
||||
|
e:rmac terminal |
||||
|
as asmiface |
||||
|
as bdoscall |
||||
|
as bioscall |
||||
|
cc cbanner |
||||
|
as cbanner |
||||
|
cc clogical |
||||
|
as clogical |
||||
|
cc cmemory |
||||
|
as cmemory |
||||
|
cc cnamept1 |
||||
|
as cnamept1 |
||||
|
cc cnamept2 |
||||
|
as cnamept2 |
||||
|
cc cnamept3 |
||||
|
as cnamept3 |
||||
|
cc cnamept4 |
||||
|
as cnamept4 |
||||
|
cc cpmname |
||||
|
as cpmname |
||||
|
cc ctermcap |
||||
|
as ctermcap |
||||
|
as diagnose |
||||
|
cc map |
||||
|
as map |
||||
|
cc meta |
||||
|
as meta |
||||
|
cc multifmt |
||||
|
as multifmt |
||||
|
cc sectorio |
||||
|
as sectorio |
||||
|
cc sysgen |
||||
|
as sysgen |
||||
|
cc termtype |
||||
|
as termtype |
||||
|
cc view |
||||
|
as view |
||||
|
e:link access,memory,banner,printers |
||||
|
ln cpmname.o ctermcap.o cnamept1.o cnamept2.o cnamept3.o cnamept4.o cmemory.o diagnose.o bioscall.o bdoscall.o c.lib |
||||
|
e:link findfile,hbios,identity,banner,memory,printers,terminal |
||||
|
ln map.o asmiface.o bioscall.o bdoscall.o clogical.o diagnose.o ctermcap.o c.lib |
||||
|
ln meta.o asmiface.o bioscall.o bdoscall.o cbanner.o clogical.o diagnose.o ctermcap.o sectorio.o c.lib |
||||
|
ln multifmt.o asmiface.o bioscall.o bdoscall.o clogical.o cmemory.o sectorio.o diagnose.o ctermcap.o c.lib |
||||
|
e:link rem |
||||
|
e:link setlabel,labelib,identity,printers,banner,metadata,memory |
||||
|
ln sysgen.o sectorio.o ctermcap.o diagnose.o bdoscall.o bioscall.o c.lib |
||||
|
ln termtype.o asmiface.o ctermcap.o diagnose.o c.lib |
||||
|
ln view.o ctermcap.o diagnose.o bdoscall.o bioscall.o c.lib |
||||
|
e:access access.com |
||||
|
e:access cpmname.com |
||||
|
e:access findfile.com |
||||
|
e:access map.com |
||||
|
e:access meta.com |
||||
|
e:access multifmt.com |
||||
|
e:access rem.com |
||||
|
e:access setlabel.com |
||||
|
e:access sysgen.com |
||||
|
e:access termtype.com |
||||
|
e:access view.com |
||||
|
|
||||
@ -0,0 +1,82 @@ |
|||||
|
; cpmappl.lib 2/10/2012 dwg - begin 1.6 development |
||||
|
; cpmappl.lib 2/04/2012 dwg - fix typo mov becomes mvi |
||||
|
; cpmappl.lib 2/ 2/2012 dwg - initial version |
||||
|
|
||||
|
; |
||||
|
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3. |
||||
|
; |
||||
|
; This file is part of NuBiosDWG and is free software: you can |
||||
|
; redistribute it and/or modify it under the terms of the GNU |
||||
|
; General Public License as published by the Free Software Foundation, |
||||
|
; either version 3 of the License, or (at your option) any later version. |
||||
|
; This file is distributed in the hope that it will be useful, |
||||
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
; GNU General Public License for more details. |
||||
|
; You should have received a copy of the GNU General Public License |
||||
|
; along with it. If not, see <http://www.gnu.org/licenses/>. |
||||
|
; |
||||
|
|
||||
|
do$start macro |
||||
|
|
||||
|
start: jmp begin |
||||
|
|
||||
|
public hexref |
||||
|
hexref db '0123456789ABCDEF' |
||||
|
|
||||
|
public id$sig,id$rmj,id$rmn,id$rup,id$rtp,id$mon,id$day,id$yr |
||||
|
id$sig db 'ID' |
||||
|
id$rmj db A$RMJ |
||||
|
id$rmn db A$RMN |
||||
|
id$rup db A$RUP |
||||
|
id$rtp db A$RTP |
||||
|
id$mon db A$MONTH |
||||
|
id$day db A$DAY |
||||
|
id$yr dw A$YEAR |
||||
|
id$argv dw argv |
||||
|
db 0e5h |
||||
|
|
||||
|
|
||||
|
public pre$stk |
||||
|
pre$stk ds 2 |
||||
|
|
||||
|
public begin |
||||
|
begin: lxi h,0 |
||||
|
dad sp |
||||
|
shld pre$stk |
||||
|
lxi sp,stack$top |
||||
|
nop |
||||
|
endm |
||||
|
|
||||
|
|
||||
|
;--------------------------------- |
||||
|
|
||||
|
|
||||
|
do$end macro |
||||
|
lhld pre$stk |
||||
|
sphl |
||||
|
|
||||
|
mvi c,13 |
||||
|
call BDOS |
||||
|
|
||||
|
ret |
||||
|
ds stack$size |
||||
|
stack$top: |
||||
|
|
||||
|
endm |
||||
|
|
||||
|
movfcb macro destn,source |
||||
|
lxi d,destn |
||||
|
lxi h,source |
||||
|
lxi b,LENFCB |
||||
|
ldir |
||||
|
endm |
||||
|
|
||||
|
copyfcb macro fcbname,source |
||||
|
local around |
||||
|
jmp around |
||||
|
fcbname ds 32 |
||||
|
around: |
||||
|
endm |
||||
|
|
||||
|
|
||||
@ -0,0 +1,174 @@ |
|||||
|
; cpmbdos.lib 1/19/2012 dwg - add READ$CON$BUF (10) |
||||
|
; cpmbdos.lib 1/15/2012 dwg - add more functions |
||||
|
|
||||
|
; |
||||
|
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3. |
||||
|
; |
||||
|
; This file is part of NuBiosDWG and is free software: you can |
||||
|
; redistribute it and/or modify it under the terms of the GNU |
||||
|
; General Public License as published by the Free Software Foundation, |
||||
|
; either version 3 of the License, or (at your option) any later version. |
||||
|
; This file is distributed in the hope that it will be useful, |
||||
|
; but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
; GNU General Public License for more details. |
||||
|
; You should have received a copy of the GNU General Public License |
||||
|
; along with it. If not, see <http://www.gnu.org/licenses/>. |
||||
|
; |
||||
|
|
||||
|
; BDOS function codes |
||||
|
|
||||
|
TERMCPM equ 0 ; return to command line |
||||
|
CREAD equ 1 ; read a character |
||||
|
CWRITE equ 2 ; write a character |
||||
|
PRINTSTR equ 9 ; print string |
||||
|
READ$CON$BUF equ 10 ; read console buffer |
||||
|
RETVERNO equ 12 ; return version number |
||||
|
DSKRESET equ 13 ; disk reset |
||||
|
SELDSK equ 14 ; select disk |
||||
|
FOPEN equ 15 ; open file |
||||
|
FCLOSE equ 16 ; close file |
||||
|
FDELETE equ 19 ; delete file |
||||
|
READSEQ equ 20 ; read sequential |
||||
|
WRITESEQ equ 21 ; write sequential |
||||
|
FMAKE equ 22 ; make file |
||||
|
FRENAME equ 23 ; rename file |
||||
|
RETCURR equ 25 ; return current disk, 0=a |
||||
|
SETDMA equ 26 ; set dma address |
||||
|
WRITERAND equ 34 ; write random record |
||||
|
FCOMPSIZE equ 35 ; compute file size |
||||
|
SETRANDREC equ 36 ; set random record |
||||
|
RESETDRIVE equ 37 ; reset drive |
||||
|
WRITERANDZF equ 40 ; write random with zero fill |
||||
|
|
||||
|
OEMID equ 0E5h |
||||
|
|
||||
|
; File Control Block |
||||
|
DR$OFS equ 0 |
||||
|
F1$OFS equ DR$OFS+BYTESIZE |
||||
|
F2$OFS equ F1$OFS+BYTESIZE |
||||
|
F3$OFS equ F2$OFS+BYTESIZE |
||||
|
F4$OFS equ F3$OFS+BYTESIZE |
||||
|
F5$OFS equ F4$OFS+BYTESIZE |
||||
|
F6$OFS equ F5$OFS+BYTESIZE |
||||
|
F7$OFS equ F6$OFS+BYTESIZE |
||||
|
F8$OFS equ F7$OFS+BYTESIZE |
||||
|
T1$OFS equ F8$OFS+BYTESIZE |
||||
|
T2$OFS equ T1$OFS+BYTESIZE |
||||
|
T3$OFS equ T2$OFS+BYTESIZE |
||||
|
EX$OFS equ T3$OFS+BYTESIZE |
||||
|
S1$OFS equ EX$OFS+BYTESIZE |
||||
|
S2$OFS equ S1$OFS+BYTESIZE |
||||
|
RC$OFS equ S2$OFS+BYTESIZE |
||||
|
D0$OFS equ RC$OFS+BYTESIZE |
||||
|
CR$OFS equ DR$OFS+32 |
||||
|
R0$OFS equ CR$OFS+BYTESIZE |
||||
|
R1$OFS equ R0$OFS+BYTESIZE |
||||
|
R2$OFS equ R1$OFS+BYTESIZE |
||||
|
FCB$LEN equ R2$OFS+BYTESIZE |
||||
|
|
||||
|
; Memory Locations |
||||
|
|
||||
|
BDOS equ 5 ; entry point fo BDOS function calls |
||||
|
PRIFCB equ 5Ch ; primary file control block address |
||||
|
SECFCB equ 6Ch ; secondary file control block address |
||||
|
LENFCB equ 32 ; length of file control block |
||||
|
DEFBUF equ 80h ; address of default buffer |
||||
|
|
||||
|
|
||||
|
EXIT macro |
||||
|
mvi c,TERMCPM |
||||
|
call BDOS |
||||
|
endm |
||||
|
|
||||
|
conin macro |
||||
|
push b ; save context B&C |
||||
|
push d ; save context D&E |
||||
|
push h ; save context H&L |
||||
|
mvi c,CREAD ; set up for console input BDOS call |
||||
|
call BDOS ; call BDOS function entry point |
||||
|
pop h ; restore context H&L |
||||
|
pop d ; restore context D&E |
||||
|
pop b ; restore context B&C |
||||
|
endm |
||||
|
|
||||
|
conout macro char |
||||
|
enter ; save all context regs |
||||
|
mvi c,CWRITE ; set for console output BDOS call |
||||
|
mvi e,char ; place output character in E as required |
||||
|
call bdos ; call BDOS function entry point |
||||
|
leave ; restore all context regs |
||||
|
endm |
||||
|
|
||||
|
conouta macro |
||||
|
enter |
||||
|
mvi c,CWRITE |
||||
|
mov e,a |
||||
|
call bdos |
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
PRINT macro addr |
||||
|
enter |
||||
|
mvi c,PRINTSTR |
||||
|
lxi d,addr |
||||
|
call BDOS |
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
PTRPRT macro addr |
||||
|
enter ; save all context registers |
||||
|
lxi h,addr ; load the address parameter into H&L |
||||
|
mov e,m ; pick up LO byte of new pointer |
||||
|
inx h ; bump index register |
||||
|
mov d,m ; pick up HO byte of new pointer |
||||
|
mvi c,PRINTSTR ; assembled pointer used for printstring call |
||||
|
call BDOS |
||||
|
leave ; restore all context registers |
||||
|
endm |
||||
|
|
||||
|
|
||||
|
movfcb macro destn,source |
||||
|
lxi d,destn |
||||
|
lxi h,source |
||||
|
lxi b,LENFCB |
||||
|
ldir |
||||
|
endm |
||||
|
|
||||
|
copyfcb macro fcbname,source |
||||
|
local around |
||||
|
jmp around |
||||
|
fcbname ds 32 |
||||
|
around: |
||||
|
endm |
||||
|
|
||||
|
printf macro parmdata |
||||
|
local around |
||||
|
local string |
||||
|
print string |
||||
|
jmp around |
||||
|
string db parmdata |
||||
|
db '$' |
||||
|
around: |
||||
|
endm |
||||
|
|
||||
|
printmsg macro parmdata |
||||
|
enter |
||||
|
local around |
||||
|
local string |
||||
|
print string |
||||
|
jmp around |
||||
|
string db parmdata |
||||
|
db '$' |
||||
|
around: |
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
newfcb macro fcbname,drive,filename |
||||
|
fcbname db drive,filename |
||||
|
db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
endm |
||||
|
|
||||
|
|
||||
|
; eof - cpmbdos.lib |
||||
|
|
||||
@ -0,0 +1,137 @@ |
|||||
|
; cpmbios.lib 2/20/2012 dwg - get$off, get$drm, and get$spt need c=drvnum |
||||
|
; cpmbios.lib 12/26/2011 dwg - |
||||
|
|
||||
|
; Copyright (C) 2011-2012 Douglas Goodall All Rights Reserved. |
||||
|
; For non-commercial use by N8VEM community |
||||
|
|
||||
|
XLT$OFS equ 0 ; Translate Table |
||||
|
RV1$OFS equ XLT$OFS+WORDSIZE ; Reserved Field 1 |
||||
|
RV2$OFS equ RV1$OFS+WORDSIZE ; Reserved Field 2 |
||||
|
RV3$OFS equ RV2$OFS+WORDSIZE ; Reserved Field 3 |
||||
|
DBF$OFS equ RV3$OFS+WORDSIZE ; Directory Buffer |
||||
|
DPB$OFS equ DBF$OFS+WORDSIZE ; Diskk Parameter Block Pointer |
||||
|
CSV$OFS equ DPB$OFS+WORDSIZE ; Checksum Vector |
||||
|
ALV$OFS equ CSV$OFS+WORDSIZE ; Allocation Vector |
||||
|
DPH$LEN equ ALV$OFS+WORDSIZE ; size of normal DPH |
||||
|
LU1$OFS equ ALV$OFS+WORDSIZE ; Logical Unit Signature Byte 1 'L' |
||||
|
LU2$OFS equ LU1$OFS+BYTESIZE ; Logical Unit Signature Byte 2 'U' |
||||
|
CUR$OFS equ LU2$OFS+BYTESIZE ; Current Logical Unit (default) |
||||
|
NLU$OFS equ CUR$OFS+WORDSIZE ; Number of LU's (capacity/9) |
||||
|
|
||||
|
|
||||
|
SPT$OFS equ 0 ; Sectors Per Track |
||||
|
BSH$OFS equ SPT$OFS+WORDSIZE ; Block Shift Factor |
||||
|
BLM$OFS equ BSH$OFS+BYTESIZE ; Data Allocation Block Mask |
||||
|
EXM$OFS equ BLM$OFS+BYTESIZE ; Extend Mask |
||||
|
DSM$OFS equ EXM$OFS+BYTESIZE ; Disk Size Max |
||||
|
DRM$OFS equ DSM$OFS+WORDSIZE ; Number of Directory Entries |
||||
|
AL0$OFS equ DRM$OFS+WORDSIZE ; Allocation bitmask for directories |
||||
|
AL1$OFS equ AL0$OFS+BYTESIZE ; Allocation bitmask for directories |
||||
|
CKS$OFS equ AL1$OFS+BYTESIZE ; Size of Directory Check Vector |
||||
|
OFF$OFS equ CKS$OFS+WORDSIZE ; Number of Reserved Tracks |
||||
|
DPB$LEN equ OFF$OFS+WORDSIZE ; Disk Parameter Block Length |
||||
|
|
||||
|
; BIOS Memory Locations |
||||
|
BIBOOT equ 0E600h |
||||
|
BIWBOOT equ 0E603h |
||||
|
BICONST equ 0E606h |
||||
|
BICONIN equ 0E609h |
||||
|
BICONOUT equ 0E60Ch |
||||
|
BILIST equ 0E60Fh |
||||
|
BIPUNCH equ 0E612h |
||||
|
BIREADER equ 0E615h |
||||
|
BIHOME equ 0E618h |
||||
|
BISELDSK equ 0E61Bh |
||||
|
BISETTRK equ 0E61Eh |
||||
|
BISETSEC equ 0E621h |
||||
|
BISETDMA equ 0E624h |
||||
|
BIREAD equ 0E627h |
||||
|
BIWRITE equ 0E62Ah |
||||
|
BILISTST equ 0E62Dh |
||||
|
BISECTRN equ 0E630h |
||||
|
|
||||
|
; These are rel zero drive number for talking to the BIOS |
||||
|
; BDOS typically uses rel one drive codes |
||||
|
|
||||
|
BIDRVA equ 0 |
||||
|
BIDRVB equ 1 |
||||
|
BIDRVC equ 2 |
||||
|
BIDRVD equ 3 |
||||
|
BIDRVE equ 4 |
||||
|
BIDRVF equ 5 |
||||
|
BIDRVG equ 6 |
||||
|
BIDRVH equ 7 |
||||
|
|
||||
|
; On entry: c=drive number |
||||
|
get$spt macro |
||||
|
push psw |
||||
|
push b |
||||
|
push d |
||||
|
call BISELDSK |
||||
|
lxi d,DPB$OFS |
||||
|
dad d |
||||
|
mov e,m |
||||
|
inx h |
||||
|
mov d,m |
||||
|
xchg |
||||
|
lxi d,SPT$OFS |
||||
|
dad d |
||||
|
mov e,m |
||||
|
inx h |
||||
|
mov d,m |
||||
|
xchg |
||||
|
pop d |
||||
|
pop b |
||||
|
pop psw |
||||
|
endm |
||||
|
|
||||
|
; On entry: c=drive number |
||||
|
get$drm macro |
||||
|
push psw |
||||
|
push b |
||||
|
push d |
||||
|
call BISELDSK |
||||
|
lxi d,DPB$OFS |
||||
|
dad d |
||||
|
mov e,m |
||||
|
inx h |
||||
|
mov d,m |
||||
|
xchg |
||||
|
lxi d,DRM$OFS |
||||
|
dad d |
||||
|
mov e,m |
||||
|
inx h |
||||
|
mov d,m |
||||
|
xchg |
||||
|
pop d |
||||
|
pop b |
||||
|
pop psw |
||||
|
endm |
||||
|
|
||||
|
; On entry, c=drive number |
||||
|
get$off macro |
||||
|
push psw |
||||
|
push b |
||||
|
push d |
||||
|
call BISELDSK |
||||
|
lxi d,DPB$OFS |
||||
|
dad d |
||||
|
mov e,m |
||||
|
inx h |
||||
|
mov d,m |
||||
|
xchg |
||||
|
lxi d,OFF$OFS |
||||
|
dad d |
||||
|
mov e,m |
||||
|
inx h |
||||
|
mov d,m |
||||
|
xchg |
||||
|
pop d |
||||
|
pop b |
||||
|
pop psw |
||||
|
endm |
||||
|
|
||||
|
|
||||
|
|
||||
|
; eof - cpmbios.lib |
||||
|
|
||||
@ -0,0 +1,164 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global pINFOLIS_,2 |
||||
|
global pSYSCFG_,2 |
||||
|
global line_,2 |
||||
|
PUBLIC main_ |
||||
|
main_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,5 |
||||
|
SHLD line_ |
||||
|
LXI H,-4096 |
||||
|
SHLD hregbc_ |
||||
|
LXI H,-16384 |
||||
|
SHLD hregde_ |
||||
|
CALL diagnose_ |
||||
|
LXI H,-16384 |
||||
|
SHLD pSYSCFG_ |
||||
|
LHLD pSYSCFG_ |
||||
|
LXI D,68 |
||||
|
DAD D |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
CALL crtinit_ |
||||
|
POP D |
||||
|
CALL crtclr_ |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
CALL crtlc_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,3 |
||||
|
PUSH H |
||||
|
LXI H,2 |
||||
|
PUSH H |
||||
|
LXI H,2013 |
||||
|
PUSH H |
||||
|
LXI H,16 |
||||
|
PUSH H |
||||
|
LXI H,1 |
||||
|
PUSH H |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,16 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
LXI H,.1+36 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
CALL pager_ |
||||
|
CALL pager_ |
||||
|
LXI H,-6596 |
||||
|
SHLD ireghl_ |
||||
|
CALL bioscall_ |
||||
|
LHLD ireghl_ |
||||
|
SHLD pINFOLIS_ |
||||
|
LXI H,.1+72 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LHLD pINFOLIS_ |
||||
|
INX H |
||||
|
INX H |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
SHLD dregde_ |
||||
|
LXI H,9 |
||||
|
SHLD dregbc_ |
||||
|
CALL bdoscall_ |
||||
|
CALL pager_ |
||||
|
LXI H,-4096 |
||||
|
SHLD hregbc_ |
||||
|
LXI H,-16384 |
||||
|
SHLD hregde_ |
||||
|
CALL diagnose_ |
||||
|
LXI H,-16384 |
||||
|
SHLD pSYSCFG_ |
||||
|
LHLD pSYSCFG_ |
||||
|
PUSH H |
||||
|
CALL cnamept1_ |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
PUSH H |
||||
|
CALL cnamept2_ |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
PUSH H |
||||
|
CALL cnamept3_ |
||||
|
POP D |
||||
|
LHLD pSYSCFG_ |
||||
|
PUSH H |
||||
|
CALL cnamept4_ |
||||
|
POP D |
||||
|
RET |
||||
|
.2 EQU -7 |
||||
|
.1: |
||||
|
DB 67,80,77,78,65,77,69,46,67,79,77,32,37,100,47 |
||||
|
DB 37,100,47,37,100,32,118,37,100,46,37,100,46,37,100 |
||||
|
DB 32,40,37,100,41,0,32,100,119,103,32,45,32,68,105 |
||||
|
DB 115,112,108,97,121,32,83,121,115,116,101,109,32,67,111 |
||||
|
DB 110,102,105,103,117,114,97,116,105,111,110,0,112,73,78 |
||||
|
DB 70,79,76,73,83,84,45,62,98,97,110,112,116,114,32 |
||||
|
DB 61,61,62,32,0 |
||||
|
PUBLIC pager_ |
||||
|
pager_: lxi d,.4 |
||||
|
call csave |
||||
|
LHLD line_ |
||||
|
INX H |
||||
|
SHLD line_ |
||||
|
LXI H,.3+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,24 |
||||
|
XCHG |
||||
|
LHLD line_ |
||||
|
CALL .eq |
||||
|
JZ .5 |
||||
|
LXI H,.3+2 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
LXI H,1 |
||||
|
SHLD dregbc_ |
||||
|
CALL bdoscall_ |
||||
|
LXI H,1 |
||||
|
SHLD line_ |
||||
|
.5: |
||||
|
RET |
||||
|
.4 EQU 0 |
||||
|
.3: |
||||
|
DB 10,0,32,32,32,32,32,112,114,101,115,115,32,97,110 |
||||
|
DB 121,32,107,101,121,32,116,111,32,99,111,110,116,105,110 |
||||
|
DB 117,101,0 |
||||
|
extrn printf_ |
||||
|
extrn crtlc_ |
||||
|
extrn crtclr_ |
||||
|
extrn crtinit_ |
||||
|
extrn cnamept4_ |
||||
|
extrn cnamept3_ |
||||
|
extrn cnamept2_ |
||||
|
extrn cnamept1_ |
||||
|
extrn diagnose_ |
||||
|
extrn hregde_ |
||||
|
extrn hregbc_ |
||||
|
extrn bdoscall_ |
||||
|
extrn dregde_ |
||||
|
extrn dregbc_ |
||||
|
extrn bioscall_ |
||||
|
extrn ireghl_ |
||||
|
extrn .eq |
||||
|
END |
||||
|
|
||||
@ -0,0 +1,57 @@ |
|||||
|
rem cpmname.sub 9/5/2012 dwg - build cpmname from sources |
||||
|
|
||||
|
if not exist cpmname.asm erase cpmname.cpm |
||||
|
if not exist cpmname.asm erase cpmname.o |
||||
|
if not exist cpmname.asm z80mu cc cpmname |
||||
|
if not exist cpmname.o erase cpmname.cpm |
||||
|
if not exist cpmname.o z80mu as cpmname |
||||
|
|
||||
|
if not exist cnamept1.asm erase cpmname.cpm |
||||
|
if not exist cnamept1.asm erase cnamept1.o |
||||
|
if not exist cnamept1.asm z80mu cc cnamept1 |
||||
|
if not exist cnamept1.o erase cpmname.cpm |
||||
|
if not exist cnamept1.o z80mu as cnamept1 |
||||
|
|
||||
|
if not exist cnamept2.asm erase cpmname.cpm |
||||
|
if not exist cnamept2.asm erase cnamept2.o |
||||
|
if not exist cnamept2.asm z80mu cc cnamept2 |
||||
|
if not exist cnamept2.o erase cpmname.cpm |
||||
|
if not exist cnamept2.o z80mu as cnamept2 |
||||
|
|
||||
|
if not exist cnamept3.asm erase cpmname.cpm |
||||
|
if not exist cnamept3.asm erase cnamept3.o |
||||
|
if not exist cnamept3.asm z80mu cc cnamept3 |
||||
|
if not exist cnamept3.o erase cpmname.cpm |
||||
|
if not exist cnamept3.o z80mu as cnamept3 |
||||
|
|
||||
|
if not exist cnamept4.asm erase cpmname.cpm |
||||
|
if not exist cnamept4.asm erase cnamept4.o |
||||
|
if not exist cnamept4.asm z80mu cc cnamept4 |
||||
|
if not exist cnamept4.o erase cpmname.cpm |
||||
|
if not exist cnamept4.o z80mu as cnamept4 |
||||
|
|
||||
|
if not exist bdoscall.o erase cpmname.cpm |
||||
|
if not exist bdoscall.o z80mu as bdoscall |
||||
|
|
||||
|
if not exist bioscall.o erase cpmname.cpm |
||||
|
if not exist bioscall.o z80mu as bioscall |
||||
|
|
||||
|
if not exist cmemory.asm erase cpmname.cpm |
||||
|
if not exist cmemory.asm erase cmemory.o |
||||
|
if not exist cmemory.asm z80mu cc cmemory |
||||
|
if not exist cmemory.o erase cpmname.cpm |
||||
|
if not exist cmemory.o z80mu as cmemory |
||||
|
|
||||
|
if not exist ctermcap.asm erase cpmname.cpm |
||||
|
if not exist ctermcap.asm erase ctermcap.o |
||||
|
if not exist ctermcap.asm z80mu cc ctermcap |
||||
|
if not exist ctermcap.o erase cpmname.cpm |
||||
|
if not exist ctermcap.o z80mu as ctermcap |
||||
|
|
||||
|
if not exist diagnose.o erase cpmname.cpm |
||||
|
if not exist diagnose.o z80mu as diagnose |
||||
|
|
||||
|
if not exist cpmname.cpm z80mu ln cpmname.o ctermcap.o cnamept1.o cnamept2.o cnamept3.o cnamept4.o cmemory.o diagnose.o bioscall.o bdoscall.o c.lib |
||||
|
if not exist cpmanme.cpm rename cpmname.com cpmname.cpm |
||||
|
|
||||
|
dir cpmname.cpm |
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,20 @@ |
|||||
|
e:rem cpmname.sub 9/5/2012 dwg - build cpmname from sources |
||||
|
cc cpmname |
||||
|
as cpmname |
||||
|
cc cnamept1 |
||||
|
as cnamept1 |
||||
|
cc cnamept2 |
||||
|
as cnamept2 |
||||
|
cc cnamept3 |
||||
|
as cnamept3 |
||||
|
cc cnamept4 |
||||
|
as cnamept4 |
||||
|
as bdoscall |
||||
|
as bioscall |
||||
|
cc cmemory |
||||
|
as cmemory |
||||
|
cc ctermcap |
||||
|
as ctermcap |
||||
|
as diagnose |
||||
|
ln cpmname.o ctermcap.o cnamept1.o cnamept2.o cnamept3.o cnamept4.o cmemory.o diagnose.o bioscall.o bdoscall.o c.lib |
||||
|
|
||||
@ -0,0 +1,334 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
global termtype_,1 |
||||
|
DSEG |
||||
|
public wy50row_ |
||||
|
wy50row_: |
||||
|
DB 32 |
||||
|
DB 33 |
||||
|
DB 34 |
||||
|
DB 35 |
||||
|
DB 36 |
||||
|
DB 37 |
||||
|
DB 38 |
||||
|
DB 39 |
||||
|
DB 40 |
||||
|
DB 41 |
||||
|
DB 42 |
||||
|
DB 43 |
||||
|
DB 44 |
||||
|
DB 45 |
||||
|
DB 46 |
||||
|
DB 47 |
||||
|
DB 48 |
||||
|
DB 49 |
||||
|
DB 50 |
||||
|
DB 51 |
||||
|
DB 52 |
||||
|
DB 53 |
||||
|
DB 54 |
||||
|
DB 55 |
||||
|
CSEG |
||||
|
DSEG |
||||
|
public wy50col_ |
||||
|
wy50col_: |
||||
|
DB 32 |
||||
|
DB 33 |
||||
|
DB 34 |
||||
|
DB 35 |
||||
|
DB 36 |
||||
|
DB 37 |
||||
|
DB 38 |
||||
|
DB 39 |
||||
|
DB 40 |
||||
|
DB 41 |
||||
|
DB 42 |
||||
|
DB 43 |
||||
|
DB 44 |
||||
|
DB 45 |
||||
|
DB 46 |
||||
|
DB 47 |
||||
|
DB 48 |
||||
|
DB 49 |
||||
|
DB 50 |
||||
|
DB 51 |
||||
|
DB 52 |
||||
|
DB 53 |
||||
|
DB 54 |
||||
|
DB 55 |
||||
|
DB 56 |
||||
|
DB 57 |
||||
|
DB 58 |
||||
|
DB 59 |
||||
|
DB 60 |
||||
|
DB 61 |
||||
|
DB 62 |
||||
|
DB 63 |
||||
|
DB 64 |
||||
|
DB 65 |
||||
|
DB 66 |
||||
|
DB 67 |
||||
|
DB 68 |
||||
|
DB 69 |
||||
|
DB 70 |
||||
|
DB 71 |
||||
|
DB 72 |
||||
|
DB 73 |
||||
|
DB 74 |
||||
|
DB 75 |
||||
|
DB 76 |
||||
|
DB 77 |
||||
|
DB 78 |
||||
|
DB 79 |
||||
|
DB 80 |
||||
|
DB 81 |
||||
|
DB 82 |
||||
|
DB 83 |
||||
|
DB 84 |
||||
|
DB 85 |
||||
|
DB 86 |
||||
|
DB 87 |
||||
|
DB 88 |
||||
|
DB 89 |
||||
|
DB 90 |
||||
|
DB 91 |
||||
|
DB 92 |
||||
|
DB 93 |
||||
|
DB 94 |
||||
|
DB 95 |
||||
|
DB 96 |
||||
|
DB 97 |
||||
|
DB 98 |
||||
|
DB 99 |
||||
|
DB 100 |
||||
|
DB 101 |
||||
|
DB 102 |
||||
|
DB 103 |
||||
|
DB 104 |
||||
|
DB 105 |
||||
|
DB 106 |
||||
|
DB 107 |
||||
|
DB 108 |
||||
|
DB 109 |
||||
|
DB 110 |
||||
|
DB 111 |
||||
|
CSEG |
||||
|
PUBLIC crtinit_ |
||||
|
crtinit_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
XCHG |
||||
|
MOV A,L |
||||
|
STA termtype_ |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
PUBLIC crtclr_ |
||||
|
crtclr_: lxi d,.3 |
||||
|
call csave |
||||
|
LDA termtype_ |
||||
|
MOV L,A |
||||
|
MVI H,0 |
||||
|
JMP .4 |
||||
|
.6: |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,2-.3 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .8 |
||||
|
.7: |
||||
|
LXI H,2-.3 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.8: |
||||
|
LXI H,2-.3 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,43 |
||||
|
CALL .lt |
||||
|
JZ .9 |
||||
|
LXI H,10 |
||||
|
PUSH H |
||||
|
LXI H,13 |
||||
|
PUSH H |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .7 |
||||
|
.9: |
||||
|
JMP .5 |
||||
|
.10: |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.1+5 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.11: |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.1+11 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.12: |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.1+15 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .5 |
||||
|
.4: |
||||
|
CALL .swt |
||||
|
DW 4 |
||||
|
DW 0,.6 |
||||
|
DW 1,.10 |
||||
|
DW 2,.11 |
||||
|
DW 3,.12 |
||||
|
DW .5 |
||||
|
.5: |
||||
|
RET |
||||
|
.3 EQU -2 |
||||
|
.1: |
||||
|
DB 37,99,37,99,0,37,99,91,50,74,0,37,99,43,0 |
||||
|
DB 37,99,74,37,99,72,0 |
||||
|
PUBLIC crtlc_ |
||||
|
crtlc_: lxi d,.14 |
||||
|
call csave |
||||
|
LDA termtype_ |
||||
|
MOV L,A |
||||
|
MVI H,0 |
||||
|
JMP .15 |
||||
|
.17: |
||||
|
JMP .16 |
||||
|
.18: |
||||
|
LXI H,102 |
||||
|
PUSH H |
||||
|
LXI H,12-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,12-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.13+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,10 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
JMP .16 |
||||
|
.19: |
||||
|
LXI H,10-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,wy50col_ |
||||
|
DAD D |
||||
|
DCX H |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,10-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,wy50row_ |
||||
|
DAD D |
||||
|
DCX H |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.13+11 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
JMP .16 |
||||
|
.20: |
||||
|
LXI H,10-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,32 |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
LXI H,10-.14 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,32 |
||||
|
DAD D |
||||
|
PUSH H |
||||
|
LXI H,27 |
||||
|
PUSH H |
||||
|
LXI H,.13+19 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
XCHG |
||||
|
LXI H,8 |
||||
|
DAD SP |
||||
|
SPHL |
||||
|
JMP .16 |
||||
|
.15: |
||||
|
CALL .swt |
||||
|
DW 4 |
||||
|
DW 0,.17 |
||||
|
DW 1,.18 |
||||
|
DW 2,.19 |
||||
|
DW 3,.20 |
||||
|
DW .16 |
||||
|
.16: |
||||
|
RET |
||||
|
.14 EQU -2 |
||||
|
.13: |
||||
|
DB 37,99,91,37,100,59,37,100,37,99,0,37,99,61,37 |
||||
|
DB 99,37,99,0,37,99,89,37,99,37,99,0 |
||||
|
extrn printf_ |
||||
|
extrn .lt |
||||
|
END |
||||
|
|
||||
@ -1,6 +1,6 @@ |
|||||
/* ctermcap.h 3/11/2012 dwg - declarations for termal capability */ |
/* ctermcap.h 3/11/2012 dwg - declarations for termal capability */ |
||||
|
|
||||
extern crtinit(); |
|
||||
extern crtclr(); |
|
||||
extern crtlc(); |
|
||||
|
|
||||
|
extern crtinit(); /* void crtinit(char termtype); */ |
||||
|
extern crtclr(); /* void crtclr(void); */ |
||||
|
extern crtlc(); /* void crtlc(char line,char column); */ |
||||
|
|
||||
Binary file not shown.
@ -0,0 +1,42 @@ |
|||||
|
/* cvt2h.h 7/11/2012 dwg - Copyright (C) 2012 Douglas Goodall */ |
||||
|
|
||||
|
#include "stdio.h" |
||||
|
#include "visible.h" |
||||
|
|
||||
|
cvt2h(buffer,length,name) |
||||
|
unsigned char * buffer; |
||||
|
int length; |
||||
|
char * name; |
||||
|
{ |
||||
|
FILE * fd; |
||||
|
int i,j,k,l; |
||||
|
char szTemp[32]; |
||||
|
fd = fopen(name,"w"); |
||||
|
fprintf(fd, |
||||
|
"/* %s produced automatically by cvt2h.h */\n",name); |
||||
|
strcpy(szTemp,name); |
||||
|
szTemp[8] = 0; |
||||
|
fprintf(fd, |
||||
|
"unsigned char %s[%d] = {\n\t", |
||||
|
szTemp,length); |
||||
|
for(i=0;i<length;i++) { |
||||
|
fprintf(fd,"0x%02x, ",buffer[i]); |
||||
|
if(7 == (i&0x07)) { |
||||
|
fprintf(fd," /* "); |
||||
|
j = i && 0x07; |
||||
|
k = j + 8; |
||||
|
for(l=j;l<k;l++) { |
||||
|
if(1 == visible[buffer[l]]) { |
||||
|
fprintf(fd,"%02x ",buffer[l]); |
||||
|
} else { |
||||
|
fprintf(fd,"."); |
||||
|
} |
||||
|
} |
||||
|
fprintf(fd,"*/"); |
||||
|
fprintf(fd,"\n\t"); |
||||
|
} |
||||
|
} |
||||
|
fprintf(fd,"};\n/* eof - %s */\n",name); |
||||
|
fclose(fd); |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,41 @@ |
|||||
|
/* cvt2h.h 7/11/2012 dwg - Copyright (C) 2012 Douglas Goodall */ |
||||
|
|
||||
|
cvt2h(buffer,length,name) |
||||
|
unsigned char * buffer; |
||||
|
int length; |
||||
|
char * name; |
||||
|
{ |
||||
|
FILE * fd; |
||||
|
int i,j,k,l; |
||||
|
char szTemp[32]; |
||||
|
fd = fopen(name,"w"); |
||||
|
fprintf(fd, |
||||
|
"/* %s produced automatically by cvt2h.h */\n",name); |
||||
|
strcpy(szTemp,name); |
||||
|
szTemp[8] = 0; |
||||
|
fprintf(fd, |
||||
|
"unsigned char %s[%d] = {\n\t", |
||||
|
szTemp,length); |
||||
|
for(i=0;i<length;i++) { |
||||
|
fprintf(fd,"0x%02x,",buffer[i]); |
||||
|
if(7 == (i&0x07)) { |
||||
|
fprintf(fd," /* "); |
||||
|
j = i & 0xfff8; |
||||
|
k = j + 8; |
||||
|
fprintf(fd," %04x: ",j); |
||||
|
|
||||
|
for(l=j;l<k;l++) { |
||||
|
if(1 == visible[buffer[l]]) { |
||||
|
fprintf(fd,"%c ",buffer[l]); |
||||
|
} else { |
||||
|
fprintf(fd,". "); |
||||
|
} |
||||
|
} |
||||
|
fprintf(fd,"*/"); |
||||
|
fprintf(fd,"\n\t"); |
||||
|
} |
||||
|
} |
||||
|
fprintf(fd,"};\n/* eof - %s */\n",name); |
||||
|
fclose(fd); |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,45 @@ |
|||||
|
/* cvt2inc.h 7/23/2012 dwg - make tasm include file from binary buffer */ |
||||
|
|
||||
|
cvt2inc(buffer,length,name) |
||||
|
unsigned char * buffer; |
||||
|
int length; |
||||
|
char * name; |
||||
|
{ |
||||
|
FILE * fd; |
||||
|
int i,j,k,l; |
||||
|
char szTemp[32]; |
||||
|
fd = fopen(name,"w"); |
||||
|
fprintf(fd, |
||||
|
"; %s produced automatically by cvt2inc.h \n",name); |
||||
|
strcpy(szTemp,name); |
||||
|
szTemp[8] = 0; |
||||
|
fprintf(fd,"%s:\n",szTemp); |
||||
|
fprintf(fd," .DB "); |
||||
|
i = 0; |
||||
|
|
||||
|
for(i=0;i<length;i++) { |
||||
|
fprintf(fd,"%03xh",buffer[i]); |
||||
|
if(7 == (i&0x07)) { |
||||
|
fprintf(fd," ; "); |
||||
|
j = i & 0xfff8; |
||||
|
k = j + 8; |
||||
|
fprintf(fd," %04x: ",j); |
||||
|
|
||||
|
for(l=j;l<k;l++) { |
||||
|
if(1 == visible[buffer[l]]) { |
||||
|
fprintf(fd,"%c ",buffer[l]); |
||||
|
} else { |
||||
|
fprintf(fd,". "); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if(i != length-1) fprintf(fd,"\n .DB "); |
||||
|
|
||||
|
} else { |
||||
|
fprintf(fd,","); |
||||
|
} |
||||
|
} |
||||
|
fprintf(fd,"\n"); |
||||
|
fclose(fd); |
||||
|
} |
||||
|
|
||||
Binary file not shown.
Binary file not shown.
@ -0,0 +1,229 @@ |
|||||
|
/* view.c 6/7/2012 dwg - */ |
||||
|
|
||||
|
#include "std.h" |
||||
|
/* #include "hbios.h" */ |
||||
|
#include "stdio.h" |
||||
|
#include "stdlib.h" |
||||
|
#include "memory.h" |
||||
|
#include "portab.h" |
||||
|
#define MAXDRIVE 8 |
||||
|
#include "cpm80.h" |
||||
|
#include "cpmappl.h" |
||||
|
#include "applvers.h" |
||||
|
|
||||
|
#include "trackio.h" |
||||
|
|
||||
|
#define DSM144 0x02C6 |
||||
|
#define DSM720 0x015E |
||||
|
#define DSM360 0x00AA |
||||
|
#define DSM120 0x024F |
||||
|
#define DSM111 0x0222 |
||||
|
|
||||
|
struct DPH * pDPH; |
||||
|
struct DPB * pDPB; |
||||
|
|
||||
|
unsigned char buffer[72*128]; |
||||
|
char gbFD[MAXDRIVE]; |
||||
|
char gFDNums[MAXDRIVE]; |
||||
|
char gNumFD; /* this value is set by the fdcount function */ |
||||
|
|
||||
|
/* the purpose of this function is to set the global variable
|
||||
|
gNumFD to the number of floppy drives detected, and to set |
||||
|
a boolean in the vector gbFD indicating the drive is present |
||||
|
the drive number of each one in the vector |
||||
|
*/ |
||||
|
|
||||
|
diomed(devunit) |
||||
|
unsigned char devunit; |
||||
|
{ |
||||
|
hregbc = 0x1300 + devunit; |
||||
|
diagnose(); |
||||
|
return hrega; |
||||
|
} |
||||
|
|
||||
|
sensefd() |
||||
|
{ |
||||
|
char device; |
||||
|
char unit; |
||||
|
char devunit; |
||||
|
|
||||
|
/* init local variables */ |
||||
|
char drive; |
||||
|
char result; |
||||
|
drive = 0; |
||||
|
result = 0; |
||||
|
|
||||
|
/* init global variables */ |
||||
|
gNumFD = 0; |
||||
|
memset(&gbFD,FALSE,MAXDRIVE); |
||||
|
memset(&gFDNums,0,MAXDRIVE); |
||||
|
/* for all valid drive numbers */ |
||||
|
while(0 == result) { |
||||
|
ireghl = pGETLU; |
||||
|
iregbc = drive; |
||||
|
bioscall(); |
||||
|
result = irega; |
||||
|
/* return from GETLU goes to 1 if drive # invalid */ |
||||
|
|
||||
|
devunit = iregbc >> 8; |
||||
|
device = devunit & 0xf0; |
||||
|
unit = devunit & 0x0f; |
||||
|
if(DEV_FD == device) { |
||||
|
gFDNums[gNumFD] = drive; |
||||
|
gbFD[gNumFD++] = iregbc & 0xff; |
||||
|
} |
||||
|
drive++; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
int main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[] ; |
||||
|
{ |
||||
|
char drive; |
||||
|
int fd0,fd1; |
||||
|
int i; |
||||
|
int spt; |
||||
|
int track; |
||||
|
int tracks; |
||||
|
int bValid; |
||||
|
|
||||
|
sensefd(); |
||||
|
|
||||
|
if(2 != gNumFD) { |
||||
|
printf("Sorry, this version of diskcopy only supports dual drives"); |
||||
|
exit(FAILURE); |
||||
|
} |
||||
|
printf("The copy will be from drive %c: to drive %c:\n", |
||||
|
gFDNums[0]+'A',gFDNums[1]+'A'); |
||||
|
|
||||
|
printf("The media in FD0 is "); |
||||
|
fd0 = diomed(DEV_FD); |
||||
|
switch(fd0) { |
||||
|
case MID_NONE: |
||||
|
printf("Drive is empty"); |
||||
|
break; |
||||
|
case MID_MDROM: |
||||
|
printf("a memory ROM drive"); |
||||
|
break; |
||||
|
case MID_MDRAM: |
||||
|
printf("a memory RAM drive"); |
||||
|
break; |
||||
|
case MID_HD: |
||||
|
printf("an HD drive"); |
||||
|
break; |
||||
|
case MID_FD720: |
||||
|
printf("a 720KB floppy disk"); |
||||
|
tracks = 80 * 2; |
||||
|
break; |
||||
|
case MID_FD144: |
||||
|
printf("a 1.44MB floppy disk"); |
||||
|
tracks = 80 * 2; |
||||
|
break; |
||||
|
case MID_FD360: |
||||
|
printf("a 360KB floppy disk"); |
||||
|
tracks = 40 * 2; |
||||
|
break; |
||||
|
case MID_FD120: |
||||
|
printf("a 120KB floppy disk"); |
||||
|
tracks = 80 * 2; |
||||
|
break; |
||||
|
case MID_FD111: |
||||
|
printf("a 111KB floppy disk"); |
||||
|
tracks = 74 * 2; |
||||
|
break; |
||||
|
default: |
||||
|
printf("an unknown media type"); |
||||
|
break; |
||||
|
} |
||||
|
printf("\n"); |
||||
|
|
||||
|
|
||||
|
|
||||
|
printf("The media in FD1 is "); |
||||
|
fd1 = diomed(DEV_FD+1); |
||||
|
switch(fd1) { |
||||
|
case MID_NONE: |
||||
|
printf("Drive is empty"); |
||||
|
break; |
||||
|
case MID_MDROM: |
||||
|
printf("a memory ROM drive"); |
||||
|
break; |
||||
|
case MID_MDRAM: |
||||
|
printf("a memory RAM drive"); |
||||
|
break; |
||||
|
case MID_HD: |
||||
|
printf("an HD drive"); |
||||
|
break; |
||||
|
case MID_FD720: |
||||
|
printf("a 720KB floppy disk"); |
||||
|
break; |
||||
|
case MID_FD144: |
||||
|
printf("a 1.44MB floppy disk"); |
||||
|
break; |
||||
|
case MID_FD360: |
||||
|
printf("a 360KB floppy disk"); |
||||
|
break; |
||||
|
case MID_FD120: |
||||
|
printf("a 120KB floppy disk"); |
||||
|
break; |
||||
|
case MID_FD111: |
||||
|
printf("a 111KB floppy disk"); |
||||
|
break; |
||||
|
default: |
||||
|
printf("an unknown media type"); |
||||
|
break; |
||||
|
} |
||||
|
printf("\n"); |
||||
|
|
||||
|
if(fd0 != fd1) { |
||||
|
printf("Sorry, media types don't match, as required for diskcopy"); |
||||
|
exit(1); |
||||
|
} |
||||
|
|
||||
|
for(track=0;track<tracks;track++) { |
||||
|
|
||||
|
ireghl = pSELDSK; |
||||
|
iregbc = gFDNums[0]; /* G: */ |
||||
|
iregde = 0; |
||||
|
bioscall(); |
||||
|
pDPH = ireghl; |
||||
|
pDPB = pDPH->dpb; |
||||
|
spt = pDPB->spt; |
||||
|
ireghl = pSETTRK; |
||||
|
iregbc = track; |
||||
|
bioscall(); |
||||
|
printf("%3d ",track); |
||||
|
rdtrack(0,spt,buffer); |
||||
|
printf("%c",0x0d); |
||||
|
|
||||
|
bValid = FALSE; |
||||
|
for(i=0;i<spt*128;i++) { |
||||
|
if(0xe5 != buffer[i]) { |
||||
|
bValid = TRUE; |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
if(TRUE == bValid) { |
||||
|
|
||||
|
ireghl = pSELDSK; |
||||
|
iregbc = gFDNums[1]; /* G: */ |
||||
|
iregde = 0; |
||||
|
bioscall(); |
||||
|
pDPH = ireghl; |
||||
|
pDPB = pDPH->dpb; |
||||
|
spt = pDPB->spt; |
||||
|
ireghl = pSETTRK; |
||||
|
iregbc = track; /* Track 0 */ |
||||
|
bioscall(); |
||||
|
printf("%3d ",track); |
||||
|
wrtrack(0,spt,buffer); |
||||
|
printf("%c",0x0d); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,12 @@ |
|||||
|
#include "stdio.h" |
||||
|
|
||||
|
main() |
||||
|
{ |
||||
|
FILE * fd; |
||||
|
fd = fopen("$$$.SUB","w"); |
||||
|
fprintf(fd,"%ca:getcfg\n",9); |
||||
|
fprintf(fd,"%ca:dump syscfg.bin\n",18); |
||||
|
fprintf(fd,"%ctype a:sect0000.h\n",17); |
||||
|
fclose(fd); |
||||
|
} |
||||
|
|
||||
File diff suppressed because it is too large
@ -0,0 +1,101 @@ |
|||||
|
/* dump.c 7/11/2012 dwg -
|
||||
|
|
||||
|
The purpose of this program is similar to the CP/M dump program |
||||
|
except that in addition to the normal hexadecimal bytes, a field |
||||
|
of ascii bytes to the right are displayed as well. |
||||
|
|
||||
|
*/ |
||||
|
|
||||
|
#include "stdio.h" |
||||
|
|
||||
|
|
||||
|
char visible[256] = { |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 00 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 10 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 20 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 30 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 40 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 50 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 60 */ |
||||
|
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, /* 70 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 80 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 90 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* A0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* B0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* C0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* D0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* E0 */ |
||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* F0 */ |
||||
|
}; |
||||
|
|
||||
|
#include "cvt2h.h" |
||||
|
#include "cvt2inc.h" |
||||
|
|
||||
|
main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[]; |
||||
|
{ |
||||
|
int i,j; |
||||
|
int offset; |
||||
|
int result; |
||||
|
unsigned char byte; |
||||
|
unsigned char sector[128]; |
||||
|
char name[32]; |
||||
|
|
||||
|
|
||||
|
FILE * fd; |
||||
|
|
||||
|
banner("DUMP.COM"); |
||||
|
|
||||
|
/* cvt2h(0x0100,12*1024,"dumpcomh.h"); */ |
||||
|
|
||||
|
|
||||
|
if(1 == argc) { |
||||
|
printf("Sorry, no input file specified"); |
||||
|
exit(1); |
||||
|
} |
||||
|
|
||||
|
fd = fopen(argv[1],"r"); |
||||
|
if(NULL == fd) { |
||||
|
printf("Sorry, cannot open input file"); |
||||
|
exit(1); |
||||
|
} |
||||
|
|
||||
|
printf("Dumping %s\n\n",argv[1]); |
||||
|
|
||||
|
offset = 0; |
||||
|
result = fread(sector,sizeof(sector),1,fd); |
||||
|
while(0 < result) { |
||||
|
|
||||
|
sprintf(name,"sect%04x.h",offset); |
||||
|
cvt2h(sector,sizeof(sector),name); |
||||
|
sprintf(name,"sect%04x.inc",offset); |
||||
|
cvt2inc(sector,sizeof(sector),name); |
||||
|
|
||||
|
for(i=0;i<8;i++) { |
||||
|
printf("%04x: ",offset); |
||||
|
|
||||
|
|
||||
|
offset += 16; |
||||
|
for(j=0;j<16;j++) { |
||||
|
printf("%02x ",sector[(i*8)+j]); |
||||
|
} |
||||
|
printf(" "); |
||||
|
for(j=0;j<16;j++) { |
||||
|
byte = sector[(i*8)+j]; |
||||
|
if(1 == visible[byte]) { |
||||
|
printf("%c",byte); |
||||
|
} else { |
||||
|
printf("."); |
||||
|
} |
||||
|
} |
||||
|
printf("\n"); |
||||
|
} |
||||
|
printf("\n"); |
||||
|
result = fread(sector,sizeof(sector),1,fd); |
||||
|
} |
||||
|
fclose(fd); |
||||
|
|
||||
|
exit(0); |
||||
|
} |
||||
|
|
||||
File diff suppressed because it is too large
@ -0,0 +1,108 @@ |
|||||
|
; dumpmac.asm 2/1/2012 dwg - dump macro, declaration and implementation |
||||
|
|
||||
|
maclib portab |
||||
|
maclib globals |
||||
|
maclib hardware |
||||
|
maclib z80 |
||||
|
maclib cpmbdos |
||||
|
maclib printers |
||||
|
|
||||
|
cseg |
||||
|
|
||||
|
; e=char on entry |
||||
|
public x$pr$vis |
||||
|
x$pr$vis: |
||||
|
enter |
||||
|
lxi h,x$visibool |
||||
|
mvi d,0 |
||||
|
dad d |
||||
|
mov a,m |
||||
|
cpi 0 |
||||
|
jz do$dot |
||||
|
mvi c,2 |
||||
|
call BDOS |
||||
|
jmp x$pr$fini |
||||
|
do$dot: |
||||
|
conout '.' |
||||
|
x$pr$fini: |
||||
|
leave |
||||
|
ret |
||||
|
|
||||
|
public x$dump |
||||
|
x$dump: shld x$dump$tmp |
||||
|
call pr$h$word |
||||
|
conout ':' |
||||
|
conout ' ' |
||||
|
mvi b,16 |
||||
|
x$d$lp1: |
||||
|
mov a,m |
||||
|
inx h |
||||
|
xchg |
||||
|
mov l,a |
||||
|
call pr$h$byte |
||||
|
conout ' ' |
||||
|
xchg |
||||
|
dcr b |
||||
|
jnz x$d$lp1 |
||||
|
conout ' ' |
||||
|
conout ' ' |
||||
|
mvi b,16 |
||||
|
lhld x$dump$tmp |
||||
|
x$d$lp2: |
||||
|
mov a,m |
||||
|
inx h |
||||
|
mov e,a |
||||
|
call x$pr$vis |
||||
|
dcr b |
||||
|
jnz x$d$lp2 |
||||
|
conout CR |
||||
|
conout LF |
||||
|
lhld x$dump$tmp |
||||
|
ret |
||||
|
|
||||
|
|
||||
|
; display a number of lines of sixteen bytes in hex with leading address |
||||
|
; and ascii |
||||
|
public x$dump$multi |
||||
|
x$dump$multi: |
||||
|
push h ; save display address in case x$dump changes it |
||||
|
call x$dump ; call actual dump routine for 16 bytes |
||||
|
pop h ; restore display address |
||||
|
lxi d,16 ; get ready to increment it by 16 bytes |
||||
|
dad d ; here we go, HL = new load address |
||||
|
dcr c ; decrement line counter |
||||
|
jnz x$dump$multi ; do more as necessary |
||||
|
ret |
||||
|
|
||||
|
|
||||
|
dseg |
||||
|
|
||||
|
x$dump$tmp ds 2 |
||||
|
|
||||
|
public x$visibool |
||||
|
x$visibool: |
||||
|
; 0 1 2 3 4 5 6 7 8 9 A B C D E F |
||||
|
; - - - - - - - - - - - - - - - - |
||||
|
vb$00 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$10 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$20 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ; "#$%&'()*+,-./ |
||||
|
vb$30 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;0123456789:;<=>? |
||||
|
vb$40 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;@ABCDEFGHIJKLMNO |
||||
|
vb$50 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;PQRSTUVWXYZ[\]^_ |
||||
|
vb$60 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ;`abcdefghijklmno |
||||
|
vb$70 db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 ;pqrstuvwxyz{|}~ |
||||
|
vb$80 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$90 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$a0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$b0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$c0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$d0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$e0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
vb$f0 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
||||
|
|
||||
|
; eof - dumpmac.asm |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,367 @@ |
|||||
|
extrn .begin,.chl,.swt |
||||
|
extrn csave,cret,.move |
||||
|
PUBLIC vdaini_ |
||||
|
vdaini_: lxi d,.2 |
||||
|
call csave |
||||
|
LXI H,8-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,16384 |
||||
|
CALL .or |
||||
|
SHLD hregbc_ |
||||
|
LXI H,10-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
SHLD hregde_ |
||||
|
LXI H,12-.2 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
SHLD hreghl_ |
||||
|
CALL diagnose_ |
||||
|
LDA hrega_ |
||||
|
MOV L,A |
||||
|
MVI H,0 |
||||
|
RET |
||||
|
.2 EQU 0 |
||||
|
PUBLIC bitlook_ |
||||
|
bitlook_: lxi d,.3 |
||||
|
call csave |
||||
|
LXI H,-32768 |
||||
|
XCHG |
||||
|
LXI H,2-.3 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,0-.3 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .5 |
||||
|
.4: |
||||
|
LXI H,0-.3 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.5: |
||||
|
LXI H,0-.3 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,256 |
||||
|
CALL .lt |
||||
|
JZ .6 |
||||
|
LXI H,0-.3 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
PUSH D |
||||
|
LXI H,.1+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-2-.3 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .8 |
||||
|
.7: |
||||
|
LXI H,-2-.3 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.8: |
||||
|
LXI H,-2-.3 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,8 |
||||
|
CALL .lt |
||||
|
JZ .9 |
||||
|
LXI H,2-.3 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
XCHG |
||||
|
DCX H |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
PUSH D |
||||
|
LXI H,.1+16 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .7 |
||||
|
.9: |
||||
|
LXI H,.1+24 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
JMP .4 |
||||
|
.6: |
||||
|
RET |
||||
|
.3 EQU -6 |
||||
|
.1: |
||||
|
DB 97,115,99,105,105,32,61,32,48,120,37,48,50,120,32 |
||||
|
DB 0,48,120,37,48,50,120,32,0,10,0 |
||||
|
PUBLIC vdaqry_ |
||||
|
vdaqry_: lxi d,.11 |
||||
|
call csave |
||||
|
LXI H,8-.11 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,16640 |
||||
|
CALL .or |
||||
|
SHLD hregbc_ |
||||
|
LXI H,10-.11 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
SHLD hreghl_ |
||||
|
CALL diagnose_ |
||||
|
LDA hrega_ |
||||
|
MOV L,A |
||||
|
MVI H,0 |
||||
|
RET |
||||
|
.11 EQU 0 |
||||
|
PUBLIC flip_ |
||||
|
flip_: lxi d,.12 |
||||
|
call csave |
||||
|
LXI H,-32768 |
||||
|
PUSH H |
||||
|
LXI H,64 |
||||
|
PUSH H |
||||
|
CALL vdaqry_ |
||||
|
POP D |
||||
|
POP D |
||||
|
XCHG |
||||
|
LXI H,-3-.12 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,-32768 |
||||
|
XCHG |
||||
|
LXI H,2-.12 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,-1-.12 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .14 |
||||
|
.13: |
||||
|
LXI H,-1-.12 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.14: |
||||
|
LXI H,-1-.12 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
LXI H,2048 |
||||
|
CALL .lt |
||||
|
JZ .15 |
||||
|
LXI H,2-.12 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
MOV E,M |
||||
|
LXI H,1-.12 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
LXI H,1-.12 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
MVI D,0 |
||||
|
LXI H,255 |
||||
|
CALL .xr |
||||
|
XCHG |
||||
|
LXI H,1-.12 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
LXI H,1-.12 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
PUSH D |
||||
|
LXI H,4-.12 |
||||
|
DAD SP |
||||
|
MOV E,M |
||||
|
INX H |
||||
|
MOV D,M |
||||
|
XCHG |
||||
|
POP D |
||||
|
MOV M,E |
||||
|
LXI H,2-.12 |
||||
|
DAD SP |
||||
|
PUSH H |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
INX H |
||||
|
XCHG |
||||
|
POP H |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .13 |
||||
|
.15: |
||||
|
LXI H,-32768 |
||||
|
PUSH H |
||||
|
LXI H,0 |
||||
|
PUSH H |
||||
|
LXI H,64 |
||||
|
PUSH H |
||||
|
CALL vdaini_ |
||||
|
POP D |
||||
|
POP D |
||||
|
POP D |
||||
|
RET |
||||
|
.12 EQU -7 |
||||
|
PUBLIC main_ |
||||
|
main_: lxi d,.16 |
||||
|
call csave |
||||
|
LXI H,1 |
||||
|
XCHG |
||||
|
LXI H,2-.16 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
.17: |
||||
|
LXI H,1 |
||||
|
XCHG |
||||
|
LXI H,2-.16 |
||||
|
DAD SP |
||||
|
MOV A,M |
||||
|
INX H |
||||
|
MOV H,M |
||||
|
MOV L,A |
||||
|
CALL .eq |
||||
|
JZ .18 |
||||
|
LXI H,1 |
||||
|
SHLD dregbc_ |
||||
|
CALL bdoscall_ |
||||
|
LDA drega_ |
||||
|
MOV L,A |
||||
|
MVI H,0 |
||||
|
JMP .19 |
||||
|
.21: |
||||
|
CALL flip_ |
||||
|
JMP .20 |
||||
|
.22: |
||||
|
LXI H,0 |
||||
|
XCHG |
||||
|
LXI H,2-.16 |
||||
|
DAD SP |
||||
|
MOV M,E |
||||
|
INX H |
||||
|
MOV M,D |
||||
|
JMP .20 |
||||
|
.23: |
||||
|
LXI H,7 |
||||
|
PUSH H |
||||
|
LXI H,.10+0 |
||||
|
PUSH H |
||||
|
CALL printf_ |
||||
|
POP D |
||||
|
POP D |
||||
|
JMP .20 |
||||
|
.19: |
||||
|
CALL .swt |
||||
|
DW 2 |
||||
|
DW 3,.22 |
||||
|
DW 102,.21 |
||||
|
DW .23 |
||||
|
.20: |
||||
|
JMP .17 |
||||
|
.18: |
||||
|
CALL flip_ |
||||
|
RET |
||||
|
.16 EQU -2 |
||||
|
.10: |
||||
|
DB 37,99,0 |
||||
|
extrn printf_ |
||||
|
extrn bdoscall_ |
||||
|
extrn dregbc_ |
||||
|
extrn drega_ |
||||
|
extrn diagnose_ |
||||
|
extrn hreghl_ |
||||
|
extrn hregde_ |
||||
|
extrn hregbc_ |
||||
|
extrn hrega_ |
||||
|
extrn .or |
||||
|
extrn .xr |
||||
|
extrn .eq |
||||
|
extrn .lt |
||||
|
END |
||||
|
|
||||
@ -0,0 +1,103 @@ |
|||||
|
/* editor.c 11/18/2012 dwg - */ |
||||
|
|
||||
|
|
||||
|
#include "std.h" |
||||
|
#include "applvers.h" |
||||
|
#include "diagnose.h" |
||||
|
#include "cpmbdos.h" |
||||
|
#include "cpmbios.h" |
||||
|
#include "bdoscall.h" |
||||
|
|
||||
|
|
||||
|
#define VDA_N8 4 |
||||
|
#define VDAINI 0x40 |
||||
|
#define VDAQRY 0x41 |
||||
|
#define VDARES 0x42 |
||||
|
#define VDASCS 0x43 |
||||
|
|
||||
|
|
||||
|
int vdaini(devunit,vidmode,bitmapp) |
||||
|
unsigned int devunit; |
||||
|
unsigned int vidmode; |
||||
|
unsigned int bitmapp; |
||||
|
{ |
||||
|
hregbc = (VDAINI << 8) | devunit; |
||||
|
hregde = vidmode; |
||||
|
hreghl = bitmapp; |
||||
|
diagnose(); |
||||
|
return hrega; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
bitlook() |
||||
|
{ |
||||
|
unsigned char *p; |
||||
|
int ascii,row; |
||||
|
|
||||
|
p = 0x8000; |
||||
|
for(ascii=0;ascii<256;ascii++) { |
||||
|
printf("ascii = 0x%02x ",ascii); |
||||
|
for(row=0l;row<8;row++) { |
||||
|
printf("0x%02x ",*p++); |
||||
|
} |
||||
|
printf("\n"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
int vdaqry(devunit,bitmapp) |
||||
|
unsigned int devunit; |
||||
|
unsigned int bitmapp; |
||||
|
{ |
||||
|
hregbc = (VDAQRY << 8) | devunit; |
||||
|
hreghl = bitmapp; |
||||
|
diagnose(); |
||||
|
return hrega; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
flip() |
||||
|
{ |
||||
|
unsigned char * p; |
||||
|
unsigned char byte; |
||||
|
int offs; |
||||
|
int retcode; |
||||
|
|
||||
|
retcode = vdaqry(VDA_N8 << 4,0x8000); |
||||
|
|
||||
|
p = 0x8000; |
||||
|
for(offs=0;offs<256*8;offs++) { |
||||
|
byte = *p; |
||||
|
byte = byte ^ 255; |
||||
|
*p = byte; |
||||
|
p++; |
||||
|
} |
||||
|
|
||||
|
/* bitlook(); */ |
||||
|
|
||||
|
vdaini(VDA_N8 << 4, 0, 0x8000); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
int main(argc,argv) |
||||
|
int argc; |
||||
|
char *argv[]; |
||||
|
{ |
||||
|
int bRunning; |
||||
|
|
||||
|
bRunning = 1; |
||||
|
while(1 == bRunning) { |
||||
|
|
||||
|
crtlc ( |
||||
|
dregbc = 1; |
||||
|
bdoscall(); |
||||
|
switch(drega) { |
||||
|
case 'f': flip(); break; |
||||
|
case 3: bRunning = 0; break; |
||||
|
default: printf("%c",7); break; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
flip(); |
||||
|
} |
||||
|
|
||||
@ -0,0 +1,6 @@ |
|||||
|
cc editor |
||||
|
as editor |
||||
|
as bdoscall |
||||
|
as diagnose |
||||
|
ln editor.o bdoscall.o diagnose.o -lc |
||||
|
|
||||
@ -0,0 +1 @@ |
|||||
|
nulu submits.lbr -e $1.sub -x |
||||
@ -0,0 +1,4 @@ |
|||||
|
cc remote |
||||
|
as remote |
||||
|
ln remote.o bdoscall.o ctermcap.o n8chars.o tms9918.o diagnose.o -lc |
||||
|
|
||||
@ -0,0 +1,8 @@ |
|||||
|
#define O_RDONLY 0 |
||||
|
#define O_WRONLY 1 |
||||
|
#define O_RDWR 2 |
||||
|
#define O_CREAT 0x0100 |
||||
|
#define O_TRUNC 0x0200 |
||||
|
#define O_EXCL 0x0400 |
||||
|
#define O_APPEND 0x0800 |
||||
|
|
||||
@ -0,0 +1,12 @@ |
|||||
|
; ffsetlu.lib 1/24/2012 dwg - |
||||
|
ffgetlu macro |
||||
|
mvi c,RETCURR |
||||
|
call BDOS |
||||
|
mov c,a |
||||
|
call BISELDSK |
||||
|
lxi d,16+2 |
||||
|
dad d |
||||
|
mov a,m |
||||
|
endm |
||||
|
; eof - ffsetlu |
||||
|
|
||||
@ -0,0 +1,25 @@ |
|||||
|
; ffhaslu.lib 1/22/2012 dwg - macro to detect drive with logical unit support |
||||
|
|
||||
|
ffhaslu macro |
||||
|
local ret$false,fini |
||||
|
mvi c,RETCURR |
||||
|
call BDOS |
||||
|
mov c,a |
||||
|
call BISELDSK |
||||
|
lxi d,16 ; offset to end of DPH |
||||
|
dad d ; calc offset of 1st signature byte |
||||
|
mov a,m ; pick up first sig byte which s/b 'L' |
||||
|
cpi 'L' |
||||
|
jnz ret$false ; if it wasn't, indicate to caller no LU |
||||
|
inx h ; bump ptr to 2nd signature byte |
||||
|
mov a,m ; pick up second sig byte which s/b 'U' |
||||
|
cpi 'U' |
||||
|
jnz ret$false ; if it wasn't, indicate to caller no LU |
||||
|
mvi a,TRUE ; otherwise indicate presence of LU support |
||||
|
jmp fini ; finish up macro |
||||
|
ret$false: |
||||
|
mvi a,FALSE ; prepare negative response for caller |
||||
|
fini: |
||||
|
endm |
||||
|
|
||||
|
|
||||
@ -0,0 +1,13 @@ |
|||||
|
; ffnumlu.lib 1/22/2012 dwg - macro to get number of logical units |
||||
|
|
||||
|
ffnumlu macro |
||||
|
mvi c,RETCURR |
||||
|
call BDOS |
||||
|
mov c,a |
||||
|
call BISELDSK |
||||
|
lxi d,16+2+2 ; offset to end of DPH |
||||
|
dad d ; calc offset of 1st signature byte |
||||
|
mov a,m |
||||
|
endm |
||||
|
|
||||
|
; eof - ffnumlu.lib |
||||
@ -0,0 +1,22 @@ |
|||||
|
; ffsetlu.lib 2/12/2012 dwg - review for use in superfmt |
||||
|
; ffsetlu.lib 1/24/2012 dwg - |
||||
|
|
||||
|
; enter with desired LU in A reg |
||||
|
ffsetlu macro |
||||
|
enter |
||||
|
push psw |
||||
|
mvi c,RETCURR |
||||
|
call BDOS |
||||
|
mov c,a |
||||
|
call BISELDSK ; uses c parameter (drive) |
||||
|
lxi d,16+2 |
||||
|
dad d |
||||
|
pop psw |
||||
|
mov m,a ; put slice into CURRENT |
||||
|
mvi c,13 |
||||
|
call BDOS |
||||
|
leave |
||||
|
endm |
||||
|
|
||||
|
; eof - ffsetlu |
||||
|
|
||||
File diff suppressed because it is too large
@ -0,0 +1,12 @@ |
|||||
|
rem findfile.sub 9/5/2012 dwg - make findfile.com from sources |
||||
|
if not exist findfile.rel z80mu rmac findfile |
||||
|
if not exist printers.rel z80mu rmac printers |
||||
|
if not exist terminal.rel z80mu rmac terminal |
||||
|
if not exist memory.rel z80mu rmac memory |
||||
|
if not exist banner.rel z80mu rmac banner |
||||
|
if not exist identity.rel z80mu rmac identity |
||||
|
if not exist hbios.rel z80mu rmac hbios |
||||
|
if not exist findfile.cpm z80mu link findfile,hbios,identity,banner,memory,printers,terminal |
||||
|
if not exist findfile.cpm copy findfile.com findfile.cpm |
||||
|
dir findfile.cpm |
||||
|
|
||||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue