Browse Source

SparrowOSTS_121127.ISO

v6
Terry A. Davis 10 years ago committed by minexew
parent
commit
e57428affb
  1. BIN
      0000Boot/0000OSMain.BIN.C
  2. BIN
      0000Boot/Boot.BIC
  3. BIN
      0000Boot/BootCD.BIN
  4. BIN
      0000Boot/BootLoader.BIC
  5. BIN
      0000Boot/BootMHD2.BIN.C
  6. BIN
      0000Boot/CDBoot.BIZ
  7. BIN
      0000Boot/OldMBR.BIN.C
  8. 181
      LT/Accts/Adam3.APZ
  9. 51
      LT/Accts/Fault.CPZ
  10. 16
      LT/Accts/Favor.MUZ
  11. 181
      LT/Accts/Install/Adam3.APZ
  12. BIN
      LT/Accts/Install/DoIt.CPZ
  13. BIN
      LT/Accts/Install/User.CPZ
  14. 9
      LT/Accts/PicWords3.APZ
  15. 11
      LT/Accts/Servant.CPZ
  16. 176
      LT/Accts/Songs/Adam3.APZ
  17. 4
      LT/Accts/Songs/DoIt.CPZ
  18. 5
      LT/Accts/Songs/User.CPZ
  19. BIN
      LT/Accts/System.CPZ
  20. 1
      LT/Accts/Tour/DoIt.CPZ
  21. 37
      LT/Accts/Tour/Tour.AUZ
  22. 105
      LT/Accts/Tour/Tour1.AUZ
  23. 76
      LT/Accts/Tour/Tour2.AUZ
  24. 110
      LT/Accts/Tour/Tour3.AUZ
  25. 58
      LT/Accts/Tour/Tour4.AUZ
  26. 19
      LT/Accts/Tour/Tour5.AUZ
  27. BIN
      LT/Accts/Tour/User.CPZ
  28. 37
      LT/Accts/User.CPZ
  29. BIN
      LT/Accts/User.MUZ
  30. 2
      LT/Accts/User/DoIt.CPZ
  31. 55
      LT/Adam/Adam2.APZ
  32. 46
      LT/Adam/AdamExt.HPZ
  33. BIN
      LT/Adam/AutoFile.APZ
  34. BIN
      LT/Adam/Comm.APZ
  35. 1410
      LT/Adam/Dbg.APZ
  36. BIN
      LT/Adam/Disk10.APZ
  37. 543
      LT/Adam/DiskCDDVD.APZ
  38. BIN
      LT/Adam/DisplayKeys.APZ
  39. 684
      LT/Adam/FileManager.APZ
  40. 13
      LT/Adam/Gr/Gr.APZ
  41. 1465
      LT/Adam/Gr/GrBitMap.APZ
  42. BIN
      LT/Adam/Gr/GrChar.APZ
  43. 1664
      LT/Adam/Gr/GrElem.APZ
  44. 569
      LT/Adam/Gr/GrMath.APZ
  45. 728
      LT/Adam/Gr/GrPlot.APZ
  46. BIN
      LT/Adam/Gr/GrScreen.APZ
  47. 593
      LT/Adam/GrAsm/Gr1.ASZ
  48. BIN
      LT/Adam/GrAsm/GrAsm.BIZ
  49. 19
      LT/Adam/GrAsm/GrAsm.HPZ
  50. BIN
      LT/Adam/GrAsm/GrAsm.MPZ
  51. BIN
      LT/Adam/GrAsm/GrAsm.SPZ
  52. 397
      LT/Adam/HashUtils.APZ
  53. 311
      LT/Adam/IncCompress.APZ
  54. 21
      LT/Adam/InputPointer.APZ
  55. BIN
      LT/Adam/JoyStick.APZ
  56. 738
      LT/Adam/KbdMouse.APZ
  57. BIN
      LT/Adam/LPT.APZ
  58. BIN
      LT/Adam/LogIn.APZ
  59. BIN
      LT/Adam/Ltf/Ltf.APZ
  60. 154
      LT/Adam/Ltf/LtfBible.APZ
  61. 930
      LT/Adam/Ltf/LtfCtrlL.APZ
  62. 1389
      LT/Adam/Ltf/LtfEdit.APZ
  63. 313
      LT/Adam/Ltf/LtfFile.APZ
  64. 126
      LT/Adam/Ltf/LtfMacro.APZ
  65. 677
      LT/Adam/Ltf/LtfMain.APZ
  66. 505
      LT/Adam/Ltf/LtfNew.APZ
  67. 688
      LT/Adam/Ltf/LtfPlain.APZ
  68. 621
      LT/Adam/Ltf/LtfPopUp.APZ
  69. 1657
      LT/Adam/Ltf/LtfRecalc.APZ
  70. 66
      LT/Adam/Math.APZ
  71. 142
      LT/Adam/Message.APZ
  72. 140
      LT/Adam/Music.APZ
  73. 194
      LT/Adam/ODE.APZ
  74. BIN
      LT/Adam/PicWords2.APZ
  75. 798
      LT/Adam/Remote.APZ
  76. 445
      LT/Adam/Utils.APZ
  77. BIN
      LT/Adam/WallPaper.APZ
  78. 1080
      LT/Adam/Window.APZ
  79. 450
      LT/Adam/WordStat/WSDict.APZ
  80. 767
      LT/Adam/WordStat/WSMain.APZ
  81. 100
      LT/Adam/WordStat/WordStat.APZ
  82. BIN
      LT/Adam/WordStat/WsDefs.DAT
  83. BIN
      LT/Adam/WordStat/WsWords.DTZ
  84. BIN
      LT/Apps/MusicOrgan/Examples/action.CPZ
  85. BIN
      LT/Apps/MusicOrgan/Examples/alike.CPZ
  86. BIN
      LT/Apps/MusicOrgan/Examples/almighty.CPZ
  87. BIN
      LT/Apps/MusicOrgan/Examples/appreciate.CPZ
  88. BIN
      LT/Apps/MusicOrgan/Examples/approve.CPZ
  89. 23
      LT/Apps/MusicOrgan/Examples/architects.CPZ
  90. BIN
      LT/Apps/MusicOrgan/Examples/bedewed.CPZ
  91. 36
      LT/Apps/MusicOrgan/Examples/blinded.CPZ
  92. BIN
      LT/Apps/MusicOrgan/Examples/ceaseth.CPZ
  93. BIN
      LT/Apps/MusicOrgan/Examples/childish.CPZ
  94. BIN
      LT/Apps/MusicOrgan/Examples/comprise.CPZ
  95. 36
      LT/Apps/MusicOrgan/Examples/depending.CPZ
  96. 20
      LT/Apps/MusicOrgan/Examples/discerning.CPZ
  97. 22
      LT/Apps/MusicOrgan/Examples/downfall.CPZ
  98. BIN
      LT/Apps/MusicOrgan/Examples/eternity.CPZ
  99. BIN
      LT/Apps/MusicOrgan/Examples/everlastingly.CPZ
  100. BIN
      LT/Apps/MusicOrgan/Examples/exalt.CPZ
  101. Some files were not shown because too many files have changed in this diff Show More

BIN
0000Boot/0000OSMain.BIN.C

Binary file not shown.

BIN
0000Boot/Boot.BIC

Binary file not shown.

BIN
0000Boot/BootCD.BIN

Binary file not shown.

BIN
0000Boot/BootLoader.BIC

Binary file not shown.

BIN
0000Boot/BootMHD2.BIN.C

Binary file not shown.

BIN
0000Boot/CDBoot.BIZ

Binary file not shown.

BIN
0000Boot/OldMBR.BIN.C

Binary file not shown.

181
LT/Accts/Adam3.APZ

