Browse Source

TempleOSTS_130315.ISO

v6
Terry A. Davis 9 years ago committed by minexew
parent
commit
17b71f1a2d
  1. BIN
      0000Boot/0000Kernel.BIN.C
  2. BIN
      0000Boot/0000OSMain.BIN.C
  3. BIN
      0000Boot/BootCD.BIN
  4. BIN
      0000Boot/BootMHD2.BIN.C
  5. 24
      SparrowOS/Accts/Adam3bPkgs.CPP
  6. 11
      SparrowOS/Accts/Adam3cSnd.CPP
  7. 179
      SparrowOS/Accts/Adam3dKeyPlugIns.CPP
  8. 27
      SparrowOS/Accts/Adam3eWrappers.CPP
  9. 42
      SparrowOS/Accts/Adam3fSys.CPP
  10. 16
      SparrowOS/Accts/DoItOnce.CPP
  11. 40
      SparrowOS/Accts/Install/Adam3fSys.CPP
  12. 264
      SparrowOS/Accts/Install/DoItOnce.CPP
  13. BIN
      SparrowOS/Accts/PersonalMenu.TXT
  14. 38
      SparrowOS/Accts/SafeMode/Adam3fSys.CPP
  15. 9
      SparrowOS/Accts/SafeMode/DoItOnce.CPP
  16. 9
      SparrowOS/Accts/TS/Adam3bPkgs.CPP
  17. 266
      SparrowOS/Accts/TS/Adam3dKeyPlugIns.CPP
  18. 9
      SparrowOS/Accts/TS/Adam3eWrappers.CPP
  19. 49
      SparrowOS/Accts/TS/Adam3fSys.CPP
  20. 12
      SparrowOS/Accts/TS/DoItOnce.CPP
  21. BIN
      SparrowOS/Accts/TS/PersonalMenu.TXT
  22. 20
      SparrowOS/Accts/TS/TAD/Adam3aLocalize.CPP
  23. 488
      SparrowOS/Accts/TS/TAD/Archive/FileSysISO3.CPP
  24. BIN
      SparrowOS/Accts/TS/TAD/Archive/Logo.TXT
  25. 217
      SparrowOS/Accts/TS/TAD/Archive/USB.CPP
  26. 114
      SparrowOS/Accts/TS/TAD/Archive/USB1a.CPP
  27. 75
      SparrowOS/Accts/TS/TAD/MusicOrgan/abiding.CPP
  28. 44
      SparrowOS/Accts/TS/TAD/MusicOrgan/abyss.CPP
  29. 77
      SparrowOS/Accts/TS/TAD/MusicOrgan/awake.CPP
  30. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/bedewed.CPP
  31. 51
      SparrowOS/Accts/TS/TAD/MusicOrgan/blinded.CPP
  32. 32
      SparrowOS/Accts/TS/TAD/MusicOrgan/depending.CPP
  33. 24
      SparrowOS/Accts/TS/TAD/MusicOrgan/despairing.CPP
  34. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/dialogue.CPP
  35. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/doing.CPP
  36. 24
      SparrowOS/Accts/TS/TAD/MusicOrgan/dream.CPP
  37. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/elijah.CPP
  38. 42
      SparrowOS/Accts/TS/TAD/MusicOrgan/epicurus.CPP
  39. 37
      SparrowOS/Accts/TS/TAD/MusicOrgan/fairness.CPP
  40. 20
      SparrowOS/Accts/TS/TAD/MusicOrgan/feigned.CPP
  41. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/finger.CPP
  42. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/first.CPP
  43. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/fishermen.CPP
  44. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/fog.CPP
  45. 34
      SparrowOS/Accts/TS/TAD/MusicOrgan/free.CPP
  46. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/furnishing.CPP
  47. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/good.CPP
  48. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/gutenberg.CPP
  49. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/happy.CPP
  50. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/hope.CPP
  51. 35
      SparrowOS/Accts/TS/TAD/MusicOrgan/image.CPP
  52. 20
      SparrowOS/Accts/TS/TAD/MusicOrgan/inwardly.CPP
  53. 22
      SparrowOS/Accts/TS/TAD/MusicOrgan/keeping.CPP
  54. 33
      SparrowOS/Accts/TS/TAD/MusicOrgan/kept.CPP
  55. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/limit.CPP
  56. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/mildly.CPP
  57. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/night.CPP
  58. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/prosper.CPP
  59. 21
      SparrowOS/Accts/TS/TAD/MusicOrgan/psalm.CPP
  60. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/purpose.CPP
  61. 39
      SparrowOS/Accts/TS/TAD/MusicOrgan/reliance.CPP
  62. 19
      SparrowOS/Accts/TS/TAD/MusicOrgan/restless.CPP
  63. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/satisfaction.CPP
  64. 35
      SparrowOS/Accts/TS/TAD/MusicOrgan/service.CPP
  65. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/shield.CPP
  66. 20
      SparrowOS/Accts/TS/TAD/MusicOrgan/signifies.CPP
  67. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/small.CPP
  68. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/struggles.CPP
  69. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/sustain.CPP
  70. 35
      SparrowOS/Accts/TS/TAD/MusicOrgan/teachings.CPP
  71. 76
      SparrowOS/Accts/TS/TAD/MusicOrgan/thereupon.CPP
  72. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/valued.CPP
  73. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/vengeance.CPP
  74. 49
      SparrowOS/Accts/TS/TAD/MusicOrgan/verses.CPP
  75. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/wisdom.CPP
  76. 35
      SparrowOS/Accts/TS/TAD/MusicOrgan/witherto.CPP
  77. 20
      SparrowOS/Accts/TS/TAD/MusicOrgan/worship.CPP
  78. BIN
      SparrowOS/Accts/TS/TAD/MusicOrgan/zip.CPP
  79. 186
      SparrowOS/Accts/TS/TAD/PersonalNotes.TXT
  80. 8
      SparrowOS/Accts/TS/TAD/Registry.CPP
  81. 53
      SparrowOS/Accts/TS/TAD/Test.CPP
  82. 413
      SparrowOS/Accts/TS/TSAdam.CPP
  83. 543
      SparrowOS/Accts/TS/TSDistribute.CPP
  84. 7
      SparrowOS/Accts/TS/TSIDComputer.CPP
  85. 7
      SparrowOS/Accts/TS/TSIDDft.CPP
  86. 81
      SparrowOS/Accts/TS/Wb2/Hymns.TXT
  87. 721
      SparrowOS/Accts/TS/Wb2/LineCnt.TXT
  88. BIN
      SparrowOS/Accts/TS/Wb2/Menu.BMP
  89. 14
      SparrowOS/Accts/TS/Wb2/ScreenShots.TXT
  90. BIN
      SparrowOS/Accts/TS/Wb2/SparrowOS.BMP
  91. BIN
      SparrowOS/Accts/TS/Wb2/Tanks.BMP
  92. 71
      SparrowOS/Accts/TS/Wb2/index.TXT
  93. 72
      SparrowOS/Adam/Adam2.CPP
  94. 105
      SparrowOS/Adam/AdamExt.HPP
  95. 138
      SparrowOS/Adam/AutoFile2a.CPP
  96. 85
      SparrowOS/Adam/BinRep.CPP
  97. 157
      SparrowOS/Adam/Boot/BootCD.CPP
  98. 92
      SparrowOS/Adam/Boot/BootHD.CPP
  99. 105
      SparrowOS/Adam/Boot/BootMHD.CPP
  100. 119
      SparrowOS/Adam/Boot/BootMHD2.CPP
  101. Some files were not shown because too many files have changed in this diff Show More

