Reintegrate wbw -> trunk

This commit is contained in:
wayne
2013-06-08 04:58:34 +00:00
parent f5c27ce732
commit 82351f2c5f
52 changed files with 657 additions and 496 deletions

View File

@@ -15,13 +15,15 @@ echo Building DWG.REL...
echo.
set TGT=dwg.rel
if exist %TGT% del %TGT%
zx rmac printers
zx rmac memory
zx rmac banner
zx rmac terminal
zx rmac identity
zx rmac hbios
zx lib %TGT%=printers,memory,banner,terminal,identity,hbios
zx rmac printers.asm -$PN
zx rmac memory.asm -$PN
zx rmac banner.asm -$PN
zx rmac terminal.asm -$PN
zx rmac identity.asm -$PN
zx rmac hbios.asm -$PN
ZX rmac labelib.asm -$PN
zx rmac metadata.asm -$PN
zx lib %TGT%=printers,memory,banner,terminal,identity,hbios,labelib,metadata
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
echo.
@@ -52,7 +54,7 @@ echo Building ACCESS.COM...
echo.
set TGT=access.com
if exist %TGT% del %TGT%
zx rmac access
zx rmac access.asm -$PN
zx link access,dwg
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@@ -71,7 +73,7 @@ echo Building FINDFILE.COM...
echo.
set TGT=findfile.com
if exist %TGT% del %TGT%
zx rmac findfile
zx rmac findfile.asm -$PN
zx link findfile,dwg
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@@ -110,7 +112,7 @@ echo Building REM.COM...
echo.
set TGT=rem.com
if exist %TGT% del %TGT%
zx rmac rem
zx rmac rem.asm -$PN
zx link rem
if not exist %TGT% echo *** Failed to build %TGT% *** && pause
@@ -119,7 +121,7 @@ echo Building SETLABEL.COM...
echo.
set TGT=setlabel.com
if exist %TGT% del %TGT%
zx rmac setlabel
zx rmac setlabel.asm -$PN
zx link setlabel,dwg
if not exist %TGT% echo *** Failed to build %TGT% *** && pause

View File

@@ -5,10 +5,10 @@
#define A_RMJ 2
#define A_RMN 5
#define A_RUP 0
#define A_RTP 12
#define A_RTP 13
#define A_MONTH 5
#define A_DAY 24
#define A_MONTH 6
#define A_DAY 7
#define A_YEAR 2013
#define A_YR 13

View File

@@ -3,14 +3,14 @@
A$RMJ equ 2
A$RMN equ 5
A$RUP equ 0
A$RTP equ 12
A$RTP equ 13
A$MONTH equ 5
A$DAY equ 24
A$MONTH equ 6
A$DAY equ 7
A$YEAR equ 2013
date macro
dat db ' 5/24/2013$'
dat db ' 6/7/2013$'
endm
serial macro

View File