@ -1,181 +0,0 @@
//Change anything you want in this
//account file or others.
//Set Time Zone
local_time_offset=0*60*60*LTDATE_FREQ;
//$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;
class RenameSymbolStruct
{
I1 find[256] fmtstr "$$DA -P ,255 \"Find :%s\"$$\r\n";
I1 replace[256] fmtstr "$$DA -P ,255 \"Replace:%s\"$$\r\n";
};
void RenameCurSymbol()
{
I1 *buf;
RenameSymbolStruct r;
BoolU4 old_preempt=Preempt(OFF);
StrCpy(r.find,ws_cur_word);
StrCpy(r.replace,ws_cur_word);
Preempt(old_preempt);
if (PopUpDoForm(&r,"RenameSymbolStruct")) {
buf=MSPrintF("R(\"%s\",\"%s\",\"+r+l+a\");",r.find,r.replace);
PopUp(buf,Fs);
Free(buf);
}
}
void RenameFile()
{
I1 *buf;
RenameSymbolStruct r;
BoolU4 old_preempt=Preempt(OFF);
StrCpy(r.find,ws_cur_word);
StrCpy(r.replace,ws_cur_word);
Preempt(old_preempt);
if (PopUpDoForm(&r,"RenameSymbolStruct")) {
buf=MSPrintF("R(\"%s\",\"%s\",\"+r+l+a\");",r.find,r.replace);
PopUp(buf,Fs);
Free(buf);
}
Move(r.find,r.replace);
}
void FillinTime()
{
LTDate ltdt;
ltdt=GetCurTimeLTDate;
PrintF("$$IV 1$$----%D %T----$$IV 0$$\r",ltdt,ltdt);
}
BoolU8 MyPutKey(I8 ch,U8 sc)
{ //ch=ASCII; sc=scancode
//You can customize keys. This routine
//is called before the main editor
//key handler $LK,"LtfPutKeyExt","MN:LtfPutKeyExt"$().
//You can intercept any key.
//Return TRUE if you completely
//handled the key.
nounusedwarn ch;
U8 sc2=sc.u1[0];
if (sc2>=SC_F1 && sc2<=SC_F10 &&
(sc & SCF_ALT) &&
!(sc & SCF_CTRL)) {
if (sc2==SC_F1) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTPURPLE$$");
else
PutS("$$FG PURPLE$$");
} else if (sc2==SC_F2) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTRED$$");
else
PutS("$$FG,RED$$");
} else if (sc2==SC_F3) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTGREEN$$");
else
PutS("$$FG,GREEN$$");
} else if (sc2==SC_F4) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTBLUE$$");
else
PutS("$$FG$$");
} else if (sc2==SC_F6) {
if (!(sc & SCF_SHIFT))
PopUp("WsInit(\"/LT\");");
} else if (sc2==SC_F7) {
if ((sc & SCF_SHIFT))
LtfSafeInsert(Fs->cur_ltf,
"$$HS+C$$$$FG$$$$HE$$");
else
FillinTime();
} else if (sc2==SC_F8) {
if ((sc & SCF_SHIFT))
RenameFile();
else
RenameCurSymbol();
} else if (sc2==SC_F9)
PopUp("PunchIn;");
else if (sc2==SC_F10)
PopUp("PunchOut;");
return TRUE;
}
return FALSE;
}
BoolU8 MyPutS(I1 *st)
{
nounusedwarn st;
return FALSE;
}
AddKeyDev(&MyPutKey,&MyPutS,0x20000000);
MPStart;
Cd("/LT/Adam");;
#include "PicWords2"
#include "HOME/PicWords3"
Cd("/LT/Utils/Boot");;
#include "InsBoot"
Cd("/LT/Utils");;
#include "Disk20"
#include "Diff"
#include "Grep"
#include "Merge"
#include "S2T"
#include "IDE"
#include "LinkChk"
#include "HeapLog"
#include "ListFile"
LoadMapFile("::/LT/OSMain/OS.MPZ"); //Enable Man()
LoadMapFile("::/LT/Compiler/Compiler.MPZ"); //Enable Man()
LoadMapFile("::/LT/Adam/GrAsm/GrAsm.MPZ"); //Enable Man()
void StartUpTsks()
{
I1 buf[80];
TssStruct *tss,*tss1;
InitLocalTask; //needed for disk access
Preempt(ON); //off by default
Silent(ON); //no output to screen
try {
tss1=SpawnUser;
tss=SpawnUser;
WinToTop(tss1);
WinTileVert;
PopUp("#include \"::/LT/Doc/StartSong.CPZ\";");
SPrintF(buf,"Boot Time:%h17Ts\r\n",BootTime);
AdamLog(buf);
XTalk(tss1,"#include \"DoIt\";\r");
WsInit("/LT");
WordStat;
} catch
CatchAll;
}
//This must be spawned because start-up files
// may invoke the Adam() cmd.
Spawn(&StartUpTsks,"Spawn Users");
PrintF("\r\nOS Compile Time:%D %T\r\n",sys_compile_time,sys_compile_time);

51
LT/Accts/Fault.CPZ

@ -1,51 +0,0 @@
/* When a fault occurs, a child process is
spawned running this file and the parent
gets suspended. You can modify what gets
displayed during faults to assist debugging.
If you modify this file, you should place it
into your HOME directory. This version is the
default for accounts without a version in HOME.
*/
TssStruct *tss=Fs->parent_tss;
void **rsp_ptr=&tss->rsp,*rsp=tss->rsp,
*rbp_ptr=&tss->rbp,*rbp=tss->rbp,
*rip_ptr=&tss->rip,*rip=tss->rip;
switch (tss->fault_num)
{
case 0: //if divide except
//push rip as param to ThrowDivide
rsp-=8;
*rsp_ptr=rsp;
rsp[1]=rip;
*rip_ptr=&ThrowDivide;
Btr(&tss->task_flags,TSSf_SUSPENDED);
Exit;
case 0x10:
rsp-=8;
*rsp_ptr=rsp;
rsp[1]=rip;
*rip_ptr=&ThrowFloating;
Btr(&tss->task_flags,TSSf_SUSPENDED);
Exit;
}
/*
Raw(ON);
coutln "Faulting TSS:",tss," IRQ#",tss->fault_num;
PrintF("Fault Location:%P\r\n",*rip);
Raw(OFF);
*/
UseConsoleLtf(NULL);
Bts(&Fs->crt_flags,CRTf_SHOW);
coutln "Faulting TSS:",tss," IRQ#",tss->fault_num;
CallerRep(rbp,tss);
StackRep(rsp);
coutln "$$LK,\"See HOME/Fault.CPZ\",\"FI:HOME/Fault.CPZ\"$$";
Dasm(rip-0x20,0x20);

16
LT/Accts/Favor.MUZ

@ -1,16 +0,0 @@
$WW,1$This is a handy file which can be accessed with CTRL-SHIFT-F, known as a favorites file. I use it for links and "TODO" type stuff in my account.
If you modify this file, you should place it
into your HOME directory. This version is the
default for accounts without a version in HOME.
$LK+S,"Goto OS Systext","FA:::/LT/OSMain/SysText.CPZ,OS_SYSTEXT"$
$LK,"Goto Compiler Systext","FA:::/LT/Compiler/CmpInit.CPZ,COMPILE_SYSTEXT"$
$LK,"::/LT/Doc/Help.TXZ","FI:::/LT/Doc/Help.TXZ"$
$LK,"::/LT/Doc/GuideLines.TXZ","FI:::/LT/Doc/GuideLines.TXZ"$
$LK,"::/LT/Doc/OSGlossary.GLZ","FI:::/LT/Doc/OSGlossary.GLZ"$
$LK,"::/LT/Doc/Tips.TXZ","FI:::/LT/Doc/Tips.TXZ"$
$LK,"::/LT/Doc/Dollar.TXZ","FI:::/LT/Doc/Dollar.TXZ"$
$FG,5$

181
LT/Accts/Install/Adam3.APZ