BIN
0000Boot/0000Kernel.BIN.C

Binary file not shown.

BIN
0000Boot/0000OSMain.BIN.C

Binary file not shown.

BIN
0000Boot/BootCD.BIN

Binary file not shown.

BIN
0000Boot/BootMHD2.BIN.C

Binary file not shown.

24
SparrowOS/Accts/Adam3bPkgs.CPP

@ -1,24 +0,0 @@
//Change anything you want in this
//acct file or others.
Cd("/SparrowOS/Adam/Boot");;
#include "InsBoot"
Cd("/SparrowOS/Adam");;
#include "Diff"
#include "Grep"
#include "LineCnt"
#include "Merge"
#include "S2T"
#include "LinkChk"
#include "HeapLog"
#include "MemRep"
#include "ToHtml"
#include "ToTXT"
#include "BinRep"
#include "FileBMP"
Cd("/SparrowOS/Apps");;
MapFileLoad("::/SparrowOS/OSMain/OSMain");
MapFileLoad("::/SparrowOS/Compiler/Compiler");
Cd("HOME");;

11
SparrowOS/Accts/Adam3cSnd.CPP

@ -1,11 +0,0 @@
//Change anything you want in this
//acct file or others.
Cd("/SparrowOS/Adam/Snd");;
#include "SndFile"
#include "HDAudio"
//Uncomment this after running $LK,"::/SparrowOS/Adam/Snd/HDCfg.CPP.Z","FI:::/SparrowOS/Adam/Snd/HDCfg.CPP.Z"$.
//#include "HOME/HDAudioCfg.CPP.Z"
LBtr(&sys_semas[SYS_SEMA_SND],0);
Cd("HOME");;

179
SparrowOS/Accts/Adam3dKeyPlugIns.CPP

@ -1,179 +0,0 @@
//Change anything you want in this
//acct file or others.
U0 FillInTime()
{
CDate ltdt;
ltdt=GetCurTimeCDate;
"$$IV,1$$----%D %T----$$IV,0$$\n",ltdt,ltdt;
}
Bool MyPutKey(I64 ch,I64 sc)
{ //ch=ASCII; sc=scancode
//See $LK,"Char","HI:Char"$ for definition of scan codes.
//See $LK,"Keyboard Handling","FI:::/SparrowOS/Doc/KeyBoard.TXT.Z"$
//You can customize keys. This routine
//is called before the main editor
//key handler $LK,"DocPutKey","MN:DocPutKey"$().
//You can intercept any key.
//Return TRUE if you completely
//handled the key.
I64 i,sc2=sc.u8[0];
if (SC_F1<=sc2<=SC_F10 &&
sc&SCF_ALT &&
!(sc & SCF_CTRL)) {
switch (sc2) {
case SC_F1:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/LTPURPLE");
else
SetKeyDesc("Dollar/PURPLE");
} else {
if (sc & SCF_SHIFT)
"$$FG,LTPURPLE$$";
else
"$$FG,PURPLE$$";
}
break;
case SC_F2:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/LTRED");
else
SetKeyDesc("Dollar/RED");
} else {
if (sc & SCF_SHIFT)
"$$FG,LTRED$$";
else
"$$FG,RED$$";
}
break;
case SC_F3:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/LTGREEN");
else
SetKeyDesc("Dollar/GREEN");
} else {
if (sc & SCF_SHIFT)
"$$FG,LTGREEN$$";
else
"$$FG,GREEN$$";
}
break;
case SC_F4:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/LTBLUE");
else
SetKeyDesc("Dollar/Default Color");
} else {
if (sc & SCF_SHIFT)
"$$FG,LTBLUE$$";
else
"$$FG$$";
}
break;
case SC_F6:
if (sc&SCF_KEY_DESC) {
if (!(sc & SCF_SHIFT))
SetKeyDesc("Cmd/Init WordStat LT");
} else if (!(sc & SCF_SHIFT))
PopUp("WSInit(\"/SparrowOS/\" TEXT_FILE_MASK \";~*Bible.TXT.Z\");");
break;
case SC_F7:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/Insert Hidden Widget");
else
SetKeyDesc("Misc/Insert Datetime");
} else {
if (sc & SCF_SHIFT)
DocInsSafe(DocCur,
"$$HS+C$$$$FG$$$$HE$$");
else
FillInTime();
}
break;
}
return TRUE;
} else {
if (!(sc & SCF_CTRL)) {
if (sc & SCF_ALT) {
switch (ch) {
case 'h':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/Tile Horizontally");
else
WinTileHorz;
return TRUE;
case 'm':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/Maximize");
else {
WinMax;
WinBorder;
}
return TRUE;
case 'v':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/Tile Vertically");
else
WinTileVert;
return TRUE;
case 'l':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Edit/Put Link to Cur Pos on Clipboard");
else {
ClipBoardDel;
DocPrintF(sys_clipboard_doc,"$$LK-A,\"FL:%s,%d\"$$",
DocCur->filename.name,DocCur->cur_entry->y+1);
}
return TRUE;
case 'L':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Edit/Place Anchor, Put Link to Clipboard");
else {
i=RandU32;
ClipBoardDel;
DocPrintF(sys_clipboard_doc,"$$LK,\"<TODO>\",\"FA:%s,ANC%d\"$$",
DocCur->filename.name,i);
"$$AN,\"<TODO>\",\"ANC%d\"$$",i;
}
return TRUE;
case 'w':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/WordStat(ON);");
else
WordStat(ON);
return TRUE;
case 'W':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/WordStat;");
else
WordStat;
return TRUE;
}
}
}
}
return FALSE;
}
Bool MyPutS(U8 *st)
{
nounusedwarn st;
return FALSE;
}
KeyDevAdd(&MyPutKey,&MyPutS,0x20000000,TRUE);