@@ -94,7 +94,7 @@ struct CNFGDATA {
unsigned int idecapacity;
unsigned char ppideenable;
unsigned char ppidemode;
unsigned char ppideiob;
unsigned char ppidetrace;
unsigned char ppide8bit;
unsigned int ppidecapacity;

View File

@@ -34,6 +34,7 @@
#define RESETDRIVE 37
#define WRRANDFILL 38
#define BDOSDEFDR 0 /* BDOS Default (current) Drive Number */
#define BDOSDRA 1
#define BDOSDRB 2
#define BDOSDRC 3

View File

@@ -12,9 +12,11 @@
#define GETSYSCFG 0xF000 /* HBIOS function for Get System Configuration */
char None[] = "*None*";
char Unk[] = "*Unknown*";
char * PltName[] = {None, "N8VEM Z80", "ZETA Z80", "N8 Z180"};
char * CIOName[] = {"UART", "ASCI", "VDU", "CVDU", "UPD7220",
"N8V", "PRPCON", "PPPCON", "CRT", "BAT", "NUL"};
"N8V", "PRPCON", "PPPCON", Unk, Unk, Unk, Unk, Unk,
"CRT", "BAT", "NUL"};
char * DIOName[] = {"MD", "FD", "IDE", "ATAPI", "PPIDE",
"SD", "PRPSD", "PPPSD", "HDSK"};
char * VDAName[] = {None, "VDU", "CVDU", "UPD7220", "N8V"};
@@ -123,8 +125,9 @@ prtcfg1(pSysCfg)
pager();
pager();
printf("Console: Default=%s, Alternate=%s, Init Baudrate=%d0",
CIOName[pCfg->defcon], CIOName[pCfg->altcon],
printf("Console: Default=%s:%d, Alternate=%s:%d, Init Baudrate=%d0",
CIOName[(pCfg->defcon) >> 4], pCfg->defcon & 0xF,
CIOName[(pCfg->altcon) >> 4], pCfg->altcon & 0xF,
pCfg->conbaud);
pager();
printf ("Default Video Display: %s, Default Emulation: %s",
@@ -208,8 +211,8 @@ prtcfg2(pSysCfg)
fmtenable(pCfg->ideenable), IDEModeName[pCfg->idemode],
pCfg->idetrace, fmtbool(pCfg->ide8bit), pCfg->idecapacity);
pager();
printf("PPIDE %s, Mode=%s, TraceLevel=%d, 8bit=%s, Slow=%s, Size=%dMB",
fmtenable(pCfg->ppideenable), IDEModeName[pCfg->ppidemode],
printf("PPIDE %s, IOBase=0x%s, TraceLevel=%d, 8bit=%s, Slow=%s, Size=%dMB",
fmtenable(pCfg->ppideenable), fmthexbyte(pCfg->ppideiob, buf),
pCfg->ppidetrace, fmtbool(pCfg->ppide8bit),
fmtbool(pCfg->ppideslow), pCfg->ppidecapacity);
pager();

View File

@@ -8,7 +8,7 @@ struct INFOLIST {
void * dpbmap;
void * dphmap;
void * ciomap;
} * pINFOLIST;
};
/********************/
/* eof - infolist.h */

View File

@@ -238,8 +238,7 @@ int main(argc,argv)
char szDrive[32];
char szLuNum[32];
char szWP[2];
struct INFOLIST * pINFOLIST;
if(argc == 3) {

View File

@@ -1,5 +1,5 @@
; memory.asm 2/1/2012 dwg - memory library implementation
; maclib z80
maclib z80
;memcpy macro h=src,d==dst,bc=size
public x$memcpy

View File

@@ -1,6 +1,5 @@
/* meta.c 6/7/2012 dwg - view and edit the metadata */
#include "stdio.h"
#include "portab.h"
#include "globals.h"
@@ -47,10 +46,10 @@ display()
rdsector(drive,0,11,&metadata);
crtlc(METALINE+0,METACOL);
printf("metadata.signature = 0x%04x",metadata.signature);
printf("metadata.signature = 0x%x",metadata.signature);
crtlc(METALINE+1,METACOL);
printf("metadata.platform = 0x%02x",metadata.platform);
printf("metadata.platform = 0x%x",metadata.platform);
crtlc(METALINE+2,METACOL);
printf("metadata.formatter = \"");
@@ -93,16 +92,16 @@ display()
}
printf("\"");
crtlc(METALINE+9,METACOL);
printf("metadata.infloc = 0x%04x",metadata.infloc);
printf("metadata.infloc = 0x%x",metadata.infloc);
crtlc(METALINE+10,METACOL);
printf("metadata.cpmloc = 0x%04x",metadata.cpmloc);
printf("metadata.cpmloc = 0x%x",metadata.cpmloc);
crtlc(METALINE+11,METACOL);
printf("metadata.cpmend = 0x%04x",metadata.cpmend);
printf("metadata.cpmend = 0x%x",metadata.cpmend);
crtlc(METALINE+12,METACOL);
printf("metadata.cpment = 0x%04x",metadata.cpment);
printf("metadata.cpment = 0x%x",metadata.cpment);
}