@ -1,181 +0,0 @@
//Change anything you want in this
//account file or others.
//Set Time Zone
local_time_offset=0*60*60*LTDATE_FREQ;
//$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;
class RenameSymbolStruct
{
I1 find[256] fmtstr "$$DA -P ,255 \"Find :%s\"$$\r\n";
I1 replace[256] fmtstr "$$DA -P ,255 \"Replace:%s\"$$\r\n";
};
void RenameCurSymbol()
{
I1 *buf;
RenameSymbolStruct r;
BoolU4 old_preempt=Preempt(OFF);
StrCpy(r.find,ws_cur_word);
StrCpy(r.replace,ws_cur_word);
Preempt(old_preempt);
if (PopUpDoForm(&r,"RenameSymbolStruct")) {
buf=MSPrintF("R(\"%s\",\"%s\",\"+r+l+a\");",r.find,r.replace);
PopUp(buf,Fs);
Free(buf);
}
}
void RenameFile()
{
I1 *buf;
RenameSymbolStruct r;
BoolU4 old_preempt=Preempt(OFF);
StrCpy(r.find,ws_cur_word);
StrCpy(r.replace,ws_cur_word);
Preempt(old_preempt);
if (PopUpDoForm(&r,"RenameSymbolStruct")) {
buf=MSPrintF("R(\"%s\",\"%s\",\"+r+l+a\");",r.find,r.replace);
PopUp(buf,Fs);
Free(buf);
}
Move(r.find,r.replace);
}
void FillinTime()
{
LTDate ltdt;
ltdt=GetCurTimeLTDate;
PrintF("$$IV 1$$----%D %T----$$IV 0$$\r",ltdt,ltdt);
}
BoolU8 MyPutKey(I8 ch,U8 sc)
{ //ch=ASCII; sc=scancode
//You can customize keys. This routine
//is called before the main editor
//key handler $LK,"LtfPutKeyExt","MN:LtfPutKeyExt"$().
//You can intercept any key.
//Return TRUE if you completely
//handled the key.
nounusedwarn ch;
U8 sc2=sc.u1[0];
if (sc2>=SC_F1 && sc2<=SC_F10 &&
(sc & SCF_ALT) &&
!(sc & SCF_CTRL)) {
if (sc2==SC_F1) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTPURPLE$$");
else
PutS("$$FG PURPLE$$");
} else if (sc2==SC_F2) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTRED$$");
else
PutS("$$FG,RED$$");
} else if (sc2==SC_F3) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTGREEN$$");
else
PutS("$$FG,GREEN$$");
} else if (sc2==SC_F4) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTBLUE$$");
else
PutS("$$FG$$");
} else if (sc2==SC_F6) {
if (!(sc & SCF_SHIFT))
PopUp("WsInit(\"/LT\");");
} else if (sc2==SC_F7) {
if ((sc & SCF_SHIFT))
LtfSafeInsert(Fs->cur_ltf,
"$$HS+C$$$$FG$$$$HE$$");
else
FillinTime();
} else if (sc2==SC_F8) {
if ((sc & SCF_SHIFT))
RenameFile();
else
RenameCurSymbol();
} else if (sc2==SC_F9)
PopUp("PunchIn;");
else if (sc2==SC_F10)
PopUp("PunchOut;");
return TRUE;
}
return FALSE;
}
BoolU8 MyPutS(I1 *st)
{
nounusedwarn st;
return FALSE;
}
AddKeyDev(&MyPutKey,&MyPutS,0x20000000);
Cd("/LT/Adam");;
#include "PicWords2"
#include "HOME/PicWords3"
Cd("/LT/Utils/Boot");;
#include "InsBoot"
Cd("/LT/Utils");;
#include "Disk20"
#include "Diff"
#include "Grep"
#include "Merge"
#include "S2T"
#include "IDE"
#include "LinkChk"
#include "HeapLog"
#include "ListFile"
LoadMapFile("::/LT/OSMain/OS.MPZ"); //Enable Man()
LoadMapFile("::/LT/Compiler/Compiler.MPZ"); //Enable Man()
LoadMapFile("::/LT/Adam/GrAsm/GrAsm.MPZ"); //Enable Man()
void StartUpTsks()
{
I1 buf[80];
TssStruct *tss,*tss1;
InitLocalTask; //needed for disk access
Preempt(ON); //off by default
Silent(ON); //no output to screen
try {
tss1=SpawnUser;
tss=SpawnUser;
WinToTop(tss1);
WinTileVert;
PopUp("#include \"::/LT/Doc/StartSong.CPZ\";");
SPrintF(buf,"Boot Time:%h17Ts\r\n",BootTime);
AdamLog(buf);
XTalk(tss1,"#include \"DoIt\";\r");
WsInit("");
// WordStat;
} catch
CatchAll;
}
//This must be spawned because start-up files
// may invoke the Adam() cmd.
Spawn(&StartUpTsks,"Spawn Users");
PrintF("\r\nOS Compile Time:%D %T\r\n",sys_compile_time,sys_compile_time);

BIN
LT/Accts/Install/DoIt.CPZ

Binary file not shown.

BIN
LT/Accts/Install/User.CPZ

Binary file not shown.

9
LT/Accts/PicWords3.APZ

@ -1,9 +0,0 @@
// Create Pictures Here
void LoadUserPicWords()
{
//Call $LK,"AddPicWord","MN:AddPicWord"$()
}
LoadUserPicWords;

11
LT/Accts/Servant.CPZ

@ -1,11 +0,0 @@
/*
This is the startup file for servant tasks.
If you modify this file, you should place it
into your HOME directory. This version is the
default for accounts without a version in HOME.
*/
UseConsoleLtf(NULL);
Bts(&Fs->crt_flags,CRTf_SHOW);
//Turn on preemption

176
LT/Accts/Songs/Adam3.APZ

@ -1,176 +0,0 @@
//Change anything you want in this
//account file or others.
//Set Time Zone
local_time_offset=0*60*60*LTDATE_FREQ;
//$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;
class RenameSymbolStruct
{
I1 find[256] fmtstr "$$DA -P ,255 \"Find :%s\"$$\r\n";
I1 replace[256] fmtstr "$$DA -P ,255 \"Replace:%s\"$$\r\n";
};
void RenameCurSymbol()
{
I1 *buf;
RenameSymbolStruct r;
BoolU4 old_preempt=Preempt(OFF);
StrCpy(r.find,ws_cur_word);
StrCpy(r.replace,ws_cur_word);
Preempt(old_preempt);
if (PopUpDoForm(&r,"RenameSymbolStruct")) {
buf=MSPrintF("R(\"%s\",\"%s\",\"+r+l+a\");",r.find,r.replace);
PopUp(buf,Fs);
Free(buf);
}
}
void RenameFile()
{
I1 *buf;
RenameSymbolStruct r;
BoolU4 old_preempt=Preempt(OFF);
StrCpy(r.find,ws_cur_word);
StrCpy(r.replace,ws_cur_word);
Preempt(old_preempt);
if (PopUpDoForm(&r,"RenameSymbolStruct")) {
buf=MSPrintF("R(\"%s\",\"%s\",\"+r+l+a\");",r.find,r.replace);
PopUp(buf,Fs);
Free(buf);
}
Move(r.find,r.replace);
}
void FillinTime()
{
LTDate ltdt;
ltdt=GetCurTimeLTDate;
PrintF("$$IV 1$$----%D %T----$$IV 0$$\r",ltdt,ltdt);
}
BoolU8 MyPutKey(I8 ch,U8 sc)
{ //ch=ASCII; sc=scancode
//You can customize keys. This routine
//is called before the main editor
//key handler $LK,"LtfPutKeyExt","MN:LtfPutKeyExt"$().
//You can intercept any key.
//Return TRUE if you completely
//handled the key.
nounusedwarn ch;
U8 sc2=sc.u1[0];
if (sc2>=SC_F1 && sc2<=SC_F10 &&
(sc & SCF_ALT) &&
!(sc & SCF_CTRL)) {
if (sc2==SC_F1) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTPURPLE$$");
else
PutS("$$FG PURPLE$$");
} else if (sc2==SC_F2) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTRED$$");
else
PutS("$$FG,RED$$");
} else if (sc2==SC_F3) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTGREEN$$");
else
PutS("$$FG,GREEN$$");
} else if (sc2==SC_F4) {
if ((sc & SCF_SHIFT))
PutS("$$FG LTBLUE$$");
else
PutS("$$FG$$");
} else if (sc2==SC_F6) {
if (!(sc & SCF_SHIFT))
PopUp("WsInit(\"/LT\");");
} else if (sc2==SC_F7) {
if ((sc & SCF_SHIFT))
LtfSafeInsert(Fs->cur_ltf,
"$$HS+C$$$$FG$$$$HE$$");
else
FillinTime();
} else if (sc2==SC_F8) {
if ((sc & SCF_SHIFT))
RenameFile();
else
RenameCurSymbol();
} else if (sc2==SC_F9)
PopUp("PunchIn;");
else if (sc2==SC_F10)
PopUp("PunchOut;");
return TRUE;
}
return FALSE;
}
BoolU8 MyPutS(I1 *st)
{
nounusedwarn st;
return FALSE;
}
AddKeyDev(&MyPutKey,&MyPutS,0x20000000);
Cd("/LT/Adam");;
#include "PicWords2"
#include "HOME/PicWords3"
Cd("/LT/Utils/Boot");;
#include "InsBoot"
Cd("/LT/Utils");;
#include "Disk20"
#include "Diff"
#include "Grep"
#include "Merge"
#include "S2T"
#include "IDE"
#include "LinkChk"
#include "HeapLog"
#include "ListFile"
LoadMapFile("::/LT/OSMain/OS.MPZ"); //Enable Man()
LoadMapFile("::/LT/Compiler/Compiler.MPZ"); //Enable Man()
LoadMapFile("::/LT/Adam/GrAsm/GrAsm.MPZ"); //Enable Man()
void StartUpTsks()
{
I1 buf[80];
TssStruct *tss;
InitLocalTask; //needed for disk access
Preempt(ON); //off by default
Silent(ON); //no output to screen
try {
tss=SpawnUser;
WinToTop(tss);
WinTileVert;
XTalk(tss,"#include \"DoIt\";\r");
WsInit("");
} catch
CatchAll;
}
//This must be spawned because start-up files
// may invoke the Adam() cmd.
Spawn(&StartUpTsks,"Spawn Users");
PrintF("\r\nOS Compile Time:%D %T\r\n",sys_compile_time,sys_compile_time);

