mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2025-06-07 08:14:48 +00:00
ClassRep u8_chars
This commit is contained in:
parent
22a7cbc551
commit
8c7d478d86
Binary file not shown.
Binary file not shown.
96
src/Home/Tmp.DD
Executable file
96
src/Home/Tmp.DD
Executable 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$
|
BIN
src/Kernel.BIN.C
BIN
src/Kernel.BIN.C
Binary file not shown.
@ -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.
@ -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);
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user