ClassRep u8_chars

This commit is contained in:
xmm15 2020-02-16 16:03:16 -06:00
parent 22a7cbc551
commit 8c7d478d86
7 changed files with 122 additions and 17 deletions

Binary file not shown.

Binary file not shown.

96
src/Home/Tmp.DD Executable file
View File

@ -0,0 +1,96 @@
$WW+H,1$0.000011s
C:/Home>$PT$ExeFile2("C:/Home/K.CC",CCF_CMD_LINE);
$PT$$FG$$BG$Errs:0 Warns:0 Code:2BBCF Size:2F600
In anticipation of the drives you will
define shortly, enter the drive letter
of the drive with the account directory.
($FG,5$<ENTER>$FG$ for cur drv) Boot Drive:$PT$C$FG$
$BK,1$$FG,5$Mount drives so they will be present when you boot.$FG$$BK,0$
****** Mount Drives ******
$FG,2$A$FG$-$FG,2$B$FG$ are RAM drives.
$FG,2$C$FG$-$FG,2$L$FG$ are ATA hard drives.
$FG,2$M$FG$-$FG,2$P$FG$ are ISO file read drives.
$FG,2$Q$FG$-$FG,2$S$FG$ are ISO file write drives.
$FG,2$T$FG$-$FG,2$Z$FG$ are ATAPI CD/DVD drives.
Drive Letter ($FG,5$<ENTER>$FG$ to exit):$PT$C$FG$
Partition Num (Default=All):$PT$
$PT$$FG$$BG$
We're going to probe hardware.
$FG,4$Exit all other applications.$FG$
Press '$FG,5$p$FG$' to probe or '$FG,5$s$FG$' to skip.
Subcode:0x8A Bus:0x0 Dev:0x1 Fun:0x1
$FG,5$ $BT,"1",LM="1\n"$$FG$$LM,4$$FG,4$Hard Drive $FG,9$ATA Primary IDE$FG$
Base0:0x01F0 Base1:0x03F4 Unit:0$LM,0$
$FG,5$ $BT,"2",LM="2\n"$$FG$$LM,4$$FG,4$CD/DVD Drive $FG,9$ATAPI Secondary IDE$FG$
$FG,5$(Drive originally installed from.)$FG$
Base0:0x0170 Base1:0x0374 Unit:0$LM,0$
Enter dev number or
port with $FG,5$0x$FG$ prefix.
I/O Port Base0:
$PT$1
$PT$$FG$$BG$
****** Mount Drives ******
$FG,2$A$FG$-$FG,2$B$FG$ are RAM drives.
$FG,2$C$FG$-$FG,2$L$FG$ are ATA hard drives.
$FG,2$M$FG$-$FG,2$P$FG$ are ISO file read drives.
$FG,2$Q$FG$-$FG,2$S$FG$ are ISO file write drives.
$FG,2$T$FG$-$FG,2$Z$FG$ are ATAPI CD/DVD drives.
Drive Letter ($FG,5$<ENTER>$FG$ to exit):$PT$
$FG$
Disk Cache Size in Bytes,
gets rounded-up funny,
($FG,5$<ENTER>$FG$ will use default.):$PT$
$PT$$FG$$BG$$FG,5$ MemInit$FG$:Off
$FG,5$ HeapInit$FG$:Off
$FG,5$ VarInit$FG$:Off
$FG,5$ StaffMode$FG$:Off
$FG,5$ HomeDir$FG$:"::/Home"
$FG,5$ NoMP$FG$:Off
$FG,5$ TextMode$FG$:Off
$FG,5$ DontProbe$FG$:Off
$FG,5$ MountIDEAuto$FG$:Off
$FG,5$ DebugDistro$FG$:Off
Type '$FG,5$Help$FG$' for help.
Option ($FG,5$<ENTER>$FG$ when done):$PT$
$PT$$FG$$BG$Errs:0 Warns:0 Code:29420 Size:2E1A0
Copying /Kernel/Kernel.BIN to /Kernel.BIN.C
Del Kernel.BIN
Modifying partition boot record.
Successful? (y or n)? $PT$NO$FG$
1.611867s ans=0x00000000=0
C:/Kernel>$PT$F("ClassRep(");
$PT$$FG$$BG$$LK,"C:/Demo/Disk/BlkDevRep.CC,0007",A="PL:C:/Demo/Disk/BlkDevRep.CC,7"$ ClassRep(&blkdev.blkdevs[i]);
$LK,"C:/Demo/Disk/DataBase.CC,0046",A="PL:C:/Demo/Disk/DataBase.CC,46"$ ClassRep(&a);
$LK,"C:/Demo/Disk/DiskRaw.CC,0011",A="PL:C:/Demo/Disk/DiskRaw.CC,11"$ ClassRep(drive);
$LK,"C:/Demo/Disk/DiskRaw.CC,0014",A="PL:C:/Demo/Disk/DiskRaw.CC,14"$ ClassRep(bd);
$LK,"C:/Demo/DolDoc/Form.CC,0045",A="PL:C:/Demo/DolDoc/Form.CC,45"$ ClassRep(&fds);
$LK,"C:/Demo/LastClass.CC,0031",A="PL:C:/Demo/LastClass.CC,31"$ ClassRep(Fs);
$LK,"C:/Kernel/KDebug.CC,0507",A="PL:C:/Kernel/KDebug.CC,507"$ ">ClassRep(Fs,\"CTask\",1);\t//Dump current task record.\n"
$LK,"C:/Kernel/KDebug.CC,0508",A="PL:C:/Kernel/KDebug.CC,508"$ ">ClassRep(Fs,,1);\t\t//(It knows lastclass.)\n"
$LK,"C:/Kernel/KExterns.CC,0007",A="PL:C:/Kernel/KExterns.CC,7"$ import U0 ClassRep(U8 *_d,U8 *class_name=lastclass,
$LK,"C:/Zenith/ZDebug.CC,0161",A="PL:C:/Zenith/ZDebug.CC,161"$ public U0 ClassRep(U8 *_d,U8 *class_name=lastclass,
$LK,"C:/Zenith/ZDebug.CC,0243",A="PL:C:/Zenith/ZDebug.CC,243"$ ClassRep(img-tmpf->size,st,max_depth,FALSE,TRUE,rbp-img+tmpf->size);
$LK,"C:/Zenith/ZDebug.CC,0246",A="PL:C:/Zenith/ZDebug.CC,246"$ ClassRep(rbp,st,max_depth,FALSE,TRUE);
0.378766s ans=0x0000000C=12
C:/Kernel>$PT$
$PT$$FG$$BG$C:/Kernel>$PT$
$PT$$FG$$BG$C:/Kernel>$PT$
$PT$$FG$$BG$C:/Kernel>$PT$
$PT$$FG$$BG$C:/Kernel>$PT$
$PT$$FG$$BG$C:/Kernel>$PT$
$PT$$FG$$BG$C:/Kernel>$PT$

Binary file not shown.

View File

@ -5,7 +5,7 @@ before import is resolved, you can use
var and check it before calling.
*/
import U0 ClassRep(U8 *_d,U8 *class_name=lastclass,
I64 max_depth=2,Bool fun=FALSE,I64 offset=0);
I64 max_depth=2,Bool u8_chars=FALSE,Bool fun=FALSE,I64 offset=0);
import U8 *DocSave(CDoc *doc,I64 *_size=NULL);
import Bool DocUnlock(CDoc *doc);
import Bool Ed(U8 *link_st,I64 edf_dof_flags=0);

Binary file not shown.

View File

@ -1,5 +1,5 @@
#help_index "Debugging/Dump"
Bool ClassRep2(CDoc *doc,U8 *_d,U8 *class_name=lastclass,
Bool ClassRep2(CDoc *doc,U8 *_d,U8 *class_name=lastclass,Bool u8_chars,
I64 depth,I64 max_depth,Bool dynamic,I64 types=HTT_CLASS,I64 offset=0)
{//See $LK,"::/Demo/LastClass.CC"$.
I64 i,j,stars,*ptr;
@ -43,7 +43,7 @@ Bool ClassRep2(CDoc *doc,U8 *_d,U8 *class_name=lastclass,
}
} else if (!stars) {
j=MinI64(ml->dim.total_count,32);
if (tmpc2->raw_type==RT_I8 || tmpc2->raw_type==RT_U8) {
if ((tmpc2->raw_type==RT_I8 || tmpc2->raw_type==RT_U8) && u8_chars) {
if (j==1) {
if (dynamic) {
doc_e=DocPrint(doc,"$$DA-TRM+RD+UD,RT=U8,A=\"%%c\"$$\n");
@ -143,9 +143,9 @@ Bool ClassRep2(CDoc *doc,U8 *_d,U8 *class_name=lastclass,
DocPrint(doc,"$$TR,\"%s\"$$\n",ml->str);
DocPrint(doc,"$$ID,2$$");
if (!stars)
ClassRep2(doc,ptr,tmpc2->str,depth+1,max_depth,dynamic);
ClassRep2(doc,ptr,tmpc2->str,u8_chars,depth+1,max_depth,dynamic);
else if (stars==1)
ClassRep2(doc,*ptr,tmpc2->str,depth+1,max_depth,dynamic);
ClassRep2(doc,*ptr,tmpc2->str,u8_chars,depth+1,max_depth,dynamic);
DocPrint(doc,"$$ID,-2$$");
}
} else
@ -159,30 +159,38 @@ Bool ClassRep2(CDoc *doc,U8 *_d,U8 *class_name=lastclass,
}
public U0 ClassRep(U8 *_d,U8 *class_name=lastclass,
I64 max_depth=2,Bool fun=FALSE,I64 offset=0)
I64 max_depth=2,Bool u8_chars=FALSE,Bool fun=FALSE,I64 offset=0)
{//Displays members of a record by using the compiler's info.
CDoc *doc;
I64 type;
if (IsRaw)
doc=DocNew;
else {
else
{
DocMax;
doc=DocPut;
}
if (fun)
ClassRep2(doc,_d,class_name,0,max_depth,FALSE,HTT_FUN,offset);
if(fun)
type=HTT_FUN;
else
ClassRep2(doc,_d,class_name,0,max_depth,FALSE,HTT_CLASS,offset);
type=HTT_CLASS;
ClassRep2(doc,_d,class_name,u8_chars,0,max_depth,FALSE,type,offset);
DocPrint(doc,"\n");
DocRecalc(doc);
if (IsRaw) {
if (IsRaw)
{
DocDump(doc,100000);
DocDel(doc);
}
}
public U0 ClassRepD(U8 *_d,U8 *class_name=lastclass,
I64 max_depth=2,Bool fun=FALSE,I64 offset=0)
{//Dynamic ClassRep. Uses hex_ed widgit for live changes.
I64 max_depth=2,Bool u8_chars=FALSE,Bool fun=FALSE,I64 offset=0)
{//Dynamic ClassRep. Uses hex_ed widget for live changes.
CDoc *doc;
if (IsRaw)
doc=DocNew;
@ -191,9 +199,9 @@ public U0 ClassRepD(U8 *_d,U8 *class_name=lastclass,
doc=DocPut;
}
if (fun)
ClassRep2(doc,_d,class_name,0,max_depth,TRUE,HTT_FUN,offset);
ClassRep2(doc,_d,class_name,u8_chars,0,max_depth,TRUE,HTT_FUN,offset);
else
ClassRep2(doc,_d,class_name,0,max_depth,TRUE,HTT_CLASS,offset);
ClassRep2(doc,_d,class_name,u8_chars,0,max_depth,TRUE,HTT_CLASS,offset);
DocPrint(doc,"\n");
DocRecalc(doc);
if (IsRaw) {
@ -232,10 +240,10 @@ public U0 FunRep(U8 *st,U8 *rbp=NULL,I64 max_depth=2,CTask *task=NULL)
img=MAlloc(size);
MemCopy(img,rbp+tmpf->size,size);
UpdateRegVarImg(tmpf,img-tmpf->size,task);
ClassRep(img-tmpf->size,st,max_depth,TRUE,rbp-img+tmpf->size);
ClassRep(img-tmpf->size,st,max_depth,FALSE,TRUE,rbp-img+tmpf->size);
Free(img);
} else
ClassRep(rbp,st,max_depth,TRUE);
ClassRep(rbp,st,max_depth,FALSE,TRUE);
} else {
tmpm=tmpf->member_list_and_root;
while (tmpm) {
@ -268,3 +276,4 @@ public U0 Uf(U8 *st)
U(HashVal(tmpf));
}
}