4
LT/Accts/Songs/DoIt.CPZ

@ -1,4 +0,0 @@
Cd("::/LT/Apps/MusicOrgan");;
#include "Load";;
JukeBox("Examples");

5
LT/Accts/Songs/User.CPZ

@ -1,5 +0,0 @@
UseConsoleLtf("User.MUZ");
PutSysText("ST_USER_STARTUP");
Type("::/LT/Doc/Help.TXZ");
Bts(&Fs->crt_flags,CRTf_SHOW);
Preempt(ON);

BIN
LT/Accts/System.CPZ

Binary file not shown.

1
LT/Accts/Tour/DoIt.CPZ

@ -1 +0,0 @@
AutoFile("Tour");

37
LT/Accts/Tour/Tour.AUZ

@ -1,37 +0,0 @@
public I8 PopUpTourPart()
{
I8 i;
Ltf *l=LtfNew;
LtfPutSExt(l,"$$FG PURPLE$$LoseThos Tours$$FG$$\r\n\r\n");
LtfPutSExt(l,"$$CM +LX, 4,4$$$$BT, \"Part 1: The basics\",1$$");
LtfPutSExt(l,"$$CM +LX, 4,4$$$$BT, \"Part 2: Editing and running programs\",2$$");
LtfPutSExt(l,"$$CM +LX, 4,4$$$$BT, \"Part 3: Adding macros to your start menu\",3$$");
LtfPutSExt(l,"$$CM +LX, 4,4$$$$BT, \"Part 4: WordStat\",4$$");
LtfPutSExt(l,"$$CM +LX, 4,4$$$$BT, \"Part 5: Wow!!\",5$$");
LtfPutSExt(l,"$$CM +LX, 4,4$$$$BT, \"Done\",-1$$");
i=PopUpMenu(l);
LtfDel(l);
return i;
}
I8 i;
do {
switch (i=PopUpTourPart)
{
case 1:
ExecuteFile("::/LT/Accts/Tour/Tour1.AUZ");
break;
case 2:
ExecuteFile("::/LT/Accts/Tour/Tour2.AUZ");
break;
case 3:
ExecuteFile("::/LT/Accts/Tour/Tour3.AUZ");
break;
case 4:
ExecuteFile("::/LT/Accts/Tour/Tour4.AUZ");
break;
case 5:
ExecuteFile("::/LT/Accts/Tour/Tour5.AUZ");
break;
}
} while (i>=1);

105
LT/Accts/Tour/Tour1.AUZ

@ -1,105 +0,0 @@
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
PutS("\r");
PopUpOk(
"After clicking 'OKAY', you will be at the\r\n"
"command line.\r\n"
"\r\n"
"The syntax is like $$FG,GREEN$$C/C++$$FG$$ except you\r\n"
"don't need $$FG,GREEN$$()$$FG$$ if there are no parameters.\r\n"
"\r\n"
"Type \"$$FG,GREEN$$Dir;$$FG$$\" and press $$FG,GREEN$$ENTER$$FG$$.\r\n\r\n"
"You must remember the semicolon.\r\n"
);
AFPmtStr("Dir;\r");
Sleep(1000); //allow user time to see dir
PutChar(CH_CR);
PopUpOk(
"After clicking 'OKAY', you will be at the\r\n"
"command line.\r\n\r\n"
"Press the $$FG,GREEN$$WINDOW$$FG$$s key.\r\n\r\n"
"This will access your macro/menu/help area.\r\n"
"You can customize it. It's like your\r\n"
"START menu.\r\n");
AFGetKey(SC_GUI);
Sleep(1000);
PopUpOk(
"You can get to the menu/macro/help area\r\n"
"by clicking on the word \"MENU\" in the\r\n"
"title bar.\r\n");
PopUpOk(
"$$UL,1$$$$FG,LTBLUE$$Blue Underlined Text are Macros$$FG$$$$UL,0$$\r\n"
"\t$$FG,GREEN$$SPACE BAR$$FG$$\t=Left Mouse\t-->Execute Macro\r\n"
"\r\n\r\n"
"$$UL,1$$$$FG,LTRED$$Red Underlined Text are Links$$FG$$$$UL,0$$\r\n"
"\t$$FG,GREEN$$SPACE BAR$$FG$$\t=Left Mouse\t-->Edit/View Link Doc\r\n"
"\t$$FG,GREEN$$ENTER$$FG$$\t\t=Right Mouse\t-->Link Menu\r\n"
"\r\n\r\n"
"Exiting Documents/Forms\r\n"
"\t$$FG,GREEN$$ESC$$FG$$\t=Left Double Mouse\t-->Save and Exit\r\n"
"\t$$FG,GREEN$$CTRL-Q$$FG$$\t=Right Double Mouse\t-->Abort/Cancel/Quit or Back\r\n"
);
PopUpOk(
"$$FG,GREEN$$CTRL-ALT-ESC$$FG$$\tSpawn new user shell window\r\n"
"$$FG,GREEN$$CTRL-ALT-X$$FG$$\tKill window\r\n"
"$$FG,GREEN$$CTRL-ALT-C$$FG$$\tBreak(interrupt) program\r\n"
);
PopUpOk(
"After clicking 'OKAY', you will be back at\r\n"
"the menu/macro/help area.\r\n\r\n"
"Press $$FG,GREEN$$CURSOR-DOWN$$FG$$ nine times.\r\n");
//This puts the cursor at the top
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
I8 i;
for (i=0;i<9;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"After clicking 'OKAY', the cursor will be\r\n"
"on top of a macro we wish to run.\r\n"
"\r\n"
"After clicking OKAY, press $$FG,GREEN$$SPACE$$FG$$.\r\n");
AFPmtStr(" ");
Sleep(1000);
PopUpOk(
"The macro changed directories and did\r\n"
"a $$FG,GREEN$$Dir;$$FG$$ command.\r\n\r\n"
"The $$FG,RED$$RED$$FG$$ filenames listed are file\r\n"
"links. Left-clicking will edit/view them.\r\n"
"Right-clicking or pressing $$FG,GREEN$$ENTER$$FG$$\r\n"
"when the cursor is on top will bring-up a\r\n"
"menu of options.\r\n\r\n"
"The $$FG LTBLUE$$BLUE$$FG$$ underline entries \"$$FG LTBLUE$$.$$FG$$\" and \"$$FG LTBLUE$$..$$FG$$\"\r\n"
"are macros and will change directories.\r\n");
PopUpOk(
"As you can see, the command line is not\r\n"
"different from the help/menu/macro area.\r\n"
"Both use the same commands and have the same\r\n"
"'Widgets' available.\r\n\r\n"
"Both utilize the same underlying document format.\r\n"
"It is similar to $$FG,GREEN$$html$$FG$$ because it has ASCII\r\n"
"behind it. LoseThos documents can include graphics.\r\n\r\n"
"Press \"$$FG,GREEN$$CTRL-T$$FG$$\" after clicking 'OKAY' to toggle\r\n"
"to plain text mode.\r\n");
AFGetChar(20);
Sleep(1000);
PopUpOk(
"The widgets are bracketed with dollar sign\r\n"
"characters. \"LK\" stands \"link\" and \"MA\"\r\n"
"stands for \"macro\".\r\n\r\n"
"Now, press \"$$FG,GREEN$$CTRL-T$$FG$$\" to toggle back to\r\n"
"regular mode.\r");
AFGetChar(20);
Sleep(1000);