27
SparrowOS/Accts/Adam3eWrappers.CPP

@ -1,27 +0,0 @@
//Change anything you want in this
//acct file or others.
#help_index "Utils;Cmd Line (Typically)"
//These are customized quick commands.
//Feel free to add more or change.
public I64 F(U8 *pattern,U8 *fu_flags=NULL)
{
return Grep(pattern,"/SparrowOS/"TEXT_FILE_MASK,fu_flags);
}
public I64 R(U8 *pattern,U8 *replace_text=NULL,U8 *fu_flags="+l-i")
{
return Grep(pattern,"/SparrowOS/"TEXT_FILE_MASK,fu_flags,replace_text);
}
public I64 FD(U8 *pattern,U8 *fu_flags=NULL)
{
return Grep(pattern,TEXT_FILE_MASK,fu_flags);
}
public I64 RD(U8 *pattern,U8 *replace_text=NULL,U8 *fu_flags="+l-i")
{
return Grep(pattern,TEXT_FILE_MASK,fu_flags,replace_text);
}
#help_index ""

42
SparrowOS/Accts/Adam3fSys.CPP

@ -1,42 +0,0 @@
//Change anything you want in this
//acct file or others.
U0 UserStartUp()
{ //Run each time a user a spawned
UseTermDoc;
DocCurAttr(WHITE<<4+BLUE);
Type("::/SparrowOS/Doc/Start.TXT.Z");
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinZBufUpdate;
if (!IsSysDeterministic)
Preempt(ON);
}
U0 ServantStartUp()
{ //Run each time a servant task is spawned.
UseTermDoc;
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinZBufUpdate;
if (!IsSysDeterministic)
Preempt(ON);
}
U0 StartUpTasks()
{
CTask *task1,*task2;
task1=SpawnUser;
task2=SpawnUser;
WinToTop(task1);
WinTileVert;
if (!IsSysDeterministic)
PopUp("#include \"::/SparrowOS/Adam/Start.CPP.Z\";");
AdamLog("Boot Time:%7.3fs\n",tS);
XTalk(task1,"#include \"DoItOnce.CPP.Z\";\n");
Silent(ON); //no output to screen
WSInit("/SparrowOS/" TEXT_FILE_MASK ";~*Bible.TXT.Z");
Silent(OFF); //no output to screen
}
StartUpTasks;
"\nOS Compile Time:%D %T\n",sys_compile_time,sys_compile_time;

16
SparrowOS/Accts/DoItOnce.CPP

@ -1,16 +0,0 @@
//This file is executed by the
//first terminal window upon start-up.
//See $LK,"DoItOnce","FF:HOME/Adam3fSys.CPP.Z,DoItOnce"$.
//It goes in your HOME directory and
//you can customize it.
//Delete this to get rid of
//default start-up msg.
Type("::/SparrowOS/Doc/Customize.TXT.Z");
"\nTake Tour";
if (YorN) {
Cd("/SparrowOS/Misc/Tour");
AutoFile("Tour");
}

40
SparrowOS/Accts/Install/Adam3fSys.CPP

@ -1,40 +0,0 @@
//Change anything you want in this
//acct file or others.
U0 UserStartUp()
{ //Run each time a user a spawned
UseTermDoc;
DocCurAttr(WHITE<<4+BLUE);
Type("::/SparrowOS/Doc/Start.TXT.Z");
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinZBufUpdate;
if (!IsSysDeterministic)
Preempt(ON);
}
U0 ServantStartUp()
{ //Run each time a servant task is spawned.
UseTermDoc;
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinZBufUpdate;
if (!IsSysDeterministic)
Preempt(ON);
}
U0 StartUpTasks()
{
CTask *task1,*task2;
task1=SpawnUser;
task2=SpawnUser;
WinToTop(task1);
WinTileVert;
AdamLog("Boot Time:%7.3fs\n",tS);
XTalk(task1,"#include \"DoItOnce.CPP.Z\";\n");
Silent(ON); //no output to screen
WSInit;
Silent(OFF); //no output to screen
}
StartUpTasks;
"\nOS Compile Time:%D %T\n",sys_compile_time,sys_compile_time;

264
SparrowOS/Accts/Install/DoItOnce.CPP