View File

@@ -219,7 +219,7 @@ clrdir(line,col)
if(-1 != line) {
crtlc(line,col-1);
printf("%3d",sectors-sector);
printf("%d",sectors-sector);
}
wrsector(gDrvNum,pDPB->off,sector,e5buffer,1);
@@ -283,7 +283,7 @@ physfmt(lu)
/* LU is not protected or override is enabled */
if(0==gTT) {
printf("Formatting LU# %3d%c",lu,0x0d);
printf("Formatting LU# %d%c",lu,0x0d);
clrmeta(lu,-1,-1);
clrdir(-1,-1);
} else {
@@ -291,14 +291,14 @@ physfmt(lu)
line = lu / 16;
crtlc(26-16-4+line,0);
printf("%3d...",lu & 0xf0);
printf("%d...",lu & 0xf0);
col = lu & 15;
clrmeta(lu,24-16-2+line,((80-64)/2)+(col*4)+1);
clrdir( 24-16-2+line,((80-64)/2)+(col*4)+1);
crtlc(24-16-2+line,((80-64)/2)+(col*4)+1);
printf("OK");
crtlc(24-16-2+line,((80-64)/2)+(col*4));
printf(" OK");
}
return TRUE;
@@ -317,7 +317,7 @@ lformat()
if(0 != gTT) {
for(index=0;index<16;index++) {
crtlc(24-16-2-2,((80-64)/2)+(index*4));
printf("+%2d",index);
printf("+%d",index);
}
for(index=0;index<16;index++) {
crtlc(24-16-2-1,((80-64)/2)+(index*4));
@@ -438,6 +438,7 @@ main(argc,argv)
char *argv[];
{
int retcode;
struct INFOLIST * pINFOLIST;
hregbc = GETSYSCFG; /* function = Get System Config */
hregde = HIGHSEG; /* addr of dest (must be high) */

View File

@@ -64,7 +64,6 @@ around$bandata:
printf 'Sorry, you can only label drives with reserved tracks'
jmp main$exit
off$ok:
lda drive$num ; using the default drive number
mov c,a ; (presented in the C register)
call x$label ; call the actual code in labelib.asm

View File

@@ -2,292 +2,21 @@
#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); */
#include "infolist.h"
#include "cnfgdata.h"
#include "syscfg.h"
#include "diagnose.h"
#include "asmiface.h"
#include "cpmbdos.h"
#include "cpmbios.h"
#define BDOS 5 /* memory address of BDOS invocation */
#define PRIFCB 0x5C /* memory address of primary FCB */
#define SECFCB 0x6C /* memory address of secondary FCB */
#define DEFBUF 0x80 /* memory address of default buffer */
#define HIGHSEG 0x0C000 /* memory address of system config */
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
#define PUTSYSCFG 0x0F100 /* HBIOS function for Put System Configuration */
#define TERMCPM 0 /* BDOS function for System Reset */
#define CONIN 1 /* BDOS function for Console Input */
#define CWRITE 2 /* BDOS function for Console Output */
#define DIRCONIO 6 /* BDOS function for Direct Console I/O */
#define PRINTSTR 9 /* BDOS function for Print String */
#define RDCONBUF 10 /* BDOS function for Buffered Console Read */
#define GETCONST 11 /* BDOS function for Get Console Status */
#define RETVERNUM 12 /* BDOS function for Return Version Number */
#define RESDISKSYS 13 /* BDOS function for Reset Disk System */
#define SELECTDISK 14 /* BDOS function for Select Disk */
#define FOPEN 15 /* BDOS function for File Open */
#define FCLOSE 16 /* BDOS function for File Close */
#define SEARCHFIRST 17 /* BDOS function for Search First */
#define SEARCHNEXT 18 /* BDOS function for Search Next */
#define FDELETE 19 /* BDOS function for File Delete */
#define FREADSEQ 20 /* BDOS function for File Read Sequential */
#define FWRITESEQ 21 /* BDOS function for File Write Sequential */
#define FMAKEFILE 22 /* BDOS function for File Make */
#define FRENAME 23 /* BDOS function for File Rename */
#define RETLOGINVEC 24 /* BDOS function for Return Login Vector */
#define RETCURRDISK 25 /* BDOS function for Return Current Disk */
#define SETDMAADDR 26 /* BDOS function for Set DMA Address */
#define GETALLOCVEC 27 /* BDOS function for Get Allocation Vector */
#define WRPROTDISK 28 /* BDOS function for Write Protect Disk */
#define GETROVECTOR 29 /* BDOS function for Get Read Only Vector */
#define FSETATTRIB 30 /* BDOS function for File Set Attribute */
#define GETDPBADDR 31 /* BDOS function for Get DPB Address */
#define SETGETUSER 32 /* BDOS function for Set & Get User Number */
#define FREADRANDOM 33 /* BDOS function for File Read Random */
#define FWRITERAND 34 /* BDOS function for File Write Random */
#define FCOMPSIZE 35 /* BDOS function for File Compare Size */
#define SETRANDREC 36 /* BDOS function for Set Random Record # */
#define RESETDRIVE 37 /* BDOS function for Reset Drive */
#define WRRANDFILL 38 /* BDOS function for Write Random w/ Fill */
#define BDOSDEFDR 0 /* BDOS Default (current) Drive Number */
#define BDOSDRA 1 /* BDOS Drive A: number */
#define BDOSDRB 2 /* BDOS Drive B: number */
#define BDOSDRC 3 /* BDOS Drive C: number */
#define BDOSDRD 4 /* BDOS Drive D: number */
#define BDOSDRE 5 /* BDOS Drive E: number */
#define BDOSDRF 6 /* BDOS Drive F: number */
#define BDOSDRG 7 /* BDOS Drive G: number */
#define BDOSDRH 8 /* BDOS Drive H: number */
#define BIOSDRA 0 /* BIOS Drive A: number */
#define BIOSDRB 1 /* BIOS Drive B: number */
#define BIOSDRC 2 /* BIOS Drive C: number */
#define BIOSDRD 3 /* BIOS Drive D: number */
#define BIOSDRE 4 /* BIOS Drive E: number */
#define BIOSDRF 5 /* BIOS Drive F: number */
#define BIOSDRG 6 /* BIOS Drive G: number */
#define BIOSDRH 7 /* BIOS Drive H: number */
struct FCB {
char drive; /* BDOS Drive Code */
char filename[8]; /* space padded file name */
char filetype[3]; /* space padded file extension */
char filler[24]; /* remainder of FCB */
};
struct FCB * pPriFcb = PRIFCB; /* pointer to Primary FCB structure */
struct FCB * pSecFcb = SECFCB; /* pointer to secondary FCB structure */
struct {
char length; /* length of commad tail */
char tail[127]; /* command tail */
} * pDefBuf = DEFBUF;
#define CURDRV 0x00004
#define BIOSAD 0x0e600 /* base address of BIOS jumps */
/* addresses of BIOS jumps */
#define pBOOT 0x0E600
#define pWBOOT 0x0E603
#define pCONST 0x0E606
#define pCONIN 0x0E609
#define pCONOUT 0x0E60C
#define pLIST 0x0E60F
#define pPUNCH 0x0E612
#define pREADER 0x0E615
#define pHOME 0x0E618
#define pSELDSK 0x0E61B
#define pSETTRK 0x0E61E
#define pSETSEC 0x0E621
#define pSETDMA 0x0E624
#define pREAD 0x0E627
#define pWRITE 0x0E62A
#define pLISTST 0x0E62D
#define pSECTRN 0x0E630
#define pBNKSEL 0x0E633
#define pGETLU 0x0E636
#define pSETLU 0x0E639
#define pGETINFO 0x0E63C
struct JMP {
unsigned char opcode; /* JMP opcode */
unsigned int address; /* JMP address */
};
struct BIOS {
struct JMP boot;
struct JMP wboot;
struct JMP const;
struct JMP conin;
struct JMP conout;
struct JMP list;
struct JMP punch;
struct JMP reader;
struct JMP home;
struct JMP seldsk;
struct JMP settrk;
struct JMP setsec;
struct JMP setdma;
struct JMP read;
struct JMP write;
struct JMP listst;
struct JMP sectrn;
struct JMP bnksel;
struct JMP getlu;
struct JMP setlu;
struct JMP getinfo;
struct JMP rsvd1;
struct JMP rsvd2;
struct JMP rsvd3;
struct JMP rsvd4;
char rmj;
char rmn;
char rup;
char rtp;
} * pBIOS = 0xe600;
/* pointer based Disk Parameter Block structure */
struct DPB {
unsigned int spt;
unsigned char bsh;
unsigned char blm;
unsigned char exm;
unsigned int dsm;
unsigned int drm;
unsigned char al0;
unsigned int cks;
unsigned int off;
} * pDPB;
/* pointer based Disk Parameter Header structure */
struct DPH {
unsigned int xlt;
unsigned int rv1;
unsigned int rv2;
unsigned int rv3;
unsigned int dbf;
struct DPB * pDpb;
unsigned int csv;
unsigned int alv;
unsigned char sigl;
unsigned char sigu;
unsigned int current;
unsigned int number;
} * pDPH;
/* pointer based Information List structure */
struct INFOLIST {
int version;
void * banptr;
void * varloc;
void * tstloc;
void * dpbmap;
void * dphmap;
void * ciomap;
} * pINFOLIST;
/* 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;
} * pCNFGDATA;
struct JMP_TAG {
unsigned char opcode;
unsigned int address;
};
/* pointer based System Configuration structure */
struct SYSCFG {
struct JMP_TAG jmp;
void * cnfloc;
void * tstloc;
void * varloc;
struct CNFGDATA cnfgdata;
char filler[256-3-2-2-2-sizeof(struct CNFGDATA)];
} * pSYSCFG = HIGHSEG;
struct SYSCFG * pSYSCFG = HIGHSEG;
#define TTY 0
#define ANSI 1

View File

@@ -23,28 +23,6 @@
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */
/*
#include "cpmbind.h"
#include "cbioshdr.h"
#include "std.h"
#include "infolist.h"
#include "dphdpb.h"
#include "dphmap.h"
#include "metadata.h"
#include "setlunum.h"
#include "applvers.h"
#include "cpmbdos.h"
#include "ctermcap.h"
#include "diagnose.h"
*/
#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 */
/* Drive List Geometry */
#define COL1 0
#define COL2 (80/4)
@@ -67,39 +45,31 @@
struct SYSCFG * pSYSCFG = HIGHSEG;
/*
struct DPH * pDPH;
struct DPB * pDPB;
*/
/* int drive; */
dispdpb(line,column,pDPB)
int line;
int column;
struct DPB * pDPB;
{
crtlc(line+0,column);
printf("[%04x] spt =%04x",&pDPB->spt,pDPB->spt);
printf("[%x] spt =%x",&pDPB->spt,pDPB->spt);
crtlc(line+1,column);
printf("[%04x] bsh =%02x",&pDPB->bsh,pDPB->bsh);
printf("[%x] bsh =%x",&pDPB->bsh,pDPB->bsh);
crtlc(line+2,column);
printf("[%04x] blm =%02x",&pDPB->blm,pDPB->blm);
printf("[%x] blm =%x",&pDPB->blm,pDPB->blm);
crtlc(line+3,column);
printf("[%04x] exm =%02x",&pDPB->exm,pDPB->exm);
printf("[%x] exm =%x",&pDPB->exm,pDPB->exm);
crtlc(line+4,column);
printf("[%04x] dsm =%04x",&pDPB->dsm,pDPB->dsm);
printf("[%x] dsm =%x",&pDPB->dsm,pDPB->dsm);
crtlc(line+5,column);
printf("[%04x] drm =%04x",&pDPB->drm,pDPB->drm);
printf("[%x] drm =%x",&pDPB->drm,pDPB->drm);
crtlc(line+6,column);
printf("[%04x] al0 =%02x",&pDPB->al0,pDPB->al0);
printf("[%x] al0 =%x",&pDPB->al0,pDPB->al0);
crtlc(line+7,column);
printf("[%04x] al1 =%02x",&pDPB->al1,pDPB->al1);
printf("[%x] al1 =%x",&pDPB->al1,pDPB->al1);
crtlc(line+8,column);
printf("[%04x] cks =%04x",&pDPB->cks,pDPB->cks);
printf("[%x] cks =%x",&pDPB->cks,pDPB->cks);
crtlc(line+9,column);
printf("[%04x] off =%04x",&pDPB->off,pDPB->off);
printf("[%x] off =%x",&pDPB->off,pDPB->off);
}
struct DPB * dispdph(drive,line,column)
@@ -149,31 +119,31 @@ struct DPB * dispdph(drive,line,column)
}
crtlc(line+0,column); printf("[%04x] xlt =%04x",
crtlc(line+0,column); printf("[%x] xlt =%x",
&pDPH->xlt,pDPH->xlt);
crtlc(line+1,column); printf("[%04x] rv1 =%04x",
crtlc(line+1,column); printf("[%x] rv1 =%x",
&pDPH->rv1,pDPH->rv1);
crtlc(line+2,column); printf("[%04x] rv2 =%04x",
crtlc(line+2,column); printf("[%x] rv2 =%x",
&pDPH->rv2,pDPH->rv2);
crtlc(line+3,column); printf("[%04x] rv3 =%04x",
crtlc(line+3,column); printf("[%x] rv3 =%x",
&pDPH->rv3,pDPH->rv3);
crtlc(line+4,column); printf("[%04x] dbf =%04x",
crtlc(line+4,column); printf("[%x] dbf =%x",
&pDPH->dbf,pDPH->dbf);
crtlc(line+5,column); printf("[%04x] dpb =%04x",
crtlc(line+5,column); printf("[%x] dpb =%x",
&pDPH->dpb,pDPH->dpb);
crtlc(line+6,column); printf("[%04x] csv =%04x",
crtlc(line+6,column); printf("[%x] csv =%x",
&pDPH->csv,pDPH->csv);
crtlc(line+7,column); printf("[%04x] alv =%04x",
crtlc(line+7,column); printf("[%x] alv =%x",
&pDPH->alv,pDPH->alv);
if( ('L' == pDPH->sigl) && ('U' == pDPH->sigu) ) {
crtlc(line+8,column);
printf("[%04x] sigl=%02x",&pDPH->sigl,pDPH->sigl);
printf("[%x] sigl=%x",&pDPH->sigl,pDPH->sigl);
crtlc(line+9,column);
printf("[%04x] sigu=%02x",&pDPH->sigu,pDPH->sigu);
printf("[%x] sigu=%x",&pDPH->sigu,pDPH->sigu);
crtlc(line+10,column);
printf("[%04x] curr=%04x",&pDPH->current,pDPH->current);
printf("[%x] curr=%x",&pDPH->current,pDPH->current);
crtlc(line+11,column);
printf("[%04x] numb=%04x",&pDPH->number,pDPH->number);
printf("[%x] numb=%x",&pDPH->number,pDPH->number);
}
if(DSM720 == pDPB->dsm) {