76
LT/Accts/Tour/Tour2.AUZ

@ -1,76 +0,0 @@
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
PutS("\r");
PopUpOk(
"Now, we're going to demonstrate how to work\r\n"
"with programs. We'll change to the \LT\Demo\r\n"
"directory. The change directory command\r\n"
"will be typed for you and you just need\r\n"
"to press $$FG,GREEN$$ENTER$$FG$$.\r\n\r\n"
"Note, that directories are specified with\r\n"
"a forward slash, not a backslash.\r\n"
"Drives can be specified in a $$FG,GREEN$$Cd()$$FG$$ command\r\n"
"and the boot drive is specified with \"$$FG,GREEN$$::$$FG$$\".");
PutS("Cd(\"::/LT/Demo\");Dir;");
AFPmtStr("\r");
PopUpOk(
"Now, we're going to edit a file. Normally,\r\n"
"you'll probably left-click on a directory\r\n"
"listing to edit a file, but we're going to\r\n"
"type it on the command line.\r\n\r\n"
"Press $$FG,GREEN$$ENTER$$FG$$ to complete the command.\r\n");
PutS("Edit(\"ASCIIOrgan.CPZ\");");
AFPmtStr("\r");
Sleep(1000);
PopUpOk(
"This program gets keys and plays frequencies.\r\n"
"It quits when you press $$FG,GREEN$$ESC$$FG$$.\r\n\r\n"
"There is no \"$$FG,GREEN$$main()$$FG$$\" function in LoseThos\r\n"
"programs. Any program statements outside\r\n"
"functions get executed when you $$FG,GREEN$$#include$$FG$$\r\n"
"them at the command line.\r\n\r\n"
"The \"$$FG,GREEN$$ASCIIOrgan;$$FG$$\" statement at the bottom\r\n"
"will run the program when we $$FG,GREEN$$#include$$FG$$ it.\r\n");
PopUpOk(
"The editor and most things exit when you press\r\n"
"$$FG,GREEN$$ESC$$FG$$. $$FG,GREEN$$CTRL-Q$$FG$$ will abort (cancel) most things.\r\n\r\n"
"The $$FG,GREEN$$ESC$$FG$$ key can be simulated with a left\r\n"
"double-click, while the $$FG,GREEN$$CTRL-Q$$FG$$ key can be\r\n"
"simulated with a right double-click. When\r\n"
"you browse documentation, you'll left-click\r\n"
"on links and right double-click to go back,\r\n"
"unless you want to save changes to documents\r\n"
"using left double-click.\r\n\r\n"
"Press $$FG,GREEN$$CTRL-Q$$FG$$ to quit out of the editor.\r\n"
);
AFGetChar(CH_CTRLQ);
PopUpOk(
"Now, we'll run the ASCIIOrgan.CPZ program.\r\n"
"Press $$FG,GREEN$$ENTER$$FG$$ at the command line to\r\n"
"$$FG,GREEN$$#include$$FG$$ it. Then press keys to\r\n"
"cause sounds and press $$FG,GREEN$$ESC$$FG$$ when\r\n"
"you are done.\r\n");
PutS("#include \"ASCIIOrgan.CPZ\";");
AFPmtStr("\r");
AFUntilChar(CH_ESC);
PopUpOk(
"The program is still in memory and we\r\n"
"can start it again by typing \"$$FG,GREEN$$ASCIIOrgan;$$FG$$\".\r\n\r\n"
"Press $$FG,GREEN$$ENTER$$FG$$ at the command line to\r\n"
"run it again.\r\n");
PutS("ASCIIOrgan;");
AFPmtStr("\r");
AFUntilChar(27);

110
LT/Accts/Tour/Tour3.AUZ