@ -1,264 +0,0 @@
U0 VMDrvs(CATARep *root,CATARep **_ata_drv,CATARep **_atapi_drv)
{
CBlkDev *bd=Drv2BlkDev(dft_drv);
CATARep *tempha=root,*ata_drv=NULL,*atapi_drv=NULL;
Bool found_atapi=FALSE;
while (tempha) {
if (tempha->type==BDT_ATA) {
if (!ata_drv || tempha->unit<ata_drv->unit ||
tempha->unit==ata_drv->unit && tempha->num<ata_drv->num)
ata_drv=tempha;
} else if (tempha->type==BDT_ATAPI) {
if (!found_atapi) {
if (bd && tempha->base0==bd->base0 && tempha->unit==bd->unit) {
atapi_drv=tempha;
found_atapi=TRUE;
} else if (!atapi_drv || tempha->unit<atapi_drv->unit ||
tempha->unit==atapi_drv->unit && tempha->num<atapi_drv->num)
atapi_drv=tempha;
}
}
tempha=tempha->next;
}
if (_ata_drv) *_ata_drv =ata_drv;
if (_atapi_drv) *_atapi_drv=atapi_drv;
}
Bool VMPrtDsk(CTask *task,CATARep *ata_drv)
{
if (ata_drv) {
XTalkWait(task,"PrtDsk;\nYC2p%d\nYYY",ata_drv->num);
XTalkWait(task,"%d\nY\nY\n",(prt_dsk_dsk_size-PRT_HEADER)/2);
return TRUE;
} else
return FALSE;
}
U0 VMInstallBoot(CTask *task,U8 cd_drv,U8 drv,U8 *acct_name,
CATARep *ata_drv,CATARep *atapi_drv)
{
U8 *st1,*st2;
st1=MSPrintF("%C:/",cd_drv);
st2=MSPrintF("%C:/",drv);
CopyTree(st1,st2);
Free(st1);
Free(st2);
st1=MSPrintF("%C:/SparrowOS/Accts/%s",drv,acct_name);
MkDir(st1);
Free(st1);
XTalkWait(task,
"InstallBoot('%C');\n"
"B10x20000\n",drv);
if (ata_drv)
XTalkWait(task,"C2p%d\n",ata_drv->num);
if (atapi_drv)
XTalkWait(task,"T3p%d\n",atapi_drv->num);
XTalkWait(task,
"\n" //Exit Drives
"%s\n" //Acct
"\n" //Dsk Cache
"\n", //Options
acct_name);
}
U0 VMInstallWizard(CTask *task)
{
U8 *acct_name;
CATARep *root=NULL,*ata_drv=NULL,*atapi_drv=NULL;
while (TRUE) {
"Make-up a Log-In Name (account).\n";
acct_name=PmtStr("User Acct Name (%s): ","User");
if (FileNameChk(acct_name))
break;
Free(acct_name);
}
task=SpawnUser;
task->win_top=Fs->win_top;
task->win_bottom=(Fs->win_top+Fs->win_bottom)>>2-1;
Fs-> win_top=task->win_bottom+3;
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
TaskDerivedValsUpdate(task);
TaskDerivedValsUpdate;
WinToTop(Fs);
ATARep(FALSE,&root);
VMDrvs(root,&ata_drv,&atapi_drv);
if (VMPrtDsk(task,ata_drv)) {
VMInstallBoot(task,dft_drv,'C',acct_name,ata_drv,atapi_drv);
VMInstallBoot(task,dft_drv,'D',acct_name,ata_drv,atapi_drv);
InstallMasterBoot('C');
}
LinkedListDel(root);
Free(acct_name);
}
U0 RegularInstallWizard(CTask *task)
{
I64 unit;
U8 ch,*base0,*base1,*ms,*dst,*acct_name;
U8 *st1,*st2,*new_home_str;
CATARep *root=NULL,*tempha;
I64 num_hints;
while (TRUE) {
"Make-up a Log-In Name (account).\n";
acct_name=PmtStr("User Acct Name (%s): ","User");
if (FileNameChk(acct_name))
break;
Free(acct_name);
}
task=SpawnUser;
task->win_top=Fs->win_top;
task->win_bottom=(Fs->win_top+Fs->win_bottom)>>2-1;
Fs-> win_top=task->win_bottom+3;
task->win_right=Fs->win_right;
task->win_left=Fs->win_left;
TaskDerivedValsUpdate(task);
TaskDerivedValsUpdate;
WinToTop(Fs);
XTalk(task,"Mount;\n");
XTalk(task,"C");
XTalk(task,"2 ");
num_hints=ATARep(FALSE,&root);
"\nInclude '$$FG,PURPLE$$0x$$FG$$' for hexidecimal numbers.\n\n";
while (TRUE) {
base0=PmtStr("Hard Drive I/O Port Base0 : ");
if (0<A2I(base0)<=0xFFFF)
break;
Free(base0);
}
if (1<=A2I(base0)<=num_hints) {
tempha=ATARepFind(&root,A2I(base0));
Free(base0);
base0=MSPrintF("0x%X",tempha->base0);
base1=MSPrintF("0x%X",tempha->base1);
ms =MSPrintF("0x%X",tempha->unit);
unit=A2I(ms);
Free(ms);
} else {
while (TRUE) {
base1=PmtStr("Hard Drive I/O Port Base1 : ");
if (0<A2I(base1)<=0xFFFF)
break;
Free(base1);
}
while (TRUE) {
ms =PmtStr("Unit--$$FG,PURPLE$$0$$FG$$=Master or $$FG,PURPLE$$1$$FG$$=Slave: ","0");
unit=A2I(ms);
Free(ms);
if (0<=unit<=1)
break;
}
}
LinkedListDel(root);
XTalk(task,"%s\n",base0);
XTalk(task,"%s\n",base1);
XTalk(task,"%C",'0'+unit);
XTalkWait(task,"\n");
PrtRep;
while (TRUE) {
dst=PmtStr("\nDestination Partition Letter: ");
if ('A'<=ToUpper(*dst)<='Z')
break;
Free(dst);
}
NewLine;
st1=MSPrintF("%C:/SparrowOS",dft_drv);
st2=MSPrintF("%C:/SparrowOS",*dst);
"$$FG,RED$$Format %C Partition?$$FG$$\n",*dst;
if (YorN) {
NewLine;
while (TRUE) {
"$$FG,PURPLE$$1$$FG$$) Use FAT32\n"
"$$FG,PURPLE$$2$$FG$$) Use SparrowOS Native\n"
"\nFile System Type: ";
ch=GetChar;
NewLine;
if ('1'<=ch<='2')
break;
}
if (ch=='1')
Fmt(*dst,TRUE,FALSE,PT_FAT32);
else
Fmt(*dst,TRUE,FALSE,PT_NATIVE);
} else {
"\n$$BK,1$$WARNING$$BK,0$$ if you answer yes to the following "
"you will lose all SparrowOS files in your /SparrowOS directory tree.\n"
"Delete %s Directory ",st2;
if (YorN)
DelTree(st2);
NewLine;
}
CopyTree(st1,st2);
st2=MSPrintF("%C:/0000Boot",*dst);
MkDir(st2);
Free(st2);
st2=MSPrintF("%C:/Temp",*dst);
MkDir(st2);
Free(st2);
new_home_str=MSPrintF("%C:/SparrowOS/Accts/%s",*dst,acct_name);
MkDir(new_home_str);
XTalkWait(task,
"InstallBoot('%C');\n"
"B10x20000\n"
"C"
"2p"
"%s\n"
"%s\n"
"%C"
"\n" //Exit Drives
"%s\n" //Acct
"\n" //Dsk Cache
"\n", //Options
*dst,base0,base1,'0'+unit,acct_name);
"$$FG,RED$$Install Master Boot loader?$$FG$$";
if (YorN) {
NewLine;
InstallMasterBoot(*dst);
}
Free(new_home_str);
Free(acct_name);
Free(base0);
Free(base1);
Free(ms);
Free(dst);
}
U0 DoInstall()
{
CTask *task=Fs->next_task;
while (task->user_num!=2 && task!=Fs)
task=task->next_task;
XTalk(task,"Ed(\"::/SparrowOS/Doc/Install.TXT.Z\");\n");
NewLine(5);
"Install on virtual machine ";
if (YorN)
VMInstallWizard(task);
else {
"\n\nThis wizard works if you have a partition ready. "
"You can partition the drive or compile the kernel "
"with more options if you do it by hand, not using this wizard.\n\n"
"Continue Install Wizard ";
if (YorN)
RegularInstallWizard(task);
}
Fs->win_top=task->win_top;
Kill(task);
"Reboot Now ";
if (YorN)
Reboot;
}
DoInstall;