@ -1,110 +0,0 @@
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
PutS("\rCd(\"::/LT/Demo\");Dir;\r");
PopUpOk(
"Now, we're going to add the ASCIIOrgan.CPZ\r\n"
"program to your start menu.\r\n\r\n"
"Press the $$FG,GREEN$$WINDOW$$FG$$s key\r\n"
"to get to your menu/macro/help area.\r\n");
AFGetKey(SC_GUI);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
Sleep(1000);
PopUpOk(
"Press $$FG,GREEN$$CTRL-L$$FG$$ to invoke the\r\n"
"text-widget resource editor.\r\n"
"\r\n"
"($$FG,GREEN$$CTRL-R$$FG$$ invokes the\r\n"
"graphic resource editor.)\r\n"
);
AFGetChar(12);
Sleep(100);
PopUpOk(
"Press $$FG,GREEN$$CURSOR-DOWN$$FG$$ until you reach\r\n"
"\"Macro\".\r\n");
I8 i;
for (i=0;i<8;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"Press $$FG,GREEN$$SPACE$$FG$$.\r\n");
AFPmtStr(" ");
Sleep(1000);
PopUpOk(
"Now, we'll fill-in the visible text\r\n"
"of the macro.\r\n");
AFDelayedPutS("Click Here");
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
PopUpOk("Now, we'll fill-in the macro text.\r\n");
AFDelayedPutS("Cd(\\\"::/LT/Demo\\\");;#include \\\"ASCIIOrgan.CPZ\\\";\\r");
PopUpOk("Press $$FG,GREEN$$ESC$$FG$$ to exit the form.\r\n");
AFGetChar(CH_ESC);
Sleep(1000);
PopUpOk(
"Press $$FG,GREEN$$CTRL-SHIFT-ENTER$$FG$$ to insert a line feed.\r\n"
"($$FG,GREEN$$CTRL-ENTER$$FG$$ does a page break and $$FG,GREEN$$ENTER$$FG$$\r\n"
"would execute the macro.)\r\n");
AFGetKey(SC_CR|SCF_CTRL|SCF_SHIFT);
Sleep(1000);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
PopUpOk(
"Press $$FG,GREEN$$SPACE$$FG$$ to test it.\r\n");
AFPmtStr(" ");
AFUntilChar(CH_ESC);
PopUpOk(
"Now, we'll do a fancier macro that pops-up\r\n"
"a new window which dies when finished,\r\n"
"returning memory to the system.\r\n");
Msg(MSG_KEY_DOWN,0,SC_GUI);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
Msg(MSG_KEY_DOWN,12,0); //CTRL-L
for (i=0;i<8;i++)
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
AFDelayedPutS(" Click here for Pop-up version");
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN);
AFDelayedPutS("Cd(\\\"::/LT/Demo\\\");;#include \\\"ASCIIOrgan.CPZ\\\";\\r");
Msg(MSG_KEY_DOWN,0,SC_CURSOR_LEFT|SCF_CTRL);
PopUpOk(
"Press $$FG,GREEN$$CURSOR-DOWN$$FG$$ until you reach\r\n"
"the \"Pop-Up\" check-box.\r\n");
for (i=0;i<2;i++)
AFGetKey(SC_CURSOR_DOWN);
PopUpOk(
"Press $$FG,GREEN$$SPACE$$FG$$ to\r\n"
"check the box.\r\n");
AFPmtStr(" ");
Sleep(500);
PopUpOk("Press $$FG,GREEN$$ESC$$FG$$ to exit the form.\r\n");
AFGetChar(CH_ESC);
Sleep(500);
PopUpOk("Press $$FG,GREEN$$CTRL-SHIFT-ENTER$$FG$$ to insert a line feed.\r\n");
AFGetKey(SC_CR|SCF_CTRL|SCF_SHIFT");
Sleep(500);
Msg(MSG_KEY_DOWN,0,SC_CURSOR_UP|SCF_CTRL);
PopUpOk(
"Press $$FG,GREEN$$SPACE$$FG$$ to test it.\r\n");
AFPmtStr(" ");
Sleep(5000);
PopUpOk(
"Press $$FG,GREEN$$CTRL-S$$FG$$ to save your\r\n"
"macro/menu/help area file, if you wish.\r\n");
if (Fs->parent_tss->popup_tss) {
PutChar(CH_CTRLQ);
Sleep(100);
}
PutChar(CH_CTRLQ); //exit menu

58
LT/Accts/Tour/Tour4.AUZ

@ -1,58 +0,0 @@
PopUp("WsInit(\"::/LT\");");
WordStat;
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
PutS("\rCd(\"::/LT/Demo\");\r");
PopUpOk(
"WordStat is an autocomplete feature\r\n"
"which will also jump to source code.\r\n"
"The function keys work with code, while\r\n"
"the number keys work with the dictionary.\r\n\r\n"
"We will now place some text on the command\r\n"
"line and jump to source code.\r\n");
PutS("InstallB");
Sleep(1000);
PopUpOk(
"After clicking $$FG,GREEN$$OKAY$$FG$$, look at\r\n"
"the $$FG,GREEN$$InstallBoot$$FG$$ entry in the WordStat\r\n"
"window. Notice it has a '$$FG,GREEN$$*$$FG$$' by it.\r\n"
"This means a source code link is available.\r\n");
Sleep(2000);
PopUpOk(
"Press $$FG,GREEN$$CTRL-SHIFT-F1$$FG$$ to jump to source code.\r\n");
AFGetKey(SC_F1|SCF_CTRL|SCF_SHIFT);
Sleep(500);
PopUpOk(
"Press $$FG,GREEN$$CTRL-Q$$FG$$ to quit the source code.\r\n");
AFUntilChar(CH_CTRLQ);
Sleep(100);
sys_cur_focus_task=Fs;
PopUpOk(
"Press $$FG,GREEN$$CTRL-F1$$FG$$ to autocomplete.\r\n");
AFGetKey(SC_F1|SCF_CTRL);
Sleep(500);
Msg(MSG_KEY_DOWN,CH_CR,SCF_CTRL|SCF_SHIFT);
PutS("\r");
PopUpOk(
"Tip: You can restart the WordStat window if you\r\n"
"have closed it by pressing $$FG,GREEN$$CTRL-F1$$FG$$.\r\n");
PopUpOk(
"You can also use the $$FG,GREEN$$Man()$$FG$$ function\r\n"
"to jump to source code.\r\n");
AFDelayedPutS("Man(\"InstallBoot\");");
Sleep(1000);
PutS("\r");
Sleep(2000);
PopUpOk(
"Press $$FG,GREEN$$CTRL-Q$$FG$$ to quit the source code.\r\n");
AFUntilChar(CH_CTRLQ);

19
LT/Accts/Tour/Tour5.AUZ

@ -1,19 +0,0 @@
PopUpOk(
"All text widgets work everywhere.\r\n"
"The $$FG,GREEN$$Type()$$FG$$ command is like\r\n"
"the DOS command of the same name\r\n"
"or the UNIX, $$FG,GREEN$$cat$$FG$$ command.\r\n"
"We will now send your menu document\r\n"
"to the command line. They use the same\r\n"
"document format and it is active!!.\r\n");
PopUpOk("Press $$FG,GREEN$$ENTER$$FG$$.");
//This puts the cursor at the bottom
Msg(MSG_KEY_DOWN,0,SC_CURSOR_DOWN|SCF_CTRL);
PutS("\r");
PutS("Type(\"HOME/User.MUZ\");");
AFPmtStr("\r");

BIN
LT/Accts/Tour/User.CPZ

Binary file not shown.

37
LT/Accts/User.CPZ

@ -1,37 +0,0 @@
#help_index "Utils"
/*
This is the startup file for new local users.
If you modify this file, you should place it
into your HOME directory. This version is the
default for accounts without a version in HOME.
*/
UseConsoleLtf("User.MUZ");
U8 F(I1 *pattern,I1 *flags=NULL)
{
return Grep(pattern,"/LT/"TEXT_FILE_MASK,flags);
}
U8 R(I1 *pattern,I1 *replace_text=NULL,I1 *flags="+l-i")
{
return Grep(pattern,"/LT/"TEXT_FILE_MASK,flags,replace_text);
}
U8 FD(I1 *pattern,I1 *flags=NULL)
{
return Grep(pattern,TEXT_FILE_MASK,flags);
}
U8 RD(I1 *pattern,I1 *replace_text=NULL,I1 *flags="+l-i")
{
return Grep(pattern,TEXT_FILE_MASK,flags,replace_text);
}
PutSysText("ST_USER_STARTUP");
Type("::/LT/Doc/Help.TXZ");
Fs->scroll_speed=10;
Bts(&Fs->crt_flags,CRTf_SHOW);
Preempt(ON);
#help_index ""

BIN
LT/Accts/User.MUZ

Binary file not shown.

2
LT/Accts/User/DoIt.CPZ

@ -1,2 +0,0 @@
Type("::/LT/Doc/Customize.TXZ");

55
LT/Adam/Adam2.APZ

@ -1,55 +0,0 @@
public double os_version=3.05;
#include "AdamExt.HPZ"
Load("GrAsm/GrAsm");
#include "GrAsm/GrAsm.HPZ"
#include "KbdMouse"
#include "InputPointer"
#include "IncCompress"
#include "Math"
#include "ODE"
Cd("::/LT/Adam/Gr");;
#include "Gr"
Cd("::/LT/Adam");;
#include "Music"
#include "Disk10"
#include "DiskCDDVD"
#include "Comm"
#include "Remote"
#include "JoyStick"
#include "Utils"
#include "Message"
#include "Window"
#include "LPT"
Cd("::/LT/Adam/Ltf");;
#include "Ltf"
Cd("::/LT/Adam");;
#include "AutoFile"
#include "LogIn"
Cd("::/LT/Adam/WordStat");;
#include "WordStat"
Cd("::/LT/Adam");;
#include "Dbg"
#include "HashUtils"
#include "FileManager"
UseConsoleLtf(NULL);
adam_tss->win_top=2;
adam_tss->win_bottom=10;
sys_update_screen_tss=Spawn(&WinManagerTsk,"Window Manager");
CollectAccntList;
Bts(&Fs->crt_flags,CRTf_SHOW);
if (!(Fs->account=FindSysAccnt(sys_startup_account)))
Fs->account=PopUpGetSysAccnt;
sys_update_screen_tss->account=Fs->account;
LoadAccntRegistry;
Cd("::/LT/Adam");;
#include "WallPaper"
Cd("HOME");;
#include "Adam3"

46
LT/Adam/AdamExt.HPZ

@ -1,46 +0,0 @@
extern void UseConsoleLtf(I1 *menu_file);
extern BoolU8 WinToTop(TssStruct *tss=NULL);
extern U8 GetMsg(I8 *param1,I8 *param2,U8 mask=-2,TssStruct *tss=NULL);
extern U8 ScanMsg(I8 *param1,I8 *param2,U8 mask=-2,TssStruct *tss=NULL);
extern void PlotInputPointer(GrBitMap *base);
extern void GrPlot0(GrBitMap *base,I8 x,I8 y);
extern void DrawTaskBorder(TssStruct *tss);
extern void UpdateOdes(TssStruct *tss);
extern void IDEClearAllBpts(Ltf *l);
extern void IDEToggleBpt(Ltf *l);
extern U8 ltf_display_types[1],ltf_nondisplay_invisible_types[1],
ltf_form_types[1],ltf_data_types[1];
extern I8 PopUp(I1 *msg,TssStruct *parent=NULL,TssStruct **pu_tss=NULL);
extern LtfEntry *LtfPutSExt(Ltf *l,I1 *st);
extern I8 PopUpMenu(Ltf *l,I1 *help=NULL);
extern Ltf *LtfNew();
extern void LtfDel(Ltf *l);
extern LtfEntry *LtfPrintF(Ltf *l,I1 *src,...);
extern I1 *EditPicture();
extern BoolU8 View();
extern void IDEGo();
extern void IDEStep(Ltf *l);
extern void IDESetLineNum(Ltf *l);
extern void IDE(I1 *filename);
extern void LtfD(U1 *buf,U8 cnt=0x80);
extern void LtfUpdateWinJoin(Ltf *l,BoolU4 to_screen,BoolU4 has_cursor,
BoolU4 recalc,BoolU4 find_cur_entry,BoolU4 preempt,
LtfEntry *pg_found=NULL,I8 num_del_entries=0);
extern void LtfRecalc(Ltf *l);
extern BoolU8 DoForm(U1 *D,I1 *class_name,
I1 *help=NULL,BoolU4 help_is_file=FALSE,
I1 *header=NULL,I1 *footer=NULL);
extern void WsFillin(I8 n);
extern void WsMan(I8 n,TssStruct *parent=NULL);
extern void WsdFillin(I8 n);
extern void WsdDef(I8 n,TssStruct *parent=NULL);
extern BoolU8 WordStat(BoolU8 val=ON);
extern void WsdPopUpDef(I1 *st,I8 num=-1,TssStruct *parent=NULL);
extern void FileManager(I1 *mask="/*",I1 *flags=NULL);
extern void LtfHelpIndex(Ltf *l,I1 *index);
extern void AccntOneTimePopUp(I8 flag_num,I1 *msg);
#define CTRL_L_HELP "::/LT/Doc/CtrlL.MUZ"

BIN
LT/Adam/AutoFile.APZ

Binary file not shown.

BIN
LT/Adam/Comm.APZ

Binary file not shown.

1410
LT/Adam/Dbg.APZ

File diff suppressed because it is too large Load Diff

BIN
LT/Adam/Disk10.APZ

Binary file not shown.

543
LT/Adam/DiskCDDVD.APZ

@ -1,543 +0,0 @@
#help_index "File/CD DVD"
void FillBigEndianU2(U2 *dst,U2 w)
{
U2 *src=&w;
dst->u1[0]=src->u1[1];
dst->u1[1]=src->u1[0];
}
void FillBigEndianU4(U4 *dst,U8 d)
{
U8 *src=&d;
dst->u1[0]=src->u1[3];
dst->u1[1]=src->u1[2];
dst->u1[2]=src->u1[1];
dst->u1[3]=src->u1[0];
}
void FillU2Palindrome(U2Palindrome *dst,U2 w)
{
FillBigEndianU2(&dst->big,w);
dst->little=w;
}
void FillU4Palindrome(U4Palindrome *dst,U8 d)
{
FillBigEndianU4(&dst->big,d);
dst->little=d;
}
class CCdUserData
{
U8 location,path_entry_num,
short_dir_blks,long_dir_blks;
};
U8 DoCreateCDFile(LTFile *out_file,LTDirEntry *tempm,
ISODirEntry *tempi,ISODirEntry *tempi2,
U8 *cur_blk,
LTDirEntry *parent,BoolU4 write)
{
CCdUserData *tempc;
LTDirEntry *tempm1,*tempm2;
LTFile *in_file;
U1 *buf=MAlloc(CD_BLK_SIZE),*ptr1,*ptr2;
ISODirEntry *dir_blk_buf=MAllocZ(CD_BLK_SIZE*128),
*de=dir_blk_buf,*de1;
ISODirEntry *dir_blk_buf2=MAllocZ(CD_BLK_SIZE*128),
*de2=dir_blk_buf2,*de12;
U8 i,n;
tempc=parent->user_data;
de->length=sizeof(ISODirEntry)-1;
de->ext_attr_length=0;
FillU2Palindrome(&de->volume_sequence_num,1);
LTDateToISO(&de->date,tempm->datetime);
de->flags=ISO_ATTR_DIR;
de->name_len=1;
de->name=0;
de->length+=de->name_len;
de+=de->length;
de->length=sizeof(ISODirEntry)-1;
de->ext_attr_length=0;
FillU4Palindrome(&de->location,tempc->location);
FillU4Palindrome(&de->size,tempc->short_dir_blks*CD_BLK_SIZE);
FillU2Palindrome(&de->volume_sequence_num,1);
LTDateToISO(&de->date,parent->datetime);
de->flags=ISO_ATTR_DIR;
de->name_len=1;
de->name=1;
de->length+=de->name_len;
de+=de->length;
de2->length=sizeof(ISODirEntry)-1;
de2->ext_attr_length=0;
FillU2Palindrome(&de2->volume_sequence_num,1);
LTDateToISO(&de2->date,tempm->datetime);
de2->flags=ISO_ATTR_DIR;
de2->name_len=1;
de2->name=0;
de2->length=de2->length+de2->name_len;
de2+=de2->length;
de2->length=sizeof(ISODirEntry)-1;
de2->ext_attr_length=0;
FillU4Palindrome(&de2->location,tempc->location+tempc->short_dir_blks);
FillU4Palindrome(&de2->size,tempc->long_dir_blks*CD_BLK_SIZE);
FillU2Palindrome(&de2->volume_sequence_num,1);
LTDateToISO(&de2->date,parent->datetime);
de2->flags=ISO_ATTR_DIR;
de2->name_len=1;
de2->name=1;
de2->length+=de2->name_len;
de2+=de2->length;
tempm1=tempm->sub;
while (tempm1) {
tempm2=tempm1->next;
if (!write) tempm1->user_data=MAllocZ(sizeof(CCdUserData));
de1=de;
de12=de2;
if (tempm1->attr & LT_ATTR_DIR) {
n=DoCreateCDFile(out_file,tempm1,de,de2,cur_blk,tempm,write);
de+=sizeof(ISODirEntry)-1+n;
de2+=sizeof(ISODirEntry)-1+n<<1;
} else {
tempc=tempm1->user_data;
de->length=sizeof(ISODirEntry)-1;
de->ext_attr_length=0;
FillU4Palindrome(&de->location,*cur_blk);
tempc->location=*cur_blk;
if (write)
coutln *cur_blk,":",tempm1->full_name;
FillU4Palindrome(&de->size,tempm1->size);
FillU2Palindrome(&de->volume_sequence_num,1);
LTDateToISO(&de->date,tempm1->datetime);
de->flags=0;
de->name_len=StrLen(tempm1->name);
StrCpy(&de->name,tempm1->name);
de->length=de->length+de->name_len;
de+=de->length;
de2->length=sizeof(ISODirEntry)-1;
de2->ext_attr_length=0;
FillU4Palindrome(&de2->location,*cur_blk);
FillU4Palindrome(&de2->size,tempm1->size);
FillU2Palindrome(&de2->volume_sequence_num,1);
LTDateToISO(&de2->date,tempm1->datetime);
de2->flags=0;
de2->name_len=StrLen(tempm1->name)<<1;
ptr1=&de2->name;
ptr2=&tempm1->name;
for (i=0;i<de2->name_len;i=i+2) {
ptr1++;
*ptr1++=*ptr2++;
}
de2->length+=de2->name_len;
de2+=de2->length;
in_file=FOpen(tempm1->full_name,"r");
for (i=0;i<(FSize(in_file)+CD_BLK_SIZE-1)/CD_BLK_SIZE;i++) {
n=4;
if ((i+1)<<2>(FSize(in_file)+BLK_SIZE-1)>>BLK_SIZE_BITS) {
n=((FSize(in_file)+BLK_SIZE-1)>>BLK_SIZE_BITS)%4;
MemSet(buf,0,CD_BLK_SIZE);
}
if (write) {
FRBlks(in_file,buf,i<<2,n);
FWBlks(out_file,buf,(*cur_blk)<<2,n);
}
*cur_blk+=1;
}
FClose(in_file);
}
if ((de1-dir_blk_buf)/CD_BLK_SIZE!=
(de -dir_blk_buf)/CD_BLK_SIZE) {
i=de1->length;
MemCpy(buf,de1,i);
MemSet(de1,0,i);
de=dir_blk_buf+((de-dir_blk_buf)/CD_BLK_SIZE)*CD_BLK_SIZE;
MemCpy(de,buf,i);
de+=i;
}
if ((de12-dir_blk_buf2)/CD_BLK_SIZE!=
(de2 -dir_blk_buf2)/CD_BLK_SIZE) {
i=de12->length;
MemCpy(buf,de12,i);
MemSet(de12,0,i);
de2=dir_blk_buf2+((de2-dir_blk_buf2)/CD_BLK_SIZE)*CD_BLK_SIZE;
MemCpy(de2,buf,i);
de2+=i;
}
tempm1=tempm2;
}
tempc=tempm->user_data;
tempi->length=sizeof(ISODirEntry)-1;
tempi->ext_attr_length=0;
tempi->flags=ISO_ATTR_DIR;
if (!tempm->name[0]) {
tempi->name_len=1;
tempi->name=1;
} else {
tempi->name_len=StrLen(tempm->name);
StrCpy(&tempi->name,tempm->name);
}
tempi->length+=tempi->name_len;
n=de+1-dir_blk_buf;
n=(n+CD_BLK_SIZE-1)/CD_BLK_SIZE;
FillU4Palindrome(&tempi->size,n*CD_BLK_SIZE);
FillU4Palindrome(&tempi->location,*cur_blk);
tempc->short_dir_blks=n;
tempc->location=*cur_blk;
FillU4Palindrome(&dir_blk_buf->size,n*CD_BLK_SIZE);
FillU4Palindrome(&dir_blk_buf->location,*cur_blk);
FillU2Palindrome(&tempi->volume_sequence_num,1);
LTDateToISO(&tempi->date,tempm->datetime);
if (write)
coutln *cur_blk,":",tempm->full_name;
if (write)
FWBlks(out_file,dir_blk_buf,(*cur_blk)<<2,n<<2);
*cur_blk+=n;
tempi2->length=sizeof(ISODirEntry)-1;
tempi2->ext_attr_length=0;
tempi2->flags=ISO_ATTR_DIR;
if (!tempm->name[0]) {
tempi2->name_len=1;
tempi->name=1;
} else {
tempi2->name_len=StrLen(tempm->name)<<1;
ptr1=&tempi2->name;
ptr2=&tempm->name;
for (i=0;i<tempi2->name_len;i=i+2) {
ptr1++;
*ptr1++=*ptr2++;
}
}
tempi2->length+=tempi2->name_len;
n=de2+1-dir_blk_buf2;
n=(n+CD_BLK_SIZE-1)/CD_BLK_SIZE;
FillU4Palindrome(&tempi2->size,n*CD_BLK_SIZE);
FillU4Palindrome(&tempi2->location,*cur_blk);
tempc->long_dir_blks=n;
FillU4Palindrome(&dir_blk_buf2->size,n*CD_BLK_SIZE);
FillU4Palindrome(&dir_blk_buf2->location,*cur_blk);
FillU2Palindrome(&tempi2->volume_sequence_num,1);
LTDateToISO(&tempi2->date,tempm->datetime);
if (write)
coutln *cur_blk,":",tempm->full_name;
if (write)
FWBlks(out_file,dir_blk_buf2,(*cur_blk)<<2,n<<2);
*cur_blk+=n;
Free(dir_blk_buf);
Free(dir_blk_buf2);
Free(buf);
return tempi->name_len;
}
U8 CDTableLength(LTDirEntry *tempm,U8 *size1,U8 *size2,U8 cur_depth)
//returns depth
{
LTDirEntry *tempm1=tempm->sub;
U8 max_depth=cur_depth,i;
while (tempm1) {
if (tempm1->attr & LT_ATTR_DIR) {
*size1+=sizeof(ISOPathTableEntry)-2+((StrLen(tempm1->name)+1) & -0x2);
*size2+=sizeof(ISOPathTableEntry)-2+StrLen(tempm1->name)<<1;
i=CDTableLength(tempm1,size1,size2,cur_depth+1);
if (i>max_depth) max_depth=i;
}
tempm1=tempm1->next;
}
return max_depth;
}
void CDFillPathTable(LTDirEntry *tempm,
ISOPathTableEntry *itabbuf,ISOPathTableEntry *itabbuf2,
U8 parent_entry_num,BoolU4 big_endian,U8 *first_free,I8 cur_level,I8 output_level)
{
I1 *ptr1,*ptr2;
U8 i;
ISOPathTableEntry *tabbuf=*itabbuf;
ISOPathTableEntry *tabbuf2=*itabbuf2;
LTDirEntry *tempm1=tempm->sub,*tempm2;
CCdUserData *tempc;
if (cur_level==output_level) {
while (tempm1) {
if (tempm1->attr & LT_ATTR_DIR) {
tempc=tempm1->user_data;
tempc->path_entry_num=*first_free;
tabbuf->name_len=StrLen(tempm1->name);
if (big_endian) {
FillBigEndianU4(&tabbuf->blk,tempc->location);
FillBigEndianU2(&tabbuf->parent_entry_num,parent_entry_num);
} else {
tabbuf->blk=tempc->location;
tabbuf->parent_entry_num=parent_entry_num;
}
StrCpy(&tabbuf->name,tempm1->name);
tabbuf+=sizeof(ISOPathTableEntry)-2+
((StrLen(tempm1->name)+1) & -0x2);
tabbuf2->name_len=StrLen(tempm1->name)<<1;
if (big_endian) {
FillBigEndianU4(&tabbuf2->blk,tempc->location+tempc->short_dir_blks);
FillBigEndianU2(&tabbuf2->parent_entry_num,parent_entry_num);
} else {
tabbuf2->blk=tempc->location+tempc->short_dir_blks;
tabbuf2->parent_entry_num=parent_entry_num;
}
ptr1=&tabbuf2->name;
ptr2=&tempm1->name;
for (i=0;i<tabbuf2->name_len;i=i+2) {
ptr1++;
*ptr1++=*ptr2++;
}
tabbuf2+=sizeof(ISOPathTableEntry)-2+
StrLen(tempm1->name)<<1;
*first_free+=1;
}
tempm1=tempm1->next;
}
*itabbuf=tabbuf;
*itabbuf2=tabbuf2;
}
tempm1=tempm->sub;
while (tempm1) {
tempm2=tempm1->next;
if (tempm1->attr & LT_ATTR_DIR) {
tempc=tempm1->user_data;
CDFillPathTable(tempm1,itabbuf,itabbuf2,tempc->path_entry_num,
big_endian,first_free,cur_level+1,output_level);
}
tempm1=tempm2;
}
}
class ElTorito
{
U2 w[16];
U1 bootable; //88=bootable 00=not bootable
U1 media_type; //0=no emulation 4=hard disk
U2 load_seg; //0000->07C0
U1 sys_type;
U1 zero;
U2 sector_cnt;
U4 load_rba; //start address of virtual disk
U1 zero2[20];
};
public U8 CreateCDFile(I1 *filename,I1 src_drive,
I1 *bootfile=NULL)
{
ISOPrimaryDescriptor *iso =MAllocZ(CD_BLK_SIZE),
*iso1=MAllocZ(CD_BLK_SIZE),
*iso2=MAllocZ(CD_BLK_SIZE),