BIN
SparrowOS/Accts/PersonalMenu.TXT

Binary file not shown.

38
SparrowOS/Accts/SafeMode/Adam3fSys.CPP

@ -1,38 +0,0 @@
//Change anything you want in this
//acct file or others.
U0 UserStartUp()
{ //Run each time a user a spawned
UseTermDoc;
DocCurAttr(WHITE<<4+BLUE);
Type("::/SparrowOS/Doc/Start.TXT.Z");
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinZBufUpdate;
if (!IsSysDeterministic)
Preempt(ON);
}
U0 ServantStartUp()
{ //Run each time a servant task is spawned.
UseTermDoc;
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinZBufUpdate;
if (!IsSysDeterministic)
Preempt(ON);
}
U0 StartUpTasks()
{
CTask *task1,*task2;
task1=SpawnUser;
task2=SpawnUser;
WinToTop(task1);
WinTileVert;
if (!IsSysDeterministic)
PopUp("#include \"::/SparrowOS/Adam/Start.CPP.Z\";");
AdamLog("Boot Time:%7.3fs\n",tS);
}
StartUpTasks;
"\nOS Compile Time:%D %T\n",sys_compile_time,sys_compile_time;

9
SparrowOS/Accts/SafeMode/DoItOnce.CPP

@ -1,9 +0,0 @@
//This file is executed by the
//first terminal window upon start-up.
//See $LK,"DoItOnce","FF:HOME/Adam3fSys.CPP.Z,DoItOnce"$.
//It goes in your HOME directory and
//you can customize it.
//Delete this to get rid of
//default start-up msg.

9
SparrowOS/Accts/TS/Adam3bPkgs.CPP

@ -1,9 +0,0 @@
#include "/SparrowOS/Accts/Adam3bPkgs"
#include "/SparrowOS/Apps/TimeClock/Load.CPP.Z"
#include "/SparrowOS/Apps/MusicOrgan/Load.CPP.Z"
Cd("HOME");;
#include "/SparrowOS/Accts/TS/TSAdam"
#include "/SparrowOS/Accts/TS/TSDistribute"
#include "/SparrowOS/Demo/WebLogExample/WebLogRep.CPP.Z"
Cd("HOME");;

266
SparrowOS/Accts/TS/Adam3dKeyPlugIns.CPP

@ -1,266 +0,0 @@
//Change anything you want in this
//acct file or others.
U0 FillInTime()
{
CDate ltdt;
ltdt=GetCurTimeCDate;
"$$IV,1$$----%D %T----$$IV,0$$\n",ltdt,ltdt;
}
U0 RandQuote(I64 num)
{ //$LK,"::/SparrowOS/Apps/AfterEgypt/AENotes.TXT.Z","FI:::/SparrowOS/Apps/AfterEgypt/AENotes.TXT.Z"$
I64 i,size,l=512;
U8 *bible_filename=Define("ST_BIBLE_FILE"),
*buf=FileRead(bible_filename,&size);
if (buf) {
i=num%(size-l);
buf[i+l]=0;
"" buf+i;
Free(buf);
}
}
U0 BadCodeJump(I64 num)
{ //$LK,"::/SparrowOS/Apps/AfterEgypt/AENotes.TXT.Z","FI:::/SparrowOS/Apps/AfterEgypt/AENotes.TXT.Z"$
CDirEntry *root=FilesFind("/SparrowOS/*",FUF_JUST_FILES|FUF_RECURSE|FUF_FLATTEN_TREE|FUF_JUST_SRC_FILES),
*tempm=root;
I64 cnt=0;
CDoc *doc;
U8 *st;
while (tempm) {
doc=DocRead(tempm->full_name);
tempm->user_data=doc->root.y;
cnt+=doc->root.y;
DocDel(doc);
tempm=tempm->next;
}
num=num%cnt;
tempm=root;
while (tempm) {
num-=tempm->user_data;
if (num<0) {
st=MSPrintF("FL:%s,%d",tempm->full_name,-num);
break;
}
tempm=tempm->next;
}
CDirListDel(root);
Ed(st);
Free(st);
}
Bool MyPutKey(I64 ch,I64 sc)
{ //ch=ASCII; sc=scancode
//See $LK,"Char","HI:Char"$ for definition of scan codes.
//See $LK,"Keyboard Handling","FI:::/SparrowOS/Doc/KeyBoard.TXT.Z"$
//You can customize keys. This routine
//is called before the main editor
//key handler $LK,"DocPutKey","MN:DocPutKey"$().
//You can intercept any key.
//Return TRUE if you completely
//handled the key.
I64 i,sc2=sc.u8[0];
if (SC_F1<=sc2<=SC_F10 &&
sc&SCF_ALT &&
!(sc & SCF_CTRL)) {
switch (sc2) {
case SC_F1:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/LTPURPLE");
else
SetKeyDesc("Dollar/PURPLE");
} else {
if (sc & SCF_SHIFT)
"$$FG,LTPURPLE$$";
else
"$$FG,PURPLE$$";
}
break;
case SC_F2:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/LTRED");
else
SetKeyDesc("Dollar/RED");
} else {
if (sc & SCF_SHIFT)
"$$FG,LTRED$$";
else
"$$FG,RED$$";
}
break;
case SC_F3:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/LTGREEN");
else
SetKeyDesc("Dollar/GREEN");
} else {
if (sc & SCF_SHIFT)
"$$FG,LTGREEN$$";
else
"$$FG,GREEN$$";
}
break;
case SC_F4:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/LTBLUE");
else
SetKeyDesc("Dollar/Default Color");
} else {
if (sc & SCF_SHIFT)
"$$FG,LTBLUE$$";
else
"$$FG$$";
}
break;
case SC_F5:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("God Passage");
else
SetKeyDesc("God Word");
} else {
//$LK,"::/SparrowOS/Apps/AfterEgypt/AENotes.TXT.Z","FI:::/SparrowOS/Apps/AfterEgypt/AENotes.TXT.Z"$
if (sc & SCF_SHIFT)
RandQuote(KbdMouseEvtTime>>4);
else
"%s ",ws_sorted_words[KbdMouseEvtTime>>4%ws_num_words]->str;
}
break;
case SC_F6:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Cmd/Init WordStat Text");
else
SetKeyDesc("Cmd/Init WordStat LT");
} else {
if (sc & SCF_SHIFT)
PopUp("WSInit(\"::/SparrowOS/Misc/Bible.TXT.Z\");");
else
PopUp("WSInit(\"::/SparrowOS/\" TEXT_FILE_MASK \";~*Bible.TXT.Z\");");
}
break;
case SC_F7:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Dollar/Insert Hidden Widget");
else
SetKeyDesc("Misc/Insert Datetime");
} else {
if (sc & SCF_SHIFT)
DocInsSafe(DocCur,
"$$HS+C$$$$FG$$$$HE$$");
else
FillInTime();
}
break;
}
return TRUE;
} else {
if (!(sc & SCF_CTRL)) {
if (sc & SCF_ALT) {
switch (ch) {
case 'h':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/Tile Horizontally");
else
WinTileHorz;
return TRUE;
case 'm':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/Maximize");
else {
WinMax;
WinBorder;
}
return TRUE;
case 'v':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/Tile Vertically");
else
WinTileVert;
return TRUE;
case 'V':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Sys/Frame Grabber Toggle");
else
FrameGrabberToggle;
return TRUE;
case 'l':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Edit/Put Link to Cur Pos on Clipboard");
else {
ClipBoardDel;
DocPrintF(sys_clipboard_doc,"$$LK-A,\"FL:%s,%d\"$$",
DocCur->filename.name,DocCur->cur_entry->y+1);
}
return TRUE;
case 'L':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Edit/Place Anchor, Put Link to Clipboard");
else {
i=RandU32;
ClipBoardDel;
DocPrintF(sys_clipboard_doc,"$$LK,\"<TODO>\",\"FA:%s,ANC%d\"$$",
DocCur->filename.name,i);
"$$AN,\"<TODO>\",\"ANC%d\"$$",i;
}
return TRUE;
case 'w':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/WordStat(ON);");
else
WordStat(ON);
return TRUE;
case 'W':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Win/WordStat;");
else
WordStat;
return TRUE;
//Ins your own ALT-key plug-ins
case 'b':
if (sc&SCF_KEY_DESC)
SetKeyDesc("Cmd/Jump to Bad Code");
else //$LK,"::/SparrowOS/Apps/AfterEgypt/AENotes.TXT.Z","FI:::/SparrowOS/Apps/AfterEgypt/AENotes.TXT.Z"$
BadCodeJump(KbdMouseEvtTime>>4);
return TRUE;
case 'p':
if (sc&SCF_KEY_DESC)
SetKeyDesc("JukeBox(TAD)");
else
JukeBox("::/SparrowOS/Accts/TS/TAD/MusicOrgan");
return TRUE;
case 'P':
if (sc&SCF_KEY_DESC)
SetKeyDesc("JukeBox(Examples)");
else
JukeBox("::/SparrowOS/Apps/MusicOrgan/Examples");
return TRUE;
}
}
}
}
return FALSE;
}
Bool MyPutS(U8 *st)
{
nounusedwarn st;
return FALSE;
}
KeyDevAdd(&MyPutKey,&MyPutS,0x20000000,TRUE);

9
SparrowOS/Accts/TS/Adam3eWrappers.CPP

@ -1,9 +0,0 @@
#include "/SparrowOS/Accts/Adam3eWrappers"
#help_index "Utils;Cmd Line (Typically)"
public U0 M(U8 *src1,U8 *src2,U8 *fu_flags=NULL)
{
MergeChk(src1,src2,fu_flags);
}
#help_index ""

49
SparrowOS/Accts/TS/Adam3fSys.CPP

@ -1,49 +0,0 @@
U0 UserStartUp()
{ //Run each time a user a spawned
UseTermDoc;
DocCurAttr(WHITE<<4+BLUE);
Type("::/SparrowOS/Doc/Start.TXT.Z");
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinZBufUpdate;
if (!IsSysDeterministic)
Preempt(ON);
Dir;
CPURep;
}
U0 ServantStartUp()
{ //Run each time a servant task is spawned.
UseTermDoc;
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinZBufUpdate;
if (!IsSysDeterministic)
Preempt(ON);
}
CTask *user1,*user2;
U0 StartUpTasks()
{
user1=SpawnUser;
user2=SpawnUser;
WinToTop(user1);
WinTileVert;
if (!IsSysDeterministic)
PopUp("#include \"::/SparrowOS/Adam/Start.CPP.Z\";");
AdamLog("Boot Time:%7.3fs\n",tS);
XTalk(user1,"#include \"DoItOnce.CPP.Z\";\n");
Silent(ON);
if (!IsSysDeterministic)
WSInit("/SparrowOS/" TEXT_FILE_MASK ";~*Bible.TXT.Z");
Silent(OFF);
AdamLog("WordStat Time:%7.3fs\n",tS);
if (ts_has_win_drv)
DrvEnable(TS_WIN_DRV_LET,OFF);
}
DelTree("::/Temp/ScreenShots");
MkDir("::/Temp/ScreenShots");
StartUpTasks;
"\nOS Compile Time:%D %T\n",sys_compile_time,sys_compile_time;

12
SparrowOS/Accts/TS/DoItOnce.CPP

@ -1,12 +0,0 @@
//This file is executed by the
//first terminal window upon start-up.
//See $LK,"DoItOnce","FF:HOME/Adam3fSys.CPP.Z,DoItOnce"$.
//It goes in your HOME directory and
//you can customize it.
//Delete this to get rid of
//default start-up msg.
//Type("::/SparrowOS/Doc/Customize.TXT.Z");

BIN
SparrowOS/Accts/TS/PersonalMenu.TXT

Binary file not shown.

20
SparrowOS/Accts/TS/TAD/Adam3aLocalize.CPP

@ -1,20 +0,0 @@
//Change anything you want in this
//acct file or others.
//This makes your keyboard fast
SetTypeMatic(0);
//Set Time Zone
local_time_offset=-7*60*60*CDATE_FREQ; //Pacific
snd_vol=0.1;
//$AN,"","mouse_move_scale"$adjust these to set mouse move scale
mxx_scale=0.5;
myy_scale=0.5;
mzz_scale=1.0; //wheel
//don't change these
mxx_prescale=mxx/mxx_scale;
myy_prescale=myy/myy_scale;
mzz_prescale=mzz/mzz_scale;

488
SparrowOS/Accts/TS/TAD/Archive/FileSysISO3.CPP

@ -1,488 +0,0 @@
//ISO1 is ISO9660
//ISO2 is ISO13490
//ISO3 is ISO13346
//ISO13346 tag id types
#define ISO3T_PRI_VOL_DESC 1
#define ISO3T_ANCHOR_VOL_DESC_PTR 2
#define ISO3T_VOL_DESC_PTR 3
#define ISO3T_IMPLEMENTATION_VOL_DESC 4
#define ISO3T_PRT_DESC 5
#define ISO3T_LOG_VOL_DESC 6
#define ISO3T_UNALLOCATED_SPACE_DESC 7
#define ISO3T_TERMINATOR_DESC 8
#define ISO3T_LOG_VOL_INTEGRITY_DESC 9
#define ISO3T_FILE_SET_DESC 256
#define ISO3T_FILE_ID_DESC 257
#define ISO3T_ALLOC_EXTENT_DESC 258
#define ISO3T_INDIRECT_ENTRY 259
#define ISO3T_TERMINAL_ENTRY 260
#define ISO3T_FILE_ENTRY 261
#define ISO3T_EXT_ATTR_HEADER_DESC 262
#define ISO3T_UNALLOC_SPACE_ENTRY 263
#define ISO3T_SPACE_BITMAP_DESC 264
#define ISO3T_PRT_INTEGRITY_ENTRY 265
#define ISO3T_EXT_FILE_ENTRY 266
class CISO3Tag
{
U16 id;
U16 version;
U8 xsum;
U8 reserved;
U16 serial_num;
U16 desc_crc;
U16 desc_crc_len;
U32 loc;
};
class CISO3Date
{
U16 time_zone;
I16 year;
U8 mon;
U8 day;
U8 hour;
U8 min;
U8 sec;
U8 sec100;
U8 sec10000;
U8 sec1000000;
};
class CISO3DString32
{
U8 body[31];
U8 len;
};
class CISO3DString128
{
U8 body[127];
U8 len;
};
class CISO3CharSpec
{
U8 type;
U8 body[63];
};
class CISO3RegId
{
U8 flags;
U8 id[23];
U8 id_suffix[8];
};
class CISO3ExtentAD
{
U32 len;
U32 loc;
};
class CISO3LBAdd
{
U32 log_blk_num;
U16 prt_ref_num;
};
class CISO3LongAD
{
U32 len;
CISO3LBAdd loc;
U8 implementation_use[6];
};
class CISO3ICBTag
{
U32 prior_record_direct_entries;
U16 strategy_type;
U16 strategy_param;
U16 max_entries;
U8 reserved;
U8 file_type;
CISO3LBAdd parent_icb_loc;
U16 flags;
};
class CISO3PriDesc
{
CISO3Tag tag;
U32 vol_desc_seq_num;
U32 pri_vol_desc_num;
CISO3DString32 vol_id;
U16 vol_seq_num;
U16 max_vol_seq_num;
U16 interchg_level;
U16 max_interchg_level;
U32 char_set_list;
U32 max_char_set_list;
CISO3DString128 vol_set_id;
CISO3CharSpec desc_char_set;
CISO3CharSpec explanatory_char_set;
CISO3ExtentAD vol_abstract;
CISO3ExtentAD vol_copyright_notice;
CISO3RegId app_id;
CISO3Date recording_date_time;
CISO3RegId implementation_id[32];
U8 implementation_use[64];
U32 pred_vol_desc_seq_loc;
U16 flags;
U8 reserved[22];
};
class CISO3PrtMap
{
U8 type;
U8 len;
U0 mapping;
};
class CISO3PrtMap1
{
U8 type;
U8 len;
U16 vol_seq_num;
U16 prt_num;
};
class CISO3PrtMap2
{
U8 type;
U8 len;
U8 prt_id[62];
};
class CISO3LogVolDesc
{
CISO3Tag tag;
U32 vol_desc_seq_num;
CISO3CharSpec desc_char_set;
CISO3DString128 log_vol_id;
U32 blk_size;
CISO3RegId domain_id;
U8 log_vol_contents_use[16];
U32 map_table_len;
U32 num_prt_maps;
CISO3RegId implementation_id;
U8 implementation_use[128];
CISO3ExtentAD integrity_seq_extent;
U0 prt_maps;
};
class CISO3Prt
{
CISO3Tag tag;
U32 vol_desc_seq_num;
U16 flags;
U16 num;
CISO3RegId contents;
U8 contents_use[128];
U32 access_type;
U32 starting_loc;
U32 len;
CISO3RegId implementation_id;
U8 implementation_use[128];
U8 reserved[156];
};
class CISO3FileSetDesc
{
CISO3Tag tag;
CISO3Date recording_date_time;
U16 interchg_level;
U16 max_interchg_level;
U32 char_set_list;
U32 max_char_set_list;
U32 file_set_num;
U32 file_set_desc_num;
CISO3CharSpec log_vol_id_char_set;
CISO3DString128 log_vol_id;
CISO3CharSpec file_set_char_set;
CISO3DString32 file_set_id;
CISO3DString32 copyright_file_id;
CISO3DString32 abstract_file_id;
CISO3LongAD root_dir_icb;
CISO3RegId domain_id;
CISO3LongAD next_extent;
CISO3LongAD sys_stream_dir_icb;
U8 reserved[32];
};
class CISO3FileIdDesc
{
CISO3Tag tag;
U16 version;
U8 characteristics;
U8 len_of_file_id;
CISO3LongAD icb;
U16 len_of_implementation_use;
U0 implementation_use;
U0 file_id;
};
class CISO3File
{
CISO3Tag tag;
CISO3ICBTag icb_tag;
U32 uid;
U32 gid;
U32 permissions;
U16 file_link_cnt;
U8 record_fmt;
U8 record_display_attr;
U32 record_len;
I64 info_len;
I64 log_blks_recorded;
CISO3Date access_date_time;
CISO3Date modification_date_time;
CISO3Date attr_date_time;
U32 chk_pt;
CISO3LongAD ext_attr_icb;
CISO3RegId implementation_id;
I64 unique_id;
U32 ext_attr_len;
U32 alloc_desc_len;
U0 ext_attr;
U0 alloc_desc;
};
class CISO3FileExt
{
CISO3Tag tag;
CISO3ICBTag icb_tag;
U32 uid;
U32 gid;
U32 permissions;
U16 file_link_cnt;
U8 record_fmt;
U8 record_display_attr;
U32 record_len;
I64 info_len;
I64 object_size;
I64 log_blks_recorded;
CISO3Date access_date_time;
CISO3Date modification_date_time;
CISO3Date creation_date_time;
CISO3Date attr_date_time;
U32 chk_pt;
U32 reserved;
CISO3LongAD ext_attr_icb;
CISO3LongAD stream_dir_icb;
CISO3RegId implementation_id;
I64 unique_id;
U32 ext_attr_len;
U32 alloc_desc_len;
U0 ext_attr;
U0 alloc_desc;
};
import U0 ClassRep(U8 *class_name,U8 *d,I64 max_depth=2,Bool fun=FALSE,I64 offset=0);
Bool ISO3PrtInitPrt(CPrt *p,I64 blk)
{
CBlkDev *bdev=p->bdev;
I64 spc=bdev->blk_size>>BLK_SIZE_BITS,i=blk/spc;
CISO3FileSetDesc *iso=MAlloc(bdev->blk_size);
Bool unlock,result=FALSE;
try {
unlock=PrtLock(p);
while (TRUE) {
p->size=MaxI64(p->size,(i+1)*spc);
RBlks(p,iso,i*spc,spc);
"%X:%X\n",i,iso->tag.id;
switch (iso->tag.id) {
case ISO3T_FILE_SET_DESC:
ClassRep("CISO3FileSetDesc",iso,3);
// p->offset=blk;
// p->root_cluster=iso->root_dir_icb.loc.log_blk_num+p->offset/spc;
result=TRUE;
break;
case ISO3T_EXT_FILE_ENTRY:
ClassRep("CISO3FileExt",iso,3);
break;
case ISO3T_FILE_ENTRY:
ClassRep("CISO3File",iso,3);
break;
case ISO3T_FILE_ID_DESC:
ClassRep("CISO3FileIdDesc",iso,3);
break;
case ISO3T_ALLOC_EXTENT_DESC:
case ISO3T_INDIRECT_ENTRY:
case ISO3T_TERMINAL_ENTRY:
case ISO3T_EXT_ATTR_HEADER_DESC:
case ISO3T_UNALLOC_SPACE_ENTRY:
case ISO3T_SPACE_BITMAP_DESC:
case ISO3T_PRT_INTEGRITY_ENTRY:
break;
default
goto i3pip_done;
}
i++;
}
i3pip_done<