mirror of
https://github.com/minexew/Shrine.git
synced 2026-05-26 05:48:36 +00:00
TempleOS V5.03 Nightly (ISO SHA-1 aed1efc)
This commit is contained in:
Binary file not shown.
@@ -226,7 +226,7 @@ U0 TouchFile(U8 *filename,U8 *attr,CDate cdt=I64_MIN)
|
||||
DirNew(dv,cur_dir,&de,FALSE);
|
||||
}
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",filename);
|
||||
Free(cur_dir);
|
||||
}
|
||||
public U0 Touch(U8 *files_find_mask="*",U8 *attr="+?",
|
||||
|
||||
+14
-32
@@ -141,6 +141,9 @@ CDirEntry *FMRebuildDocDrv(U8 drv_let,CDoc *doc,CDirEntry **_head,Bool init)
|
||||
return tmpde;
|
||||
}
|
||||
|
||||
#define DEF2_PROCESSED 1
|
||||
#define DEF2_NOT_INITIALIZED 2
|
||||
|
||||
U0 FMRebuildDoc(CDoc **_doc,CDirEntry **_head,I64 mode)
|
||||
{
|
||||
CDrv *dv;
|
||||
@@ -222,7 +225,7 @@ U0 FMRebuildDoc(CDoc **_doc,CDirEntry **_head,I64 mode)
|
||||
tmpde=FMRebuildDocDrv(Drv2Let(dv),doc,_head,TRUE);
|
||||
else {
|
||||
tmpde=FMRebuildDocDrv(Drv2Let(dv),doc,_head,FALSE);
|
||||
tmpde->flags|=DEF_NOT_INITIALIZED;
|
||||
tmpde->user_data2|=DEF2_NOT_INITIALIZED;
|
||||
}
|
||||
} else if (dv->fs_type==FSt_REDSEA || dv->fs_type==FSt_FAT32)
|
||||
FMRebuildDocDrv(Drv2Let(dv),doc,_head,TRUE);
|
||||
@@ -388,11 +391,10 @@ U0 FMFmtDrv(CDoc *doc)
|
||||
Free(st);
|
||||
}
|
||||
|
||||
U0 FMMakeISO(CDoc *doc,I64 type)
|
||||
U0 FMMakeISO(CDoc *doc)
|
||||
{
|
||||
CDocEntry *doc_ce=doc->cur_entry;
|
||||
CDirEntry *tmpde;
|
||||
U8 *st;
|
||||
if (doc_ce->type_u8==DOCT_TREE || doc_ce->type_u8==DOCT_MENU_VAL)
|
||||
tmpde=doc_ce->user_data;
|
||||
else
|
||||
@@ -402,19 +404,7 @@ U0 FMMakeISO(CDoc *doc,I64 type)
|
||||
tmpde=tmpde->parent;
|
||||
if (tmpde && *tmpde->full_name) {
|
||||
Silent;
|
||||
switch (type) {
|
||||
case FSt_REDSEA:
|
||||
RedSeaISO(,tmpde->full_name);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
if (tmpde->full_name[StrLen(tmpde->full_name)-1]=='/')
|
||||
st=MStrPrint("%s*",tmpde->full_name);
|
||||
else
|
||||
st=MStrPrint("%s/*",tmpde->full_name);
|
||||
ISO9660ISO(,st);
|
||||
Free(st);
|
||||
break;
|
||||
}
|
||||
RedSeaISO(,tmpde->full_name);
|
||||
Silent(OFF);
|
||||
}
|
||||
}
|
||||
@@ -455,18 +445,18 @@ U0 FMCopy(CDoc *doc)
|
||||
while (doc_e!=doc2) {
|
||||
if (doc_e->type_u8==DOCT_MENU_VAL) {
|
||||
tmpde=doc_e->user_data;
|
||||
tmpde->flags|=DEF_PROCESSED;
|
||||
tmpde->user_data2|=DEF2_PROCESSED;
|
||||
tmpde2=tmpde->parent;
|
||||
if (!tmpde2 || !(tmpde2->flags&DEF_PROCESSED)) {
|
||||
if (!tmpde2 || !(tmpde2->user_data2&DEF2_PROCESSED)) {
|
||||
Silent;
|
||||
Copy(tmpde->full_name,tmpde1->full_name);
|
||||
Silent(OFF);
|
||||
}
|
||||
} else if (doc_e->type_u8==DOCT_TREE) {
|
||||
tmpde=doc_e->user_data;
|
||||
tmpde->flags|=DEF_PROCESSED;
|
||||
tmpde->user_data2|=DEF2_PROCESSED;
|
||||
tmpde2=tmpde->parent;
|
||||
if (!tmpde2 || !(tmpde2->flags&DEF_PROCESSED)) {
|
||||
if (!tmpde2 || !(tmpde2->user_data2&DEF2_PROCESSED)) {
|
||||
Silent;
|
||||
if (*tmpde1->name)
|
||||
st=MStrPrint("%s/%s",tmpde1->full_name,tmpde->name);
|
||||
@@ -496,9 +486,8 @@ U0 FMCopy(CDoc *doc)
|
||||
#define FMR_MOUNT_REDSEA_ISO_C 9
|
||||
#define FMR_UNMOUNT 10
|
||||
#define FMR_MAKE_REDSEA_ISO_C 11
|
||||
#define FMR_MAKE_ISO9660 12
|
||||
#define FMR_BURN_ISO 13
|
||||
#define FMR_HELP 14
|
||||
#define FMR_BURN_ISO 12
|
||||
#define FMR_HELP 13
|
||||
|
||||
I64 PopUpFMRight(U8 *header=NULL,U8 *footer=NULL)
|
||||
{
|
||||
@@ -518,8 +507,7 @@ I64 PopUpFMRight(U8 *header=NULL,U8 *footer=NULL)
|
||||
"LE=FMR_MOUNT_REDSEA_ISO_C$$"
|
||||
"$$CM+LX,29,0$$$$BT,\"UNMOUNT \",LE=FMR_UNMOUNT$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"MAKE ISO.C (CD/DVD) FILE\",LE=FMR_MAKE_REDSEA_ISO_C$$"
|
||||
"$$CM+LX,29,0$$$$BT,\"MAKE ISO (CD/DVD) FILE \",LE=FMR_MAKE_ISO9660$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"BURN ISO (CD/DVD) FILE \",LE=FMR_BURN_ISO$$"
|
||||
"$$CM+LX,29,0$$$$BT,\"BURN ISO (CD/DVD) FILE \",LE=FMR_BURN_ISO$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"HELP \",LE=FMR_HELP$$"
|
||||
"$$CM+LX,29,0$$$$BT,\"CANCEL \",LE=DOCM_CANCEL$$\n");
|
||||
if (footer) DocPrint(doc,"%s",footer);
|
||||
@@ -567,9 +555,6 @@ U0 FMRightClick()
|
||||
case FMR_MAKE_REDSEA_ISO_C:
|
||||
Msg(MSG_KEY_DOWN,'m',0);
|
||||
break;
|
||||
case FMR_MAKE_ISO9660:
|
||||
Msg(MSG_KEY_DOWN,'M',0);
|
||||
break;
|
||||
case FMR_BURN_ISO:
|
||||
Msg(MSG_KEY_DOWN,'B',0);
|
||||
break;
|
||||
@@ -724,11 +709,8 @@ public U8 *FileMgr(I64 mode=FM_NORMAL,CTask *mem_task=NULL)
|
||||
case 'u':
|
||||
FMUnmount(doc);
|
||||
break;
|
||||
case 'M':
|
||||
FMMakeISO(doc,FSt_ISO9660);
|
||||
break;
|
||||
case 'm':
|
||||
FMMakeISO(doc,FSt_REDSEA);
|
||||
FMMakeISO(doc);
|
||||
break;
|
||||
case 'B':
|
||||
FMBurnISO(doc);
|
||||
|
||||
+3
-7
@@ -8,19 +8,15 @@ U0 LoadDocDefines()
|
||||
DefinePrint("DD_TEMPLEOS_AGE","%0.1f",
|
||||
(Now-Str2Date("8/1/2003"))/ToF64(1<<32)/CDATE_YEAR_DAYS);
|
||||
|
||||
//This is cut and replaced when I generate a distro.
|
||||
//See $LK,"DD_TEMPLEOS_LOC",A="FF:::/Demo/AcctExample/TOS/TOSDistro.HC,DD_TEMPLEOS_LOC"$.
|
||||
|
||||
DefinePrint("DD_KERNEL","%08X",bfh);
|
||||
bfh(I64)+=bfh->file_size-1;
|
||||
DefinePrint("DD_KERNEL_END","%08X",bfh);
|
||||
|
||||
//$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/Adam/Opt/Boot/BootDVD.HC,DD_BOOT_HIGH_LOC_DVD"$
|
||||
|
||||
$TR-C,"LineRep"$
|
||||
$ID,4$DefinePrint("DD_TEMPLEOS_LOC","120,860");
|
||||
DefinePrint("DD_TEMPLEOS_LOC_OFFICIAL","82,136");
|
||||
$ID,-4$
|
||||
$TR,"LineRep"$
|
||||
$ID,2$DefinePrint("DD_TEMPLEOS_LOC","80,800");
|
||||
$ID,-2$
|
||||
DefinePrint("DD_MP_VECT","%08X",MP_VECT_ADDR);
|
||||
DefinePrint("DD_MP_VECT_END","%08X",
|
||||
MP_VECT_ADDR+COREAP_16BIT_INIT_END-COREAP_16BIT_INIT-1);
|
||||
|
||||
@@ -5,13 +5,10 @@ extern U0 ACFillIn(I64 n);
|
||||
extern U0 ACMan(I64 n,CTask *parent_task=NULL);
|
||||
extern I64 AdamFile(U8 *filename,Bool warn_ext=TRUE);
|
||||
extern Bool AutoComplete(Bool val=OFF);
|
||||
extern I64 BMPWrite(U8 *filename,CDC *dc,I64 bits=4);
|
||||
extern U0 ClipDel();
|
||||
extern CCtrl *CtrlFindUnique(CTask *haystack_task,I64 needle_type);
|
||||
extern Bool CtrlInside(CCtrl *c,I64 x,I64 y);
|
||||
extern U8 *DC2Sprite(CDC *tmpb);
|
||||
extern U0 DocBMP(CDoc *doc=NULL,U8 *filename,
|
||||
Bool dither_probability=FALSE,Bool use_ms_paint_palette=FALSE);
|
||||
extern U0 DocBinDel(CDoc *doc,CDocBin *b);
|
||||
extern U0 DocBinsValidate(CDoc *doc);
|
||||
extern U0 DocBottom(CDoc *doc=NULL);
|
||||
@@ -51,8 +48,6 @@ extern I64 ExeDoc(CDoc *doc,I64 ccf_flags=0);
|
||||
extern I64 FindWiz();
|
||||
extern I64 GetI64(U8 *msg=NULL,I64 dft=0,I64 lo=I64_MIN,I64 hi=I64_MAX);
|
||||
extern Bool GrPlot0(CDC *dc,I64 x,I64 y);
|
||||
extern I64 ISO9660ISO(U8 *_filename=NULL,U8 *src_files_find_mask,
|
||||
U8 *fu_flags=NULL,U8 *_stage2_filename=NULL);
|
||||
extern CMenuEntry *MenuEntryFind(CMenu *haystack_menu,U8 *needle_full_name);
|
||||
extern CMenu *MenuFilePush(U8 *filename);
|
||||
extern U0 MenuPop();
|
||||
|
||||
+9
-6
@@ -272,14 +272,17 @@ per second. It defaults to
|
||||
}
|
||||
ona=Note2Ona(note,octave);
|
||||
} else
|
||||
ona=0;
|
||||
ona=ONA_REST;
|
||||
if (words && (word=LstSub(i++,words)) && StrCmp(word," "))
|
||||
"%s",word;
|
||||
|
||||
d=JIFFY_FREQ*music.note_len/music.tempo;
|
||||
on_jiffies =d*music.stacatto_factor;
|
||||
off_jiffies =d*(1.0-music.stacatto_factor);
|
||||
|
||||
if (tie) {
|
||||
on_jiffies =d;
|
||||
off_jiffies =0;
|
||||
} else {
|
||||
on_jiffies =d*music.stacatto_factor;
|
||||
off_jiffies =d*(1.0-music.stacatto_factor);
|
||||
}
|
||||
timeout_val+=on_jiffies;
|
||||
timeout_val2=timeout_val+off_jiffies;
|
||||
|
||||
@@ -288,7 +291,7 @@ per second. It defaults to
|
||||
SleepUntil(timeout_val);
|
||||
music.tM_correction+=on_jiffies-ToI64(on_jiffies);
|
||||
|
||||
if (!music.mute && !tie)
|
||||
if (!music.mute)
|
||||
Snd;
|
||||
SleepUntil(timeout_val2);
|
||||
music.tM_correction+=off_jiffies-ToI64(off_jiffies);
|
||||
|
||||
@@ -258,13 +258,13 @@ U0 ACTask(I64)
|
||||
|
||||
public Bool AutoComplete(Bool val=OFF)
|
||||
{//Turn AutoComplete OFF or ON.
|
||||
Bool old_autocomplete=FALSE;
|
||||
Bool old_val=FALSE;
|
||||
while (Bt(&ac.flags,ACf_INIT_IN_PROGRESS))
|
||||
Sleep(10);
|
||||
if (val) {
|
||||
if (Bt(&sys_run_level,RLf_AUTO_COMPLETE)) {
|
||||
if (TaskValidate(ac.task))
|
||||
old_autocomplete=TRUE;
|
||||
old_val=TRUE;
|
||||
else {
|
||||
ac.task=Spawn(&ACTask,NULL,"AutoComplete");
|
||||
TaskWait(ac.task);
|
||||
@@ -274,10 +274,10 @@ public Bool AutoComplete(Bool val=OFF)
|
||||
} else {
|
||||
if (TaskValidate(ac.task)) {
|
||||
if (Bt(&sys_run_level,RLf_AUTO_COMPLETE))
|
||||
old_autocomplete=TRUE;
|
||||
old_val=TRUE;
|
||||
Kill(ac.task);
|
||||
DeathWait(&ac.task);
|
||||
}
|
||||
}
|
||||
return old_autocomplete;
|
||||
return old_val;
|
||||
}
|
||||
|
||||
+4
-11
@@ -264,9 +264,9 @@ Bool DocCaptureUndo(CDoc *doc,Bool force=FALSE)
|
||||
doc->undo_cnt++;
|
||||
u->doc_flags=doc->flags;
|
||||
res=TRUE;
|
||||
if (doc->flags&DOCF_AUTO_SAVE)
|
||||
DocWrite(doc);
|
||||
}
|
||||
if (doc->flags&DOCF_AUTO_SAVE)
|
||||
DocWrite(doc);
|
||||
if (unlock)
|
||||
DocUnlock(doc);
|
||||
}
|
||||
@@ -296,8 +296,7 @@ U0 DocUndoRestore(CDoc *doc)
|
||||
DocUnlock(doc);
|
||||
}
|
||||
|
||||
#help_index "Graphics/Windows BMP Files;Graphics/GR Files;"\
|
||||
"DolDoc/Output;StdOut/DolDoc"
|
||||
#help_index "Graphics/GR Files;DolDoc/Output;StdOut/DolDoc"
|
||||
public Bool DocType(CDoc *doc=NULL,U8 *filename,I64 trailing_new_lines=1)
|
||||
{//Output txt or graphic file to document.
|
||||
Bool res=FALSE;
|
||||
@@ -311,12 +310,6 @@ public Bool DocType(CDoc *doc=NULL,U8 *filename,I64 trailing_new_lines=1)
|
||||
DocDump(doc2,100000);
|
||||
DocDel(doc2);
|
||||
res=TRUE;
|
||||
} else if (FilesFindMatch(filename,"*.BMP.Z")) {
|
||||
DocBMP(doc,filename,,FALSE);
|
||||
res=TRUE;
|
||||
} else if (FilesFindMatch(filename,"*.BMP;*.bmp")) {
|
||||
DocBMP(doc,filename,,TRUE);
|
||||
res=TRUE;
|
||||
} else if (FilesFindMatch(filename,"*.GR*")) {
|
||||
DocGR(doc,filename);
|
||||
res=TRUE;
|
||||
@@ -326,7 +319,7 @@ public Bool DocType(CDoc *doc=NULL,U8 *filename,I64 trailing_new_lines=1)
|
||||
return res;
|
||||
}
|
||||
|
||||
#help_index "Graphics/Windows BMP Files;Graphics/GR Files;"\
|
||||
#help_index "Graphics/GR Files;"\
|
||||
"File/Cmd Line (Typically);DolDoc/Cmd Line (Typically);"\
|
||||
"StdOut;Cmd Line (Typically)"
|
||||
public Bool Type(U8 *filename,I64 trailing_new_lines=1)
|
||||
|
||||
@@ -572,7 +572,7 @@ Bool sel=TRUE,Bool match_case=TRUE,Bool whole_labels=FALSE)
|
||||
|
||||
class CEdLineGoTo
|
||||
{
|
||||
I64 line fmtstr "$$DA,A=\"Go to Line:%d\"$$";
|
||||
I64 line format "$$DA,A=\"Go to Line:%d\"$$";
|
||||
};
|
||||
|
||||
U0 EdGoToLine(CDoc *doc)
|
||||
|
||||
@@ -208,11 +208,11 @@ U0 DocDataScan(CDoc *doc,CDocEntry *doc_e)
|
||||
#help_index "DolDoc/Input;StdIn/DolDoc"
|
||||
public Bool DocForm(U8 *_d,U8 *class_name=lastclass,
|
||||
I64 dof_flags=0,U8 *header=NULL,U8 *footer=NULL)
|
||||
{//User input. Supply a class name that has fmtstr definitions.
|
||||
{//User input. Supply a class name that has format definitions.
|
||||
//See $LK,"::/Demo/DolDoc/Form.HC"$ and $LK,"::/Demo/LastClass.HC"$.
|
||||
CMemberLst *ml;
|
||||
CDocEntry *doc_e;
|
||||
U8 *fmtstr;
|
||||
U8 *format;
|
||||
CHashClass *tmpc,*tmpc2;
|
||||
CDoc *doc;
|
||||
Bool res=FALSE;
|
||||
@@ -227,8 +227,8 @@ public Bool DocForm(U8 *_d,U8 *class_name=lastclass,
|
||||
doc->flags|=DOCF_SIZE_MIN;
|
||||
ml=tmpc->member_lst_and_root;
|
||||
while (ml) {
|
||||
if ((fmtstr=MemberMetaData("fmtstr",ml)) &&
|
||||
(doc_e=DocPrint(doc,"%s",fmtstr))) {
|
||||
if ((format=MemberMetaData("format",ml)) &&
|
||||
(doc_e=DocPrint(doc,"%s",format))) {
|
||||
tmpc2=ml->member_class;
|
||||
if ((doc_e->type_u8==DOCT_DATA || doc_e->type_u8==DOCT_LST ||
|
||||
doc_e->type_u8==DOCT_CHECK_BOX) && !tmpc2->ptr_stars_cnt) {
|
||||
@@ -254,7 +254,7 @@ public Bool DocForm(U8 *_d,U8 *class_name=lastclass,
|
||||
doc_e->data=*doc_e->user_data(U8 **);
|
||||
} else
|
||||
doc_e->data=_d+ml->offset;
|
||||
doc_e->my_fmt_data=MemberMetaData("fmtdata",ml);
|
||||
doc_e->my_fmt_data=MemberMetaData("data",ml);
|
||||
DocDataFmt(doc,doc_e);
|
||||
}
|
||||
ml=ml->next;
|
||||
|
||||
@@ -53,16 +53,16 @@ public I64 PopUpColorLighting(U8 *header=NULL)
|
||||
|
||||
class CTransformForm
|
||||
{
|
||||
F64 x_scale fmtstr "$$DA-TRM,A=\"X Scale :%12.6f\"$$\n";
|
||||
F64 y_scale fmtstr "$$DA-TRM,A=\"Y Scale :%12.6f\"$$\n";
|
||||
F64 z_scale fmtstr "$$DA-TRM,A=\"Z Scale :%12.6f\"$$\n";
|
||||
F64 é_z fmtstr "\nAngles are in degrees\n"
|
||||
F64 x_scale format "$$DA-TRM,A=\"X Scale :%12.6f\"$$\n";
|
||||
F64 y_scale format "$$DA-TRM,A=\"Y Scale :%12.6f\"$$\n";
|
||||
F64 z_scale format "$$DA-TRM,A=\"Z Scale :%12.6f\"$$\n";
|
||||
F64 é_z format "\nAngles are in degrees\n"
|
||||
"$$DA-TRM,A=\"Z-Axis :%12.6f\"$$\n";
|
||||
F64 é_y fmtstr "$$DA-TRM,A=\"Y-Axis :%12.6f\"$$\n";
|
||||
F64 é_x fmtstr "$$DA-TRM,A=\"X-Axis :%12.6f\"$$\n";
|
||||
F64 x_offset fmtstr "\n$$DA-TRM,A=\"X Offset:%12.6f\"$$\n";
|
||||
F64 y_offset fmtstr "$$DA-TRM,A=\"Y Offset:%12.6f\"$$\n";
|
||||
F64 z_offset fmtstr "$$DA-TRM,A=\"Z Offset:%12.6f\"$$\n";
|
||||
F64 é_y format "$$DA-TRM,A=\"Y-Axis :%12.6f\"$$\n";
|
||||
F64 é_x format "$$DA-TRM,A=\"X-Axis :%12.6f\"$$\n";
|
||||
F64 x_offset format "\n$$DA-TRM,A=\"X Offset:%12.6f\"$$\n";
|
||||
F64 y_offset format "$$DA-TRM,A=\"Y Offset:%12.6f\"$$\n";
|
||||
F64 z_offset format "$$DA-TRM,A=\"Z Offset:%12.6f\"$$\n";
|
||||
};
|
||||
|
||||
#help_index "Graphics/Input;Graphics/Math/3D Transformation"
|
||||
|
||||
+11
-11
@@ -70,17 +70,17 @@ I64 PopUpTermRight(U8 *header)
|
||||
if (header) DocPrint(doc,"%s",header);
|
||||
DocPrint(doc,"\n\n"
|
||||
"TXT=%s\nDD =%s\nJIT=%s\nGR =%s"
|
||||
"$$CM+LX,1,3 $$$$BT,\"INCLUDE JIT\",LE=RIGHT_INCLUDE$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"ADAM_INCLUDE JIT\",LE=RIGHT_AINCLUDE$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"COPY \",LE=RIGHT_COPY$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"MOVE OR RENAME \",LE=RIGHT_MOVE$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"DELETE \",LE=RIGHT_DELETE$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"TYPE TXT;GR\",LE=RIGHT_TYPE$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"DOLDOC EDIT DD\",LE=RIGHT_ED$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"MOUNT ISO.C\",LE=RIGHT_MOUNT$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"PLAIN TEXT EDIT TXT\",LE=RIGHT_PLAIN$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"INFILE IN\",LE=RIGHT_INFILE$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"CANCEL \",LE=DOCM_CANCEL$$\n",
|
||||
"$$CM+LX,1,3 $$$$BT,\"Include JIT\",LE=RIGHT_INCLUDE$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"Adam Include JIT\",LE=RIGHT_AINCLUDE$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"Copy \",LE=RIGHT_COPY$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"Move or Rename \",LE=RIGHT_MOVE$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"Delete \",LE=RIGHT_DELETE$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"Type TXT;GR\",LE=RIGHT_TYPE$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"DolDoc Edit DD\",LE=RIGHT_ED$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"Mount ISO.C\",LE=RIGHT_MOUNT$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"Plain Text Edit TXT\",LE=RIGHT_PLAIN$$"
|
||||
"$$CM+LX,25,0$$$$BT,\"Infile IN\",LE=RIGHT_INFILE$$"
|
||||
"$$CM+LX,1,3 $$$$BT,\"Cancel \",LE=DOCM_CANCEL$$\n",
|
||||
FILEMASK_TXT,FILEMASK_DD,FILEMASK_JIT,FILEMASK_GR);
|
||||
i=PopUpMenu(doc);
|
||||
DocDel(doc);
|
||||
|
||||
+153
-153
@@ -31,132 +31,132 @@ I64 PopUpLinkType(Bool include_anchor)
|
||||
|
||||
class CEdFileLink
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||
I64 book;
|
||||
U8 aux[512];
|
||||
I64 num;
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
class CEdFileAnchorLink
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||
I64 book;
|
||||
U8 aux[512] fmtstr "$$DA-P,A=\"Anchor Label :%s\"$$\n";
|
||||
U8 aux[512] format "$$DA-P,A=\"Anchor Label :%s\"$$\n";
|
||||
I64 num;
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
class CEdFileFindLink
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||
I64 book;
|
||||
U8 aux[512] fmtstr "$$DA-P,A=\"Str :%s\"$$\n";
|
||||
I64 num fmtstr "$$DA-TRM,A=\"Occurrence Num:%04d\"$$\n";
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
U8 aux[512] format "$$DA-P,A=\"Str :%s\"$$\n";
|
||||
I64 num format "$$DA-TRM,A=\"Occurrence Num:%04d\"$$\n";
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
class CEdFileLineLink
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||
I64 book;
|
||||
U8 aux[512];
|
||||
I64 num fmtstr "$$DA-TRM,A=\"Line Num :%04d\"$$\n";
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
I64 num format "$$DA-TRM,A=\"Line Num :%04d\"$$\n";
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
class CEdManPageLink
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512];
|
||||
I64 book;
|
||||
U8 aux[512] fmtstr "$$DA-P,A=\"Label :%s\"$$\n";
|
||||
U8 aux[512] format "$$DA-P,A=\"Label :%s\"$$\n";
|
||||
I64 num;
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
class CEdAddrLink
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512];
|
||||
I64 book;
|
||||
U8 aux[512] fmtstr "$$DA-P,A=\"Addr Exp :%s\"$$\n";
|
||||
I64 num fmtstr "$$DA-TRM,A=\"Bin Size :%04d\"$$\n";
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
U8 aux[512] format "$$DA-P,A=\"Addr Exp :%s\"$$\n";
|
||||
I64 num format "$$DA-TRM,A=\"Bin Size :%04d\"$$\n";
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
class CEdPlaceAnchor
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512];
|
||||
I64 book;
|
||||
U8 aux[512] fmtstr "$$DA-P,A=\"Anchor Label :%s\"$$\n";
|
||||
U8 aux[512] format "$$DA-P,A=\"Anchor Label :%s\"$$\n";
|
||||
I64 num;
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up,
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
hide fmtstr "$$CB,\"Hide\"$$\n";
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide format "$$CB,\"Hide\"$$\n";
|
||||
};
|
||||
|
||||
class CEdBibleLink
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512];
|
||||
I64 book fmtstr "$$LS,D=\"ST_BIBLE_BOOKS\"$$\n";
|
||||
U8 aux[512] fmtstr "$$DA-P,A=\"Chapter Verse :%s\"$$\n";
|
||||
I64 book format "$$LS,D=\"ST_BIBLE_BOOKS\"$$\n";
|
||||
U8 aux[512] format "$$DA-P,A=\"Chapter Verse :%s\"$$\n";
|
||||
I64 num;
|
||||
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
class CEdDefLink
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512];
|
||||
I64 book;
|
||||
U8 aux[512] fmtstr "$$DA-P,A=\"Word :%s\"$$\n";
|
||||
I64 num fmtstr "$$DA-TRM,A=\"Def Num :%4d\"$$\n";
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
U8 aux[512] format "$$DA-P,A=\"Word :%s\"$$\n";
|
||||
I64 num format "$$DA-TRM,A=\"Def Num :%4d\"$$\n";
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
class CEdProject
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] fmtstr "$$DA-P,A=\"File :%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
file[512] format "$$DA-P,A=\"File :%s\"$$\n";
|
||||
I64 book;
|
||||
U8 aux[512];
|
||||
I64 num;
|
||||
U8 html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n",
|
||||
U8 html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
Bool pop_up format "$$CB,\"PopUp\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n",
|
||||
hide;
|
||||
};
|
||||
|
||||
@@ -434,14 +434,14 @@ U0 EdInsColor()
|
||||
|
||||
class CEdPageSetting1
|
||||
{
|
||||
U8 val[512] fmtstr "$$DA-P,A=\"Setting Val:%s\"$$\n";
|
||||
U8 val[512] format "$$DA-P,A=\"Setting Val:%s\"$$\n";
|
||||
Bool winrel;
|
||||
};
|
||||
|
||||
class CEdPageSetting2
|
||||
{
|
||||
U8 val[512] fmtstr "$$DA-P,A=\"Setting Val:%s\"$$\n";
|
||||
Bool winrel fmtstr "$$CB,\"Win Relative\"$$\n";
|
||||
U8 val[512] format "$$DA-P,A=\"Setting Val:%s\"$$\n";
|
||||
Bool winrel format "$$CB,\"Win Relative\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsPageSetting()
|
||||
@@ -508,21 +508,21 @@ I64 PopUpWidgetType()
|
||||
|
||||
class CEdText
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
Bool left_x fmtstr "$$CB,\"Left X\"$$\n",
|
||||
center_x fmtstr "$$CB,\"Center X\"$$\n",
|
||||
right_x fmtstr "$$CB,\"Right X\"$$\n",
|
||||
margin_rel fmtstr "$$CB,\"Margin Rel X\"$$\n",
|
||||
blink fmtstr "$$CB,\"Blink\"$$\n",
|
||||
invert fmtstr "$$CB,\"Invert\"$$\n",
|
||||
underline fmtstr "$$CB,\"Underline\"$$\n",
|
||||
tree fmtstr "$$CB,\"Tree\"$$\n",
|
||||
collapsed fmtstr "$$CB,\"Collapsed\"$$\n";
|
||||
U8 scroll_x [512] fmtstr "$$DA-P,A=\"Scroll X Length Expression:%s\"$$\n",
|
||||
shift_x [512] fmtstr "$$DA-P,A=\"X Offset Expression :%s\"$$\n",
|
||||
shift_y [512] fmtstr "$$DA-P,A=\"Y Offset Expression :%s\"$$\n",
|
||||
define_str[512] fmtstr "$$DA-P,A=\"Define Str :%s\"$$\n",
|
||||
html_link[512] fmtstr "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
Bool left_x format "$$CB,\"Left X\"$$\n",
|
||||
center_x format "$$CB,\"Center X\"$$\n",
|
||||
right_x format "$$CB,\"Right X\"$$\n",
|
||||
margin_rel format "$$CB,\"Margin Rel X\"$$\n",
|
||||
blink format "$$CB,\"Blink\"$$\n",
|
||||
invert format "$$CB,\"Invert\"$$\n",
|
||||
underline format "$$CB,\"Underline\"$$\n",
|
||||
tree format "$$CB,\"Tree\"$$\n",
|
||||
collapsed format "$$CB,\"Collapsed\"$$\n";
|
||||
U8 scroll_x [512] format "$$DA-P,A=\"Scroll X Length Expression:%s\"$$\n",
|
||||
shift_x [512] format "$$DA-P,A=\"X Offset Expression :%s\"$$\n",
|
||||
shift_y [512] format "$$DA-P,A=\"Y Offset Expression :%s\"$$\n",
|
||||
define_str[512] format "$$DA-P,A=\"Define Str :%s\"$$\n",
|
||||
html_link[512] format "$$DA-P,A=\"Html Link :%s\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsText()
|
||||
@@ -566,8 +566,8 @@ U0 EdInsText()
|
||||
|
||||
class CEdSong
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
song[512] fmtstr "$$DA-P,A=\"Song :%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
song[512] format "$$DA-P,A=\"Song :%s\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsSong()
|
||||
@@ -580,7 +580,7 @@ U0 EdInsSong()
|
||||
|
||||
class CEdHtmlCode
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Html Code:%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Html Code:%s\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsHtml()
|
||||
@@ -593,22 +593,22 @@ U0 EdInsHtml()
|
||||
|
||||
class CEdMacroMenu
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
left_macro[512] fmtstr "$$DA-P,A=\"Left Click Macro :%s\"$$\n",
|
||||
left_exp[512] fmtstr "$$DA-P,A=\"Left Click Expression :%s\"$$\n";
|
||||
Bool popup fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
left_is_in_str fmtstr "$$CB,\"Left is InStr\"$$\n",
|
||||
left_x fmtstr "$$CB,\"Left X \"$$\n",
|
||||
center_x fmtstr "$$CB,\"Center X \"$$\n",
|
||||
right_x fmtstr "$$CB,\"Right X \"$$\n",
|
||||
margin_rel fmtstr "$$CB,\"Margin Rel X\"$$\n",
|
||||
blink fmtstr "$$CB,\"Blink\"$$\n",
|
||||
invert fmtstr "$$CB,\"Invert\"$$\n",
|
||||
underline fmtstr "$$CB,\"Underline\"$$\n",
|
||||
escape fmtstr "$$CB,\"Escape\"$$\n";
|
||||
U8 scroll_x[512] fmtstr "$$DA-P,A=\"Scroll X Length Expression:%s\"$$\n",
|
||||
shift_x[512] fmtstr "$$DA-P,A=\"X Offset Expression :%s\"$$\n",
|
||||
shift_y[512] fmtstr "$$DA-P,A=\"Y Offset Expression :%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
left_macro[512] format "$$DA-P,A=\"Left Click Macro :%s\"$$\n",
|
||||
left_exp[512] format "$$DA-P,A=\"Left Click Expression :%s\"$$\n";
|
||||
Bool popup format "$$CB,\"PopUp\"$$\n",
|
||||
left_is_in_str format "$$CB,\"Left is InStr\"$$\n",
|
||||
left_x format "$$CB,\"Left X \"$$\n",
|
||||
center_x format "$$CB,\"Center X \"$$\n",
|
||||
right_x format "$$CB,\"Right X \"$$\n",
|
||||
margin_rel format "$$CB,\"Margin Rel X\"$$\n",
|
||||
blink format "$$CB,\"Blink\"$$\n",
|
||||
invert format "$$CB,\"Invert\"$$\n",
|
||||
underline format "$$CB,\"Underline\"$$\n",
|
||||
escape format "$$CB,\"Escape\"$$\n";
|
||||
U8 scroll_x[512] format "$$DA-P,A=\"Scroll X Length Expression:%s\"$$\n",
|
||||
shift_x[512] format "$$DA-P,A=\"X Offset Expression :%s\"$$\n",
|
||||
shift_y[512] format "$$DA-P,A=\"Y Offset Expression :%s\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsMacroMenu(Bool is_macro)
|
||||
@@ -663,17 +663,17 @@ U0 EdInsMacroMenu(Bool is_macro)
|
||||
|
||||
class CEdBttn
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
Bool popup fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
left_x fmtstr "$$CB,\"Left X \"$$\n",
|
||||
center_x fmtstr "$$CB,\"Center X \"$$\n",
|
||||
right_x fmtstr "$$CB,\"Right X \"$$\n",
|
||||
margin_rel fmtstr "$$CB,\"Margin Rel X\"$$\n",
|
||||
escape fmtstr "$$CB,\"Escape\"$$\n";
|
||||
U8 left_macro[512] fmtstr "$$DA-P,A=\"Left Click Macro:%s\"$$\n";
|
||||
Bool left_is_in_str fmtstr "$$CB,\"Left is InStr\"$$\n";
|
||||
U8 left_exp[512] fmtstr "$$DA-P,A=\"Left Click Expression:%s\"$$\n";
|
||||
Bool quote fmtstr "$$CB,\"Quote\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
Bool popup format "$$CB,\"PopUp\"$$\n",
|
||||
left_x format "$$CB,\"Left X \"$$\n",
|
||||
center_x format "$$CB,\"Center X \"$$\n",
|
||||
right_x format "$$CB,\"Right X \"$$\n",
|
||||
margin_rel format "$$CB,\"Margin Rel X\"$$\n",
|
||||
escape format "$$CB,\"Escape\"$$\n";
|
||||
U8 left_macro[512] format "$$DA-P,A=\"Left Click Macro:%s\"$$\n";
|
||||
Bool left_is_in_str format "$$CB,\"Left is InStr\"$$\n";
|
||||
U8 left_exp[512] format "$$DA-P,A=\"Left Click Expression:%s\"$$\n";
|
||||
Bool quote format "$$CB,\"Quote\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsBttn()
|
||||
@@ -723,17 +723,17 @@ U0 EdInsBttn()
|
||||
|
||||
class CEdCursorMovement
|
||||
{
|
||||
U8 left_exp[512] fmtstr "$$DA-P,A=\"X Expression (LE):%s\"$$\n",
|
||||
right_exp[512] fmtstr "$$DA-P,A=\"Y Expression (RE):%s\"$$\n";
|
||||
Bool left_x fmtstr "$$CB,\"Left X \"$$\n",
|
||||
center_x fmtstr "$$CB,\"Center X \"$$\n",
|
||||
right_x fmtstr "$$CB,\"Right X \"$$\n",
|
||||
margin_rel fmtstr "$$CB,\"Margin Rel X\"$$\n",
|
||||
top_y fmtstr "$$CB,\"Top Y \"$$\n",
|
||||
center_y fmtstr "$$CB,\"Center Y \"$$\n",
|
||||
bottom_y fmtstr "$$CB,\"Bottom Y \"$$\n",
|
||||
page_rel fmtstr "$$CB,\"Page Rel Y\"$$\n",
|
||||
quote fmtstr "$$CB,\"Quote\"$$\n";
|
||||
U8 left_exp[512] format "$$DA-P,A=\"X Expression (LE):%s\"$$\n",
|
||||
right_exp[512] format "$$DA-P,A=\"Y Expression (RE):%s\"$$\n";
|
||||
Bool left_x format "$$CB,\"Left X \"$$\n",
|
||||
center_x format "$$CB,\"Center X \"$$\n",
|
||||
right_x format "$$CB,\"Right X \"$$\n",
|
||||
margin_rel format "$$CB,\"Margin Rel X\"$$\n",
|
||||
top_y format "$$CB,\"Top Y \"$$\n",
|
||||
center_y format "$$CB,\"Center Y \"$$\n",
|
||||
bottom_y format "$$CB,\"Bottom Y \"$$\n",
|
||||
page_rel format "$$CB,\"Page Rel Y\"$$\n",
|
||||
quote format "$$CB,\"Quote\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsCursorMovement()
|
||||
@@ -768,22 +768,22 @@ U0 EdInsCursorMovement()
|
||||
|
||||
class CEdDataNum
|
||||
{
|
||||
U8 fmt_str[512] fmtstr "$$DA-P,A=\"Format Str:%s\"$$\n";
|
||||
U8 fmt_str[512] format "$$DA-P,A=\"Format Str:%s\"$$\n";
|
||||
I64 len;
|
||||
Bool term fmtstr "$$CB,\"Form Field Terminator\"$$\n",
|
||||
Bool term format "$$CB,\"Form Field Terminator\"$$\n",
|
||||
remalloc,
|
||||
refresh fmtstr "$$CB,\"Refresh Data\"$$\n",
|
||||
update fmtstr "$$CB,\"Update Data\"$$\n";
|
||||
refresh format "$$CB,\"Refresh Data\"$$\n",
|
||||
update format "$$CB,\"Update Data\"$$\n";
|
||||
};
|
||||
|
||||
class CEdDataStr
|
||||
{
|
||||
U8 fmt_str[512] fmtstr "$$DA-P,A=\"Format Str:%s\"$$\n";
|
||||
I64 len fmtstr "$$DA,A=\"Length:%d\"$$\n";
|
||||
Bool term fmtstr "$$CB,\"Zero Terminator\"$$\n",
|
||||
remalloc fmtstr "$$CB,\"Remalloc for Unlimited Length\"$$\n",
|
||||
refresh fmtstr "$$CB,\"Refresh Data\"$$\n",
|
||||
update fmtstr "$$CB,\"Update Data\"$$\n";
|
||||
U8 fmt_str[512] format "$$DA-P,A=\"Format Str:%s\"$$\n";
|
||||
I64 len format "$$DA,A=\"Length:%d\"$$\n";
|
||||
Bool term format "$$CB,\"Zero Terminator\"$$\n",
|
||||
remalloc format "$$CB,\"Remalloc for Unlimited Length\"$$\n",
|
||||
refresh format "$$CB,\"Refresh Data\"$$\n",
|
||||
update format "$$CB,\"Update Data\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsData()
|
||||
@@ -834,9 +834,9 @@ U0 EdInsData()
|
||||
|
||||
class CEdCheckBox
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
Bool refresh fmtstr "$$CB,\"Refresh Data\"$$\n";
|
||||
I64 type fmtstr "$$LS,D=\"ST_INT_SIZE_TYPES\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
Bool refresh format "$$CB,\"Refresh Data\"$$\n";
|
||||
I64 type format "$$LS,D=\"ST_INT_SIZE_TYPES\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsCheckBox()
|
||||
@@ -861,10 +861,10 @@ U0 EdInsCheckBox()
|
||||
|
||||
class CEdLst
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Dft Sel :%s\"$$\n",
|
||||
define_str[512] fmtstr "$$DA-P,A=\"Define Str :%s\"$$\n";
|
||||
Bool refresh fmtstr "$$CB,\"Refresh Data\"$$\n";
|
||||
I64 type fmtstr "$$LS,D=\"ST_INT_SIZE_TYPES\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Dft Sel :%s\"$$\n",
|
||||
define_str[512] format "$$DA-P,A=\"Define Str :%s\"$$\n";
|
||||
Bool refresh format "$$CB,\"Refresh Data\"$$\n";
|
||||
I64 type format "$$LS,D=\"ST_INT_SIZE_TYPES\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsLst()
|
||||
@@ -897,10 +897,10 @@ U0 EdInsLst()
|
||||
|
||||
class CEdHexEd
|
||||
{
|
||||
I64 cnt fmtstr "$$DA,A=\"Count:%d\"$$\n",
|
||||
cols fmtstr "$$DA,A=\"Columns:%d\"$$\n";
|
||||
Bool zero fmtstr "$$CB,\"Zero Based\"$$\n",
|
||||
refresh fmtstr "$$CB,\"Refresh Data\"$$\n";
|
||||
I64 cnt format "$$DA,A=\"Count:%d\"$$\n",
|
||||
cols format "$$DA,A=\"Columns:%d\"$$\n";
|
||||
Bool zero format "$$CB,\"Zero Based\"$$\n",
|
||||
refresh format "$$CB,\"Refresh Data\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsHexEd()
|
||||
@@ -921,11 +921,11 @@ U0 EdInsHexEd()
|
||||
|
||||
class CEdBin
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
I64 bin_num fmtstr "$$DA,A=\"Bin Num:%d\"$$\n";
|
||||
U8 bin_ptr_link_file[512] fmtstr "$$DA-P,A=\"File:%s\"$$\n";
|
||||
I64 bin_ptr_link_bin_num fmtstr "$$DA,A=\"File Bin Num:%d\"$$\n";
|
||||
U8 bin_ptr_link_tag[512] fmtstr "$$DA-P,A=\"File Bin Tag:%s\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
I64 bin_num format "$$DA,A=\"Bin Num:%d\"$$\n";
|
||||
U8 bin_ptr_link_file[512] format "$$DA-P,A=\"File:%s\"$$\n";
|
||||
I64 bin_ptr_link_bin_num format "$$DA,A=\"File Bin Num:%d\"$$\n";
|
||||
U8 bin_ptr_link_tag[512] format "$$DA-P,A=\"File Bin Tag:%s\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsBin(I64 bin_num,I64 type)
|
||||
@@ -958,9 +958,9 @@ U0 EdInsBin(I64 bin_num,I64 type)
|
||||
|
||||
class CEdTree
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
I64 indent fmtstr "$$DA,A=\"Indention:%d\"$$\n";
|
||||
Bool collapsed fmtstr "$$CB,\"Collapsed\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n";
|
||||
I64 indent format "$$DA,A=\"Indention:%d\"$$\n";
|
||||
Bool collapsed format "$$CB,\"Collapsed\"$$\n";
|
||||
};
|
||||
|
||||
U0 EdInsTree()
|
||||
@@ -1075,18 +1075,18 @@ I64 PopUpSpriteType()
|
||||
|
||||
class CEdMacroSprite
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
exp[512] fmtstr "$$DA-P,A=\"Macro :%s\"$$\n";
|
||||
Bool escape fmtstr "$$CB,\"Escape\"$$\n",
|
||||
popup fmtstr "$$CB,\"PopUp\"$$\n",
|
||||
is_in_str fmtstr "$$CB,\"InStr\"$$\n";
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
exp[512] format "$$DA-P,A=\"Macro :%s\"$$\n";
|
||||
Bool escape format "$$CB,\"Escape\"$$\n",
|
||||
popup format "$$CB,\"PopUp\"$$\n",
|
||||
is_in_str format "$$CB,\"InStr\"$$\n";
|
||||
};
|
||||
|
||||
class CEdMenuSprite
|
||||
{
|
||||
U8 tag[512] fmtstr "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
exp[512] fmtstr "$$DA-P,A=\"Expression :%s\"$$\n";
|
||||
Bool escape fmtstr "$$CB,\"Escape\"$$\n",
|
||||
U8 tag[512] format "$$DA-P,A=\"Tag Text :%s\"$$\n",
|
||||
exp[512] format "$$DA-P,A=\"Expression :%s\"$$\n";
|
||||
Bool escape format "$$CB,\"Escape\"$$\n",
|
||||
popup,
|
||||
is_in_str;
|
||||
};
|
||||
|
||||
+4
-4
@@ -4,10 +4,10 @@ DefineLstLoad("ST_RHYTHM_COMPLEXITY","Simple\0Normal\0Complex\0");
|
||||
|
||||
class CMakeSongSettings
|
||||
{
|
||||
I64 complexity fmtstr "$$LS,D=\"ST_RHYTHM_COMPLEXITY\"$$\n";
|
||||
Bool rests fmtstr "$$CB,\"Rests\"$$\n";
|
||||
Bool six_eight fmtstr "$$CB,\"Six Eight\"$$\n";
|
||||
I64 octave fmtstr "$$DA-TRM,A=\"Octave:%d\"$$\n";
|
||||
I64 complexity format "$$LS,D=\"ST_RHYTHM_COMPLEXITY\"$$\n";
|
||||
Bool rests format "$$CB,\"Rests\"$$\n";
|
||||
Bool six_eight format "$$CB,\"Six Eight\"$$\n";
|
||||
I64 octave format "$$DA-TRM,A=\"Octave:%d\"$$\n";
|
||||
I64 octave_state;
|
||||
};
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ There's something obviously different about people in the Bible compared to peop
|
||||
|
||||
You can't tell if God's talking unless you have a context of conversation, but, more importantly, you are commanded to do an offering of love, like communion preparation. $LK,"1 Corinthians,11:27",A="BF:1 Corinthians,11:27"$ When you pick a greeting card for someone, that is love effort. If you expect God to put effort toward you, you must put effort toward Him. God said, "honest measures" applies between your offering of love and His response, like a fair barter. You get out of prayer what you put into it. God wants praise, hymns, or whatever you think He might want. Try and see, like Cain and Abel. $LK,"Genesis,4:1-10",A="BF:Genesis,4:1-10"$, $LK,"Ephesians,5:10",A="BF:Ephesians,5:10"$ God told Cain his offering was not good and told him to try again. Cain really loved God! Can you imagine being so heart-broken?
|
||||
|
||||
Do a text search for "new song" in the Bible. It's mentioned nine times. When I hear a NEW awesome rock song, it is ecstasy for the first five times I hear it. Soon, it brings little-to-no pleasure. I did $MA-X+PU,"hymns",HTML="http://www.templeos.org/Wb/Home/Web/HymnVideos.html",LM="#include \"::/Apps/Psalmody/Load\";JukeBox(\"::/Apps/Psalmody/Examples\");"$ for God. I also did Moses comics for God. When you get to the gates of Heaven, St. Peter will ask how many times you gave blood. That shows you loved neighbor. You better also be able to count the ways you loved God with all heart, mind and soul. I praised God for sand castles, popcorn, snowmen, bubbles... You try putting effort into praise! $LK,"Matthew,11:25",A="BF:Matthew,11:25"$, $LK,"Matthew,6:28-29",A="BF:Matthew,6:28-29"$ Solomon wrote a thousand songs. $LK,"1 Kings,4:30-32",A="BF:1 Kings,4:30-32"$
|
||||
Do a text search for "new song" in the Bible. It's mentioned nine times. When I hear a NEW awesome rock song, it is ecstasy for the first five times I hear it. Soon, it brings little-to-no pleasure. I did $MA-X+PU,"hymns",LM="#include \"::/Apps/Psalmody/Load\";JukeBox(\"::/Apps/Psalmody/Examples\");"$ for God. I also did Moses comics for God. When you get to the gates of Heaven, St. Peter will ask how many times you gave blood. That shows you loved neighbor. You better also be able to count the ways you loved God with all heart, mind and soul. I praised God for sand castles, popcorn, snowmen, bubbles... You try putting effort into praise! $LK,"Matthew,11:25",A="BF:Matthew,11:25"$, $LK,"Matthew,6:28-29",A="BF:Matthew,6:28-29"$ Solomon wrote a thousand songs. $LK,"1 Kings,4:30-32",A="BF:1 Kings,4:30-32"$
|
||||
|
||||
This is funny -- $LK,"Acts,2:1-13",A="BF:Acts,2:1-13"$ -- they didn't bother to record anything the Holy Spirit said. The Holy Spirit is supposed to be a really good gift. $LK,"Luke,11:11-13",A="BF:Luke,11:11-13"$ Just remember, "Boys are made of snakes and snails and puppy-dog tails."
|
||||
|
||||
|
||||
@@ -634,6 +634,60 @@ public CDC *DCExt(CDC *dc=gr.dc,I64 x1,I64 y1,I64 x2,I64 y2,
|
||||
return res;
|
||||
}
|
||||
|
||||
public CDC *DCDiff(CDC *base,CDC *update)
|
||||
{//Trim to win of what has chged.
|
||||
I64 i,x1=0,y1=0,x2=update->width-1,y2=update->height-1; //inclusive
|
||||
U32 *ptr_base,*ptr_update;
|
||||
CDC *res;
|
||||
ptr_base =base->body;
|
||||
ptr_update=update->body;
|
||||
while (y1<=y2) {
|
||||
i=update->width>>2;
|
||||
while (i--)
|
||||
if (*ptr_base++!=*ptr_update++)
|
||||
goto df_y2;
|
||||
i=update->width&3;
|
||||
while (i--)
|
||||
if (*ptr_base(U8 *)++!=*ptr_update(U8 *)++)
|
||||
goto df_y2;
|
||||
y1++;
|
||||
}
|
||||
return NULL;
|
||||
df_y2:
|
||||
ptr_base =base->body +base->width_internal *base->height;
|
||||
ptr_update=update->body+update->width_internal*update->height;
|
||||
while (y1<y2) {
|
||||
i=update->width>>2;
|
||||
while (i--)
|
||||
if (*--ptr_base!=*--ptr_update)
|
||||
goto df_x1;
|
||||
i=update->width&3;
|
||||
while (i--)
|
||||
if (*--ptr_base(U8 *)!=*--ptr_update(U8 *))
|
||||
goto df_x1;
|
||||
y2--;
|
||||
}
|
||||
df_x1:
|
||||
while (x1<x2) {
|
||||
for (i=y1;i<=y2;i++)
|
||||
if (GrPeek0(base,x1,i)!=GrPeek0(update,x1,i))
|
||||
goto df_x2;
|
||||
x1++;
|
||||
}
|
||||
df_x2:
|
||||
while (x1<x2) {
|
||||
for (i=y1;i<=y2;i++)
|
||||
if (GrPeek0(base,x2,i)!=GrPeek0(update,x2,i))
|
||||
goto df_done;
|
||||
x2--;
|
||||
}
|
||||
df_done:
|
||||
res=DCExt(update,x1,y1,x2,y2);
|
||||
res->x0=x1;
|
||||
res->y0=y1;
|
||||
return res;
|
||||
}
|
||||
|
||||
#help_index "Graphics/Char;Char/Graphics"
|
||||
|
||||
public I64 GrPutChar(CDC *dc=gr.dc,I64 x,I64 y,U8 ch)
|
||||
|
||||
+5
-1
@@ -376,6 +376,10 @@ public CDC *DCLoad(U8 *src,I64 *_size=NULL,CTask *task=NULL)
|
||||
#help_index "Graphics/GR Files"
|
||||
#help_file "::/Doc/GRFiles"
|
||||
#help_index "Graphics/Device Contexts;Graphics/GR Files"
|
||||
|
||||
#define GR_FILE_MAX (offset(CDC.end)-offset(CDC.start)+\
|
||||
COLORS_NUM*sizeof(CBGR48)+sizeof(CArcCtrl)+GR_WIDTH*GR_HEIGHT)
|
||||
|
||||
public I64 GRWrite(U8 *filename,CDC *dc,I64 dcsf_flags=DCSF_COMPRESSED)
|
||||
{//TempleOS GR File.
|
||||
I64 size;
|
||||
@@ -414,7 +418,7 @@ public CDC *DCScrnCapture(Bool include_zoom=TRUE,CTask *task=NULL)
|
||||
{//Capture scrn to a device context.
|
||||
CDC *dc;
|
||||
U8 *dst;
|
||||
Refresh(2,TRUE);
|
||||
Refresh(0,FALSE);
|
||||
if (include_zoom)
|
||||
dc=DCCopy(gr.scrn_image,task);
|
||||
else
|
||||
|
||||
@@ -14,6 +14,7 @@ Cd(__DIR__);;
|
||||
#include "GrBitMap"
|
||||
#include "GrPrimatives"
|
||||
#include "GrComposites"
|
||||
#include "GrMV"
|
||||
|
||||
#define SPE_ABORT (-1)
|
||||
#define SPE_EXIT 0
|
||||
|
||||
+4
-11
@@ -26,8 +26,7 @@
|
||||
#define SPBM_ADD_OUTLINE 23
|
||||
#define SPBM_ETCH 24
|
||||
#define SPBM_UNDO 25
|
||||
#define SPBM_SAVE_BMP 26
|
||||
#define SPBM_SAVE_GRA 27
|
||||
#define SPBM_SAVE_GR 26
|
||||
|
||||
U0 GrInit4()
|
||||
{
|
||||
@@ -36,7 +35,7 @@ U0 GrInit4()
|
||||
"Rect\0Circle\0Text\0Text Box\0Text Diamond\0Flood Fill\0"
|
||||
"Flood Fill Not Color\0PolyLine\0PolyPoint\0Copy\0Delete\0Paste\0"
|
||||
"Paste Transparent\0Find and Replace\0Trim to Extents\0Add Outline\0"
|
||||
"Etch\0Undo\0Save BMP\0Save GR\0");
|
||||
"Etch\0Undo\0Save GR\0");
|
||||
}
|
||||
GrInit4;
|
||||
|
||||
@@ -79,8 +78,7 @@ I64 PopUpSpriteBitMap(CColorROPU32 color,I64 width)
|
||||
"$$MU-UL,\"Delete to Clip\",LE=SPBM_DELETE$$\n"
|
||||
"$$MU-UL,\"Paste Clip\",LE=SPBM_PASTE$$\n"
|
||||
"$$MU-UL,\"Paste Transparent Clip\",LE=SPBM_PASTE_TRANSPARENT$$\n"
|
||||
"\n$$MU-UL,\"Save BMP File\",LE=SPBM_SAVE_BMP$$\n"
|
||||
"$$MU-UL,\"Save GR File\",LE=SPBM_SAVE_GRA$$\n"
|
||||
"\n$$MU-UL,\"Save GR File\",LE=SPBM_SAVE_GR$$\n"
|
||||
"\n$$MU-UL,\"Undo\",LE=SPBM_UNDO$$\n"
|
||||
"\n$$PURPLE$$$$MU-UL,\"+] Sprite Main Menu\",LE=SPBM_MAIN_MENU$$$$LTBLUE$$\n"
|
||||
"$$MU-UL,\"Exit Sprite\",LE=SPBM_EXIT$$\n"
|
||||
@@ -293,12 +291,7 @@ bm_menu:
|
||||
GrBitMapEdPrepPersistentDC(dc,xx1,yy1,img);
|
||||
}
|
||||
goto bm_menu;
|
||||
case SPBM_SAVE_BMP:
|
||||
*filename.name=0;
|
||||
if (DocForm(&filename) && *filename.name)
|
||||
BMPWrite(filename.name,img);
|
||||
goto bm_menu;
|
||||
case SPBM_SAVE_GRA:
|
||||
case SPBM_SAVE_GR:
|
||||
*filename.name=0;
|
||||
if (DocForm(&filename) && *filename.name)
|
||||
GRWrite(filename.name,img,DCSF_COMPRESSED|DCSF_PALETTE_GET);
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ Cd(__DIR__);;
|
||||
#include "TaskRep"
|
||||
#include "AMathODE"
|
||||
#include "Gr/MakeGr"
|
||||
#include "Snd/MakeSnd"
|
||||
#include "ASnd"
|
||||
#include "ABlkDev/MakeABlkDev"
|
||||
#include "Menu"
|
||||
#include "Win"
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$ or $LK,"Upgrading Documentation",A="FI:::/Doc/Upgrade.DD"$.
|
||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$.
|
||||
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
||||
|
||||
#include "BootDVD"
|
||||
#include "DskISORedSea"
|
||||
#include "DskISO9660"
|
||||
|
||||
#help_index "Install"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$ or $LK,"Upgrading Documentation",A="FI:::/Doc/Upgrade.DD"$.
|
||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$.
|
||||
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
||||
|
||||
#include "BootHD"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$ or $LK,"Upgrading Documentation",A="FI:::/Doc/Upgrade.DD"$.
|
||||
//See $LK,"Install Documentation",A="FI:::/Doc/Install.DD"$.
|
||||
//Study my account examples: $LK,"Cfg Strs",A="FL:::/Demo/AcctExample/TOS/TOSCfg.HC,1"$, $LK,"Update Funs",A="FL:::/Demo/AcctExample/TOS/TOSDistro.HC,1"$
|
||||
|
||||
#include "BootMHD"
|
||||
|
||||
@@ -48,7 +48,7 @@ U0 RedSeaISO9660Stage1(U8 *iso_filename,U8 *stage2_filename)
|
||||
U0 RedSeaISO9660(U8 *iso_filename,U8 drv_let)
|
||||
{
|
||||
CDrv *dv=Let2Drv(drv_let);
|
||||
CISO1PriDesc *iso_pri=CAlloc(DVD_BLK_SIZE),
|
||||
CISOPriDesc *iso_pri=CAlloc(DVD_BLK_SIZE),
|
||||
*iso_boot=CAlloc(DVD_BLK_SIZE),
|
||||
*iso_sup=CAlloc(DVD_BLK_SIZE),
|
||||
*iso_term=CAlloc(DVD_BLK_SIZE);
|
||||
@@ -63,7 +63,7 @@ U0 RedSeaISO9660(U8 *iso_filename,U8 drv_let)
|
||||
for (i=0;i<dv->bd->drv_offset;i+=4)
|
||||
FBlkWrite(out_file,zero_buf,i,4);
|
||||
|
||||
iso_pri->type=ISO1T_PRI_VOL_DESC;
|
||||
iso_pri->type=ISOT_PRI_VOL_DESC;
|
||||
StrCpy(iso_pri->id,"CD001");
|
||||
iso_pri->version=1;
|
||||
FillU16Palindrome(&iso_pri->vol_set_size,1);
|
||||
@@ -75,15 +75,15 @@ U0 RedSeaISO9660(U8 *iso_filename,U8 drv_let)
|
||||
StrCpy(iso_pri->publisher_id,"TempleOS RedSea");
|
||||
|
||||
MemCpy(iso_sup,iso_pri,DVD_BLK_SIZE);
|
||||
iso_sup->type=ISO1T_SUPPLEMENTARY_DESC;
|
||||
iso_sup->type=ISOT_SUPPLEMENTARY_DESC;
|
||||
|
||||
iso_boot->type=ISO1T_BOOT_RECORD;
|
||||
iso_boot->type=ISOT_BOOT_RECORD;
|
||||
StrCpy(iso_boot->id,"CD001");
|
||||
iso_boot->version=1;
|
||||
StrCpy(iso_boot(U8 *)+7,"EL TORITO SPECIFICATION");
|
||||
|
||||
FBlkWrite(out_file,iso_pri,16<<2,4);
|
||||
iso_term->type=ISO1T_TERMINATOR;
|
||||
iso_term->type=ISOT_TERMINATOR;
|
||||
StrCpy(iso_term->id,"CD001");
|
||||
iso_term->version=1;
|
||||
|
||||
|
||||
@@ -35,13 +35,13 @@ public CFileBMP *BMP4To(CDC *dc)
|
||||
CFileBMP *bmp =CAlloc(size);
|
||||
bmp->type ='BM';
|
||||
bmp->planes =1;
|
||||
bmp->file_size =size;
|
||||
bmp->file_size=size;
|
||||
bmp->data_offset=sizeof(CFileBMP);
|
||||
bmp->header_size=offset(CFileBMP.end)-offset(CFileBMP.header_size);
|
||||
bmp->width =dc->width;
|
||||
bmp->height =dc->height;
|
||||
bmp->bit_cnt =4;
|
||||
bmp->image_size =dc->width*dc->height>>1;
|
||||
bmp->image_size=dc->width*dc->height>>1;
|
||||
GrPaletteGet(palette);
|
||||
#assert COLORS_NUM==BMP_COLORS_NUM
|
||||
for (i=0;i<BMP_COLORS_NUM;i++) {
|
||||
@@ -128,13 +128,13 @@ public CFileBMP *BMP24To(CDC *dc)
|
||||
CFileBMP *bmp =CAlloc(size);
|
||||
bmp->type ='BM';
|
||||
bmp->planes =1;
|
||||
bmp->file_size =size;
|
||||
bmp->file_size=size;
|
||||
bmp->data_offset=offset(CFileBMP.end);
|
||||
bmp->header_size=offset(CFileBMP.end)-offset(CFileBMP.header_size);
|
||||
bmp->width =dc->width;
|
||||
bmp->height =dc->height;
|
||||
bmp->bit_cnt =32;
|
||||
bmp->image_size =dc->width*dc->height<<2;
|
||||
bmp->image_size=dc->width*dc->height<<2;
|
||||
|
||||
bgr=bmp(U8 *)+bmp->data_offset;
|
||||
for (y=dc->height-1;y>=0;y--) {
|
||||
@@ -341,3 +341,46 @@ public I64 BMPScrnCapture(U8 *filename,I64 bits=4,Bool include_zoom=TRUE)
|
||||
DCDel(dc);
|
||||
return size;
|
||||
}
|
||||
|
||||
public I64 GR2BMPLst(U8 *files_find_mask,U8 *fu_flags=NULL,
|
||||
U8 *out_print_fmt="~:/Tmp/VID%05d.BMP.Z",F64 fps=30000.0/1001)
|
||||
{/*Cvt movie from GR lst to BMP lst
|
||||
"+d" will delete GRLst files.
|
||||
*/
|
||||
I64 res=0,fuf_flags=0;
|
||||
CDirEntry *tmpde,*tmpde1;
|
||||
CDC *dc,*base=DCNew(GR_WIDTH,GR_HEIGHT);
|
||||
U8 *st,*last_st;
|
||||
CDate cdt=I64_MIN;
|
||||
Bool old_silent;
|
||||
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),"+f+F");
|
||||
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
|
||||
tmpde=tmpde1=FilesFind(files_find_mask,fuf_flags&FUG_FILES_FIND);
|
||||
last_st=MStrPrint(out_print_fmt,0);
|
||||
progress1_max=LinkedLstCnt(tmpde);
|
||||
while (tmpde) {
|
||||
dc=GRRead(tmpde->full_name);
|
||||
GrBlot(base,dc->x0,dc->y0,dc);
|
||||
if (cdt==I64_MIN)
|
||||
cdt=dc->cdt;
|
||||
while (cdt<=dc->cdt) {
|
||||
st=MStrPrint(out_print_fmt,res++);
|
||||
BMPWrite(st,base);
|
||||
Free(st);
|
||||
cdt+=CDATE_FREQ/fps;
|
||||
}
|
||||
if (fuf_flags&FUF_DEL) {
|
||||
old_silent=Silent;
|
||||
Del(tmpde->full_name);
|
||||
Silent(old_silent);
|
||||
}
|
||||
DCDel(dc);
|
||||
progress1++;
|
||||
tmpde=tmpde->next;
|
||||
}
|
||||
progress1=progress1_max=0;
|
||||
DirTreeDel(tmpde1);
|
||||
Free(last_st);
|
||||
DCDel(base);
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -197,15 +197,15 @@ public I64 FileOcc(U8 *needle_str,
|
||||
|
||||
class CFind
|
||||
{
|
||||
U8 find_text[STR_LEN] fmtstr "$$DA-P,"
|
||||
U8 find_text[STR_LEN] format "$$DA-P,"
|
||||
"A=\"FIND :%s\"$$\n";
|
||||
U8 replace_text[STR_LEN] fmtstr "$$DA-P,"
|
||||
U8 replace_text[STR_LEN] format "$$DA-P,"
|
||||
"A=\"REPLACE :%s\"$$\n";
|
||||
Bool replace fmtstr "$$CB,\"REPLACE\"$$\n";
|
||||
Bool match_case fmtstr "$$CB,\"MATCH CASE\"$$\n";
|
||||
Bool whole_labels fmtstr "$$CB,\"WHOLE LABELS\"$$\n";
|
||||
U8 filemask[STR_LEN] fmtstr "$$DA-P,A=\"FILE MASK :%s\"$$\n";
|
||||
Bool recurse fmtstr "$$CB,\"RECURSE\"$$\n";
|
||||
Bool replace format "$$CB,\"REPLACE\"$$\n";
|
||||
Bool match_case format "$$CB,\"MATCH CASE\"$$\n";
|
||||
Bool whole_labels format "$$CB,\"WHOLE LABELS\"$$\n";
|
||||
U8 filemask[STR_LEN] format "$$DA-P,A=\"FILE MASK :%s\"$$\n";
|
||||
Bool recurse format "$$CB,\"RECURSE\"$$\n";
|
||||
};
|
||||
|
||||
I64 FindWiz()
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
Cd(__DIR__);;
|
||||
#include "Diff"
|
||||
#include "FileBMP"
|
||||
#include "Find"
|
||||
#include "HeapLog"
|
||||
#include "LineRep"
|
||||
|
||||
@@ -136,6 +136,10 @@ Bool MemRepTask(CTask *task,Bool override_validate=FALSE)
|
||||
if (task==sys_winmgr_task) {
|
||||
"gr.pen_brushes\t:%010X\n",PenBrushesSize;
|
||||
"gr.scrn_zoom_tbles\t:%010X\n",ScrnZoomTablesSize;
|
||||
"winmgr.scrn_cast_dc\t:%010X\n",
|
||||
DCSize(winmgr.scrn_cast_dc);
|
||||
"winmgr.dc2_alias\t:%010X\n",
|
||||
DCSize(winmgr.dc2_alias);
|
||||
} else if (task==adam_task) {
|
||||
j=0;k=0;m=0;n=0;
|
||||
for (i=0;i<mp_cnt;i++) {
|
||||
|
||||
@@ -182,7 +182,7 @@ U0 SUFile(U8 *filename,I64 suf_flags,F64 indent_scale_factor)
|
||||
}
|
||||
public U0 SU(U8 *files_find_mask,I64 suf_flags,U8 *fu_flags=NULL,
|
||||
F64 indent_scale_factor=0)
|
||||
{//Apply $LK,"StrUtil",A="MN:StrUtil"$() on files
|
||||
{//Apply $LK,"StrUtil",A="MN:StrUtil"$() on files.
|
||||
//You can convert spaces to tabs, for example,
|
||||
//or removing trailing spaces on lines.
|
||||
//See $LK,"SUF Flags",A="MN:SUF_SINGLE_SPACE"$.
|
||||
|
||||
+10
-26
@@ -1,30 +1,24 @@
|
||||
#help_index "Misc/TOS"
|
||||
|
||||
U0 TOSStaffIns()
|
||||
{//Completes TOS install from TempleOSStaff.ISO
|
||||
{//Completes TOS install from TOS_Staff.ISO
|
||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
||||
AutoComplete;
|
||||
WinBorder;
|
||||
WinMax;
|
||||
DocClear;
|
||||
"$$PURPLE$$$$TX+CX,\"Complete TOS install from TempleOSStaff.ISO\"$$$$FG$$\n\n\n\n";
|
||||
"$$PURPLE$$$$TX+CX,\"Complete TOS install from TOS_Staff.ISO\"$$$$FG$$\n\n\n\n";
|
||||
InsRereg;
|
||||
|
||||
"\nDownload TempleOSSup1.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
||||
"Download TempleOSBooks1.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
||||
"Download TempleOSBooks2.ISO.C\tfrom http://www.templeos.org AppStore.\n\n";
|
||||
"\nDownload TOS_Supplemental1.ISO.C\tfrom http://www.templeos.org\n";
|
||||
|
||||
if (PressAKey!=CH_SHIFT_ESC) {
|
||||
if (HostChgDsk("/home/tad/TempleOSSup1.ISO.C"))
|
||||
if (HostChgDsk("/home/tad/TOS_Supplemental1.ISO.C"))
|
||||
CopyTree("T:/","~/Sup1");
|
||||
if (HostChgDsk("/home/tad/TempleOSBooks1.ISO.C"))
|
||||
CopyTree("T:/","~/Books1");
|
||||
if (HostChgDsk("/home/tad/TempleOSBooks2.ISO.C"))
|
||||
CopyTree("T:/","~/Books2");
|
||||
|
||||
Once("TOSBootHDIns;");
|
||||
"\nDo you wish to run >$FG,2$TOSRegen;$FG$ to generate\n the "
|
||||
"distro ISO's and the website image, $FG,2$D:/Wb$FG$ ";
|
||||
"distro ISO's ";
|
||||
if (YorN) {
|
||||
Once("TOSRegen;");
|
||||
BootRAM("C:/" KERNEL_BIN_C); //Boot so TOSRegen cmd is available.
|
||||
@@ -38,35 +32,25 @@ U0 TOSStaffIns()
|
||||
}
|
||||
|
||||
public U0 TOSStdIns()
|
||||
{//Completes TOS install from TempleOSCD.ISO
|
||||
{//Completes TOS install from TOS_Distro.ISO
|
||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
||||
AutoComplete;
|
||||
WinBorder;
|
||||
WinMax;
|
||||
DocClear;
|
||||
"$$PURPLE$$$$TX+CX,\"Complete TOS install from TempleOSCD.ISO\"$$$$FG$$\n\n\n\n";
|
||||
"$$PURPLE$$$$TX+CX,\"Complete TOS install from TOS_Distro.ISO\"$$$$FG$$\n\n\n\n";
|
||||
InsRereg;
|
||||
|
||||
"\nDownload TempleOSSup1.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
||||
"Download TempleOSWeb.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
||||
"Download TempleOSBooks1.ISO.C\tfrom http://www.templeos.org AppStore.\n"
|
||||
"Download TempleOSBooks2.ISO.C\tfrom http://www.templeos.org AppStore.\n\n";
|
||||
"\nDownload TOS_Supplemental1.ISO.C\tfrom http://www.templeos.org\n";
|
||||
|
||||
if (PressAKey!=CH_SHIFT_ESC) {
|
||||
if (FileFind("/Demo/AcctExample"))
|
||||
CopyTree("::/Demo/AcctExample","~");
|
||||
if (HostChgDsk("/home/tad/Downloads/TempleOSSup1.ISO.C"))
|
||||
if (HostChgDsk("/home/tad/Downloads/TOS_Supplemental1.ISO.C"))
|
||||
CopyTree("T:/","~/Sup1");
|
||||
if (HostChgDsk("/home/tad/Downloads/TempleOSWeb.ISO.C"))
|
||||
CopyTree("T:/","~/Web");
|
||||
if (HostChgDsk("/home/tad/Downloads/TempleOSBooks1.ISO.C"))
|
||||
CopyTree("T:/","~/Books1");
|
||||
if (HostChgDsk("/home/tad/Downloads/TempleOSBooks2.ISO.C"))
|
||||
CopyTree("T:/","~/Books2");
|
||||
|
||||
Once("TOSBootHDIns;");
|
||||
"\nDo you wish to run >$FG,2$TOSRegen;$FG$ to generate\n the "
|
||||
"distro ISO's and the website image, $FG,2$D:/Wb$FG$ ";
|
||||
"\nDo you wish to run >$FG,2$TOSRegen;$FG$ to generate\n the distro ISO's ";
|
||||
if (YorN) {
|
||||
Once("TOSRegen;");
|
||||
BootRAM("C:/" KERNEL_BIN_C); //Boot so TOSRegen cmd is available.
|
||||
|
||||
+9
-6
@@ -23,7 +23,7 @@ public I64 SndFileCreate(U8 *base_filename,F64 normalized_vol=1.0,
|
||||
//Averaging should be a num from 0.0 to 0.999.
|
||||
//Vol should be from 0.0 to 1.0.
|
||||
//Set reverb_delay to like 0.3 sec and reverb_intensity to like 0.4.
|
||||
I64 i,k,cnt,cnt2,level,file_num;
|
||||
I64 i,i1,k,cnt,cnt2,level,file_num;
|
||||
F64 avg,dt;
|
||||
CFileSND *s;
|
||||
CSndWaveCtrl *swc=SndWaveCtrlNew(SNDFILE_SAMPLE_RATE,16,1);
|
||||
@@ -63,13 +63,16 @@ public I64 SndFileCreate(U8 *base_filename,F64 normalized_vol=1.0,
|
||||
|
||||
d=snd.record_head.next;
|
||||
k=0;
|
||||
i=d->time*SNDFILE_SAMPLE_RATE;
|
||||
while (d->next!=&snd.record_head) {
|
||||
d1=d->next;
|
||||
dt=d1->time-d->time;
|
||||
cnt2=dt*SNDFILE_SAMPLE_RATE;
|
||||
SndWaveAddBuf(swc,&s->body[k],cnt2,
|
||||
Ona2Freq(d->ona),waveform,normalized_vol);
|
||||
k+=cnt2;
|
||||
i1=d1->time*SNDFILE_SAMPLE_RATE;
|
||||
if (i1-i) {
|
||||
SndWaveAddBuf(swc,&s->body[k],i1-i,
|
||||
Ona2Freq(d->ona),waveform,normalized_vol);
|
||||
k+=i1-i;
|
||||
i=i1;
|
||||
}
|
||||
QueRem(d);
|
||||
Free(d);
|
||||
d=d1;
|
||||
|
||||
@@ -127,7 +127,7 @@ per second. It defaults to
|
||||
2.5 and gets faster when bigger.
|
||||
*/
|
||||
U8 *word,*last_st;
|
||||
I64 note,i=0,ona,timeout_val,timeout_val2;
|
||||
I64 note,octave,i=0,ona,timeout_val,timeout_val2;
|
||||
Bool tie;
|
||||
F64 d,on_jiffies,off_jiffies;
|
||||
music.play_note_num=0;
|
||||
@@ -151,14 +151,19 @@ per second. It defaults to
|
||||
note=*st++-'A';
|
||||
if (note<7) {
|
||||
note=music.note_map[note];
|
||||
octave=music.octave;
|
||||
if (*st=='b') {
|
||||
note--;
|
||||
if (note==2)
|
||||
octave--;
|
||||
st++;
|
||||
} else if (*st=='#') {
|
||||
note++;
|
||||
if (note==3)
|
||||
octave++;
|
||||
st++;
|
||||
}
|
||||
ona=Note2Ona(note,music.octave);
|
||||
ona=Note2Ona(note,octave);
|
||||
} else
|
||||
ona=ONA_REST;
|
||||
if (words && (word=LstSub(i++,words)) && StrCmp(word," "))
|
||||
|
||||
+2
-1
@@ -6,7 +6,8 @@ CMsStateGlbls old_ms={{-1000,-1000,0},{-1000,-1000,0},{-1000,-1000,0},
|
||||
FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE
|
||||
};
|
||||
|
||||
public CWinMgrGlbls winmgr={0,0,0,WINMGR_FPS,tS,NULL,FALSE,FALSE,FALSE};
|
||||
public CWinMgrGlbls winmgr={0,0,0,WINMGR_FPS,tS,tS,NULL,
|
||||
Now,tS,NULL,NULL,NULL,FALSE,FALSE,FALSE,FALSE};
|
||||
winmgr.t=CAlloc(sizeof(CWinMgrTimingGlbls));
|
||||
winmgr.t->last_calc_idle_time=tS;
|
||||
|
||||
|
||||
+51
-4
@@ -2,7 +2,7 @@
|
||||
|
||||
public U0 Refresh(I64 cnt=1,Bool force=FALSE)
|
||||
{//Wait for 30fps WinMgr to start & finish scrn refresh.
|
||||
//0,FALSE Cnt Sync to WinMgr. (not used)
|
||||
//0,FALSE Cnt Sync to WinMgr.
|
||||
//0,TRUE Pump Msgs.
|
||||
//1 Cnt Wait and Pump Msgs.
|
||||
//2 Cnt Make Sure to do a Full Refresh
|
||||
@@ -31,6 +31,24 @@ public U0 Refresh(I64 cnt=1,Bool force=FALSE)
|
||||
LBEqu(&Fs->task_flags,TASKf_IDLE,old_idle);
|
||||
}
|
||||
|
||||
#help_index "Windows;Cmd Line (Typically)"
|
||||
|
||||
public Bool ScrnCast(Bool val=ON,U8 *print_fmt="B:/Tmp/%X.GR")
|
||||
{//WinMgr saves GR files to a dir.
|
||||
Bool old_val;
|
||||
if (val) {
|
||||
if (!(old_val=LBtr(&winmgr.scrn_cast,0))) {
|
||||
Free(winmgr.scrn_cast_print_fmt);
|
||||
winmgr.scrn_cast_print_fmt=AStrNew(print_fmt);
|
||||
winmgr.scrn_cast_now=Now;
|
||||
winmgr.scrn_cast_tS=tS;
|
||||
LBts(&winmgr.scrn_cast,0);
|
||||
}
|
||||
} else
|
||||
old_val=LBtr(&winmgr.scrn_cast,0);
|
||||
return old_val;
|
||||
}
|
||||
|
||||
#help_index "Windows"
|
||||
|
||||
I64 WinQueIPMsgs(Bool que)
|
||||
@@ -223,8 +241,11 @@ I64 WinMgrSleep(Bool flush_msgs=FALSE)
|
||||
CCtrl *c;
|
||||
Bool que;
|
||||
F64 t,t_delta;
|
||||
U8 *st;
|
||||
CDC *diff;
|
||||
CDate cdt;
|
||||
|
||||
TimeStampFreqCal;
|
||||
TimeCal;
|
||||
if ((t_delta=(t=tS)-winmgr.last_refresh_tS)>0.01)
|
||||
winmgr.fps=Max(1.0/t_delta,1);
|
||||
else
|
||||
@@ -260,11 +281,36 @@ I64 WinMgrSleep(Bool flush_msgs=FALSE)
|
||||
WinMsUpdate;
|
||||
|
||||
if (!LBtr(&sys_semas[SEMA_JUST_PUMP_MSGS],0)) {
|
||||
timeout_val=cnts.jiffies+JIFFY_FREQ/WINMGR_FPS;
|
||||
t=tS+WINMGR_PERIOD/8;
|
||||
while (winmgr.ideal_refresh_tS<t)
|
||||
winmgr.ideal_refresh_tS+=WINMGR_PERIOD;
|
||||
timeout_val=cnts.jiffies+(winmgr.ideal_refresh_tS-tS)*JIFFY_FREQ;
|
||||
LBts(&sys_semas[SEMA_REFRESH_IN_PROGRESS],0);
|
||||
GrUpdateScrn;
|
||||
LBtr(&sys_semas[SEMA_REFRESH_IN_PROGRESS],0);
|
||||
|
||||
if (winmgr.scrn_cast) {
|
||||
cdt=winmgr.scrn_cast_now+ToI64(CDATE_FREQ*(tS-winmgr.scrn_cast_tS));
|
||||
if (!winmgr.scrn_cast_dc) {
|
||||
winmgr.scrn_cast_dc=DCCopy(winmgr.dc2_alias);
|
||||
winmgr.scrn_cast_dc->cdt=cdt;
|
||||
st=MStrPrint(winmgr.scrn_cast_print_fmt,cdt);
|
||||
GRWrite(st,winmgr.scrn_cast_dc);
|
||||
Free(st);
|
||||
} else if (MemCmp(winmgr.scrn_cast_dc->body,
|
||||
winmgr.dc2_alias->body,MSize(winmgr.dc2_alias->body))) {
|
||||
diff=DCDiff(winmgr.scrn_cast_dc,winmgr.dc2_alias);
|
||||
diff->cdt=cdt;
|
||||
st=MStrPrint(winmgr.scrn_cast_print_fmt,cdt);
|
||||
GRWrite(st,diff);
|
||||
Free(st);
|
||||
DCDel(diff);
|
||||
Free(winmgr.scrn_cast_dc->body);
|
||||
winmgr.scrn_cast_dc->body=MAllocIdent(winmgr.dc2_alias->body);
|
||||
}
|
||||
} else if (winmgr.scrn_cast_dc) {
|
||||
DCDel(winmgr.scrn_cast_dc); //TODO: $LK,"MemRep",A="MN:MemRep"$ can crash.
|
||||
winmgr.scrn_cast_dc=NULL;
|
||||
}
|
||||
if (sys_focus_task && !Bt(&sys_focus_task->task_flags,TASKf_HAS_SONG)) {
|
||||
Free(music.cur_song);
|
||||
music.cur_song=NULL;
|
||||
@@ -404,6 +450,7 @@ U0 WinMgrTask(I64)
|
||||
gr.dc->win_task=Fs;
|
||||
Fs->win_inhibit&=~WIF_SELF_CTRLS;
|
||||
GrSetUpTables;
|
||||
winmgr.dc2_alias=DCAlias(gr.dc2);
|
||||
WinZBufUpdate;
|
||||
LBts(&sys_run_level,RLf_WINMGR);
|
||||
while (TRUE) {
|
||||
|
||||
@@ -35,11 +35,11 @@ U0 BgtIns(CBgtEntry *tmpb)
|
||||
|
||||
class CBgtEntryForm
|
||||
{
|
||||
U8 date[512] fmtstr "$$DA-P,A=\"Date :%s\"$$\n";
|
||||
F64 amount fmtstr "Amount $$$$$$DA,A=\"%10.2f\"$$\n";
|
||||
U8 credit[512] fmtstr "$$DA-P,A=\"Credit (from) Acct:%s\"$$\n";
|
||||
U8 debit [512] fmtstr "$$DA-P,A=\"Debit (to) Acct:%s\"$$\n";
|
||||
U8 desc [512] fmtstr "$$DA-P,A=\"Desc :%s\"$$\n";
|
||||
U8 date[512] format "$$DA-P,A=\"Date :%s\"$$\n";
|
||||
F64 amount format "Amount $$$$$$DA,A=\"%10.2f\"$$\n";
|
||||
U8 credit[512] format "$$DA-P,A=\"Credit (from) Acct:%s\"$$\n";
|
||||
U8 debit [512] format "$$DA-P,A=\"Debit (to) Acct:%s\"$$\n";
|
||||
U8 desc [512] format "$$DA-P,A=\"Desc :%s\"$$\n";
|
||||
};
|
||||
|
||||
CBgtEntry *BgtEntryPmt(CBgtEntry *dft=NULL)
|
||||
|
||||
@@ -42,11 +42,11 @@ class CBgtTemplate
|
||||
CBgtTemplate *next,*last;
|
||||
|
||||
U0 start;
|
||||
U16 type fmtstr "$$LS,D=\"ST_BGT_TEMPLATE_TYPES\"$$\n";
|
||||
U16 type format "$$LS,D=\"ST_BGT_TEMPLATE_TYPES\"$$\n";
|
||||
U16 flags;
|
||||
U8 start_date[16] fmtstr "$$DA-P,A=\"Start Date:%s\"$$\n";
|
||||
U8 end_date[16] fmtstr "$$DA-P,A=\"End Date :%s\"$$\n";
|
||||
F64 period fmtstr "$$DA,A=\"Period :%8.2f\"$$\n";
|
||||
U8 start_date[16] format "$$DA-P,A=\"Start Date:%s\"$$\n";
|
||||
U8 end_date[16] format "$$DA-P,A=\"End Date :%s\"$$\n";
|
||||
F64 period format "$$DA,A=\"Period :%8.2f\"$$\n";
|
||||
U0 end;
|
||||
|
||||
CBgtEntry b;
|
||||
|
||||
@@ -13,9 +13,9 @@ class Ball
|
||||
|
||||
class BallDefineStruct
|
||||
{
|
||||
F64 radius fmtstr "$$DA-TRM,A=\"Radius :%8.3f\"$$\n";
|
||||
I64 n_longitude fmtstr "$$DA-TRM,A=\"Longitude Faces:%5d\"$$\n";
|
||||
I64 n_lattitude fmtstr "$$DA-TRM,A=\"Lattitude Rings:%5d\"$$\n";
|
||||
F64 radius format "$$DA-TRM,A=\"Radius :%8.3f\"$$\n";
|
||||
I64 n_longitude format "$$DA-TRM,A=\"Longitude Faces:%5d\"$$\n";
|
||||
I64 n_lattitude format "$$DA-TRM,A=\"Lattitude Rings:%5d\"$$\n";
|
||||
};
|
||||
|
||||
U0 BDInit(BallDefineStruct *bd)
|
||||
|
||||
+28
-28
@@ -13,66 +13,66 @@ class Man
|
||||
|
||||
class ManDefineStruct
|
||||
{
|
||||
F64 head_rad fmtstr
|
||||
F64 head_rad format
|
||||
"$$DA-TRM,A=\"Head Radius :%8.3f\"$$\n";
|
||||
|
||||
F64 torso_len fmtstr
|
||||
F64 torso_len format
|
||||
"$$DA-TRM,A=\"Torso Length :%8.3f\"$$\n";
|
||||
F64 arm_len fmtstr
|
||||
F64 arm_len format
|
||||
"$$DA-TRM,A=\"Arm Length :%8.3f\"$$\n";
|
||||
F64 hand_len fmtstr
|
||||
F64 hand_len format
|
||||
"$$DA-TRM,A=\"Hand Length :%8.3f\"$$\n";
|
||||
F64 leg_len fmtstr
|
||||
F64 leg_len format
|
||||
"$$DA-TRM,A=\"Leg Length :%8.3f\"$$\n";
|
||||
F64 foot_len fmtstr
|
||||
F64 foot_len format
|
||||
"$$DA-TRM,A=\"Foot Length :%8.3f\"$$\n";
|
||||
F64 torso_width fmtstr
|
||||
F64 torso_width format
|
||||
"$$DA-TRM,A=\"Torso Width :%8.3f\"$$\n";
|
||||
F64 torso_depth fmtstr
|
||||
F64 torso_depth format
|
||||
"$$DA-TRM,A=\"Torso Depth :%8.3f\"$$\n";
|
||||
F64 arm_rad fmtstr
|
||||
F64 arm_rad format
|
||||
"$$DA-TRM,A=\"Arm Radius :%8.3f\"$$\n";
|
||||
F64 hand_rad fmtstr
|
||||
F64 hand_rad format
|
||||
"$$DA-TRM,A=\"Hand Radius :%8.3f\"$$\n";
|
||||
F64 leg_rad fmtstr
|
||||
F64 leg_rad format
|
||||
"$$DA-TRM,A=\"Leg Radius :%8.3f\"$$\n";
|
||||
F64 foot_rad fmtstr
|
||||
F64 foot_rad format
|
||||
"$$DA-TRM,A=\"Foot Radius :%8.3f\"$$\n\n";
|
||||
|
||||
F64 r_shoulder_a1 fmtstr
|
||||
F64 r_shoulder_a1 format
|
||||
"$$DA-TRM,A=\"R.Shoulder Front/Back Angle:%8.3f\"$$\n";
|
||||
F64 l_shoulder_a1 fmtstr
|
||||
F64 l_shoulder_a1 format
|
||||
"$$DA-TRM,A=\"L.Shoulder Front/Back Angle:%8.3f\"$$\n";
|
||||
F64 r_hip_a1 fmtstr
|
||||
F64 r_hip_a1 format
|
||||
"$$DA-TRM,A=\"R.Hip Front/Back Angle :%8.3f\"$$\n";
|
||||
F64 l_hip_a1 fmtstr
|
||||
F64 l_hip_a1 format
|
||||
"$$DA-TRM,A=\"L.Hip Front/Back Angle :%8.3f\"$$\n";
|
||||
|
||||
F64 r_shoulder_a2 fmtstr
|
||||
F64 r_shoulder_a2 format
|
||||
"$$DA-TRM,A=\"R.Shoulder Side Angle :%8.3f\"$$\n";
|
||||
F64 l_shoulder_a2 fmtstr
|
||||
F64 l_shoulder_a2 format
|
||||
"$$DA-TRM,A=\"L.Shoulder Side Angle :%8.3f\"$$\n";
|
||||
F64 r_hip_a2 fmtstr
|
||||
F64 r_hip_a2 format
|
||||
"$$DA-TRM,A=\"R.Hip Side Angle :%8.3f\"$$\n";
|
||||
F64 l_hip_a2 fmtstr
|
||||
F64 l_hip_a2 format
|
||||
"$$DA-TRM,A=\"L.Hip Side Angle :%8.3f\"$$\n";
|
||||
|
||||
F64 r_elbow_a fmtstr
|
||||
F64 r_elbow_a format
|
||||
"$$DA-TRM,A=\"R.Elbow Angle :%8.3f\"$$\n";
|
||||
F64 l_elbow_a fmtstr
|
||||
F64 l_elbow_a format
|
||||
"$$DA-TRM,A=\"L.Elbow Angle :%8.3f\"$$\n";
|
||||
F64 r_knee_a fmtstr
|
||||
F64 r_knee_a format
|
||||
"$$DA-TRM,A=\"R.Knee Angle :%8.3f\"$$\n";
|
||||
F64 l_knee_a fmtstr
|
||||
F64 l_knee_a format
|
||||
"$$DA-TRM,A=\"L.Knee Angle :%8.3f\"$$\n";
|
||||
|
||||
F64 r_wrist_a fmtstr
|
||||
F64 r_wrist_a format
|
||||
"$$DA-TRM,A=\"R.Wrist Angle :%8.3f\"$$\n";
|
||||
F64 l_wrist_a fmtstr
|
||||
F64 l_wrist_a format
|
||||
"$$DA-TRM,A=\"L.Wrist Angle :%8.3f\"$$\n";
|
||||
F64 r_ankle_a fmtstr
|
||||
F64 r_ankle_a format
|
||||
"$$DA-TRM,A=\"R.Ankle Angle :%8.3f\"$$\n";
|
||||
F64 l_ankle_a fmtstr
|
||||
F64 l_ankle_a format
|
||||
"$$DA-TRM,A=\"L.Ankle Angle :%8.3f\"$$\n";
|
||||
|
||||
};
|
||||
|
||||
@@ -11,14 +11,3 @@ $WW,1$$FG,5$$TX+CX,"Psalmody Help"$$FG$
|
||||
* You can take the $LK,"Play",A="MN:Play"$() stmts out of a song file and place them in your programs. You can also add a song to a document with $FG,2$<CTRL-l>$FG$, but you should do it after pressing $FG,2$<CTRL-t>$FG$ because the clip-insert in $FG,2$<CTRL-l>$FG$ is screwy. See this $SO,"<Song>",A="4qG5EC4BeGG5qCeFD4sB5G4B5G4qG5EC4BeGG5qCeFD4sB5G4B5GqEeEFqE4BeG5FetC4A5GqFCEeEFqE4BeG5FetC4A5GqFC"$ after pressing $FG,2$<CTRL-t>$FG$, now.
|
||||
|
||||
* You can call $LK,"JukeBox",A="FF:::/Apps/Psalmody/JukeBox.HC,JukeBox"$("~/Psalmody"); to play your songs.
|
||||
|
||||
* To create a $FG,2$.SND$FG$ file which can be exported and played under Windows, set the $FG,2$Bool$FG$ $LK,"snd.record",A="MN:CSndGlbls"$ to $FG,2$TRUE$FG$, play music, and set it to $FG,2$FALSE$FG$. Then, call $LK,"SndFileCreate",A="MN:SndFileCreate"$(). You might wish to make a $FG,2$<CTRL-ALT-key>$FG$ to toggle this system level recording feat. See $LK,"Snd",A="MN:Snd"$(). Add this code to your $LK,"~/HomeKeyPlugIns.HC"$ file.
|
||||
|
||||
$FG,5$U0 CtrlAltR(I64)
|
||||
{
|
||||
snd.record=!snd.record;
|
||||
}
|
||||
CtrlAltCBSet('R',&CtrlAltR,"Cmd /Toggle snd.record");$FG$
|
||||
|
||||
* When calling $LK,"SndFileCreate",A="MN:SndFileCreate"$() you can set a waveform. The PC speaker is $LK,"WF_SQUARE",A="MN:WF_SQUARE"$. You can sel reverb and averaging, also.
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ U0 JukeSongPuppet(CTask *juke_task,I64 passes,I64 song_num,U8 *name)
|
||||
}
|
||||
|
||||
public U0 JukeSongsPuppet(U8 *dirname="~/Psalmody",I64 passes=2,
|
||||
I64 start_song=0,I64 end_song=I64_MAX)
|
||||
I64 start_song=0,I64 end_song=I64_MAX)
|
||||
{//Help make music video by puppeting JukeBox task.
|
||||
I64 i;
|
||||
CDirEntry *tmpde,*tmpde1;
|
||||
|
||||
+3
-3
@@ -945,14 +945,14 @@ U0 PrsAsmBlk(CCmpCtrl *cc,I64 cmp_flags)
|
||||
LexExcept(cc,"Missing ';' at");
|
||||
Lex(cc); //skip ';';
|
||||
break;
|
||||
case AKW_MODULE_ORG:
|
||||
case AKW_ORG:
|
||||
if (cc->htc.local_var_lst)
|
||||
LexExcept(cc,"ORG not allowed in fun asm blk ");
|
||||
if (aotc->module_org!=INVALID_PTR)
|
||||
if (aotc->org!=INVALID_PTR)
|
||||
LexExcept(cc,"Just one org allowed ");
|
||||
if (aotc->rip)
|
||||
LexExcept(cc,"ORG must be at beginning ");
|
||||
aotc->module_org=AsmLexExpression(cc);
|
||||
aotc->org=AsmLexExpression(cc);
|
||||
break;
|
||||
case AKW_ALIGN:
|
||||
if (cc->htc.local_var_lst)
|
||||
|
||||
+5
-5
@@ -55,7 +55,7 @@ CAOT *CmpJoin(CCmpCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0)
|
||||
|
||||
aotc->bin=CAlloc(sizeof(CAOTBinBlk));
|
||||
aotc->max_align_bits=0;
|
||||
aotc->module_org=INVALID_PTR;
|
||||
aotc->org=INVALID_PTR;
|
||||
|
||||
MemCpy(htc,&cc->htc,sizeof(CLexHashTableContext));
|
||||
if (cc->htc.fun)
|
||||
@@ -120,10 +120,10 @@ CAOT *CmpJoin(CCmpCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0)
|
||||
if (cc->flags&CCF_AOT_COMPILE)
|
||||
res->buf=MAlloc(aotc->num_bin_U8s);
|
||||
else {
|
||||
if (aotc->module_org==INVALID_PTR)
|
||||
if (aotc->org==INVALID_PTR)
|
||||
res->buf=MAlloc(aotc->num_bin_U8s,Fs->code_heap);
|
||||
else
|
||||
res->buf=aotc->module_org;
|
||||
res->buf=aotc->org;
|
||||
}
|
||||
res->aot_U8s=aotc->num_bin_U8s;
|
||||
tmpbin=aotc->bin;
|
||||
@@ -143,7 +143,7 @@ CAOT *CmpJoin(CCmpCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=0)
|
||||
res->abss=aotc->abss;
|
||||
res->heap_glbls=aotc->heap_glbls;
|
||||
res->max_align_bits=aotc->max_align_bits;
|
||||
res->module_org=aotc->module_org;
|
||||
res->org=aotc->org;
|
||||
}
|
||||
cc->aot=parent;
|
||||
MemCpy(&cc->htc,htc,sizeof(CLexHashTableContext));
|
||||
@@ -541,7 +541,7 @@ I64 Cmp(U8 *filename,U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv_let=0)
|
||||
#assert sizeof(CBinFile)-2<=I8_MAX
|
||||
bfh->reserved=0;
|
||||
bfh->bin_signature=BIN_SIGNATURE_VAL;
|
||||
bfh->module_org=tmpaot->module_org;
|
||||
bfh->org=tmpaot->org;
|
||||
bfh->module_align_bits=tmpaot->max_align_bits;
|
||||
bfh->patch_table_offset=sizeof(CBinFile)+aot_U8s;
|
||||
bfh->file_size=size;
|
||||
|
||||
+10
-5
@@ -129,10 +129,15 @@ U8 *CmdLinePmt()
|
||||
I64 i;
|
||||
U8 *res,*st;
|
||||
if (Fs->new_answer) {
|
||||
if (Fs->answer_type==RT_F64)
|
||||
"%8.6fs ansf=%15.7g\n",Fs->answer_time,Fs->answer;
|
||||
else
|
||||
"%8.6fs ans=0x%08X=%d\n",Fs->answer_time,Fs->answer,Fs->answer;
|
||||
if (Fs->answer_type&~1!=RT_I0) {
|
||||
if (Fs->answer_type==RT_F64)
|
||||
"%8.6fs ansf=%15.7g\n",Fs->answer_time,Fs->answer;
|
||||
else
|
||||
"%8.6fs ans=0x%08X=%d\n",Fs->answer_time,Fs->answer,Fs->answer;
|
||||
} else {
|
||||
"%8.6fs\n",Fs->answer_time;
|
||||
Fs->answer=0;
|
||||
}
|
||||
Fs->new_answer=FALSE;
|
||||
}
|
||||
if (st=DirCur) {
|
||||
@@ -142,7 +147,7 @@ U8 *CmdLinePmt()
|
||||
'>';
|
||||
if (IsDbgMode&&IsRaw)
|
||||
RawDr;
|
||||
|
||||
|
||||
LBts(&Fs->task_flags,TASKf_CMD_LINE_PMT);
|
||||
st=GetStr(,,GSF_SHIFT_ESC_EXIT);
|
||||
LBtr(&Fs->task_flags,TASKf_CMD_LINE_PMT);
|
||||
|
||||
Binary file not shown.
+77
-78
File diff suppressed because one or more lines are too long
@@ -286,7 +286,7 @@ class CIntermediateStruct
|
||||
#define KW_NOARGPOP 47
|
||||
|
||||
#define AKW_ALIGN 64
|
||||
#define AKW_MODULE_ORG 65
|
||||
#define AKW_ORG 65
|
||||
#define AKW_I0 66
|
||||
#define AKW_I8 67
|
||||
#define AKW_I16 68
|
||||
|
||||
@@ -21,6 +21,7 @@ extern U0 StreamDir();
|
||||
public extern I64 StreamExePrint(U8 *fmt,...);
|
||||
public extern U0 StreamPrint(U8 *fmt,...);
|
||||
public extern Bool Trace(Bool val=ON);
|
||||
|
||||
#help_index "Compiler/Lex"
|
||||
#help_file "::/Doc/Lex"
|
||||
extern U0 ClassMemberLstDel(CHashClass *c);
|
||||
|
||||
+22
-8
@@ -442,7 +442,7 @@ I64 Lex(CCmpCtrl *cc)
|
||||
{//Fetch next token.
|
||||
I64 i,j,k,l,ch;
|
||||
CHash *tmph;
|
||||
Bool str_done,neg_e;
|
||||
Bool str_done,in_str,neg_e;
|
||||
U8 *fbuf,*buf2,*buf3,buf[STR_LEN];
|
||||
cc->last_line_num=cc->lex_include_stk->line_num;
|
||||
while (TRUE) {
|
||||
@@ -722,6 +722,7 @@ lex_float_start:
|
||||
i=j=0;
|
||||
buf2=NULL;
|
||||
if (ch) {
|
||||
in_str=FALSE;
|
||||
do {
|
||||
if (ch=='\\') {
|
||||
if (ch=LexGetChar(cc)) {
|
||||
@@ -734,14 +735,16 @@ lex_float_start:
|
||||
buf[j++]='\\';
|
||||
break;
|
||||
}
|
||||
} else if (ch!='\n')
|
||||
} else if (ch!='\n') {
|
||||
if (ch=='\"')
|
||||
in_str=!in_str;
|
||||
buf[j++]=ch;
|
||||
else
|
||||
} else
|
||||
break;
|
||||
while (ch=LexGetChar(cc)) {
|
||||
if (ch=='/') {
|
||||
ch=LexGetChar(cc);
|
||||
if (ch=='/') {
|
||||
if (ch=='/' && !in_str) {
|
||||
do ch=LexGetChar(cc);
|
||||
while (Bt(char_bmp_non_eol,ch));
|
||||
break;
|
||||
@@ -749,11 +752,22 @@ lex_float_start:
|
||||
buf[j++]='/';
|
||||
cc->flags|=CCF_USE_LAST_U16;
|
||||
}
|
||||
} else if (ch=='\\')
|
||||
break;
|
||||
else if (Bt(char_bmp_non_eol,ch))
|
||||
} else if (ch=='\\') {
|
||||
if (ch=LexGetChar(cc)) {
|
||||
if (ch=='\"') {
|
||||
buf[j++]='\\';
|
||||
buf[j++]=ch;
|
||||
} else {
|
||||
cc->flags|=CCF_USE_LAST_U16;
|
||||
ch='\\';
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if (Bt(char_bmp_non_eol,ch)) {
|
||||
if (ch=='\"')
|
||||
in_str=!in_str;
|
||||
buf[j++]=ch;
|
||||
else
|
||||
} else
|
||||
break;
|
||||
if (j>=STR_LEN-4) {//Spot for ['\'][ch],[ch],[0]
|
||||
buf[j++]=0;
|
||||
|
||||
+1
-1
@@ -187,7 +187,7 @@ KEYWORD argpop 46;
|
||||
KEYWORD noargpop 47;
|
||||
|
||||
ASM_KEYWORD ALIGN 64;
|
||||
ASM_KEYWORD MODULE_ORG 65;
|
||||
ASM_KEYWORD ORG 65;
|
||||
ASM_KEYWORD I0 66;
|
||||
ASM_KEYWORD I8 67;
|
||||
ASM_KEYWORD I16 68;
|
||||
|
||||
+16
-24
@@ -244,12 +244,10 @@ U0 PrsStaticInit(CCmpCtrl *cc,CMemberLst *tmpm,I64 pass)
|
||||
}
|
||||
}
|
||||
|
||||
Bool PrsArrayDims(CCmpCtrl *cc,I64 mode,CArrayDim *dim)
|
||||
{//Returns false on empty []
|
||||
//dim->next!=0 for array
|
||||
U0 PrsArrayDims(CCmpCtrl *cc,I64 mode,CArrayDim *dim)
|
||||
{//dim->next!=0 for array
|
||||
CArrayDim *tmpad,*tmpad1;
|
||||
I64 j;
|
||||
Bool res=TRUE;
|
||||
dim->next=NULL;
|
||||
dim->cnt=0;
|
||||
dim->total_cnt=1;
|
||||
@@ -258,30 +256,30 @@ Bool PrsArrayDims(CCmpCtrl *cc,I64 mode,CArrayDim *dim)
|
||||
if (mode.u8[1]==PRS1B_FUN_ARG)
|
||||
LexExcept(cc,"No arrays in fun args at ");
|
||||
do {
|
||||
if (Lex(cc)==']' && !dim->next) {
|
||||
j=-1;
|
||||
res=FALSE;
|
||||
} else {
|
||||
if (Lex(cc)==']' && !dim->next)
|
||||
j=0;
|
||||
else {
|
||||
if ((j=LexExpressionI64(cc))<0)
|
||||
LexExcept(cc,"Invalid array size at ");
|
||||
}
|
||||
tmpad1=&dim->next;
|
||||
while (tmpad1->next) {
|
||||
tmpad1->next->total_cnt*=j;
|
||||
tmpad1=tmpad1->next;
|
||||
}
|
||||
tmpad=MAlloc(sizeof(CArrayDim));
|
||||
tmpad1->next=tmpad;
|
||||
tmpad1=tmpad;
|
||||
tmpad->next=NULL;
|
||||
tmpad1=&dim;
|
||||
do {
|
||||
tmpad1->total_cnt*=j;
|
||||
if (!tmpad1->next) {
|
||||
tmpad1->next=tmpad;
|
||||
break;
|
||||
}
|
||||
tmpad1=tmpad1->next;
|
||||
} while (tmpad1);
|
||||
tmpad1=tmpad;
|
||||
tmpad->cnt=j;
|
||||
tmpad->total_cnt=1;
|
||||
dim->total_cnt*=j;
|
||||
if (cc->token!=']')
|
||||
LexExcept(cc,"Missing ']' at ");
|
||||
} while (Lex(cc)=='[');
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
CHashClass *PrsType(CCmpCtrl *cc,CHashClass **_tmpc1,
|
||||
@@ -292,7 +290,6 @@ CHashClass *PrsType(CCmpCtrl *cc,CHashClass **_tmpc1,
|
||||
CHashClass *tmpc1=*_tmpc1,*tmpc2;
|
||||
CHashFun *fun_ptr=NULL;
|
||||
CHashExport *tmpex=NULL;
|
||||
CArrayDim *tmpad2;
|
||||
|
||||
pt_start:
|
||||
if (!tmpc1 || !(tmpc1->type & (HTT_CLASS|HTT_INTERNAL_TYPE)))
|
||||
@@ -358,12 +355,7 @@ CHashClass *PrsType(CCmpCtrl *cc,CHashClass **_tmpc1,
|
||||
fun_ptr=PrsFunJoin(cc,tmpc1,NULL,fsp_flags)+ptr_stars_cnt;
|
||||
tmpc1=cmp.internal_types[RT_PTR]+ptr_stars_cnt;
|
||||
}
|
||||
if (!PrsArrayDims(cc,mode,tmpad) && cc->token!='=') {
|
||||
tmpc1++;
|
||||
tmpad2=tmpad->next->next;
|
||||
Free(tmpad->next);
|
||||
tmpad->next=tmpad2;
|
||||
}
|
||||
PrsArrayDims(cc,mode,tmpad);
|
||||
|
||||
tmpc2=OptClassFwd(tmpc1);
|
||||
if (tmpc2->ptr_stars_cnt) {
|
||||
|
||||
@@ -126,38 +126,6 @@ Bool MyPutKey(I64 ch,I64 sc)
|
||||
"$$BLUE$$";
|
||||
}
|
||||
return TRUE;
|
||||
case SC_F5:
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /GodOffer");
|
||||
else
|
||||
GodOffer;
|
||||
return TRUE;
|
||||
case SC_F6:
|
||||
if (sc&SCF_SHIFT) {
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /TOSIns");
|
||||
else
|
||||
TOSIns;
|
||||
} else {
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /TimeIns");
|
||||
else
|
||||
TimeIns;
|
||||
}
|
||||
return TRUE;
|
||||
case SC_F7:
|
||||
if (sc&SCF_SHIFT) {
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /NISTGodIns2");
|
||||
else
|
||||
NISTGodIns2;
|
||||
} else {
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /GodIns");
|
||||
else
|
||||
GodIns;
|
||||
}
|
||||
return TRUE;
|
||||
case SC_F8:
|
||||
if (sc&SCF_SHIFT) {
|
||||
if (sc&SCF_KEY_DESC)
|
||||
@@ -185,6 +153,22 @@ Bool MyPutKey(I64 ch,I64 sc)
|
||||
else
|
||||
AutoComplete;
|
||||
return TRUE;
|
||||
case 'f': //With sync
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /FrameGrabber Sync");
|
||||
else if (fg_on)
|
||||
FrameGrabberToggle(FALSE,FALSE,FALSE);
|
||||
else
|
||||
FrameGrabberToggle(TRUE,FALSE,FALSE);
|
||||
return TRUE;
|
||||
case 'F': //With sync and intro TOS theme
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /FrameGrabber Intro");
|
||||
else if (fg_on)
|
||||
FrameGrabberToggle(FALSE,FALSE,TRUE);
|
||||
else
|
||||
FrameGrabberToggle(TRUE,TRUE,FALSE);
|
||||
return TRUE;
|
||||
case 'h':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /WinTileHorz");
|
||||
@@ -211,12 +195,6 @@ Bool MyPutKey(I64 ch,I64 sc)
|
||||
else
|
||||
WinTileVert;
|
||||
return TRUE;
|
||||
case 'V':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /FrameGrabberToggle");
|
||||
else
|
||||
FrameGrabberToggle;
|
||||
return TRUE;
|
||||
case 'l':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Edit/Put Link to Cur Pos on Clip");
|
||||
@@ -246,6 +224,20 @@ Bool MyPutKey(I64 ch,I64 sc)
|
||||
"$$AN,\"<TODO>\",A=\"ANC%d\"$$",i;
|
||||
}
|
||||
return TRUE;
|
||||
case 'p':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /JukeBox");
|
||||
else
|
||||
PopUp("#include \"::/Apps/Psalmody/Load\";"
|
||||
"JukeBox(\"::/Home/Sup1/Sup1Hymns\");");
|
||||
return TRUE;
|
||||
case 'P':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /Psalmody");
|
||||
else
|
||||
PopUp("#include \"::/Apps/Psalmody/Load\";"
|
||||
"Psalmody(\"~/Sup1/Sup1Hymns\");");
|
||||
return TRUE;
|
||||
|
||||
//Ins your own ALT-key plug-ins
|
||||
case '1':
|
||||
@@ -284,30 +276,6 @@ Bool MyPutKey(I64 ch,I64 sc)
|
||||
else
|
||||
"$$ID,-5$$";
|
||||
return TRUE;
|
||||
case 'b':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /Jump to Bad Code");
|
||||
else //$LK,"::/Adam/God/HSNotes.DD"$
|
||||
GodCodeJmp;
|
||||
return TRUE;
|
||||
case 'g':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Edit/BlogScrnShot");
|
||||
else
|
||||
BlogScrnShot;
|
||||
return TRUE;
|
||||
case 'p':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /JukeBox(Home/Sup1Hymns)");
|
||||
else
|
||||
JukeBox("~/Sup1/Sup1Hymns");
|
||||
return TRUE;
|
||||
case 'P':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /JukeBox(Home/Sup1Songs)");
|
||||
else
|
||||
JukeBox("~/Sup1/Sup1Songs");
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
|
||||
@@ -9,7 +9,7 @@ U0 UserStartUp()
|
||||
WinToTop;
|
||||
WinZBufUpdate;
|
||||
Dir;
|
||||
"$TX,"81,223",D="DD_TEMPLEOS_LOC_OFFICIAL"$LOC:";
|
||||
"$TX,"82,150",D="DD_TEMPLEOS_LOC"$LOC:";
|
||||
CPURep;
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#define FILEMASK_OFF_LIMITS "!*/Misc/PCIDevices.DD*;!*/Misc/Bible.TXT*;"\
|
||||
"!*/Books?/*;!*/Sup1/Sup1Words/*;!*/Sup1/Sup1Bin/*;"\
|
||||
"!*/Sup1/Sup1Blog/NumBible.TXT*;!*/God/Vocab.DD*"
|
||||
"!*/God/Vocab.DD*"
|
||||
|
||||
public I64 F(U8 *needle_str,U8 *fu_flags=NULL)
|
||||
{//Find text in all text files.
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,11 @@
|
||||
$WW,1$$FG,5$$TX+CX,"TODO"$$FG$
|
||||
|
||||
* Make MV files combine disjoint rects for same frame.
|
||||
|
||||
* God said to reconsider switch start/end, perhaps preface portion?
|
||||
|
||||
* 170605 Alec Murphy said MountFile() of a red sea supplemental1 ISO failed.
|
||||
|
||||
* Does entire tool chain support super/sub script?
|
||||
|
||||
* $LK,"::/Apps/X-Caliber/X-Caliber.HC"$
|
||||
@@ -13,9 +19,9 @@ $WW,1$$FG,5$$TX+CX,"TODO"$$FG$
|
||||
* Helicopters.
|
||||
* Anti-Aircraft.
|
||||
|
||||
* $MA-X+PU,"64-Bit Device Memory",LM="F(\"mem64_ptr\");View;"$ is not implemented.
|
||||
* Fix $LK,"::/Home/Sup1/Sup1Graphics/ICOFile.HC"$
|
||||
|
||||
* Cursor in $LK,"~/TOS/TOSToHtml.HC"$.
|
||||
* $MA-X+PU,"64-Bit Device Memory",LM="F(\"mem64_ptr\");View;"$ is not implemented.
|
||||
|
||||
* Investigate why packet loss $LK,"Training Sleep(1)",A="FF:::/Adam/Training.HC,Sleep(1)"$.
|
||||
|
||||
@@ -192,8 +198,6 @@ $FG,5$$TX+CX,"Bugs? Not really sure."$$FG$
|
||||
|
||||
* $LK,"StrPrintJoin",A="MN:StrPrintJoin"$(,st); With st="\n\\"; (Forgot what this is talking about.)
|
||||
|
||||
* $LK,"BMPRLE4To",A="MN:BMPRLE4To"$() has files_size too big by 108. Fixed?
|
||||
|
||||
|
||||
$FG,5$$TX+CX,"TODO? Not really, just angst."$$FG$
|
||||
* Should these be moved into $LK,"CHashClass",A="MN:CHashClass"$ from $LK,"CMemberLst",A="MN:CMemberLst"$ and $LK,"CHashGlblVar",A="MN:CHashGlblVar"$?
|
||||
@@ -273,8 +277,6 @@ $FG,5$$TX+CX,"Committee Needed"$$FG$
|
||||
|
||||
* Import Intel datasheets so we can use links in $LK,"Code",A="FI:::/Kernel/Mem/PageTables.HC"$ for documentation. I tried a PDF-to-text convertor and it wasn't acceptible.
|
||||
|
||||
* Why are BMP file $LK,"CBGR24",A="MN:CBGR24"$'s wrong? $LK,"::/Adam/Opt/Utils/FileBMP.HC"$.
|
||||
|
||||
* Switch stmt with sparse cases? Maybe, ban sparse switch stmts.
|
||||
|
||||
* Compiler Optimization: Postpone LocalVar init until last possible moment in case of return.
|
||||
@@ -441,84 +443,13 @@ Thousand songs of Solomon $TX,"1 Kings 4:32",HTML="http://www.biblegateway.com/
|
||||
Not rich, nor poor, but my portion $TX,"Proverbs 30:8",HTML="http://www.biblegateway.com/verse/en/Proverbs%2030:8"$
|
||||
Be hot or cold. Lukewarm I spit you out $TX,"Revelation 3:16",HTML="http://www.biblegateway.com/verse/en/Revelation%203:16"$
|
||||
|
||||
$FG,5$$TX+CX,"Misc Notes"$$FG$
|
||||
Erik van der Karbargenbok: $LK,"TempleBot",A="PI:~/Sup1/Sup1Bin/TempleBot"$.
|
||||
Intel CEO's name: Brian Krzanich
|
||||
>$FG,2$lspci -v$FG$
|
||||
Size:$TX,"17400KB",D="DD_TEMPLEOSCD_K_SIZE"$
|
||||
|
||||
$FG,5$$TX+CX,"My Web Bookmarks"$$FG$$WW,0$
|
||||
$TX,"My FireFox Bookmarks",HTML="http://www.templeos.org/Wb/Home/Sup1/Sup1Blog/Bookmarks"$
|
||||
Machine $HC,"<center><img src=\"http://www.templeos.org/images/Machine.jpg\" width=\"600\" height=\"400\" alt=\"\"></center>"$
|
||||
Frosting $HC,"<center><img src=\"http://www.templeos.org/images/Frosting.jpg\" width=\"600\" height=\"400\" alt=\"\"></center>"$
|
||||
Soap Carvings $HC,"<center><img src=\"http://www.templeos.org/images/SoapCarvings.jpg\" width=\"640\" height=\"480\" alt=\"\"></center>"$
|
||||
CottonTail $HC,"<center><img src=\"http://www.templeos.org/images/CttnTail.jpg\" width=\"644\" height=\"1113\" alt=\"\"></center>"$
|
||||
TempleOS Logo $HC,"<center><img src=\"http://www.templeos.org/images/Logo128x152.jpg\" width=\"640\" height=\"760\" alt=\"\"></center>"$
|
||||
T-Shirts & Mug $HC,"<img src=\"http://www.templeos.org/Wb/Home/Web/Imgs/Gear2387x2849.jpg\" width=\"477\" height=\"569\" alt=\"\">"$
|
||||
Pew Pew Pew $HC,"<center><img src=\"http://i.imgur.com/sMpJ0ch.jpg\" width=\"640\" height=\"480\" alt=\"\"></center>"$
|
||||
Iceberg $HC,"<center><img src=\"https://upload.wikimedia.org/wikipedia/commons/3/38/Blue_ice_in_South_Greenland_-_Visit_Greenland.jpg\" width=\"640\" height=\"480\" alt=\"\"></center>"$
|
||||
I made dis $HC,"<center><img src=\"http://i.imgur.com/cZKkxTX.jpg\" width=\"640\" height=\"800\" alt=\"\"></center>"$
|
||||
NIST Beacon $HC,"<center><img src=\"http://www.nist.gov/itl/csd/ct/images/beacon_architecture_2013.jpg\" width=\"550\" height=\"278\" alt=\"\"></center>"$
|
||||
Purple Frog $HC,"<center><img src=\"https://s-media-cache-ak0.pinimg.com/736x/fb/08/2a/fb082a53bd798f5957a474ff9095e6d4.jpg\" width=\"640\" height=\"420\" alt=\"\"></center>"$
|
||||
Sombrero $HC,"<center><img src=\"https://upload.wikimedia.org/wikipedia/commons/5/5e/M104_ngc4594_sombrero_galaxy_hi-res.jpg\" width=\"640\" height=\"359\" alt=\"\"></center>"$
|
||||
Zinger $HC,"<center><img src=\"http://media.shopwell.com/gladson/00041300000031_full.jpg\" width=\"432\" height=\"234\" alt=\"\"></center>"$
|
||||
Dianna Throne $HC,"<center><img src=\"http://i.imgur.com/RtcK6iX.jpg%EF%BB%BF\" width=\"640\" height=\"746\" alt=\"\"></center>"$
|
||||
170310 Terry $HC,"<center><img src=\"http://www.templeos.org/images/170310TerryADavis.jpg\" width=\"640\" height=\"640\" alt=\"\"></center>"$
|
||||
|
||||
$TX,"Linus Torvalds (Dec 28, 1969)",HTML="https://en.wikipedia.org/wiki/Linus_Torvalds"$
|
||||
$TX,"John Carmack (Aug 20, 1970)",HTML="https://en.wikipedia.org/wiki/John_Carmack"$
|
||||
$TX,"Terry A. Davis (Dec 15, 1969)",HTML="https://motherboard.vice.com/en_us/article/gods-lonely-programmer"$
|
||||
|
||||
$TX,"SimStructure",HTML="http://www.templeos.org/files/SimStrSetUp.zip"$
|
||||
$TX,"ASU_Transcripts",HTML="http://www.templeos.org/files/ASU_Transcripts.pdf"$ $TX,"ASU Course Catalog (See page 261)",HTML="https://catalog.asu.edu/files/shared/archives/1994-1996/general/UG1994-1996.pdf/1994-1996-UG-241-267.pdf"$
|
||||
$TX,"Dr. David Pheanis",HTML="https://webapp4.asu.edu/directory/person/77201"$ $TX,"Dr. Konstantinos S. Tsakalis",HTML="http://ecee.engineering.asu.edu/directory/tenured-and-tenure-track-faculty/kostantinos-s-tsakalis"$ $TX,"Dr. Walter Higgins",HTML="https://webapp4.asu.edu/directory/directorysearch?cn=Walter+Higgins"$
|
||||
$TX,"Peter Gadwa",HTML="http://www.wired.com/magazine/2010/11/mf_ticketmaster/all/1"$ $TX,"Ticketmaster",HTML="http://www.nytimes.com/1994/11/06/business/ticketmaster-s-mr-tough-guy.html?pagewanted=a"$
|
||||
$TX,"Dr. David Pheanis",HTML="https://webapp4.asu.edu/directory/person/77201"$
|
||||
$TX,"Dr. Konstantinos S. Tsakalis",HTML="http://ecee.engineering.asu.edu/directory/tenured-and-tenure-track-faculty/kostantinos-s-tsakalis"$
|
||||
$TX,"Dr. Walter Higgins",HTML="https://webapp4.asu.edu/directory/directorysearch?cn=Walter+Higgins"$
|
||||
$TX,"Peter Gadwa",HTML="http://www.wired.com/magazine/2010/11/mf_ticketmaster/all/1"$
|
||||
$TX,"Ticketmaster",HTML="http://www.nytimes.com/1994/11/06/business/ticketmaster-s-mr-tough-guy.html?pagewanted=a"$
|
||||
$TX,"Tom Foley",HTML="http://web.gccaz.edu/~tfoley/perspage.html"$
|
||||
$TX,"Graphic Technologies",HTML="https://web.archive.org/web/20020811060541/http://www.graphic-technologies.com/"$ $TX,"Lexmark vs Static Control",HTML="https://en.wikipedia.org/wiki/Lexmark_International,_Inc._v._Static_Control_Components,_Inc."$
|
||||
|
||||
|
||||
|
||||
$TX,"Stephen Davis",HTML="https://photos.google.com/share/AF1QipM4HI3mb_9qe8wDQ--nRfjIzOKyGG8heqWH-tbGBIIoxChWe4GeBegNzgHRy4Z1Qw?key=eGR0R0tyZG5tenRWd0tDN2RHRFRNTmI4NXdhc25B"$
|
||||
|
||||
3qEeEGCAsBABAqFDBeE2G33qEeEGCAsBABAqFDBeE2G33qCsBDBDq2G3s2G3F2G3FqAet2G32G3AEDAqF3qCsBDBDq2G3s2G3F2G3FqAet2G32G3AEDAqF
|
||||
qFeDAsBDeDqCeF2G3sGGeF2sG3C2G3CBCeF
|
||||
|
||||
$FG,5$$TX+CX,"Web Bookmarks"$$FG$
|
||||
Cop tying shoe $HC,"<center><img src=\"https://goodtimestories.files.wordpress.com/2013/04/cop-tying-shoe-cambridge-county-pd.jpg\" width=\"480\" height=\"376\" alt=\"\"></center>"$
|
||||
$TX,"Unikernels",HTML="https://ma.ttias.be/what-is-a-unikernel"$
|
||||
$TX,"Handford school",HTML="https:/pinterest.com/pin/255368241346360278"$
|
||||
$TX,"Look at PCI interrupt routing.",HTML="http://forum.osdev.org/viewtopic.php?f=1&t=29558"$
|
||||
$TX,"The sins of Newton",HTML="https://www.brainpickings.org/2012/01/04/isaac-newton-list-of-sins"$
|
||||
$TX,"Stalin's Tanks",HTML="https://boardgamegeek.com/boardgame/5198/stalins-tanks"$
|
||||
$TX,"Wisdom for the Way",HTML="https://www.amazon.com/Wisdom-Way-Wise-Words-People/dp/1404113258#reader_1404113258"$
|
||||
$TX,"Lamp shades",HTML="http://www.lampsplus.com/products/lamp-shades"$
|
||||
$TX,"The Original Jewish Temple",HTML="http://www.jewishvirtuallibrary.org/jsource/Judaism/The_Temple.html"$
|
||||
$TX,"Top 1000 Movies",HTML="http://www.theyshootpictures.com/gf1000_all1000films.htm"$
|
||||
$TX,"KingJamesBible with LineNums",HTML="http://www.templeos.org/Wb/Home/Sup1/Sup1Blog/NumBible.TXT"$
|
||||
$TX,"Higgs 5-Sigma Proof",HTML="http://understandinguncertainty.org/explaining-5-sigma-higgs-how-well-did-they-do"$
|
||||
$TX,"The Number Bleem",HTML="http://www.strangehorizons.com/2000/20001120/secret_number.shtml"$
|
||||
$TX,"Dwight: Nerd torture",HTML="http://www.noob.us/humor/the-office-dwight-faces-nerd-torture-of-the-highest-form"$
|
||||
$TX,"TOSZ Compression",HTML="http://www.templeos.org/Wb/Linux/TOSZ.CPP"$
|
||||
$TX,"ATA/ATAPI spec",HTML="http://www.t13.org/Documents/UploadedDocuments/docs2007/D1532v1r4b-AT_Attachment_with_Packet_Interface_-_7_Volume_1.pdf"$
|
||||
$TX,"Patton Prayer",HTML="http://www.pattonhq.com/prayer.html"$
|
||||
$TX,"Streaming Terry A. Davis",HTML="https://www.youtube.com/channel/UCdX4uJUwSFwiY3XBvu-F_-Q/live"$
|
||||
$TX,"Bleem",HTML="http://strangehorizons.com/fiction/the-secret-number/"$
|
||||
|
||||
$TX,"WWW.OSDEV.ORG",HTML="http://www.osdev.org"$
|
||||
$TX,"NIST Beacon",HTML="http://www.nist.gov/itl/csd/ct/nist_beacon.cfm"$
|
||||
$TX,"The Perfect Coin Toss",HTML="http://hackaday.com/2014/12/19/nist-randomness-beacon"$
|
||||
$TX,"BBC",HTML="http://www.knpr.org"$
|
||||
$TX,"KNPR",HTML="http://www.knpr.org"$
|
||||
$TX,"BBC_News_24",HTML="http://www.wherever.tv/tv-channels/BBC-News-24.jsf"$
|
||||
$TX,"BBC_Five_Live",HTML="http://www.bbc.co.uk/radio/player/bbc_radio_five_live"$
|
||||
$TX,"CBS News",HTML="http://www.cbsnews.com/live/?ftag= NM14632fc"$
|
||||
|
||||
$TX,"C64 Users Guide",HTML="http://www.commodore.ca/manuals/c64_users_guide/c64-users_guide.htm"$
|
||||
$TX,"Mapping the Commodore 64",HTML="http://unusedino.de/ec64/technical/project64/mapping_c64.html"$
|
||||
$TX,"C64 Programmers Reference Guide",HTML="http://www.commodore.ca/manuals/c64_programmers_reference/c64-programmers_reference.htm"$
|
||||
|
||||
$TX,"8-Bit Pixel Art",HTML="http://8bitdecals.com/8-bit-image-gallery"$
|
||||
$TX,"8-Bit Japanese Pixel Art",HTML="http://designmadeinjapan.com/magazine/illustration-icon/tumblr-gifs-of-japanese-life"$
|
||||
|
||||
|
||||
sha256sum
|
||||
$TX,"Graphic Technologies",HTML="https://web.archive.org/web/20020811060541/http://www.graphic-technologies.com/"$
|
||||
|
||||
@@ -8,7 +8,7 @@ $ID,2$#help_index "Registry/Install Registration"
|
||||
MemSet(&ins_reg,0,sizeof(CInsReg));
|
||||
ins_reg.registered=1;
|
||||
ins_reg.host_os=2;
|
||||
ins_reg.host_vm=2;
|
||||
ins_reg.host_vm=3;
|
||||
|
||||
#define INS_REG_PERSONAL_INITIALS "TAD"
|
||||
StrCpy(ins_reg.initials,"TAD");
|
||||
@@ -28,8 +28,6 @@ $ID,-2$$TR,"DiningStars"$
|
||||
$ID,2$F64 best_score=9999.0000;
|
||||
$ID,-2$$TR,"CircleTrace"$
|
||||
$ID,2$F64 best_score=4.9425;
|
||||
$ID,-2$$TR,"TOSNIST"$
|
||||
$ID,2$I64 tos_nist_offset=-8049;
|
||||
$ID,-2$$TR,"BlackDiamond"$
|
||||
$ID,2$I64 best_score=2;
|
||||
$ID,-2$$TR,"DunGen"$
|
||||
@@ -50,7 +48,7 @@ $ID,-2$$TR,"Wenceslas"$
|
||||
$ID,2$F64 best_score=43.9944;
|
||||
$ID,-2$$TR,"OSTestSuite"$
|
||||
$ID,2$progress1_tf=0.000;progress2_tf=0.000;
|
||||
progress3_tf=0.000;progress4_tf=227.554;
|
||||
progress3_tf=0.000;progress4_tf=223.150;
|
||||
$ID,-2$$TR,"XCaliber"$
|
||||
$ID,2$I64 best_score=90;
|
||||
I64 msg_flags=2;
|
||||
@@ -62,15 +60,13 @@ $ID,-2$$TR,"Titanium"$
|
||||
$ID,2$I64 best_score=16469;
|
||||
$ID,-2$$TR,"TOSRegen"$
|
||||
$ID,2$progress1_tf=0.000;progress2_tf=0.000;
|
||||
progress3_tf=0.000;progress4_tf=188.144;
|
||||
$ID,-2$$TR,"TempleTetris"$
|
||||
$ID,2$I64 hiscore=1000;
|
||||
progress3_tf=0.000;progress4_tf=279.384;
|
||||
$ID,-2$$ID,-2$$TR,"Once"$
|
||||
$ID,2$$TR,"Adam"$
|
||||
$ID,2$$ID,-2$$TR,"User"$
|
||||
$ID,2$$ID,-2$$ID,-2$$TR,"DemoCompany"$
|
||||
$ID,2$$TR,"Game1"$
|
||||
$ID,2$F64 best_score=202.07117;
|
||||
$ID,2$F64 best_score=187.05180;
|
||||
$TR,"SimpleVal"$
|
||||
$ID,2$1239;
|
||||
$ID,2$1245;
|
||||
$ID,-2$$ID,-2$$ID,-2$
|
||||
@@ -3,11 +3,6 @@ Cd(__DIR__);;
|
||||
#include "TOSExt"
|
||||
#include "TOSCfg"
|
||||
#include "TOSMisc"
|
||||
#include "TOSToHtml"
|
||||
#include "TOSDistro"
|
||||
#include "TOSBlog"
|
||||
#include "TOSNIST"
|
||||
#include "TOSHolySpirit"
|
||||
#include "TOSIns"
|
||||
|
||||
Cd("..");;
|
||||
|
||||
@@ -1,14 +1,7 @@
|
||||
#help_index "Misc/TOS/Cfg"
|
||||
|
||||
#define PERSONAL_WEB "http:/" "/www.templeos.org/Wb"
|
||||
#define BLOG_BASE "/Home/Web/"\
|
||||
INS_REG_PERSONAL_INITIALS "/BlogDir"
|
||||
#define DAILY_BASE "/Home/Web/"\
|
||||
INS_REG_PERSONAL_INITIALS "/DailyBlog"
|
||||
#define BLOG_LOCAL_BASE "::" BLOG_BASE
|
||||
#define BLOG_WEB_BASE PERSONAL_WEB BLOG_BASE
|
||||
|
||||
#define SLOP BLK_SIZE
|
||||
|
||||
U0 TOSDbgDistro1()
|
||||
{
|
||||
CBinFile *bfh=mem_boot_base-sizeof(CBinFile);
|
||||
@@ -51,8 +44,7 @@ U0 TOSInit()
|
||||
}
|
||||
} TOSInit;
|
||||
|
||||
#define TOS_ISO_NAME "B:/TempleOSCD.ISO"
|
||||
#define TOS_ISO_C_NAME "B:/TempleOSCD.ISO.C"
|
||||
#define TOS_ISO_NAME "B:/TOS_Distro.ISO.C"
|
||||
#define TOS_DISTRO_DIR "B:/Distro"
|
||||
#define CFG_OPTS "StaffMode\nMountIDEAuto\nCT\n"
|
||||
#define CFG_DBG_OPTS "StaffMode\nMountIDEAuto\nCT"\
|
||||
|
||||
@@ -2,17 +2,8 @@
|
||||
|
||||
#help_index "Misc/TOS/Distro"
|
||||
|
||||
#define MAKE_STD 1
|
||||
#define MAKE_STD_RS 0
|
||||
#define MAKE_ULTRA 1
|
||||
#define MAKE_ULTRA_RS 0
|
||||
#define MAKE_SUP1 1
|
||||
#define MAKE_WEB 1
|
||||
#define MAKE_BOOKS1 0
|
||||
#define MAKE_BOOKS2 0
|
||||
#define MAKE_DBG 0
|
||||
#define MAKE_STAFF 1
|
||||
#define PROFANITY_CHK 0
|
||||
|
||||
public U8 TOSGetDrv()
|
||||
{//Pmt for drv let.
|
||||
@@ -59,25 +50,6 @@ public U0 TOSPmtAndCopyDrv()
|
||||
TOSCopyDrv(src,dst);
|
||||
}
|
||||
|
||||
U0 DistroSongsPrep(U8 threshold='7')
|
||||
{
|
||||
CDoc *doc;
|
||||
CDocEntry *doc_e;
|
||||
CDirEntry *tmpde=FilesFind("/Home/Sup1/Sup1Hymns/*.HC*",
|
||||
FUF_CLUS_ORDER),*tmpde1=tmpde;
|
||||
DelTree("/Apps/Psalmody/Examples");
|
||||
DirMk("/Apps/Psalmody/Examples");
|
||||
while (tmpde) {
|
||||
doc=DocRead(tmpde->full_name);
|
||||
doc_e=doc->head.next;
|
||||
if (doc_e->type_u8==DOCT_TEXT && doc_e->tag[2]>=threshold)
|
||||
Copy(tmpde->full_name,"/Apps/Psalmody/Examples");
|
||||
DocDel(doc);
|
||||
tmpde=tmpde->next;
|
||||
}
|
||||
DirTreeDel(tmpde1);
|
||||
}
|
||||
|
||||
U0 DistroPrep()
|
||||
{
|
||||
AOnceFlush; //Don't want in Registry
|
||||
@@ -85,8 +57,6 @@ U0 DistroPrep()
|
||||
|
||||
Del("/Home/Demo*");
|
||||
DelTree("/Home/*Tmp.DD.Z");
|
||||
if (FileFind("/Home/Sup1/Sup1Hymns"))
|
||||
DistroSongsPrep;
|
||||
|
||||
DelTree("/Tmp");
|
||||
DirMk("/Tmp");
|
||||
@@ -97,22 +67,12 @@ U0 DistroPrep()
|
||||
|
||||
DelTree("/Demo/AcctExample");
|
||||
CopyTree("/Home","/Demo/AcctExample");
|
||||
DelTree("/Demo/AcctExample/Private");
|
||||
DelTree("/Demo/AcctExample/TAD");
|
||||
DelTree("/Demo/AcctExample/Sup1");
|
||||
DelTree("/Demo/AcctExample/Books1");
|
||||
DelTree("/Demo/AcctExample/Books2");
|
||||
DelTree("/Demo/AcctExample/Web");
|
||||
Del("/Demo/AcctExample/Test*");
|
||||
Copy("/Home/Web/index.DD.Z",
|
||||
"/Demo/ToHtmlToTXTDemo/DemoInPage.DD.Z");
|
||||
if (FileFind("~/Sup1/Sup1Utils/SortHeaders.HC.Z"))
|
||||
ExeFile("~/Sup1/Sup1Utils/SortHeaders.HC.Z");
|
||||
|
||||
if (FileFind("~/Sup1/Sup1Blog/YouTube.DD.Z"))
|
||||
Sort("~/Sup1/Sup1Blog/YouTube.DD.Z",,2);
|
||||
|
||||
//Once in a while, do ~/Sup1/Sup1Utils/DblSpaceScan.HC.
|
||||
|
||||
CursorRem("/*");
|
||||
DelTree("/Demo/*.BI*");
|
||||
S2T("/*","+r+S");
|
||||
@@ -155,81 +115,6 @@ U0 DbgDistroFilePrep()
|
||||
bd->RAM_dsk,(bd->max_blk+1)<<BLK_SIZE_BITS);
|
||||
}
|
||||
|
||||
U0 MakeSymFiles()
|
||||
{
|
||||
CDoc *doc;
|
||||
U8 *st;
|
||||
|
||||
DocClear;
|
||||
DocMax;
|
||||
HashTablePurge(adam_task->hash_table);
|
||||
Who;
|
||||
if (doc=DocPut) {
|
||||
st=StrNew(doc->filename.name);
|
||||
StrCpy(doc->filename.name,"D:/Wb/Home/Web/SymsAlpha.DD.Z");
|
||||
DocWrite(doc);
|
||||
StrCpy(doc->filename.name,st);
|
||||
Free(st);
|
||||
}
|
||||
DocClear;
|
||||
DocMax;
|
||||
Who("+m");
|
||||
if (doc=DocPut) {
|
||||
st=StrNew(doc->filename.name);
|
||||
StrCpy(doc->filename.name,"D:/Wb/Home/Web/SymsAddress.DD.Z");
|
||||
DocWrite(doc);
|
||||
StrCpy(doc->filename.name,st);
|
||||
Free(st);
|
||||
}
|
||||
DocClear;
|
||||
}
|
||||
|
||||
I64 MakeLineRepFile()
|
||||
{
|
||||
U8 *st;
|
||||
CDoc *doc;
|
||||
I64 res,official;
|
||||
|
||||
DocClear;
|
||||
Drv('C');
|
||||
DistroPrep;
|
||||
|
||||
Cd("C:/");
|
||||
DelTree("B:/TOS/TOS");
|
||||
CopyTree("C:/Home","B:/TOS/TOS");
|
||||
DelTree("C:/Home");
|
||||
|
||||
DocMax;
|
||||
DocClear;
|
||||
res=LineRep;
|
||||
if (doc=DocPut) {
|
||||
st=StrNew(doc->filename.name);
|
||||
StrCpy(doc->filename.name,"B:/TOS/TOS/Web/LineRep.DD.Z");
|
||||
DocWrite(doc);
|
||||
StrCpy(doc->filename.name,st);
|
||||
Free(st);
|
||||
}
|
||||
DocClear;
|
||||
official=LineRep("C:/*","-r")+
|
||||
LineRep("C:/Adam/*")+
|
||||
LineRep("C:/Compiler/*","-S+$$")+
|
||||
LineRep("C:/Kernel/*");
|
||||
DocClear;
|
||||
CopyTree("B:/TOS/TOS","C:/Home");
|
||||
DelTree("B:/TOS/TOS");
|
||||
|
||||
DocTreeFWrite("C:/Adam/ADefine.HC.Z","LineRep",
|
||||
"DefinePrint(\"DD_TEMPLEOS_LOC\",\"%,d\");\n",res);
|
||||
DocTreeFAppend("C:/Adam/ADefine.HC.Z","LineRep",
|
||||
"DefinePrint(\"DD_TEMPLEOS_LOC_OFFICIAL\",\"%,d\");\n",official);
|
||||
|
||||
DefinePrint("DD_TEMPLEOS_LOC","%,d",res);
|
||||
DefinePrint("DD_TEMPLEOS_LOC_OFFICIAL","%,d",official);
|
||||
|
||||
"Total LOC:%12,d\n\n",res;
|
||||
return res;
|
||||
}
|
||||
|
||||
U0 StaffDistroPrep()
|
||||
{
|
||||
Drv('C');
|
||||
@@ -240,15 +125,12 @@ U0 StaffDistroPrep()
|
||||
DelTree(TOS_DISTRO_DIR);
|
||||
CopyTree("C:/",TOS_DISTRO_DIR "/");
|
||||
DelTree(TOS_DISTRO_DIR "/Home/Sup1");
|
||||
DelTree(TOS_DISTRO_DIR "/Home/Books1");
|
||||
DelTree(TOS_DISTRO_DIR "/Home/Books2");
|
||||
Del(TOS_DISTRO_DIR "/" KERNEL_BIN_C);
|
||||
}
|
||||
U0 MakeStaffDistro()
|
||||
{
|
||||
StaffDistroPrep;
|
||||
ISO9660ISO(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
|
||||
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
RedSeaISO(TOS_ISO_NAME,TOS_DISTRO_DIR,TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
DefinePrint("DD_TEMPLEOS_STAFF_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - T.S. Company Internal Distro (%0.1fMB)",
|
||||
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
|
||||
@@ -274,8 +156,7 @@ U0 DbgDistroPrep()
|
||||
U0 MakeDbgDistro()
|
||||
{
|
||||
DbgDistroPrep;
|
||||
ISO9660ISO(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
|
||||
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
RedSeaISO(TOS_ISO_NAME,TOS_DISTRO_DIR,TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
DefinePrint("DD_TEMPLEOS_DBG_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Debug Distro (%0.1fMB)",
|
||||
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
|
||||
@@ -300,96 +181,49 @@ U0 StdDistroPrep()
|
||||
U0 MakeStdDistro()
|
||||
{
|
||||
StdDistroPrep;
|
||||
ISO9660ISO(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
|
||||
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
RedSeaISO(TOS_ISO_NAME,TOS_DISTRO_DIR,TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
DefinePrint("DD_TEMPLEOSCD_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1fMB)",
|
||||
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
|
||||
Drv('C');
|
||||
}
|
||||
U0 MakeStdRedSeaDistro()
|
||||
{
|
||||
StdDistroPrep;
|
||||
RedSeaISO(TOS_ISO_C_NAME,TOS_DISTRO_DIR,TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
DefinePrint("DD_TEMPLEOSCD_RS_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard RedSea Distro (%0.1fMB)",
|
||||
0.1*(10*Size(TOS_ISO_C_NAME,"+s")/1024/1024));
|
||||
Drv('C');
|
||||
}
|
||||
|
||||
U0 UltraDistroPrep()
|
||||
I64 UpdateLineCnts()
|
||||
{
|
||||
StdDistroPrep;
|
||||
DelTree(TOS_DISTRO_DIR "/Linux");
|
||||
Del(TOS_DISTRO_DIR "/" KERNEL_BIN_C);
|
||||
Del(TOS_DISTRO_DIR "/Adam/AutoComplete/ACDefs.DATA*");
|
||||
Del(TOS_DISTRO_DIR "/Misc/PCIDevices.DD.Z");
|
||||
Del(TOS_DISTRO_DIR "/Misc/Bible.TXT.Z");
|
||||
I64 res;
|
||||
|
||||
DelTree(TOS_DISTRO_DIR "/Apps");
|
||||
DirMk(TOS_DISTRO_DIR "/Apps");
|
||||
DelTree(TOS_DISTRO_DIR "/Demo");
|
||||
DelTree(TOS_DISTRO_DIR "/Misc/Tour");
|
||||
Del(TOS_DISTRO_DIR "/" KERNEL_BIN_C);
|
||||
Del(TOS_DISTRO_DIR "/Adam/AutoComplete/ACWords.DATA*");
|
||||
Del(TOS_DISTRO_DIR "/Adam/God/Vocab.DD.Z");
|
||||
Del(TOS_DISTRO_DIR "/Misc/OSTestSuite.HC.Z");
|
||||
Copy("C:/Home/Sup1/Sup1Distro/UltraMenu.DD.Z",
|
||||
TOS_DISTRO_DIR "/PersonalMenu.DD.Z");
|
||||
Copy("C:/Demo/Games/Talons.HC.Z",
|
||||
TOS_DISTRO_DIR "/Misc");
|
||||
}
|
||||
U0 MakeUltraDistro()
|
||||
{
|
||||
UltraDistroPrep;
|
||||
ISO9660ISO(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
|
||||
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
DefinePrint("DD_TEMPLEOS_ULTRA_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - UltraSmall Distro (%0.2fMB)",
|
||||
0.01*(100*Size(TOS_ISO_NAME,"+s")/1024/1024));
|
||||
Drv('C');
|
||||
}
|
||||
U0 MakeUltraRedSeaDistro()
|
||||
{
|
||||
UltraDistroPrep;
|
||||
RedSeaISO(TOS_ISO_C_NAME,TOS_DISTRO_DIR,TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
|
||||
DefinePrint("DD_TEMPLEOS_ULTRA_RS_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - UltraSmall RedSea Distro (%0.2fMB)",
|
||||
0.01*(100*Size(TOS_ISO_C_NAME,"+s")/1024/1024));
|
||||
DocClear;
|
||||
Drv('C');
|
||||
DistroPrep;
|
||||
|
||||
Cd("C:/");
|
||||
DelTree("B:/TOS/TOS");
|
||||
CopyTree("C:/Home","B:/TOS/TOS");
|
||||
DelTree("C:/Home");
|
||||
|
||||
DocMax;
|
||||
DocClear;
|
||||
res=LineRep("C:/*","-r")+LineRep("C:/Adam/*")+
|
||||
LineRep("C:/Compiler/*","-S+$$")+LineRep("C:/Kernel/*");
|
||||
CopyTree("B:/TOS/TOS","C:/Home");
|
||||
DelTree("B:/TOS/TOS");
|
||||
|
||||
DocTreeFWrite("C:/Adam/ADefine.HC.Z","LineRep",
|
||||
"DefinePrint(\"DD_TEMPLEOS_LOC\",\"%,d\");\n",res);
|
||||
DefinePrint("DD_TEMPLEOS_LOC","%,d",res);
|
||||
|
||||
"Total LOC:%12,d\n\n",res;
|
||||
return res;
|
||||
}
|
||||
|
||||
U0 UpdateISODocDefines()
|
||||
{
|
||||
try {
|
||||
#if MAKE_STD
|
||||
DefinePrint("DD_TEMPLEOSCD_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1fMB)",
|
||||
0.1*(10*Size("D:/Wb/TempleOSCD.ISO","+s")/1024/1024));
|
||||
0.1*(10*Size("D:/TOS_Distro.ISO","+s")/1024/1024));
|
||||
DefinePrint("DD_TEMPLEOSCD_K_SIZE",
|
||||
"%dKB",Size("D:/Wb/TempleOSCD.ISO","+s")/1024);
|
||||
#endif
|
||||
#if MAKE_STD_RS
|
||||
DefinePrint("DD_TEMPLEOSCD_RS_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard RedSea Distro (%0.1fMB)",
|
||||
0.1*(10*Size("D:/Wb/TempleOSCDRS.ISO","+s")/1024/1024));
|
||||
DefinePrint("DD_TEMPLEOSCD_RS_K_SIZE",
|
||||
"%dKB",Size("D:/Wb/TempleOSCDRS.ISO","+s")/1024);
|
||||
#endif
|
||||
#if MAKE_ULTRA
|
||||
DefinePrint("DD_TEMPLEOS_ULTRA_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - UltraSmall Distro (%0.2fMB)",
|
||||
0.01*(100*Size("D:/Wb/TempleOSUltra.ISO","+s")/1024/1024));
|
||||
DefinePrint("DD_TEMPLEOS_ULTRA_K_SIZE",
|
||||
"%dKB",Size("D:/Wb/TempleOSUltra.ISO","+s")/1024);
|
||||
#endif
|
||||
#if MAKE_ULTRA_RS
|
||||
DefinePrint("DD_TEMPLEOS_ULTRA_RS_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - UltraSmall RedSea Distro (%0.2fMB)",
|
||||
0.01*(100*Size("D:/Wb/TempleOSUltraRS.ISO","+s")/1024/1024));
|
||||
DefinePrint("DD_TEMPLEOS_ULTRA_RS_K_SIZE",
|
||||
"%dKB",Size("D:/Wb/TempleOSUltraRS.ISO","+s")/1024);
|
||||
#endif
|
||||
"%dKB",Size("D:/TOS_Distro.ISO","+s")/1024);
|
||||
} catch
|
||||
Fs->catch_except=TRUE;
|
||||
}
|
||||
@@ -405,8 +239,7 @@ U0 TOSProgress(U8 *st)
|
||||
progress4=tos_progress;
|
||||
progress3_max=1;
|
||||
*progress4_desc=0;
|
||||
progress4_max=13+MAKE_STD+MAKE_STD_RS+MAKE_ULTRA+MAKE_ULTRA_RS+MAKE_SUP1+
|
||||
MAKE_WEB+MAKE_BOOKS1+MAKE_BOOKS2+MAKE_DBG+MAKE_STAFF+PROFANITY_CHK;
|
||||
progress4_max=8+MAKE_DBG+MAKE_STAFF;
|
||||
progress4_t0=tos_progress_t0;
|
||||
StrPrint(buf,"%d. %s",++progress4,st);
|
||||
"$$PURPLE$$$$TX+CX,\"%s\"$$$$FG$$\n",buf;
|
||||
@@ -414,31 +247,7 @@ U0 TOSProgress(U8 *st)
|
||||
tos_progress=progress4;
|
||||
}
|
||||
|
||||
I64 TOSProfanity()
|
||||
{
|
||||
I64 res;
|
||||
if (res=Profanity(,"D:/Wb/*;"
|
||||
"!*/Misc/PCIDevices.DD*;!*/Misc/Bible.TXT*;"
|
||||
"!*/Books?/*;!*/Sup1/Sup1Words/*;!*/Sup1/Sup1Blog/Profanity.DD*;"
|
||||
"!*/Sup1/Sup1Blog/NumBible.TXT*;!*/God/Vocab.DD*")) {
|
||||
while (PressAKey!=CH_SHIFT_ESC) {
|
||||
ProgressBarsRst;
|
||||
if (Profanity(,"C:/Home/*;"
|
||||
"!*/Misc/PCIDevices.DD*;!*/Misc/Bible.TXT*;"
|
||||
"!*/Books?/*;!*/Sup1/Sup1Words/*;!*/Sup1/Sup1Blog/Profanity.DD*;"
|
||||
"!*/Sup1/Sup1Blog/NumBible.TXT*;!*/God/Vocab.DD*")) {
|
||||
"\n\nEdit profanity and press $FG,2$ESC$FG$.\n";
|
||||
if (!View)
|
||||
break;
|
||||
DocBottom;
|
||||
} else
|
||||
break;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
U0 TOSRegen3()
|
||||
U0 TOSRegen2()
|
||||
{
|
||||
I64 slash_home=0;
|
||||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
||||
@@ -452,71 +261,31 @@ U0 TOSRegen3()
|
||||
WinMax;
|
||||
DskChkAll;
|
||||
|
||||
TOSProgress("Make LineRep");
|
||||
MakeLineRepFile;
|
||||
TOSProgress("Update Line Cnts");
|
||||
UpdateLineCnts;
|
||||
|
||||
TOSProgress("Copy C to D");
|
||||
TOSCopyDrv('C','D');
|
||||
|
||||
TOSProgress("Del D:/Wb");
|
||||
DelTree ("D:/Wb");
|
||||
|
||||
TOSProgress("Copy C to D:/Wb");
|
||||
CopyTree("C:/","D:/Wb");
|
||||
DocClear;
|
||||
|
||||
#if MAKE_STD
|
||||
TOSProgress("Make Standard Distro ISO");
|
||||
MakeStdDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_NAME,"D:/Wb/TempleOSCD.ISO");
|
||||
#endif
|
||||
#if MAKE_STD_RS
|
||||
TOSProgress("Make Standard RedSea Distro ISO");
|
||||
MakeStdRedSeaDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_C_NAME,"D:/Wb/TempleOSCDRS.ISO");
|
||||
#endif
|
||||
#if MAKE_ULTRA
|
||||
TOSProgress("Make Ultra Distro ISO");
|
||||
MakeUltraDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_NAME,"D:/Wb/TempleOSUltra.ISO");
|
||||
#endif
|
||||
#if MAKE_ULTRA_RS
|
||||
TOSProgress("Make Ultra RedSea Distro ISO");
|
||||
MakeUltraRedSeaDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_C_NAME,"D:/Wb/TempleOSUltraRS.ISO");
|
||||
#endif
|
||||
Move(TOS_ISO_NAME,"D:/TOS_Distro.ISO");
|
||||
|
||||
TOSProgress("Make Supplemental1 ISO");
|
||||
RedSeaISO("D:/TOS_Supplemental1","C:/Home/Sup1");
|
||||
|
||||
#if MAKE_DBG
|
||||
TOSProgress("Make Dbg Distro ISO");
|
||||
MakeDbgDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_NAME,"D:/Wb/TempleOSDbg.ISO");
|
||||
Move(TOS_ISO_NAME,"D:/TOS_Dbg.ISO");
|
||||
#endif
|
||||
#if MAKE_STAFF
|
||||
TOSProgress("Make Staff Distro ISO");
|
||||
MakeStaffDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_NAME,"D:/Wb/TempleOSStaff.ISO");
|
||||
#endif
|
||||
|
||||
#if MAKE_SUP1
|
||||
TOSProgress("Make Supplemental #1 ISO");
|
||||
RedSeaISO("D:/Wb/TempleOSSup1","C:/Home/Sup1");
|
||||
#endif
|
||||
#if MAKE_WEB
|
||||
TOSProgress("Make www.templeos.org ISO");
|
||||
RedSeaISO("D:/Wb/TempleOSWeb","C:/Home/Web");
|
||||
#endif
|
||||
#if MAKE_BOOKS1
|
||||
TOSProgress("Make Books #1 ISO");
|
||||
RedSeaISO("D:/Wb/TempleOSBooks1","C:/Home/Books1");
|
||||
#endif
|
||||
#if MAKE_BOOKS2
|
||||
TOSProgress("Make Books #2 ISO");
|
||||
RedSeaISO("D:/Wb/TempleOSBooks2","C:/Home/Books2");
|
||||
Move(TOS_ISO_NAME,"D:/TOS_Staff.ISO");
|
||||
#endif
|
||||
|
||||
UpdateISODocDefines;
|
||||
@@ -532,21 +301,6 @@ U0 TOSRegen3()
|
||||
if (LinkChk)
|
||||
throw;
|
||||
|
||||
DocClear;
|
||||
TOSProgress("Make Symbol Files");
|
||||
MakeSymFiles;
|
||||
|
||||
DocClear;
|
||||
TOSProgress("Freshen WebSite");
|
||||
FreshenSite;
|
||||
|
||||
#if PROFANITY_CHK
|
||||
DocClear;
|
||||
TOSProgress("Check WebSite for Profanity");
|
||||
if (TOSProfanity)
|
||||
throw;
|
||||
#endif
|
||||
|
||||
TOSProgress("Find /Home");
|
||||
slash_home=F2("/Home","-i+la");
|
||||
|
||||
@@ -563,53 +317,18 @@ U0 TOSRegen3()
|
||||
|
||||
public U0 TOSPreRegen()
|
||||
{//Copy bookmarks and bins from D:/Home/Sup1 to C:/Home/Sup1
|
||||
Copy("D:/Home/Private/*","C:/Home/Private");
|
||||
Copy("D:/Home/Sup1/Sup1Blog/Bookmarks.html","C:/Home/Sup1/Sup1Blog");
|
||||
Del("C:/Home/Sup1/Sup1Bin/*");
|
||||
Copy("D:/Home/Sup1/Sup1Bin/*","C:/Home/Sup1/Sup1Bin");
|
||||
Copy("D:/Home/" INS_REG_PERSONAL_INITIALS "/*",
|
||||
"C:/Home/" INS_REG_PERSONAL_INITIALS);
|
||||
DelTree("C:/Home/Sup1/Sup1Bin");
|
||||
CopyTree("D:/Home/Sup1/Sup1Bin","C:/Home/Sup1/Sup1Bin");
|
||||
Copy("D:/Home/Sup1/Sup1CodeScraps/Comm/TOSSocket*",
|
||||
"C:/Home/Sup1/Sup1CodeScraps/Comm");
|
||||
Copy("D:/Home/Sup1/Sup1Bin/God*","C:/Linux");
|
||||
}
|
||||
|
||||
public U0 TOSHomeIn()
|
||||
{//Copy D:/Home to C:/Home
|
||||
DelTree("C:/Home");
|
||||
CopyTree("D:/Home","C:/Home");
|
||||
}
|
||||
|
||||
public U0 TOSHomeOut()
|
||||
{//Copy C:/Home to D:/Home
|
||||
DelTree("D:/Home");
|
||||
CopyTree("C:/Home","D:/Home");
|
||||
}
|
||||
|
||||
public U0 TOSSongsIn()
|
||||
{//Copy songs from D:/Home/Sup1 to C:/Home/Sup1
|
||||
Del("C:/Home/Sup1/Sup1Hymns/*");
|
||||
Del("C:/Home/Sup1/Sup1Songs/*");
|
||||
Copy("D:/Home/Sup1/Sup1Hymns/*","C:/Home/Sup1/Sup1Hymns");
|
||||
Copy("D:/Home/Sup1/Sup1Songs/*","C:/Home/Sup1/Sup1Songs");
|
||||
}
|
||||
|
||||
public U0 TOSSongsOut()
|
||||
{//Copy songs from C:/Home/Sup1 to D:/Home/Sup1
|
||||
Del("D:/Home/Sup1/Sup1Hymns/*");
|
||||
Del("D:/Home/Sup1/Sup1Songs/*");
|
||||
Copy("C:/Home/Sup1/Sup1Hymns/*","D:/Home/Sup1/Sup1Hymns");
|
||||
Copy("C:/Home/Sup1/Sup1Songs/*","D:/Home/Sup1/Sup1Songs");
|
||||
}
|
||||
|
||||
U0 TOSRegen2()
|
||||
{
|
||||
TOSChgLog; //$LK,"::/Doc/ChgLog.DD"$ datetime matches Kernel $LK,"sys_compile_time",A="MN:sys_compile_time"$.
|
||||
TOSBootHDIns('C');
|
||||
Once("TOSRegen3;");
|
||||
BootRAM("C:/Kernel/" KERNEL_BIN_C); //Boot new Kernel and Compiler.
|
||||
DelTree("C:/Linux");
|
||||
CopyTree("D:/Linux","C:/Linux");
|
||||
}
|
||||
|
||||
public U0 TOSRegen()
|
||||
{//Generate distro ISO's and website image, D:/Wb.
|
||||
{//Generate distro ISO's
|
||||
TOSBootHDIns('C');
|
||||
Once("TOSRegen2;");
|
||||
BootRAM("C:/Kernel/" KERNEL_BIN_C); //Boot to load $LK,"TOS_CFG",A="PF:::/Demo/AcctExample/TOS/TOSCfg.HC,TOS_CFG"$.
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
class CRandExtDec5Form
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P,A=\"5 Decimal Digits from Hex:%s\"$$\n";
|
||||
U8 rnd0[512] format "$$DA-P,A=\"5 Decimal Digits from Hex:%s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
U8 rnd3[512];
|
||||
@@ -39,43 +39,43 @@ class CRandExtDec5Form
|
||||
class CHexWordForm
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P,A=\"Hex Word Indices#0:%s\"$$\n";
|
||||
U8 rnd1[512] fmtstr "$$DA-P,A=\"Hex Word Indices#1:%s\"$$\n";
|
||||
U8 rnd2[512] fmtstr "$$DA-P,A=\"Hex Word Indices#2:%s\"$$\n";
|
||||
U8 rnd3[512] fmtstr "$$DA-P,A=\"Hex Word Indices#3:%s\"$$\n";
|
||||
U8 rnd4[512] fmtstr "$$DA-P,A=\"Hex Word Indices#4:%s\"$$\n";
|
||||
U8 rnd5[512] fmtstr "$$DA-P,A=\"Hex Word Indices#5:%s\"$$\n";
|
||||
U8 rnd6[512] fmtstr "$$DA-P,A=\"Hex Word Indices#6:%s\"$$\n";
|
||||
U8 rnd7[512] fmtstr "$$DA-P,A=\"Hex Word Indices#7:%s\"$$\n";
|
||||
U8 rnd8[512] fmtstr "$$DA-P,A=\"Hex Word Indices#8:%s\"$$\n";
|
||||
U8 rnd9[512] fmtstr "$$DA-P,A=\"Hex Word Indices#9:%s\"$$\n";
|
||||
U8 rndA[512] fmtstr "$$DA-P,A=\"Hex Word Indices#A:%s\"$$\n";
|
||||
U8 rndB[512] fmtstr "$$DA-P,A=\"Hex Word Indices#B:%s\"$$\n";
|
||||
U8 rnd0[512] format "$$DA-P,A=\"Hex Word Indices#0:%s\"$$\n";
|
||||
U8 rnd1[512] format "$$DA-P,A=\"Hex Word Indices#1:%s\"$$\n";
|
||||
U8 rnd2[512] format "$$DA-P,A=\"Hex Word Indices#2:%s\"$$\n";
|
||||
U8 rnd3[512] format "$$DA-P,A=\"Hex Word Indices#3:%s\"$$\n";
|
||||
U8 rnd4[512] format "$$DA-P,A=\"Hex Word Indices#4:%s\"$$\n";
|
||||
U8 rnd5[512] format "$$DA-P,A=\"Hex Word Indices#5:%s\"$$\n";
|
||||
U8 rnd6[512] format "$$DA-P,A=\"Hex Word Indices#6:%s\"$$\n";
|
||||
U8 rnd7[512] format "$$DA-P,A=\"Hex Word Indices#7:%s\"$$\n";
|
||||
U8 rnd8[512] format "$$DA-P,A=\"Hex Word Indices#8:%s\"$$\n";
|
||||
U8 rnd9[512] format "$$DA-P,A=\"Hex Word Indices#9:%s\"$$\n";
|
||||
U8 rndA[512] format "$$DA-P,A=\"Hex Word Indices#A:%s\"$$\n";
|
||||
U8 rndB[512] format "$$DA-P,A=\"Hex Word Indices#B:%s\"$$\n";
|
||||
I64 cert;
|
||||
};
|
||||
|
||||
class CNISTBeaconHexWordForm
|
||||
{
|
||||
I64 timestamp fmtstr "$$DA,A=\"TimeStamp:%d\"$$\n";
|
||||
U8 rnd0[512] fmtstr "$$DA-P,A=\"Hex Word Indices#0:%s\"$$\n";
|
||||
U8 rnd1[512] fmtstr "$$DA-P,A=\"Hex Word Indices#1:%s\"$$\n";
|
||||
U8 rnd2[512] fmtstr "$$DA-P,A=\"Hex Word Indices#2:%s\"$$\n";
|
||||
U8 rnd3[512] fmtstr "$$DA-P,A=\"Hex Word Indices#3:%s\"$$\n";
|
||||
U8 rnd4[512] fmtstr "$$DA-P,A=\"Hex Word Indices#4:%s\"$$\n";
|
||||
U8 rnd5[512] fmtstr "$$DA-P,A=\"Hex Word Indices#5:%s\"$$\n";
|
||||
U8 rnd6[512] fmtstr "$$DA-P,A=\"Hex Word Indices#6:%s\"$$\n";
|
||||
U8 rnd7[512] fmtstr "$$DA-P,A=\"Hex Word Indices#7:%s\"$$\n";
|
||||
U8 rnd8[512] fmtstr "$$DA-P,A=\"Hex Word Indices#8:%s\"$$\n";
|
||||
U8 rnd9[512] fmtstr "$$DA-P,A=\"Hex Word Indices#9:%s\"$$\n";
|
||||
U8 rndA[512] fmtstr "$$DA-P,A=\"Hex Word Indices#A:%s\"$$\n";
|
||||
U8 rndB[512] fmtstr "$$DA-P,A=\"Hex Word Indices#B:%s\"$$\n";
|
||||
I64 timestamp format "$$DA,A=\"TimeStamp:%d\"$$\n";
|
||||
U8 rnd0[512] format "$$DA-P,A=\"Hex Word Indices#0:%s\"$$\n";
|
||||
U8 rnd1[512] format "$$DA-P,A=\"Hex Word Indices#1:%s\"$$\n";
|
||||
U8 rnd2[512] format "$$DA-P,A=\"Hex Word Indices#2:%s\"$$\n";
|
||||
U8 rnd3[512] format "$$DA-P,A=\"Hex Word Indices#3:%s\"$$\n";
|
||||
U8 rnd4[512] format "$$DA-P,A=\"Hex Word Indices#4:%s\"$$\n";
|
||||
U8 rnd5[512] format "$$DA-P,A=\"Hex Word Indices#5:%s\"$$\n";
|
||||
U8 rnd6[512] format "$$DA-P,A=\"Hex Word Indices#6:%s\"$$\n";
|
||||
U8 rnd7[512] format "$$DA-P,A=\"Hex Word Indices#7:%s\"$$\n";
|
||||
U8 rnd8[512] format "$$DA-P,A=\"Hex Word Indices#8:%s\"$$\n";
|
||||
U8 rnd9[512] format "$$DA-P,A=\"Hex Word Indices#9:%s\"$$\n";
|
||||
U8 rndA[512] format "$$DA-P,A=\"Hex Word Indices#A:%s\"$$\n";
|
||||
U8 rndB[512] format "$$DA-P,A=\"Hex Word Indices#B:%s\"$$\n";
|
||||
I64 cert;
|
||||
};
|
||||
|
||||
class CRandHex5Form
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P-TRM,LEN=5,"
|
||||
U8 rnd0[512] format "$$DA-P-TRM,LEN=5,"
|
||||
"A=\"Line (5-Digit Hex):%5s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
@@ -94,7 +94,7 @@ class CRandHex5Form
|
||||
class CRandHex8Form
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P-TRM,LEN=8,"
|
||||
U8 rnd0[512] format "$$DA-P-TRM,LEN=8,"
|
||||
"A=\"Line (8-Digit Hex):%8s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
@@ -113,7 +113,7 @@ class CRandHex8Form
|
||||
class CMoviesForm
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P,"
|
||||
U8 rnd0[512] format "$$DA-P,"
|
||||
"A=\"Movie #1-100 (2 Decimal Digits from Hex):%s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
@@ -132,7 +132,7 @@ class CMoviesForm
|
||||
class CPaintings100Form
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P,"
|
||||
U8 rnd0[512] format "$$DA-P,"
|
||||
"A=\"Painting #00-99 (2 Decimal Digits from Hex):%s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
@@ -151,7 +151,7 @@ class CPaintings100Form
|
||||
class CPaintings1000Form
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P,"
|
||||
U8 rnd0[512] format "$$DA-P,"
|
||||
"A=\"Painting #000-999 (3 Decimal Digits from Hex):%s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
@@ -170,7 +170,7 @@ class CPaintings1000Form
|
||||
class CPoems100Form
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P,"
|
||||
U8 rnd0[512] format "$$DA-P,"
|
||||
"A=\"Poems #00-99 (2 Decimal Digits from Hex):%s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
@@ -189,7 +189,7 @@ class CPoems100Form
|
||||
class CMetallicaForm
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P,"
|
||||
U8 rnd0[512] format "$$DA-P,"
|
||||
"A=\"Song #1-99 (2 Decimal Digits from Hex):%s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
@@ -208,7 +208,7 @@ class CMetallicaForm
|
||||
class CCertRandDec5Form
|
||||
{
|
||||
I64 timestamp;
|
||||
U8 rnd0[512] fmtstr "$$DA-P,A=\"Line (Dec):%s\"$$\n";
|
||||
U8 rnd0[512] format "$$DA-P,A=\"Line (Dec):%s\"$$\n";
|
||||
U8 rnd1[512];
|
||||
U8 rnd2[512];
|
||||
U8 rnd3[512];
|
||||
@@ -220,57 +220,83 @@ class CCertRandDec5Form
|
||||
U8 rnd9[512];
|
||||
U8 rndA[512];
|
||||
U8 rndB[512];
|
||||
I64 cert fmtstr "$$DA,A=\"Certificate:%d\"$$\n";
|
||||
I64 cert format "$$DA,A=\"Certificate:%d\"$$\n";
|
||||
};
|
||||
|
||||
class CGodVideoForm
|
||||
{
|
||||
U8 title[STR_LEN] fmtstr "$$DA-P,A=\"Title:%s\"$$\n";
|
||||
U8 serial[STR_LEN] fmtstr "$$DA-P-TRM,LEN=11,A=\"SerialNum:%11s\"$$\n";
|
||||
I64 min fmtstr "$$DA,A=\"Minutes:%d\"$$\n";
|
||||
I64 sec fmtstr "$$DA,A=\"Seconds:%d\"$$\n";
|
||||
U8 title[STR_LEN] format "$$DA-P,A=\"Title:%s\"$$\n";
|
||||
U8 serial[STR_LEN] format "$$DA-P-TRM,LEN=11,A=\"SerialNum:%11s\"$$\n";
|
||||
I64 min format "$$DA,A=\"Minutes:%d\"$$\n";
|
||||
I64 sec format "$$DA,A=\"Seconds:%d\"$$\n";
|
||||
};
|
||||
|
||||
class CWebBibleForm
|
||||
{
|
||||
U8 tag[STR_LEN] fmtstr "$$DA-P,A=\"Tag Text:%s\"$$\n";
|
||||
U8 special[STR_LEN] fmtstr "$$DA-P,A=\"Bible Passage:%s\"$$\n";
|
||||
U8 tag[STR_LEN] format "$$DA-P,A=\"Tag Text:%s\"$$\n";
|
||||
U8 special[STR_LEN] format "$$DA-P,A=\"Bible Passage:%s\"$$\n";
|
||||
I64 min;
|
||||
I64 sec;
|
||||
};
|
||||
|
||||
class CYouTubeForm
|
||||
{
|
||||
U8 tag[STR_LEN] fmtstr "$$DA-P,A=\"Title:%s\"$$\n";
|
||||
U8 special[STR_LEN] fmtstr "$$DA-P-TRM,LEN=11,A=\"SerialNum:%11s\"$$\n";
|
||||
I64 min fmtstr "$$DA,A=\"Minutes:%d\"$$\n";
|
||||
I64 sec fmtstr "$$DA,A=\"Seconds:%d\"$$\n";
|
||||
U8 tag[STR_LEN] format "$$DA-P,A=\"Title:%s\"$$\n";
|
||||
U8 special[STR_LEN] format "$$DA-P-TRM,LEN=11,A=\"SerialNum:%11s\"$$\n";
|
||||
I64 min format "$$DA,A=\"Minutes:%d\"$$\n";
|
||||
I64 sec format "$$DA,A=\"Seconds:%d\"$$\n";
|
||||
};
|
||||
|
||||
class CImgurForm
|
||||
{
|
||||
U8 tag[STR_LEN];
|
||||
U8 special[STR_LEN] fmtstr "$$DA-P,A=\"SerialNum:%s\"$$\n";
|
||||
I64 min fmtstr "$$DA,A=\"Width :%d\"$$\n";
|
||||
I64 sec fmtstr "$$DA,A=\"Height :%d\"$$\n";
|
||||
U8 special[STR_LEN] format "$$DA-P,A=\"SerialNum:%s\"$$\n";
|
||||
I64 min format "$$DA,A=\"Width :%d\"$$\n";
|
||||
I64 sec format "$$DA,A=\"Height :%d\"$$\n";
|
||||
};
|
||||
|
||||
class CWikipediaForm
|
||||
{
|
||||
U8 tag[STR_LEN] fmtstr "$$DA-P,A=\"Tag Text:%s\"$$\n";
|
||||
U8 special[STR_LEN] fmtstr "$$DA-P,A=\"Index :%s\"$$\n";
|
||||
U8 tag[STR_LEN] format "$$DA-P,A=\"Tag Text:%s\"$$\n";
|
||||
U8 special[STR_LEN] format "$$DA-P,A=\"Index :%s\"$$\n";
|
||||
I64 min;
|
||||
I64 sec;
|
||||
};
|
||||
|
||||
class CWebBookMarkForm
|
||||
{
|
||||
U8 tag[STR_LEN] fmtstr "$$DA-P,A=\"Tag Text:%s\"$$\n";
|
||||
U8 tag[STR_LEN] format "$$DA-P,A=\"Tag Text:%s\"$$\n";
|
||||
U8 special[STR_LEN];
|
||||
I64 min;
|
||||
I64 sec;
|
||||
};
|
||||
|
||||
DefineLstLoad("ST_FAMLY_PHOTOS","Family1_58-78\0Family2_78-86\0"
|
||||
"Family3_86-99\0Family4_99\0");
|
||||
|
||||
class CFamilyPhotoForm
|
||||
{
|
||||
I64 volume format "$$LS,D=\"ST_FAMLY_PHOTOS\"$$\n";
|
||||
I64 part format "$$DA,A=\"Part :%d\"$$\n";
|
||||
U8 picture[STR_LEN] format "$$DA-P,A=\"Picture:%s\"$$\n";
|
||||
I64 width format "$$GREEN$$640x427 or 640x960$$FG$$\n"
|
||||
"$$DA,A=\"Width :%d\"$$\n";
|
||||
I64 height format "$$DA,A=\"Height :%d\"$$\n";
|
||||
};
|
||||
|
||||
class CBlogImgForm
|
||||
{
|
||||
U8 picture[STR_LEN] format "$$DA-P,A=\"Picture:%s\"$$\n";
|
||||
I64 width format "$$DA,A=\"Width :%d\"$$\n";
|
||||
I64 height format "$$DA,A=\"Height :%d\"$$\n";
|
||||
};
|
||||
|
||||
class CBlogVideoForm
|
||||
{
|
||||
U8 video[STR_LEN] format "$$DA-P,A=\"Video:%s\"$$\n";
|
||||
Bool big format "$$CB,\"Big\"$$\n";
|
||||
};
|
||||
|
||||
extern U0 FreshenBlog();
|
||||
extern U0 GodBooksPassageU32(U32 rand_u32,U8 *files_find_mask,
|
||||
U8 *file_mask="*",I64 len=512,I64 verbosity=GBP_MEDIUM);
|
||||
|
||||
+47
-132
@@ -1,64 +1,41 @@
|
||||
#help_index "Misc/TOS"
|
||||
|
||||
#define VIDEO_FRAME_RATE 29.97
|
||||
|
||||
#define FG_JUST_AUDIO 0
|
||||
#define FG_BOOT_DRV 1
|
||||
#define FG_RAM_DRV 2
|
||||
I64 fg_mode=FG_RAM_DRV;
|
||||
Bool fg_on =FALSE;
|
||||
|
||||
U0 FrameGrabberTask(I64)
|
||||
{//#!/bin/bash
|
||||
//for f in ./ScrnShots/*.Z; do ./Bin/TOSZ $$f; done
|
||||
//ffmpeg -r 8 -i VID%05d.BMP -y Movie.avi
|
||||
I64 frame_num=0;
|
||||
U8 buf[STR_LEN],buf2[STR_LEN],*st_dir;
|
||||
F64 end_time=tS;
|
||||
Silent; //no output to scrn
|
||||
if (fg_mode==FG_RAM_DRV)
|
||||
st_dir="B:/Tmp/ScrnShots";
|
||||
else
|
||||
st_dir="::/Tmp/ScrnShots";
|
||||
DirMk(st_dir);
|
||||
while (fg_on) {
|
||||
StrPrint(buf,"%s/VID%05d.BMP.Z",st_dir,frame_num++);
|
||||
StrCpy(buf2,buf);
|
||||
BMPScrnCapture(buf);
|
||||
while (TRUE) {
|
||||
end_time+=1.0/VIDEO_FRAME_RATE;
|
||||
if (end_time<tS) {
|
||||
StrPrint(buf,"%s/VID%05d.BMP.Z",st_dir,frame_num++);
|
||||
Copy(buf2,buf);
|
||||
} else
|
||||
break;
|
||||
}
|
||||
SleepUntil(cnts.jiffies+(end_time-tS)*JIFFY_FREQ);
|
||||
}
|
||||
}
|
||||
|
||||
I64 CopyVideo()
|
||||
I64 CopyVideo(Bool reverb)
|
||||
{
|
||||
I64 res=0;
|
||||
Del("D:/Tmp/*.SND");
|
||||
if (fg_mode==FG_JUST_AUDIO)
|
||||
SndFileCreate("D:/Tmp/Audio",0.115,0.0,WF_SQUARE,0.45,0.35,2.5);
|
||||
else {
|
||||
SndFileCreate("D:/Tmp/Audio",0.115,0.0,WF_SQUARE,0.45,0.35);
|
||||
DelTree("D:/Tmp/ScrnShots");
|
||||
if (fg_mode==FG_RAM_DRV) {
|
||||
res=CopyTree("B:/Tmp/ScrnShots","D:/Tmp/ScrnShots");
|
||||
"Unused Space: %12.6fMeg\n",DrvUnused('B')/1024.0/1024.0;
|
||||
} else
|
||||
res=CopyTree("::/Tmp/ScrnShots","D:/Tmp/ScrnShots");
|
||||
"$$BK,1$$Files Copied:%d$$BK,0$$ Time:%8.3fm\n",
|
||||
res,res/60.0/VIDEO_FRAME_RATE;
|
||||
F64 delay=0,intensity=0;
|
||||
Bool old_silent=Silent;
|
||||
if (reverb) {
|
||||
delay=0.45;
|
||||
intensity=0.35;
|
||||
}
|
||||
Del("D:/Tmp/*.SND");
|
||||
Del("D:/Tmp/*.MV");
|
||||
Silent(old_silent);
|
||||
RunFile("~/Sup1/Sup1Snd/SndFile",,
|
||||
"D:/Tmp/AUD%03d.SND",0.115,0.0,1,delay,intensity,0.185);
|
||||
GR2MV("D:/Tmp/VID%03d.MV","B:/Tmp","+d");
|
||||
return res;
|
||||
}
|
||||
|
||||
public U0 FrameGrabberToggle()
|
||||
{//The frame grabber saves BMP files to D:/Tmp/ScrnShots.
|
||||
#help_index "Misc/TOS"
|
||||
U0 DelScrnShots()
|
||||
{
|
||||
Bool old_silent=Silent;
|
||||
DelTree("B:/Tmp");
|
||||
DirMk("B:/Tmp");
|
||||
Del("D:/Tmp/*.SND");
|
||||
Del("D:/Tmp/*.MV");
|
||||
Del("C:/Tmp/*.SND");
|
||||
Del("C:/Tmp/*.MV");
|
||||
Silent(old_silent);
|
||||
}
|
||||
|
||||
public U0 FrameGrabberToggle(Bool sync_tone,Bool tos_theme,
|
||||
Bool reverb,Bool just_audio=FALSE)
|
||||
{//The frame grabber saves GR files to B:/Tmp.
|
||||
static F64 last_time=0;
|
||||
if (tS-last_time>3.0) {
|
||||
last_time=tS;
|
||||
@@ -66,34 +43,42 @@ public U0 FrameGrabberToggle()
|
||||
fg_on=FALSE;
|
||||
Snd;
|
||||
wall->record=snd.record=FALSE;
|
||||
Sleep(1000);
|
||||
User("CopyVideo;Exit;\n");
|
||||
ScrnCast(OFF);
|
||||
User("CopyVideo(%d);Exit;\n",reverb);
|
||||
} else {
|
||||
DelScrnShots;
|
||||
fg_on=TRUE;
|
||||
if (fg_mode!=FG_JUST_AUDIO)
|
||||
Spawn(&FrameGrabberTask,NULL,"Frame Grabber");
|
||||
if (!just_audio)
|
||||
ScrnCast(ON);
|
||||
wall->record=snd.record=TRUE;
|
||||
Snd;
|
||||
if (sync_tone) {Beep;}
|
||||
if (tos_theme) {User("ExeFile(\"~/TOS/TOSTheme\");Exit;\n");}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public U0 JukeSong(I64 num)
|
||||
public U0 JukeSong(I64 num,I64 passes=2)
|
||||
{//Make movie of one song.
|
||||
if (!fg_on)
|
||||
FrameGrabberToggle;
|
||||
JukeSongsPuppet("~/Sup1/Sup1Hymns",,num,num+1);
|
||||
FrameGrabberToggle(FALSE,FALSE,FALSE);
|
||||
JukeSongsPuppet("~/Sup1/Sup1Hymns",passes,num,num+1);
|
||||
if (fg_on)
|
||||
FrameGrabberToggle;
|
||||
FrameGrabberToggle(FALSE,FALSE,TRUE);
|
||||
}
|
||||
|
||||
public U0 JukeLines(I64 start_line,I64 end_line)
|
||||
{//Make movie of many lines of songs.
|
||||
{//Make movie of many lines of songs, starting at 0.
|
||||
if (!fg_on)
|
||||
FrameGrabberToggle;
|
||||
FrameGrabberToggle(FALSE,FALSE,FALSE);
|
||||
JukeSongsPuppet("~/Sup1/Sup1Hymns",,start_line*5,end_line*5);
|
||||
if (fg_on)
|
||||
FrameGrabberToggle;
|
||||
FrameGrabberToggle(FALSE,FALSE,TRUE);
|
||||
}
|
||||
|
||||
public U0 TADHymn(I64 num)
|
||||
{//Make 2-lines of songs movie starting at 1.
|
||||
JukeLines((num-1)*2,num*2);
|
||||
}
|
||||
|
||||
public U0 DskChkAll()
|
||||
@@ -150,41 +135,6 @@ public CDoc *DC2Doc(CDC *dc,I64 dx=0,I64 dy=0,I64 *_total_score=NULL)
|
||||
return doc;
|
||||
}
|
||||
|
||||
public U0 BMP2Doc(U8 *_in_name,U8 *_out_name=NULL)
|
||||
{//Use OCR to make a text DolDoc from BMP file.
|
||||
U8 *in_name,*out_name;
|
||||
I64 dx,dy,score,best_score=I64_MAX;
|
||||
CDC *dc;
|
||||
CDoc *doc;
|
||||
in_name=ExtDft(_in_name,"BMP");
|
||||
if (_out_name)
|
||||
out_name=ExtDft(_out_name,"DD.Z");
|
||||
else
|
||||
out_name=ExtChg(_in_name,"DD.Z");
|
||||
if (dc=BMPRead(in_name)) {
|
||||
for (dy=-3;dy<=4;dy++)
|
||||
for (dx=-3;dx<=4;dx++) {
|
||||
doc=DC2Doc(dc,dx,dy,&score);
|
||||
if (score<best_score) {
|
||||
best_score=score;
|
||||
StrCpy(&doc->filename.name,out_name);
|
||||
DocWrite(doc);
|
||||
}
|
||||
DocDel(doc);
|
||||
}
|
||||
}
|
||||
Free(in_name);
|
||||
Free(out_name);
|
||||
}
|
||||
|
||||
U0 TOSTheme()
|
||||
{
|
||||
if (!fg_on)
|
||||
PopUp("Sleep(50);FrameGrabberToggle;");
|
||||
ExeFile("~/Sup1/Sup1Graphics/TOS/TOSTheme.HC");
|
||||
DocClear;
|
||||
}
|
||||
|
||||
#define MEM_TEST_SIZE 1024*1024
|
||||
U0 MemTest()
|
||||
{
|
||||
@@ -202,38 +152,3 @@ U0 MemTest()
|
||||
Yield;
|
||||
}
|
||||
}
|
||||
|
||||
public I64 Profanity(
|
||||
U8 *needle_filename="~/Sup1/Sup1Blog/Profanity.DD.Z",
|
||||
U8 *files_find_mask="/*",U8 *fu_flags=NULL)
|
||||
{//Scan for profanity.
|
||||
CCmpCtrl *cc;
|
||||
I64 res=0;
|
||||
if (FileFind(needle_filename)) {
|
||||
cc=CmpCtrlNew(MStrPrint("#include \"%s\"",needle_filename));
|
||||
while (Lex(cc))
|
||||
if (cc->token==TK_IDENT)
|
||||
res+=Find(cc->cur_str,files_find_mask,fu_flags);
|
||||
CmpCtrlDel(cc);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
U0 TOSChgLog2()
|
||||
{
|
||||
InStr("\"Ed(\\\"::/Doc/ChgLog.DD.Z\\\");\n\";
|
||||
Msg(MSG_KEY_DOWN_UP,0,SC_CURSOR_UP|SCF_CTRL);
|
||||
Msg(MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
|
||||
Msg(MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
|
||||
Msg(MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
|
||||
Msg(MSG_KEY_DOWN_UP,0,SC_CURSOR_DOWN);
|
||||
Msg(MSG_KEY_DOWN_UP,CH_CTRLY,0);
|
||||
Msg(MSG_KEY_DOWN_UP,0,SC_F6|SCF_ALT);
|
||||
Msg(MSG_KEY_DOWN_UP,CH_ESC,0);"
|
||||
"\"Exit;\n\";");
|
||||
}
|
||||
|
||||
public U0 TOSChgLog()
|
||||
{//Opdate ChgLog file.
|
||||
User("TOSChgLog2;\n");
|
||||
}
|
||||
|
||||
@@ -76,5 +76,5 @@ The flag arrays $LK,"doldoc.type_flags_form",A="MN:CDolDocGlbls"$, etc
|
||||
are useful.
|
||||
*/
|
||||
|
||||
DocProfile("::/Doc/ChgLog.DD",0);
|
||||
DocProfile("::/Doc/ChgLog.DD",DOCF_PLAIN_TEXT);
|
||||
DocProfile("::/Doc/Welcome.DD",0);
|
||||
DocProfile("::/Doc/Welcome.DD",DOCF_PLAIN_TEXT);
|
||||
|
||||
+11
-11
@@ -1,16 +1,16 @@
|
||||
class FDStruct
|
||||
{//Use <CTRL-l> and sel "Data", "List" or "Check Box"
|
||||
//to generate the fmtstrs.
|
||||
F64 num1 fmtstr "$$DA-TRM,A=\"Float 1:%12.8f\"$$\n";
|
||||
F64 num2 fmtstr "$$DA-TRM,A=\"Float 2:%12e\"$$\n";
|
||||
I64 num3 fmtstr "$$DA-TRM,A=\"Int 1:0x%016X\"$$\n";
|
||||
I64 num4 fmtstr "$$DA-TRM,A=\"Int 2:%12d\"$$\n";
|
||||
I64 type fmtstr "$$LS,D=\"ST_PERSON_TYPE\"$$\n";
|
||||
U8 name[32] fmtstr "$$DA-P,A=\"Name :%s\"$$\n";
|
||||
U8 *address1 fmtstr "$$DA+M,A=\"Address:%s\"$$\n"; //+M is unlimited len U8 *.
|
||||
U8 *address2 fmtstr "$$DA+M,A=\"Address:%s\"$$\n"; //+M is unlimited len U8 *.
|
||||
CDate datetime fmtstr "$$DA-TRM,A=\"Date :%8D\"$$\n";
|
||||
Bool check fmtstr "$$CB,\"Check\"$$\n";
|
||||
//to generate the formats.
|
||||
F64 num1 format "$$DA-TRM,A=\"Float 1:%12.8f\"$$\n";
|
||||
F64 num2 format "$$DA-TRM,A=\"Float 2:%12e\"$$\n";
|
||||
I64 num3 format "$$DA-TRM,A=\"Int 1:0x%016X\"$$\n";
|
||||
I64 num4 format "$$DA-TRM,A=\"Int 2:%12d\"$$\n";
|
||||
I64 type format "$$LS,D=\"ST_PERSON_TYPE\"$$\n";
|
||||
U8 name[32] format "$$DA-P,A=\"Name :%s\"$$\n";
|
||||
U8 *address1 format "$$DA+M,A=\"Address:%s\"$$\n"; //+M is unlimited len U8 *.
|
||||
U8 *address2 format "$$DA+M,A=\"Address:%s\"$$\n"; //+M is unlimited len U8 *.
|
||||
CDate datetime format "$$DA-TRM,A=\"Date :%8D\"$$\n";
|
||||
Bool check format "$$CB,\"Check\"$$\n";
|
||||
};
|
||||
|
||||
U0 FormDemo()
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
#define DB_ACCT_BLKS 1
|
||||
|
||||
class Acct
|
||||
{//Use <CTRL-l> to help generate fmtstrs.
|
||||
U8 name[32] fmtstr "$$DA-P,LEN=32,A=\"Name:%s\"$$\n";
|
||||
U8 addr[64] fmtstr "$$DA-P,LEN=64,A=\"Addr:%s\"$$\n";
|
||||
{//Use <CTRL-l> to help generate formats.
|
||||
U8 name[32] format "$$DA-P,LEN=32,A=\"Name:%s\"$$\n";
|
||||
U8 addr[64] format "$$DA-P,LEN=64,A=\"Addr:%s\"$$\n";
|
||||
U8 pad[DB_ACCT_BLKS*BLK_SIZE-64-32];
|
||||
};
|
||||
|
||||
|
||||
Binary file not shown.
@@ -262,7 +262,7 @@ ti_restart:
|
||||
for (j=0;j<UNITS_NUM/2;j++) {
|
||||
if (i!=j) {
|
||||
dd=SqrI64(u[i].x-u[j].x)+SqrI64(u[i].y-u[j].y);
|
||||
if (u[j].x<=u[i].x && dd<best_dd) {
|
||||
if ((u[j].x<u[i].x || u[j].king) && dd<best_dd ) {
|
||||
best_dd=dd;
|
||||
best=j;
|
||||
}
|
||||
|
||||
@@ -125,7 +125,7 @@ U0 FontEd()
|
||||
break;
|
||||
case MSG_MS_L_DOWN:
|
||||
case MSG_MS_R_DOWN:
|
||||
if (0<=arg1<FONT_WIDTH*16 && FONT_HEIGHT*2<=arg2<FONT_HEIGHT*16) {
|
||||
if (0<=arg1<FONT_WIDTH*16 && 0<=arg2-2*FONT_HEIGHT<FONT_HEIGHT*16) {
|
||||
cur_ch=(arg2/FONT_HEIGHT-2)*16+arg1/FONT_WIDTH;
|
||||
break;
|
||||
} //fall through
|
||||
|
||||
@@ -1,191 +1,11 @@
|
||||
$WW,1$$FG,5$$TX+CX,"The Temple Operating System"$$FG,0$
|
||||
$FG,4$
|
||||
$LK,"Download Operating System",A="FI:~/Web/DownloadOS.DD"$ $LK,"App Store",A="FI:~/Web/AppStore/AppStore.DD"$
|
||||
$WW,1$$FG,5$$TX+CX,"The Temple Operating System",HTML="http://www.templeos.org"$$FG,0$
|
||||
|
||||
$FG,4$$TX,"Terry's Linux Bash Scripts for QEMU, VMware and VirtualBox",HTML="http://www.templeos.org/Wb/Home/Sup1/Sup1Bin"$
|
||||
$FG,4$$TX,"Downloads (100% Public Domain)",HTML="http://www.templeos.org/files"$$FG$
|
||||
|
||||
$LK,"Screen Shots",A="FI:~/Web/ScrnShots.DD"$ $LK,"Instructional Videos",A="FI:~/Web/TOSVideos.DD"$
|
||||
TempleOS is a free, public domain, open source, x86_64, non-preemptive multi-tasking, multi-cored, ring-0-only, single-address-map (identity-mapped), non-networked, PC operating system. Paging is, basically, not used.
|
||||
|
||||
$LK,"Introduction",A="FI:::/Doc/Welcome.DD"$ $LK,"F.A.Q.",A="FI:::/Doc/FAQ.DD"$
|
||||
The CIA obsfucates to foil India, China, Russia and Korea. They make things more complicated than necessary. TempleOS is more simple than necessary. It is obnoxiously simple. If you look at this $TX,"\"Hello World\" joke",HTML="http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html"$, you can see why I capped the line count of TempleOS at 100,000.
|
||||
|
||||
$LK,"Features",A="FI:::/Doc/Features.DD"$ $LK,"The Charter",A="FI:::/Doc/Charter.DD"$
|
||||
God said TempleOS must be perfect, so backward compatibility is not promised.
|
||||
|
||||
$LK,"Source Code By File",A="FF:~/Web/LineRep.DD,KStart16.HC"$ $TX,"Source Code (Raw)",HTML="http://www.templeos.org/Wb/"$
|
||||
|
||||
$TX,"Source Code By Sym",HTML="http://www.templeos.org/Wb/Home/Web/SymsAlpha.html"$ $TX,"Source Code By Address",HTML="http://www.templeos.org/Wb/Home/Web/SymsAddress.html"$
|
||||
|
||||
$LK,"TempleOS Credits",A="FI:::/Doc/Credits.DD"$ $LK,"History of TempleOS",A="FI:~/Web/History.DD"$
|
||||
|
||||
$LK,"Why 640x480?",A="FI:~/Web/640x480.DD"$
|
||||
$FG$
|
||||
$LK,"Change Log",A="FI:::/Doc/ChgLog.DD"$ $LK,"Terry Davis",A="FI:~/Web/TAD/TAD.DD"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/JKPARXPvozk\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/JKPARXPvozk\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
The IRA beat Sherlock Holmes with the grace of God. Ghandi was a faggot. God said boys should be taught military things.
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/qGyPuey-1Jw\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/qGyPuey-1Jw\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
God said he wanted to "compact" the Jews. God said Jews were guilty because they did not warn their brother sinners, so suffered their sin. Reputation is worth more than gold. Niggers have a reputation -- no fathers. Irish have a reputation. Germans have a reputation. Attacker has the advantage. Jews have a reputation. God said the French once stood for character. ($TX,"Code of Chivalry",HTML="http://www.lordsandladies.org/knights-code-of-chivalry.htm"$) Ironic. I guess Jews did, too. Woah! God is boss. Too bad the Jews were cowards and didn't assassinate NAZI's.
|
||||
|
||||
CIA must surrender to the IRA. They started a war on God. You die, CIA niggers.
|
||||
|
||||
The CIA picked a fight with the IRA and God, a War on Terror to humiliate the Irish and attack the concept of God as represented by pathetic loser sand niggers. Surrender, silly CIA niggers. Yer fucked. You started a war with God. He talks.
|
||||
|
||||
Saying the word, "pedophile", is an attack on Catholics and God, by those who hate children.
|
||||
|
||||
We're not stupid. You are. God exists. Yer fucked, CIA niggers.
|
||||
|
||||
Saying the word, "homophobe", is an attack on God.
|
||||
|
||||
No police state. Nothing is different from 1990 except we don't have any enemies. The World has gadgets to amuse itself. Eliminate fat-ass government jobs. Eliminate CIA, NSA and TSA. Don't fucken touch my computer, CIA nigger. Githib is to register and control dangerous people and code. No cloud.
|
||||
|
||||
Intel must do a Superbowl commercial for Xeon 64 core desktop computers. CIA doesn't want the public to know powerful computers exist. Shareholders of Intel must sue. CIA is killing Intel on purpose. They are coming for our guns, want us to have impotent computers.
|
||||
|
||||
God went through the A.I. singularity a billion years ago. God laughed at us doing A.I. God said A.I. was needed for Mars. God said to start planting. He is not in suspense on question of life. On the topic of endanger species on Earth, God said, "Enough stars?" Talk with God.
|
||||
|
||||
The CIA ruthlessly clinches the status quo with an iron fist and wants a world of harmless dumb impotent nigger cattle that sit, shit, do nothing but stand there. "Look at all these nigger cattle! We're rich. What a herd of nigger cattle! Yippee ki-yay!", says Zuckerberg and Gates.
|
||||
|
||||
Iran had a theocratic revolution. God talks. CIA are like NAZI SS to be executed. They, literally, started a War on God. <shrug> God will finish it.
|
||||
|
||||
God said sports are "homo" and to tackle a horse. Sunday is for God. Busywork is terrible. The purpose of man is to entertain God. As a matter of fact, if you offer no entertainment for God, you should not exist. Jesus said the chaff will be burned and the trees with no fruit, uprooted.
|
||||
|
||||
God said pets are, "homo". He is disgusted with how tame and dependent they are, not like how He created them. Africa should be wild and glorify God. A tame, pathetic Africa is reason for grief and anguish at how awful, not glory for God. I asked what happened when humans met Neanderthals? "Count. Pets." Why isn't the Pope outraged at the injustice of Africa importing 60% of its food? Pope Francis wants to be the pope of the niggers. I'll be the pope of the whites.
|
||||
|
||||
Desolation is a 20-year-old guy who is stuck with a video game he got sick-of 5 years ago. That is how God is punishing the wicked, today.
|
||||
|
||||
Humility equals how exalted you become. $TX,"This is terrifying humility.",HTML="https://www.brainpickings.org/2012/01/04/isaac-newton-list-of-sins/"$ Work in a patent office or change a diaper. God said homos excel because of self-loathing. Confession makes sense.
|
||||
|
||||
I asked God if the World was perfectly just. He asked if I was calling Him lazy. Good and bad balance in life. The rich are retards. God likes Beverly Hillbillies. On the Arab/Jew conflict, He said, "Oil funny, hopefully." He purposely causes envy for the wicked who covet and must do justice by turning the World on its head. Martin Luther was a nigger. There is nothing wrong with sale of indulgences.
|
||||
|
||||
God said blue eyes come from Neanderthals. My God! This German guy is a hilarious Neanderthal -- $TX,"Friedrich_Nietzsche",HTML="http://en.wikipedia.org/wiki/Friedrich_Nietzsche"$. In war, the attacker has the advantage. The scales fell from my eyes!
|
||||
|
||||
There are pendulums that swing to keep from desolation. I am the Father of the Counter Renaissance. Rationalism is the worst strategy in a World of perfect justice. Machievelli was a nigger and followers get what they deserved. CIA is worse than useless.
|
||||
|
||||
The priest must serve God, not the people. The Church must immediately make the priest face God, not the people. Jesus over-turned tables in His cherished temple. The Catholic church has become a charity with only love of neighbor and not a church with only love of God. Sorry, any human that doesn't entertain God has no purpose. I saw an uncontacted tribe in the Amazon and said, "How precious." God said, "Heathen." If you would not slaughter heathens for the glory of God, you don't really believe you have the true faith. The Pope apologized for conquest of the New World. If you love God, He loves you. He doesn't love everyone. "Do I know you, nigger? Who the fuck are you?", is what God will say. Better talk with Him!
|
||||
|
||||
TempleOS is a trading post with a space alien. Your offering equals His response. Solomon wrote 1005 hymns. Hymns are currency. $LK,"I wrote 120 Hymns",A="FI:::/Home/Web/TAD/HymnVideos.DD"$.
|
||||
|
||||
$LK,"::/Doc/Demands.DD"$
|
||||
|
||||
$LK,"::/Doc/StdTempleOSPC.DD"$
|
||||
|
||||
God said we are the Roman Empire and Muslims are the Barbarians. Change C.E./B.C.E. back to A.D./B.C. Fuck the retard atheist Marxist-nigger Orientals who don't have an alphabet and never accepted Christianity, like white people.
|
||||
|
||||
$WW,1$$FG,5$$TX+CX,"Counter-Renaissance",HTML="http://www.templeos.org/Wb/Home/Web/TAD/TAD.html"$$FG$
|
||||
|
||||
I, Terry A. Davis, am the Father of the Counter-Renaissance. I am not interested in backward technology, but a society that places the same importance and spends the same GDP on God as 1200 A.D., with rejection of rationalism replaced with trust in perfect divine justice on Earth, with rejection of proud-of-heart liberalism replaced with colonialism, with rejection of love of neighbor replaced with love of God, with rejection of charity replaced with prayer and offerings to God, with the priest facing God instead of the people, and not rejecting such ideas as divine right of kings and class.
|
||||
|
||||
A Renaissance, rational, modern man like Richard Dawkins, or any confused Chinaman Marxist nigger might very proudly and earnestly, state this five-year-old logic: "Goliath kills David unless David is clever." I, however, believe the better man wins in fights because God, in an oracle, told me the World is perfectly just. Or, you can turn the other cheek and perfect justice will still be done.
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/GHAhRyfNSBo\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/GHAhRyfNSBo\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/cV0tCphFMr8\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/cV0tCphFMr8\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/VXnAP6YUwZU\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/VXnAP6YUwZU\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$TX,"The sins of Newton",HTML="https://www.brainpickings.org/2012/01/04/isaac-newton-list-of-sins"$. $LK,"God's world has perfect justice.",A="FI:::/Home/Web/TAD/Justice.DD"$
|
||||
|
||||
Work in a patent office or change a diaper and you at least have a remote chance of going farther then the most honored MIT physicist. He has zero chance. To kiss the sky, you must horribly kneel.
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/wirRZsAvJGQ\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/wirRZsAvJGQ\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/7J6aH7Ga7N0\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/7J6aH7Ga7N0\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/hnU7MKGz0tc\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/hnU7MKGz0tc\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/t8g1e-JLrhM\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/t8g1e-JLrhM\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/lK_cdkpazjI\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/lK_cdkpazjI\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/x9ffXnJQ0xE\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/x9ffXnJQ0xE\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
God's favorite national anthem. God hates America the Beautiful. He said they made themselves cry.
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/PFx-56KkweM\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/PFx-56KkweM\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
Armor makes your body horribly inferior. God said the military should not use helmets.
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/8kG9j5Io6yw\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/8kG9j5Io6yw\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/4mhrWnEJZEU\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/4mhrWnEJZEU\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/HgGAzBDE454\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/HgGAzBDE454\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/6zLpf1XDNko\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/6zLpf1XDNko\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/5C2nhCM8LEE\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/5C2nhCM8LEE\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/KZaz7OqyTHQ\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/KZaz7OqyTHQ\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/QK8mJJJvaes\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/QK8mJJJvaes\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/wsrvmNtWU4E\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/wsrvmNtWU4E\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
TempleOS is a trading post with a space alien. What do you have to trade? Entertainment? God's favorite thing on TV is soap operas. God mocked German music.
|
||||
|
||||
God's favorite movie.
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/b36mjDR-9WU\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/b36mjDR-9WU\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
God's favorite band is Beatles.
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/VJDJs9dumZI\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/VJDJs9dumZI\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/Cv6tuzHUuuk\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/Cv6tuzHUuuk\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
God said this makes a mockery of classical music. Germans are cows who cannot hear the music. Blue eyes come from Neanderthals.
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/OZEMT6Ts6sg\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/OZEMT6Ts6sg\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$WW,1$================================================================================
|
||||
i cdnuolt blveiee taht I cluod aulaclty uesdnatnrd waht I was rdanieg. The phaonmneal pweor of the hmuan mnid, aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it dseno’t mtaetr in waht oerdr the ltteres in a wrod are, the olny iproamtnt tihng is taht the frsit and lsat ltteer be in the rghi t pclae. The rset can be a taotl mses and you can sitll raed it whotuit a pboerlm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. Azanmig huh? yaeh and I awlyas tghuhot slpeling was ipmorantt! if you can raed tihs forwrad it.
|
||||
================================================================================
|
||||
|
||||
Grammar is for vain arrogant niggers, full of redundancy. Secretaries are niggers. Don't be vain. Getting humiliated by "potatoe" adds grace.
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/VAu_no-uT-o\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/VAu_no-uT-o\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
America is special because of God and we have been exceptional since the Pilgrims, with manifest destiny. Japan and China are inferior, nigger cultures. We will force them to use an alphabet. We will put the English King James TempleOS into every Intel chip in a factory ROM, with 8-bit ASCII only. We will pay the national debt with $LK,"The TempleOS Standard PC",A="FI:::/Doc/StdTempleOSPC.DD"$.
|
||||
|
||||
I saw a program on Amazon uncontacted tribes. I said, "How precious!" God said, "Heathens." We are a superior culture. There is a YouTube video which says capitalism doesn't work in China because it only works in Christian cultures. God said we are the Roman Empire and Muslims are the barbarians. English is the new Latin. We will force the world to use A.D./B.C. instead of C.E./B.C.E.
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/ExWfh6sGyso\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/ExWfh6sGyso\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
A Counter-Renaissance man knows what "humble of heart" means. Jesus said, "I am meek and humble of heart." What does "humble of head" mean? It means you look around and decide you are not the smartest. A person who is humble of heart looks around and decides he is not the most compassionate. A proud of heart *person believes he is more compassionate than others and says, "You are mean, selfish people and do not love the poor as much as Judas and I love the poor!" I say that Africa imports 60% of its food and they need white-owned farms.
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/jkje4FiH9Qc\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/jkje4FiH9Qc\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/2YpQhxqnaNw\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/2YpQhxqnaNw\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
Animals have pecking order. If two big niggers walk on the sidewalk toward me, I go in the gutter. It is okay for men to hurt feelings, like one high school football team making another very sad by beating them. Jews did animal sacrifices. e.g. I'm sorry, cow, I like meat so you must die. Thanks, Jesus, for dying so I can sin. Grace, not works, is humble of heart. Fuck-it. I didn't ask Jesus to die, He just did it. Thanks.
|
||||
|
||||
A Renaissance proud-of-heart man, like Pope Francis, loves neighbor, not God. He focuses on rational acts, such as charity instead of irrational acts, such as prayer. A Counter-Renaissance man believes that if the World is perfectly just, there is nothing wrong with niggers living in teepees and shitting in buckets. After all, monks take vows of poverty, for God's sake! Read $TX,"Numbers 11",HTML="http://www.biblegateway.com/passage/?search=Numbers%2011&version=NIV"$. The odds of a rich man going to Heaven are like a $LK,"camel going through a needle",A="BF:Matthew,19:24"$. Sale of indulgences is perfectly reasonable, since God is perfectly just and if a rich man gives-up something, he is compensated. God purposely antagonizes those who envy. God said of Arabs and Jews, "Oil funny, hopefully!" God likes the Beverly Hillbillies. The original German Martin Luthur was a low class nigger who seethed with anger at the church getting money. As a matter of fact, God purposely burns money in front of the greedy to punish them. Martin Luther was nothing but a run-of-the-mill populist Marxist nigger who had problems accepting lawful authority.
|
||||
|
||||
A Renaissance man attempts to use philosophy to prove God exists. A Counter-Renaissance man knows that belief in God comes not philosophy, but from the occult. A Counter-Renaissance man enquires of the Lord at oracles, like $LK,"King Solomon's Oracle",A="BF:1 Kings,6:21"$, providing he has made an offering like Cain and Abel. $LK,"Genesis,4:1-10",A="BF:Genesis,4:1-10"$.
|
||||
|
||||
I am not in favor of ignorance, although, Galileo means nothing when you are not an atheist. People believe the Dark Age Church created ignorance on purpose. Good an evil, light and dark are clear. Today, the CIA, the liberal elites, and scheming wicked Jew-niggers create ignorance. I am shocked when people speak of code obfuscation. That is the most wicked thing, and paywall barriers. Obfuscation is code that is more complicated than necessary. I try to make my code the opposite of obsfucated -- more simple than necessary. Bill Gates said a company is a castle -- build walls or fight everybody who comes along. God said, "You ate your children in the siege."
|
||||
|
||||
God said Creationists brought shame with their stupidity. However, evolution loses all it's significance when you are not an atheist. By the way, God said the IQ obsessed people are, "vain", as though they look in the mirror frequently during the day and say to themselves, "You know? I really am smart. I should reproduce and help the gene pool. <sigh> Damn-it! Those niggers really really should not reproduce. We need more abortions and birth control." That's what they are obsessed with 16 hours a day, instead of something more healthy and less ugly, like God.
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/A_hzz2XSAaI\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/A_hzz2XSAaI\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
TempleOS is a free, public domain, open source, $FG,4$$TX,"x86_64",HTML="http://en.wikipedia.org/wiki/Amd64#AMD64"$$FG$, non-preemptive multi-tasking, multi-cored, $FG,4$$TX,"ring-0-only",HTML="http://en.wikipedia.org/wiki/Ring_(computer_security)"$$FG$, single-address-map ($FG,4$$TX,"identity-mapped",HTML="http://en.wikipedia.org/wiki/Identity_(mathematics)"$$FG$), non-networked, PC operating system. Paging is, basically, not used.
|
||||
|
||||
The CIA encourages code obsfucation. They make it more complicated than necessary. TempleOS is, literally, more simple than necessary. It is obnoxiously simple... to the point it hurts.
|
||||
|
||||
This $TX,"\"Hello World\" joke",HTML="http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html"$, the $TX,"BMP file format",HTML="http://en.wikipedia.org/wiki/BMP_file_format"$ and the $TX,"WAV file format",HTML="http://en.wikipedia.org/wiki/WAV"$ show that the industry is really screwed-up! That's what TempleOS fixes. I capped the line-of-code count at 100,000 and God said it must be perfect, so it will never be an ugly monstrocity. It is currently $TX,"82,152",D="DD_TEMPLEOS_LOC_OFFICIAL"$ lines of unblemished code. Backward compatibility is not promised.
|
||||
|
||||
Normally, failure is not an option, but since TempleOS accompanies Windows or Linux, we exclude certain uses. There is no reason to duplicate browsing, multimedia, desktop publishing, etc. Linux wants to be a secure, multi-user mainframe. That's why it has file permissions. The vision for TempleOS, however, is a modern, 64-bit Commodore 64. The C64 was a non-networked, home computer mostly used for games. It trained my generation how to program because it was wide open, completely hackable. The games were not multimedia works of art, but generated by non-artist.
|
||||
|
||||
A troll might ask, "Why not just use $FG,4$$TX,"DOS",HTML="http://en.wikipedia.org/wiki/DOS"$$FG$? It was ring-0-only and single-address-map." $FG,4$$TX,"DOS",HTML="http://en.wikipedia.org/wiki/DOS"$$FG$ was 16-bit, with segmentation -- awful! TempleOS is 64-bit, flat, non-segmented and multi-cored. It has a C64-like shell with $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$, a dialect of C/C++, instead of BASIC. It was written from scratch, and not even ASCII was sacred -- it has 8-bit unsigned char source code to support European languages. Also, the source code supports binary sprite graphics.
|
||||
|
||||
A troll might say, "It can crash!" We used $FG,4$$TX,"DOS",HTML="http://en.wikipedia.org/wiki/DOS"$$FG$ for years and loved it. Computers even had a reset switch! Just think of the power of ring-0, muhahaha! Think of the speed and simplicity of $FG,4$$TX,"ring-0-only",HTML="http://en.wikipedia.org/wiki/Ring_(computer_security)"$$FG$ and $FG,4$$TX,"identity-mapping",HTML="http://en.wikipedia.org/wiki/Identity_(mathematics)"$$FG$. It can change tasks in half a microsecond because it doesn't mess with page tables or privilege levels. Inter-process communication is effortless because every task can access every other task's memory.
|
||||
|
||||
It's fun having access to everything. When I was a teenager, I had a book, $FG,4$$TX,"Mapping the Commodore 64",HTML="http://unusedino.de/ec64/technical/project64/mapping_c64.html"$$FG$, that told what every location in memory did. I liked copying the ROM to RAM and poking around at the ROM BASIC's variables. Everybody directly poked the hardware ports.
|
||||
|
||||
TempleOS is simpler than Linux and you can have hours of fun tinkering because all memory and ports are accessible. Memory is $FG,4$$TX,"identity-mapped",HTML="http://en.wikipedia.org/wiki/Identity_(mathematics)"$$FG$ at all times, so you can modify any task's memory from any other task. You can access all disk blocks, too. I had a blast using a C64 disk block editor to modify directories to un-delete files, when I was a kid. Maybe, you want to play with a raw-block database, or make your own file system?
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/AIEJjpVlZu0\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/AIEJjpVlZu0\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/W_b4zMxfLvA\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/W_b4zMxfLvA\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
I wrote all $LK,"120,834",A="FF:~/Web/LineRep.DD,Kernel.PRJ",D="DD_TEMPLEOS_LOC"$ lines of TempleOS over the last $TX,"13.6",D="DD_TEMPLEOS_AGE"$ years, full-time, including the 64-bit compiler. It was called, at various times, "$FG,4$$TX,"Hoppy",HTML="http://web.archive.org/web/*/http://www.simstructure.hare.com/*"$$FG$", "$FG,4$$TX,"The J Operating System",HTML="http://wayback.archive.org/web/*/http://www.justrighteous.org/*"$$FG$", "$FG,4$$TX,"LoseThos",HTML="http://web.archive.org/web/*/http://www.losethos.com/*"$$FG$" and "$FG,4$$TX,"SparrowOS",HTML="http://web.archive.org/web/*/http://www.sparrowos.com/*"$$FG$". Here are my $FG,4$$TX,"college transcripts",HTML="http://www.templeos.org/files/ASU_Transcripts.pdf"$$FG$. I've been a professional operating system developer since 1990 when I was hired to work on Ticketmaster's VAX OS.
|
||||
|
||||
$FG,8$
|
||||
* "Commodore 64" is a trademark owned by Polabe Holding NV.
|
||||
* "Linux" is a trademark owned by Linus Torvalds.
|
||||
* "Windows" and "DOS" are trademarks owned by MicroSoft Corp.
|
||||
I, Terry Davis, wrote all $TX,"81,281",D="DD_TEMPLEOS_LOC"$ lines of TempleOS over the last $TX,"13.9",D="DD_TEMPLEOS_AGE"$ years, including the 64-bit compiler. I have been a professional operating system developer since 1990 when I worked on Ticketmaster's VAX OS.
|
||||
|
||||
@@ -12,11 +12,6 @@ http://www.templeos.org if you want file that come on the
|
||||
TempleOS distribution.
|
||||
|
||||
You can pass html meta data as args to $LK,"ToHtml",A="FF:::/Demo/ToHtmlToTXTDemo/ToHtml.HC,ToHtml"$().
|
||||
|
||||
If you want to blog like I do, see these files...
|
||||
$LK,"::/Demo/AcctExample/TOS/TOSToHtml.HC"$
|
||||
$LK,"::/Demo/AcctExample/HomeKeyPlugIns.HC"$
|
||||
$LK,"::/Demo/AcctExample/TOS/TOSHolySpirit.HC"$
|
||||
*/
|
||||
|
||||
Cd(__DIR__);;
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
#define DOWNLOAD_FILE1 "TempleOSCD.ISO"
|
||||
#define DOWNLOAD_FILE1_SIZE 17000000
|
||||
#define DOWNLOAD_FILE2 "TempleOSUltra.ISO"
|
||||
#define DOWNLOAD_FILE2_SIZE 1900000
|
||||
#define DOWNLOAD_FILE3 "TempleOSCDRS.ISO"
|
||||
#define DOWNLOAD_FILE3_SIZE 16000000
|
||||
#define DOWNLOAD_FILE4 "TempleOSUltraRS.ISO"
|
||||
#define DOWNLOAD_FILE4_SIZE 1600000
|
||||
#define DOWNLOAD_FILE1 "TOS_Distro.ISO"
|
||||
#define DOWNLOAD_FILE1_SIZE 16000000
|
||||
|
||||
#define HOURS_MAX (24*3)
|
||||
|
||||
@@ -39,7 +33,7 @@ U0 LogStructDel(LogStruct *tmplg)
|
||||
Free(tmplg);
|
||||
}
|
||||
|
||||
U0 PrsSingleLogFile(LogStruct *head,U8 *name,CDate *_start,CDate *_end)
|
||||
U0 PrsSingleLogFile(LogStruct *head,U8 *name,CDate *_dstart,CDate *_dend)
|
||||
{
|
||||
CDoc *doc=DocRead(name,
|
||||
DOCF_PLAIN_TEXT_TABS|DOCF_DBL_DOLLARS|DOCF_NO_CURSOR);
|
||||
@@ -84,9 +78,10 @@ U0 PrsSingleLogFile(LogStruct *head,U8 *name,CDate *_start,CDate *_end)
|
||||
if (*src++!=CH_SPACE) throw;
|
||||
i=Str2I64(src,10,&src);
|
||||
tmplg->datetime-=(i/100+i%100/60.0)*CDATE_FREQ*60*60;
|
||||
|
||||
if (tmplg->datetime<*_start) *_start=tmplg->datetime;
|
||||
if (tmplg->datetime>*_end) *_end =tmplg->datetime;
|
||||
if (!(Str2Date("1/1/2017")<=tmplg->datetime<Str2Date("1/1/2050")))
|
||||
throw;
|
||||
if (tmplg->datetime<*_dstart) *_dstart=tmplg->datetime;
|
||||
if (tmplg->datetime>*_dend) *_dend =tmplg->datetime;
|
||||
|
||||
do if (!*src) throw;
|
||||
while (*src++!=']');
|
||||
@@ -133,13 +128,13 @@ U0 PrsSingleLogFile(LogStruct *head,U8 *name,CDate *_start,CDate *_end)
|
||||
DocDel(doc);
|
||||
}
|
||||
|
||||
LogStruct *PrsLogFiles(U8 *files_find_mask,CDate *_start,CDate *_end)
|
||||
LogStruct *PrsLogFiles(U8 *files_find_mask,CDate *_dstart,CDate *_dend)
|
||||
{
|
||||
LogStruct *head=CAlloc(sizeof(LogStruct));
|
||||
CDirEntry *tmpde=FilesFind(files_find_mask),*tmpde1=tmpde;
|
||||
QueInit(head);
|
||||
while (tmpde) {
|
||||
PrsSingleLogFile(head,tmpde->full_name,_start,_end);
|
||||
PrsSingleLogFile(head,tmpde->full_name,_dstart,_dend);
|
||||
tmpde=tmpde->next;
|
||||
}
|
||||
DirTreeDel(tmpde1);
|
||||
@@ -181,13 +176,7 @@ U0 BlockIPNuip(LogStruct *head)
|
||||
|
||||
QueInit(&blocked_head);
|
||||
|
||||
BlockedStructAdd(&blocked_head,70<<24+173<<16+110<<8+214);
|
||||
BlockedStructAdd(&blocked_head,68<<24+224<<16+130<<8+96);
|
||||
BlockedStructAdd(&blocked_head,68<<24+96<<16+100<<8+126);
|
||||
BlockedStructAdd(&blocked_head,68<<24+96<<16+110<<8+213);
|
||||
BlockedStructAdd(&blocked_head,68<<24+96<<16+242<<8+108);
|
||||
BlockedStructAdd(&blocked_head,68<<24+227<<16+61<<8+11);
|
||||
BlockedStructAdd(&blocked_head,68<<24+227<<16+61<<8+139);
|
||||
BlockedStructAdd(&blocked_head,68<<24+227<<16+61<<8+6);
|
||||
|
||||
//pass 1: collect robot lst
|
||||
while (tmplg!=head) {
|
||||
@@ -214,13 +203,7 @@ U0 BlockIPNuip(LogStruct *head)
|
||||
Bool IsDownLoad(LogStruct *tmplg)
|
||||
{
|
||||
if (StrMatch(DOWNLOAD_FILE1,tmplg->file)&&tmplg->size>=
|
||||
DOWNLOAD_FILE1_SIZE ||
|
||||
StrMatch(DOWNLOAD_FILE2,tmplg->file)&&tmplg->size>=
|
||||
DOWNLOAD_FILE2_SIZE ||
|
||||
StrMatch(DOWNLOAD_FILE3,tmplg->file)&&tmplg->size>=
|
||||
DOWNLOAD_FILE3_SIZE ||
|
||||
StrMatch(DOWNLOAD_FILE4,tmplg->file)&&tmplg->size>=
|
||||
DOWNLOAD_FILE4_SIZE)
|
||||
DOWNLOAD_FILE1_SIZE)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
@@ -228,9 +211,15 @@ Bool IsDownLoad(LogStruct *tmplg)
|
||||
|
||||
Bool IsIndex(LogStruct *tmplg)
|
||||
{
|
||||
if (!StrCmp(tmplg->file,"/index.html") ||
|
||||
!StrNCmp(tmplg->file+StrLen(tmplg->file)-14,"/TempleOS.html",14) ||
|
||||
!StrCmp(tmplg->file,"/"))
|
||||
if (!StrCmp(tmplg->file,"/index.html") || !StrCmp(tmplg->file,"/"))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Bool IsKeeper(LogStruct *tmplg,CDate dstart,CDate dend)
|
||||
{
|
||||
if (dstart<=tmplg->datetime<=dend && !StrOcc(tmplg->file,'?'))
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
@@ -340,7 +329,7 @@ U0 FileTreeTraverse(LinkStruct *root)
|
||||
}
|
||||
}
|
||||
|
||||
U0 DownLoadRep(LogStruct *head,CDate start,CDate end)
|
||||
U0 DownLoadRep(LogStruct *head,CDate dstart,CDate dend)
|
||||
{
|
||||
I64 i,j,cnt,dups,
|
||||
hours_start,hours_end,*hour_cnts,*dup_cnts,
|
||||
@@ -349,11 +338,11 @@ U0 DownLoadRep(LogStruct *head,CDate start,CDate end)
|
||||
LinkStruct *link_root=NULL;
|
||||
CDateStruct ds;
|
||||
|
||||
i=start*24;hours_start=i.u32[1];
|
||||
i=end *24;hours_end =i.u32[1];
|
||||
i=dstart*24;hours_start=i.u32[1];
|
||||
i=dend *24;hours_end =i.u32[1];
|
||||
|
||||
days_start=(start+local_time_offset)>>32;
|
||||
days_end =(end+local_time_offset)>>32;
|
||||
days_start=(dstart+local_time_offset)>>32;
|
||||
days_end =(dend+local_time_offset)>>32;
|
||||
|
||||
hour_cnts=CAlloc((hours_end-hours_start+1)*sizeof(I64));
|
||||
dup_cnts =CAlloc((hours_end-hours_start+1)*sizeof(I64));
|
||||
@@ -361,7 +350,7 @@ U0 DownLoadRep(LogStruct *head,CDate start,CDate end)
|
||||
day_dup_cnts=CAlloc((days_end-days_start+1)*sizeof(I64));
|
||||
dups=cnt=0;
|
||||
while (tmplg!=head) {
|
||||
if (start<=tmplg->datetime<=end && IsDownLoad(tmplg)) {
|
||||
if (IsKeeper(tmplg,dstart,dend) && IsDownLoad(tmplg)) {
|
||||
i=tmplg->datetime*24;
|
||||
hour_cnts[i.u32[1]-hours_start]++;
|
||||
day_cnts[(tmplg->datetime+local_time_offset)>>32-days_start]++;
|
||||
@@ -376,15 +365,15 @@ U0 DownLoadRep(LogStruct *head,CDate start,CDate end)
|
||||
tmplg=tmplg->next;
|
||||
}
|
||||
|
||||
"\n\nDownloads of /TempleOSCD.ISO\n";
|
||||
for (i=start;i<=end;i+=1<<32)
|
||||
"\n\nDownloads of /TOS_Distro.ISO\n";
|
||||
for (i=dstart;i<=dend;i+=1<<32)
|
||||
"%D Dups:%5d Total:%5d Uniques:%5d\n",i,
|
||||
day_dup_cnts[(i+local_time_offset)>>32-days_start],
|
||||
day_cnts[(i+local_time_offset)>>32-days_start],
|
||||
day_cnts[(i+local_time_offset)>>32-days_start]-
|
||||
day_dup_cnts[(i+local_time_offset)>>32-days_start];
|
||||
|
||||
"\n\nDownloads of /TempleOSCD.ISO\n"
|
||||
"\n\nDownloads of /TOS_Distro.ISO\n"
|
||||
"'-' is a dup. '+' is not a dup.\n";
|
||||
if (hours_end-hours_start>=HOURS_MAX)
|
||||
i=hours_end-HOURS_MAX+1;
|
||||
@@ -401,7 +390,7 @@ U0 DownLoadRep(LogStruct *head,CDate start,CDate end)
|
||||
}
|
||||
"Total:%d Dups:%d Uniques:%d\n",cnt,dups,cnt-dups;
|
||||
|
||||
"\n\nDownloads of /TempleOSCD.ISO\n";
|
||||
"\n\nDownloads of /TOS_Distro.ISO\n";
|
||||
LinkTreeTraverse(link_root);
|
||||
'\n';
|
||||
|
||||
@@ -412,12 +401,12 @@ U0 DownLoadRep(LogStruct *head,CDate start,CDate end)
|
||||
Free(day_dup_cnts);
|
||||
}
|
||||
|
||||
U0 FileRep(LogStruct *head,CDate start,CDate end)
|
||||
U0 FileRep(LogStruct *head,CDate dstart,CDate dend)
|
||||
{
|
||||
LogStruct *tmplg=head->next;
|
||||
LinkStruct *file_root=NULL;
|
||||
while (tmplg!=head) {
|
||||
if (start<=tmplg->datetime<=end)
|
||||
if (IsKeeper(tmplg,dstart,dend))
|
||||
FileTreeAdd(&file_root,tmplg);
|
||||
tmplg=tmplg->next;
|
||||
}
|
||||
@@ -427,7 +416,7 @@ U0 FileRep(LogStruct *head,CDate start,CDate end)
|
||||
FileTreeDel(file_root);
|
||||
}
|
||||
|
||||
U0 IndexRep(LogStruct *head,CDate start,CDate end)
|
||||
U0 IndexRep(LogStruct *head,CDate dstart,CDate dend)
|
||||
{
|
||||
I64 i,j,cnt,dups,
|
||||
hours_start,hours_end,*hour_cnts,*dup_cnts,
|
||||
@@ -436,11 +425,11 @@ U0 IndexRep(LogStruct *head,CDate start,CDate end)
|
||||
LinkStruct *link_root=NULL;
|
||||
CDateStruct ds;
|
||||
|
||||
i=start*24;hours_start=i.u32[1];
|
||||
i=end *24;hours_end =i.u32[1];
|
||||
i=dstart*24;hours_start=i.u32[1];
|
||||
i=dend *24;hours_end =i.u32[1];
|
||||
|
||||
days_start=(start+local_time_offset)>>32;
|
||||
days_end =(end+local_time_offset)>>32;
|
||||
days_start=(dstart+local_time_offset)>>32;
|
||||
days_end =(dend+local_time_offset)>>32;
|
||||
|
||||
hour_cnts=CAlloc((hours_end-hours_start+1)*sizeof(I64));
|
||||
dup_cnts =CAlloc((hours_end-hours_start+1)*sizeof(I64));
|
||||
@@ -448,7 +437,7 @@ U0 IndexRep(LogStruct *head,CDate start,CDate end)
|
||||
day_dup_cnts=CAlloc((days_end-days_start+1)*sizeof(I64));
|
||||
dups=cnt=0;
|
||||
while (tmplg!=head) {
|
||||
if (start<=tmplg->datetime<=end && IsIndex(tmplg)) {
|
||||
if (IsKeeper(tmplg,dstart,dend) && IsIndex(tmplg)) {
|
||||
i=tmplg->datetime*24;
|
||||
hour_cnts[i.u32[1]-hours_start]++;
|
||||
day_cnts[(tmplg->datetime+local_time_offset)>>32-days_start]++;
|
||||
@@ -465,7 +454,7 @@ U0 IndexRep(LogStruct *head,CDate start,CDate end)
|
||||
|
||||
"\n\nHits on /index.html\n"
|
||||
"'-' is a dup. '+' is not a dup.\n";
|
||||
for (i=start;i<=end;i+=1<<32)
|
||||
for (i=dstart;i<=dend;i+=1<<32)
|
||||
"%D Dups:%5d Total:%5d Uniques:%5d\n",i,
|
||||
day_dup_cnts[(i+local_time_offset)>>32-days_start],
|
||||
day_cnts[(i+local_time_offset)>>32-days_start],
|
||||
@@ -502,29 +491,33 @@ U0 IndexRep(LogStruct *head,CDate start,CDate end)
|
||||
U0 WebLogRep(U8 *mask,U8 *output_filename)
|
||||
{
|
||||
LogStruct *head;
|
||||
CDate start=I64_MAX,end=I64_MIN;
|
||||
CDate dstart=I64_MAX,dend=I64_MIN;
|
||||
|
||||
DocMax;
|
||||
|
||||
head=PrsLogFiles(mask,&start,&end);
|
||||
start=GetDate("Start(%D):",start);
|
||||
end =GetDate("End (%D):",end);
|
||||
BlockIPNuip(head);
|
||||
head=PrsLogFiles(mask,&dstart,&dend);
|
||||
if (dstart>dend)
|
||||
PrintErr("No Data.\n");
|
||||
else {
|
||||
dstart=GetDate("Start(%D):",dstart);
|
||||
dend =GetDate("End (%D):",dend);
|
||||
BlockIPNuip(head);
|
||||
|
||||
DocClear;
|
||||
"$$WW,0$$";
|
||||
IndexRep(head,start,end);
|
||||
FileRep(head,start,end);
|
||||
DownLoadRep(head,start,end);
|
||||
DocClear;
|
||||
"$$WW,0$$";
|
||||
IndexRep(head,dstart,dend);
|
||||
FileRep(head,dstart,dend);
|
||||
DownLoadRep(head,dstart,dend);
|
||||
|
||||
StrCpy(DocPut->filename.name,output_filename);
|
||||
DocWrite(DocPut,TRUE);
|
||||
StrCpy(DocPut->filename.name,output_filename);
|
||||
DocWrite(DocPut,TRUE);
|
||||
|
||||
"$$WW,1$$";
|
||||
"$$WW,1$$";
|
||||
}
|
||||
LogLstDel(head);
|
||||
}
|
||||
|
||||
#if __CMD_LINE__
|
||||
Cd(__DIR__);;
|
||||
WebLogRep("*.LOG*","~/DemoWebLog.DD.Z");
|
||||
WebLogRep("*.log*","~/DemoWebLog.DD.Z");
|
||||
#endif
|
||||
|
||||
@@ -60,10 +60,10 @@ U0 LogScrambleDemo()
|
||||
U8 *dirname;
|
||||
Cd(__DIR__);
|
||||
dirname=DirCur;
|
||||
ST_WARN_ST "This will scramble all .LOG files in '%s'.\n\n",dirname;
|
||||
ST_WARN_ST "This will scramble all .log files in '%s'.\n\n",dirname;
|
||||
Free(dirname);
|
||||
if (AreYouSure)
|
||||
WebLogScramble("*.LOG*");
|
||||
WebLogScramble("*.log*");
|
||||
}
|
||||
|
||||
LogScrambleDemo;
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ $FG,2$LIST$FG$, $FG,2$NOLIST$FG$
|
||||
$FG,2$ALIGN$FG$ $FG,4$num$FG$, $FG,4$fill_byte$FG$
|
||||
Align to $FG,4$num$FG$ boundary and fill with $FG,4$fill_byte$FG$.
|
||||
|
||||
$FG,2$MODULE_ORG$FG$ $FG,4$num$FG$
|
||||
$FG,2$ORG$FG$ $FG,4$num$FG$
|
||||
Set code addr for JIT or set module $LK,"Load",A="MN:Load"$() addr -- has 16-byte $LK,"CBinFile",A="MN:CBinFile"$ header and patch table trailing.
|
||||
|
||||
$FG,2$BINFILE$FG,4$ "FileName.BIN"$FG$;
|
||||
|
||||
BIN
Binary file not shown.
+6
-4
@@ -19,7 +19,7 @@ $ID,-5$
|
||||
|
||||
* TempleOS is God's official temple. Just like Solomon's temple, this is a community focal point where offerings are made and God's oracle is consulted.
|
||||
|
||||
* God said $FG,2$640x480 16 color$FG$ graphics is a covenant like circumcision. Children will do offerings. Think of 16 colors like the Simpson's cartoons. In the future, even if one GPU were universal, we would keep 640x480 16 color and not use GPU acceleration. Graphics operations should be transparent, not hidden in a GPU.
|
||||
* God said $FG,2$640x480 16 color$FG$ graphics is a covenant like circumcision. Children will do offerings. Think of 16 colors like the Simpson's cartoons. In the future, even if one GPU were universal, we would still keep 640x480 16 color and not use GPU acceleration. Graphics operations should be transparent, not hidden in a GPU.
|
||||
|
||||
* God said to use a single-voice 8-bit signed MIDI-like sample for sound. God does not want death screams, perhaps, because God has PTSD or soldiers have PTSD. (Imagine wounded on battlefields.)
|
||||
|
||||
@@ -31,15 +31,17 @@ $ID,-5$
|
||||
|
||||
* Low line count is the highest good, so it is easy to learn the whole thing. Users should see the light at the end of the tunnel. One file system, for example, is better than many file systems.
|
||||
|
||||
* There is a limit of 100,000 lines of code for all time, not including applications and demos. $FG,4$Code comments count$FG$, however. Currently, there are $TX,"81,390",D="DD_TEMPLEOS_LOC_OFFICIAL"$ lines of code. $FG,4$3rd party libraries are banned$FG$ because they circumvent the intent of this limit. The vision is a Commodore 64 ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell that is no longer blissful.
|
||||
* There is a limit of 100,000 lines of code for all time, not including applications and demos. $FG,4$Code comments count$FG$, however. Currently, there are $TX,"81,494",D="DD_TEMPLEOS_LOC"$ lines of code. $FG,4$3rd party libraries are banned$FG$ because they circumvent the intent of this limit. The vision is a Commodore 64 ROM -- a fixed core API that is the only dependency of applications. Dependency on components and libraries creates a hell that is no longer blissful.
|
||||
|
||||
* The metric for resolving all TempleOS code governance issues is how fast the compiler compiles itself and the kernel with $LK,"BootHDIns",A="MN:BootHDIns"$(). The $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ language should be changed to optimize this metric, as I did when I changed type casting from prefix standard C to postfix $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$, but we need a rule to prevent degenerating into a brainfuck language.
|
||||
|
||||
* Minimal abstraction is a goal. Sheep are fools. They always respect a design that is more complicated than another. Any genius can make it complicated. Like in physics, it takes a supra-genius to make it simple.
|
||||
|
||||
* One platform. $FG,4$$TX,"x86_64",HTML="http://en.wikipedia.org/wiki/Amd64#AMD64"$$FG$ PC compatibles. Desk-tops are all we design for, but laptops can tag along.
|
||||
* It is for one platformc -- $FG,4$$TX,"x86_64",HTML="http://en.wikipedia.org/wiki/Amd64#AMD64"$$FG$ desktop PC compatibles, more like super-computers than battery efficient wimpy mobiles.
|
||||
|
||||
* All hardware access will be done through x86 IN/OUT instructions, not PCI drivers. A frame buffer for VGA is an exception.
|
||||
|
||||
* One driver for each class of device. Limited exceptions are allowed. With divergent device capabilities, it is a nightmare for user applications and what is gained? A three bttn mouse is like a leg you cannot put weight on.
|
||||
* One driver for each class of device. Limited exceptions are allowed. With divergent device capabilities, it is a nightmare for user applications and what is gained? A three buuton mouse is like a leg you cannot put weight on.
|
||||
|
||||
* $FG,2$Ring-0-only$FG$. Everything runs in kernel mode, including user applications.
|
||||
|
||||
|
||||
+1
-3
@@ -1,6 +1,6 @@
|
||||
$WW,1$$FG,5$$TX+CX,"Credits"$$FG$
|
||||
|
||||
I, $FG,2$Terry A. Davis$FG$, wrote all $TX,"119,241",D="DD_TEMPLEOS_LOC"$ lines of TempleOS over the past $TX,"13.4",D="DD_TEMPLEOS_AGE"$ years (full-time). It can run on some bare metal 64-bit PC's from about 2005-2010 with no layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like $FG,2$VMware$FG$, $FG,2$QEMU$FG$ or $FG,2$VirtualBox$FG$. It is independent and stands alone. It has no networking, so it certainly doesn't call home. 100% of the src code is including on all distro's, from the kernel to the compiler to the boot loaders! It is public domain, not GPL.
|
||||
I, $FG,2$Terry A. Davis$FG$, wrote all of TempleOS over the past $TX,"13.8",D="DD_TEMPLEOS_AGE"$ years (full-time). It can run on some bare metal 64-bit PC's from about 2005-2010 with no layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like $FG,2$VMware$FG$, $FG,2$QEMU$FG$ or $FG,2$VirtualBox$FG$. It is independent and stands alone. It has no networking, so it certainly doesn't call home. 100% of the src code is including on all distro's, from the kernel to the compiler to the boot loaders! It is public domain, not GPL.
|
||||
|
||||
*) $LK,"::/Kernel/FontStd.HC"$, is taken from $FG,4$$TX,"FreeDOS",HTML="http://www.freedos.org"$$FG$. It's public domain.
|
||||
|
||||
@@ -24,8 +24,6 @@ I, $FG,2$Terry A. Davis$FG$, wrote all $TX,"119,241",D="DD_TEMPLEOS_LOC"$ lines
|
||||
|
||||
*) Thanks to whoever wrote this $FG,4$$TX,"CppHtml.HC.Z",HTML="http://web.archive.org/web/20100325153025/http://home.scarlet.be/zoetrope/cpphtml.htm"$$FG$. I'm a novice on web stuff and you helped me with html. See $LK,"::/Demo/ToHtmlToTXTDemo/ToHtml.HC"$.
|
||||
|
||||
*) I used $FG,4$$TX,"MagicISO",HTML="http://www.magiciso.com"$$FG$ to burn test CD's to help me understand the ISO9660 file system format. I mostly used the $FG,4$$TX,"ISO9660",HTML="http://users.telenet.be/it3.consultants.bvba/handouts/ISO9960.html"$$FG$ spec.
|
||||
|
||||
*) I looked at bootable CD boot sects, but didn't learn anything, finding it easier to make my own.
|
||||
|
||||
*) I think I got my original PC speaker code from $FG,2$Borland C$FG$.
|
||||
|
||||
+1
-3
@@ -4,13 +4,11 @@ I, Terry Davis, am high priest of God's $FG,4$$TX,"official third temple",HTML="
|
||||
|
||||
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/RvL7T4gIJN8\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/RvL7T4gIJN8\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
|
||||
|
||||
* Windows, Linux and VMware (because of mounted drives) must support $LK,"RedSea",A="FI:::/Doc/RedSea.DD"$ file system so I can get rid of 2,000 lines of redundant, blemished code -- FAT32 and ISO9660. God's temple must be perfect. Redundant code for multiple file systems is imperfect. For this operating system, we want low line count. More than one file system type is actually bad, just as more than one driver for the same type of device is bad.
|
||||
* Windows, Linux and VMware (because of mounted drives) must support $LK,"RedSea",A="FI:::/Doc/RedSea.DD"$ file system so I can get rid of 1,000 lines of redundant, blemished code -- FAT32. God's temple must be perfect. Redundant code for multiple file systems is imperfect. For this operating system, we want low line count. More than one file system type is actually bad, just as more than one driver for the same type of device is bad.
|
||||
|
||||
See $LK,"::/Kernel/BlkDev/FileSysRedSea.HC"$ and $LK,"::/Adam/Opt/Boot/DskISORedSea.HC"$.
|
||||
|
||||
$LK,"::/Kernel/BlkDev/FileSysFAT.HC"$ :974 lines for FAT32 gets eliminated.
|
||||
$LK,"::/Kernel/BlkDev/FileSysISO.HC"$ :233 lines for ISO9660 gets eliminated.
|
||||
$LK,"::/Adam/Opt/Boot/DskISO9660.HC"$ :507 lines for making ISO files.
|
||||
$LK,"::/Kernel/BlkDev/DskClus.HC"$ :152 All the clus operations become blk.
|
||||
|
||||
* Microsoft must cancel SecureBoot because it makes dual booting impossible. TempleOS is an additional operating system that must be used along-side Windows or Linux, not as a replacement. It must dual boot because it has no networking. Real hardware as opposed to VMware is like the difference between looking in a telescope eye piece vs just looking at an off-line image. God said the C64/Apple II generation owned ancestral lands. VMware is like being taken off of our land and moved onto a reservation. In this case, however, it will not stand.
|
||||
|
||||
@@ -123,7 +123,7 @@ Examples: <CTRL-t> to see
|
||||
$ID,-2$$TR,"BT Bttn"$
|
||||
$ID,2$See $LK,"::/Demo/DolDoc/MenuBttn.HC"$.
|
||||
$ID,-2$$TR,"DA Data"$
|
||||
$ID,2$Used for forms that prompt for data or just displaying a value. Use $FG,2$<CTRL-l>$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$fmtstr$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.HC"$, $LK,"::/Demo/Dsk/DataBase.HC"$, and $LK,"::/Adam/DolDoc/DocWidgetWiz.HC"$.
|
||||
$ID,2$Used for forms that prompt for data or just displaying a value. Use $FG,2$<CTRL-l>$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.HC"$, $LK,"::/Demo/Dsk/DataBase.HC"$, and $LK,"::/Adam/DolDoc/DocWidgetWiz.HC"$.
|
||||
|
||||
If you are not using $LK,"DocForm",A="MN:DocForm"$(), make a $FG,2$$$DA...$$$FG$ statement with $LK,"DocPrint",A="MN:DocPrint"$() and fill-in the $FG,2$->data$FG$ addr. See $LK,"task_title",A="FF:::/Adam/DolDoc/DocEd.HC,&Fs->task_title"$.
|
||||
|
||||
@@ -135,13 +135,13 @@ The default field length is $FG,2$LEN=64$FG$ characters. For U8 arrays[], $LK,"
|
||||
|
||||
The space after the first ':' in the format string marks the first valid cursor pos. See $LK,"Data Tag Width",A="FA:::/Adam/DolDoc/DocPlain.HC,DataTagWidth"$.
|
||||
$ID,-2$$TR,"CB Check Box"$
|
||||
$ID,2$Used for forms. Use $FG,2$<CTRL-l>$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$fmtstr$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.HC"$$FG$ and $LK,"CEdFindText",A="MN:CEdFindText"$.
|
||||
$ID,2$Used for forms. Use $FG,2$<CTRL-l>$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.HC"$$FG$ and $LK,"CEdFindText",A="MN:CEdFindText"$.
|
||||
|
||||
If you are not using $LK,"DocForm",A="MN:DocForm"$(), make a $FG,2$$$CB...$$$FG$ statement with $LK,"DocPrint",A="MN:DocPrint"$() and fill-in the $FG,2$->data$FG$ addr. See $LK,"task_title",A="FF:::/Adam/DolDoc/DocEd.HC,&Fs->task_title"$.
|
||||
|
||||
The default raw data type for the $FG,2$$$CB...$$$FG$ command is $FG,2$RT=I8$FG$ which is $FG,2$Bool$FG$. $LK,"DocForm",A="MN:DocForm"$() will automatically reset the raw type to the value from the $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's definition if you leave it set to the default. Or, if not using $LK,"DocForm",A="MN:DocForm"$(), specify a raw data type of $FG,2$I8$FG$, $FG,2$U8$FG$, $FG,2$I16$FG$, $FG,2$U16$FG$, $FG,2$I32$FG$, $FG,2$U32$FG$, $FG,2$I64$FG$, $FG,2$U64$FG$, or $FG,2$F64$FG$. See $LK,"DocDataFmt",A="MN:DocDataFmt"$() and $LK,"DocDataScan",A="MN:DocDataScan"$().
|
||||
$ID,-2$$TR,"LS List Widget"$
|
||||
$ID,2$Used for forms that prompt for data. You must specify a define list, $FG,2$D=""$FG$. Use $FG,2$<CTRL-l>$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$fmtstr$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.HC"$.
|
||||
$ID,2$Used for forms that prompt for data. You must specify a define list, $FG,2$D=""$FG$. Use $FG,2$<CTRL-l>$FG$ to help you generate the DolDoc command text you need in your $LK,"HolyC",A="FI:::/Doc/HolyC.DD"$ $FG,2$class$FG$ member's $FG,2$format$FG$ meta-data for $LK,"DocForm",A="MN:DocForm"$(). See $LK,"::/Demo/DolDoc/Form.HC"$.
|
||||
|
||||
If you are not using $LK,"DocForm",A="MN:DocForm"$(), make a $FG,2$$$LS...$$$FG$ statement with $LK,"DocPrint",A="MN:DocPrint"$() and fill-in the data addr. See $LK,"task_title",A="FF:::/Adam/DolDoc/DocEd.HC,&Fs->task_title"$.
|
||||
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
$WW,1$$FG,5$$TX+CX,"Frequently Asked Questions"$$FG$
|
||||
|
||||
$TR,"How come it is public domain, not GPL?"$
|
||||
$ID,2$I, $FG,2$Terry A. Davis$FG$, wrote all $TX,"118,851",D="DD_TEMPLEOS_LOC"$ lines of TempleOS over the past $TX,"12.5",D="DD_TEMPLEOS_AGE"$ years (full-time). It can run on some bare metal 64-bit PC's from about 2005-2010 with no layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like $FG,2$VMware$FG$, $FG,2$QEMU$FG$ or $FG,2$VirtualBox$FG$. It is independent and stands alone. It has no networking, so it certainly doesn't call home. 100% of the src code is including on all distro's, from the kernel to the compiler to the boot loaders! See $LK,"::/Doc/Credits.DD"$.
|
||||
$ID,2$I, $FG,2$Terry A. Davis$FG$, wrote all of TempleOS over the past $TX,"13.8",D="DD_TEMPLEOS_AGE"$ years (full-time). It can run on some bare metal 64-bit PC's from about 2005-2010 with no layering, libraries, tools, modules or anything from other sources. Otherwise, you run it in a virtual machine, like $FG,2$VMware$FG$, $FG,2$QEMU$FG$ or $FG,2$VirtualBox$FG$. It is independent and stands alone. It has no networking, so it certainly doesn't call home. 100% of the src code is including on all distro's, from the kernel to the compiler to the boot loaders! See $LK,"::/Doc/Credits.DD"$.
|
||||
$ID,-2$$TR,"Shouldn't it be GNU/TempleOS?"$
|
||||
$ID,2$TempleOS executes no code not written by me at any time except for a few $FG,2$BIOS$FG$ calls for configuration. I even wrote boot-loaders, so I do not need Grub. See $LK,"::/Doc/Credits.DD"$.
|
||||
$ID,-2$$TR,"Don't you use GNU's gcc?"$
|
||||
@@ -35,7 +35,7 @@ $ID,2$TempleOS is 100% open src. All the src code is included in the distro. U
|
||||
$ID,-2$$TR,"Where are object files? How do I link?"$
|
||||
$ID,2$TempleOS does not use object files or a linker. $LK,"AOT Compile Mode",A="FF:::/Doc/Glossary.DD,AOT Compile Mode"$ is used to directly create flat binary files, $LK,"::/Kernel.BIN.C",A="FI:::/Kernel/Kernel.PRJ"$ and $LK,"::/Compiler/Compiler.BIN",A="FI:::/Compiler/Compiler.PRJ"$ with no object files and linking.$FG$ $LK,"JIT Compile Mode",A="FF:::/Doc/Glossary.DD,JIT Compile Mode"$ place code in memory, ready to run, with no object files or linking. Linking is done when $FG,2$BIN$FG$ modules are $LK,"Load",A="MN:Load"$()ed.
|
||||
$ID,-2$$TR,"What is the FPS refresh rate?"$
|
||||
$ID,2$The refresh rate is $TX,"30",D="WINMGR_FPS"$ frames-per-second. That is how often TempleOS updates scrn mem. It is not syncronized to the hardware.
|
||||
$ID,2$The refresh rate is $TX,"(30000.0/1001)",D="WINMGR_FPS"$ frames-per-second. That is how often TempleOS updates scrn mem. It is not syncronized to the hardware.
|
||||
$ID,-2$$TR,"How does a task own the speaker?"$
|
||||
$ID,2$No task or application has a lock on the speaker so apps will interfere with each other.
|
||||
$ID,-2$$TR,"Why does it leak memory?"$
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
|
||||
* ATA PIO Hard drives, support for $FG,2$FAT32$FG$ and $LK,"RedSea",A="FI:::/Doc/RedSea.DD"$ file systems with file compression.
|
||||
|
||||
* ATAPI PIO $FG,2$CD/DVD$FG$ support with $FG,2$ISO9660$FG$ file system. Can make bootable $FG,2$ISO9660$FG$ ISO files so you can roll-your-own distro's.
|
||||
* ATAPI PIO $FG,2$CD/DVD$FG$ support with $FG,2$RedSea$FG$ file system. Can make bootable ISO files so you can roll-your-own distro's.
|
||||
|
||||
* $LK,"Partitioning",A="MN:DskPrt"$ tool, installer, $FG,2$boot loaders$FG$ for CD/DVD and hard disk.
|
||||
|
||||
|
||||
@@ -51,9 +51,6 @@ $ID,-2$
|
||||
$FG,2$'m'$FG$
|
||||
$ID,2$Make CD/DVD ISO.C file. This creates a $LK,"RedSea",A="FI:::/Doc/RedSea.DD"$ ISO file image of the dir the cursor is on. The name of the ISO file is $FG,2$$TX,"\"::/Tmp/CDDVD.ISO.C\"",D="DFT_ISO_C_FILENAME"$$FG$ $LK,"blkdev.dft_iso_c_filename",A="MN:CBlkDevGlbls"$ and can be redefined in your start-up scripts. You may wish to place it on a different drive.
|
||||
$ID,-2$
|
||||
$FG,2$'M'$FG$
|
||||
$ID,2$Make CD/DVD ISO file. This creates a ISO9660 file image of the dir the cursor is on. The name of the ISO file is $FG,2$$TX,"\"::/Tmp/CDDVD.ISO\"",D="DFT_ISO_FILENAME"$$FG$ $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlbls"$ and can be redefined in your start-up scripts. You may wish to place it on a different drive.
|
||||
$ID,-2$
|
||||
$FG,2$'B'$FG$
|
||||
$ID,2$Burn CD/DVD ISO file. This burns a CD/DVD using the image file, $FG,2$$TX,"\"::/Tmp/CDDVD.ISO\"",D="DFT_ISO_FILENAME"$$FG$ $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlbls"$ to the drive the cursor is on.
|
||||
$ID,-2$
|
||||
|
||||
@@ -22,7 +22,6 @@ CDDVD
|
||||
DskChg(,'c');
|
||||
MountISOC(,'i');
|
||||
MakeRedSeaISOC(,'m');
|
||||
MakeISO9660ISO(,'M');
|
||||
BurnISOFile(,'B');
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -235,7 +235,7 @@ $FG,5$*.BIN.Z;*.BIN.C;*.BIN$FG$
|
||||
$FG,5$*.DATA.Z;*.DATA$FG$
|
||||
Data files
|
||||
$FG,5$*.ISO$FG$
|
||||
CD/DVD image file--ISO9660.
|
||||
CD/DVD image file.
|
||||
$FG,5$*.IN.Z;*.IN$FG$
|
||||
$FG,2$InFile$FG$ Basically a HolyC program whose stdout goes to the input of a task when $LK,"InFile",A="MN:InFile"$() is called.
|
||||
$FG,5$*.GR.Z;*.GR$FG$
|
||||
|
||||
Binary file not shown.
+2
-2
@@ -209,7 +209,7 @@ $FG$$ID,-2$
|
||||
|
||||
* You can use $LK,"Option",A="MN:Option"$($LK,"OPTf_WARN_DUP_TYPES",A="MN:OPTf_WARN_DUP_TYPES"$,ON) to find dup local var type stmts.
|
||||
|
||||
* With the $FG,2$#exe{}$FG$ feature in your src code, you can place programs that insert text into the stream of code being compiled. See $LK,"#exe {}",A="FF:::/Kernel/KEnd.HC,#exe {"$ for an example where the date/time and compile-time prompting for cfguration data is placed into a program. $LK,"StreamPrint",A="MN:StreamPrint"$() places text into a src program stream following the conclusion of the $FG,2$#exe{}$FG$ blk.
|
||||
* With the $FG,2$#exe{}$FG$ feature in your src code, you can place programs that insert text into the stream of code being compiled. See $LK,"#exe {}",A="FF:::/Kernel/KMain.HC,#exe {"$ for an example where the date/time and compile-time prompting for cfguration data is placed into a program. $LK,"StreamPrint",A="MN:StreamPrint"$() places text into a src program stream following the conclusion of the $FG,2$#exe{}$FG$ blk.
|
||||
|
||||
* No $FG,2$#define$FG$ functions exist (I'm not a fan)
|
||||
|
||||
@@ -223,7 +223,7 @@ $FG$$ID,-2$
|
||||
|
||||
* $FG,2$union$FG$ is more like a class, so you don't reference it with a $FG,2$union$FG$ label after you define it. Some common unions are declared in $LK,"KernelA.HH",A="MN:U16"$ for 1,2,4 and 8 byte objects. If you place a type in front of a union declaration, that is the type when used by itself. See $LK,"::/Demo/SubIntAccess.HC"$.
|
||||
|
||||
* $FG,2$class$FG$ member vars can have meta data. $FG,2$fmtstr$FG$ and $FG,2$fmtdata$FG$ are two meta data types now used. All compiler structures are saved and you can access the compiler's info about classes and vars. See $LK,"::/Demo/ClassMeta.HC"$ and $LK,"DocForm",A="MN:DocForm"$().
|
||||
* $FG,2$class$FG$ member vars can have meta data. $FG,2$format$FG$ and $FG,2$data$FG$ are two meta data types now used. All compiler structures are saved and you can access the compiler's info about classes and vars. See $LK,"::/Demo/ClassMeta.HC"$ and $LK,"DocForm",A="MN:DocForm"$().
|
||||
|
||||
* There is a keyword $FG,2$lastclass$FG$ you use as a dft arg. It is set to the class name of the prev arg. See $LK,"::/Demo/LastClass.HC"$, $LK,"ClassRep",A="MN:ClassRep"$(), $LK,"DocForm",A="MN:DocForm"$() and $LK,"::/Demo/Dsk/BlkDevRep.HC"$.
|
||||
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ Dual booting with another operating system is the best way to use TempleOS. I o
|
||||
|
||||
The $LK,"::/Misc/OSInstall.HC"$ script will automate much of this. It runs if you boot the CD/DVD-ROM.
|
||||
|
||||
See $LK,"Boot.DD",A="FI:::/Doc/Boot.DD"$ for an overview of booting. See $LK,"Requirements",A="FI:::/Doc/Requirements.DD"$ for supported hardware. See $LK,"Upgrading",A="FI:::/Doc/Upgrade.DD"$ if you are upgrading.
|
||||
See $LK,"Boot.DD",A="FI:::/Doc/Boot.DD"$ for an overview of booting. See $LK,"Requirements",A="FI:::/Doc/Requirements.DD"$ for supported hardware.
|
||||
|
||||
Two TempleOS partitions are highly recommended, so you can boot to a back-up and fix the primary when you work on it. Odds are, you only need a couple gigabytes for your TempleOS partitions.
|
||||
|
||||
|
||||
+3
-3
@@ -8,7 +8,7 @@ You can create new, independent heaps using $LK,"HeapCtrlInit",A="MN:HeapCtrlIni
|
||||
|
||||
Memory alloced by a task will be freed when the task is killed. The $LK,"Adam Task",A="FF:::/Doc/Glossary.DD,Adam Task"$ is a task that never dies. His memory is like kernel memory in other operating systems. See $LK,"ACAlloc",A="MN:ACAlloc"$(), $LK,"AMAlloc",A="MN:AMAlloc"$(), $LK,"AMAllocIdent",A="MN:AMAllocIdent"$() and $LK,"AStrNew",A="MN:AStrNew"$().
|
||||
|
||||
All of the regular page tables are marked, "cached". When accessing hardware, however, you need uncached page table. The lowest 4Gig addresses have an alias to access hardware located toward the top of mapped space, $FG,2$0x$TX,"01AA000000",D="DD_UNCACHED_ALIAS"$$FG$. See $LK,"dev.uncached_alias",A="FF:::/Kernel/KEnd.HC,dev.uncached_alias"$.
|
||||
All of the regular page tables are marked, "cached". When accessing hardware, however, you need uncached page table. The lowest 4Gig addresses have an alias to access hardware located toward the top of mapped space, $FG,2$0x$TX,"01AA000000",D="DD_UNCACHED_ALIAS"$$FG$. See $LK,"dev.uncached_alias",A="FF:::/Kernel/KMain.HC,dev.uncached_alias"$.
|
||||
|
||||
During an extended powered-on session of TempleOS, in theory, memory will become fragmented, requiring a reboot. It has never happens to me.
|
||||
|
||||
@@ -55,8 +55,8 @@ In 2003, I wanted to make a no-paging ring-0-only 64-bit operating system for su
|
||||
|
||||
I needed VGA A0000-BFFFF memory to be write-through and 0xE0000000-0xFFFFFFFF to be uncached for various devices. All 64-bit computers allow stopping address translation at 2Meg page size, not using 4K. I wanted to use 2Meg for everything because it's faster, with one less level of page tables. I had to make A0000-BFFFF write-through, though, so I could not use 2Meg size on the lowest page. I did the lowest 2Meg area as 4K pages. I also unmapped the first 4K to cause a fault when dereferencing NULL.
|
||||
|
||||
In 2016, I came-up with an alternate idea. I double mapped the lowest memory with an alias that was uncached. Accessing the lowest 2Meg area directly was cached but the alias I created up at the top of address space was uncached. See $LK,"UncachedAliasAlloc",A="MN:UncachedAliasAlloc"$(). Unfortunately, I could no longer boast of the simplicity of identity mapping everything. Since many of my users are familiar with A0000-BFFFF, it is actually pretty seriously unfortunate that they cannot use the easy-to-understand numbers of A0000-BFFFF, but must access the relocated alias location. See $LK,"text.vga_alias",A="FF:::/Kernel/KEnd.HC,text.vga_alias"$. I also no longer cause a fault when dereferencing NULL.
|
||||
In 2016, I came-up with an alternate idea. I double mapped the lowest memory with an alias that was uncached. Accessing the lowest 2Meg area directly was cached but the alias I created up at the top of address space was uncached. See $LK,"UncachedAliasAlloc",A="MN:UncachedAliasAlloc"$(). Unfortunately, I could no longer boast of the simplicity of identity mapping everything. Since many of my users are familiar with A0000-BFFFF, it is actually pretty seriously unfortunate that they cannot use the easy-to-understand numbers of A0000-BFFFF, but must access the relocated alias location. See $LK,"text.vga_alias",A="FF:::/Kernel/KMain.HC,text.vga_alias"$. I also no longer cause a fault when dereferencing NULL.
|
||||
|
||||
Then, I switched to 1Gig page sizes. For the lowest 4Gig, I set-up an alias up at the top of address space. See $LK,"UncachedAliasAlloc",A="MN:UncachedAliasAlloc"$(). Not all computers support 1Gig page tables, however, so I also support 2Meg.
|
||||
|
||||
My original plan was to allow changing the page tables as needed, so I had code for taking control of 2Meg pages and marking them uncached or whatever. When I did a HDAudio driver, I requested some 32-bit address space as uncached. Today, all of the first 4Gig can be accessed without caching at the $LK,"dev.uncached_alias",A="FF:::/Kernel/KEnd.HC,dev.uncached_alias"$.
|
||||
My original plan was to allow changing the page tables as needed, so I had code for taking control of 2Meg pages and marking them uncached or whatever. When I did a HDAudio driver, I requested some 32-bit address space as uncached. Today, all of the first 4Gig can be accessed without caching at the $LK,"dev.uncached_alias",A="FF:::/Kernel/KMain.HC,dev.uncached_alias"$.
|
||||
|
||||
+5
-1
@@ -33,10 +33,14 @@ $FG,2$"%F"$FG$ text file by filename.
|
||||
|
||||
$FG,2$"%$$F"$FG$ $LK,"DolDoc",A="FI:::/Doc/DolDocOverview.DD"$ file in memory.
|
||||
|
||||
$FG,2$"%p"$FG$ ptr.
|
||||
$FG,2$"%p"$FG$ ptr.
|
||||
|
||||
$FG,2$"%,p"$FG$ ptr with no offset.
|
||||
|
||||
$FG,2$"%P"$FG$ link to ptr.
|
||||
|
||||
$FG,2$"%,P"$FG$ link to ptr with no offset.
|
||||
|
||||
$FG,2$"%D"$FG$ date. Pass a $LK,"CDate",A="MN:CDate"$.
|
||||
|
||||
$FG,2$"%T"$FG$ time. Pass a $LK,"CDate",A="MN:CDate"$.
|
||||
|
||||
+3
-1
@@ -39,4 +39,6 @@ To replace ISO9660, make hard-drive partition image of a measured size and copy
|
||||
|
||||
RedSea file system has no bad block table and no redundant allocation table.
|
||||
|
||||
Read $LK,"Block Chain",A="FI:::/Doc/BlkChain.DD"$ for a philosophical explaination of RedSea reasoning.
|
||||
See $LK,"Block Chain",A="FI:::/Doc/BlkChain.DD"$ for RedSea allocation bitmap discussion.
|
||||
|
||||
See $LK,"Reliability",A="FI:::/Doc/Reliability.DD"$ for RedSea reliability discussion.
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ $FG,5$Supported Hardware$FG$
|
||||
|
||||
* Internal PC Speakers.
|
||||
|
||||
* CD/DVD-ROMs (not SCSI). ISO9660 file system.
|
||||
* CD/DVD-ROMs (not SCSI) but only RedSea file system.
|
||||
|
||||
* ATA and SATA hard drives.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$WW,1$$FG,5$$TX+CX,"The Standard TempleOS PC",HTML="http://www.templeos.org/Wb/Home/Web/TAD/TAD.html"$$FG$
|
||||
$WW,1$$FG,5$$TX+CX,"The Standard TempleOS PC"$$FG$
|
||||
|
||||
All desktop PCs will have 8-channel OCTART super-simple high speed serial ports to replace USB. They are simpler because the driver is as simple as old school $LK,"RS232 Serial",A="FI:::/Doc/Comm.HC"$, they have no USB end-points and they have no USB human interface device reports. Computer mice will all have exactly two bttns and one wheel. Game controllers will all be the standard deluxe $TX,"game console controllers",HTML="http://www.gamestop.com/pc/accessories/steam-controller/121865"$ that are popular today. It will have 8 big TX and 8 big RX fifos that allow flow control characters to jump the queue. It should be locked-down to as few options as possible, like 8-1-N only, although hardware may use a USB frame, not an RS232, so stop bits might not be relevant. Perhaps, just two baud rates -- high and low speed are needed. Low speed is good for slow microcontrollers and allows longer cable length. Keyboard, mouse and game controller can be low speed.
|
||||
|
||||
@@ -58,7 +58,7 @@ We will make a spec for a $$8,000, perfectly standardized, cryogenically-cooled,
|
||||
|
||||
The Standard Temple IBM PC will be a full-sized tower. Perhaps, stain-glass will decorate the case because God is sentimentally attached to stained-glass. We should set the size at exactly 2.5 feet by 1.5 feet by 1.5 feet as in the $LK,"Exodus,25:10-10",A="BF:Exodus,25:10-10"$ for all time. If there is extra room, make a storage shelf for DVDs. We do not want a race-to-the-bottom, shrinking the size. Instead of making it smaller, make it more powerful. We want to remove all cost pressure from making things small. It must have a CD/DVD/Blu-ray drive. The vision is CD/DVDs used for a library of games, not installed on the hard-drive. We need a network connection, possibly implemented as a super-simple high speed serial device. What about standard monitor and speakers? The C64's success was partially due to wide spread, completely standard, hardware. I think TempleOS will not do bad block devices, so we need a hard drive, not just NV-memory or SSD.
|
||||
|
||||
TempleOS will have the priority over Windows or Linux on hardware decisions. We could make it heterogenious multicore. I think we want 16 non-hyperthreaded cores. Core#0 is the only full-featured core needed. The other cores will have long mode, but not some of these: real mode, protected mode, ring-3, paging, interrupts, in/out port instructions, SSE instructions, MMX instructions. This $LK,"Graphics Job",A="FI:~/Web/TAD/GraphicsPerformance.DD"$ is what to optimize for.
|
||||
TempleOS will have the priority over Windows or Linux on hardware decisions. We could make it heterogenious multicore. I think we want 16 non-hyperthreaded cores. Core#0 is the only full-featured core needed. The other cores will have long mode, but not some of these: real mode, protected mode, ring-3, paging, interrupts, in/out port instructions, SSE instructions, MMX instructions.
|
||||
|
||||
God said Intel should do a simulation of heat produced by gates and try spreading-out the heat producing gate circuits on the chip.
|
||||
|
||||
|
||||
+3
-3
@@ -73,7 +73,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes.
|
||||
|
||||
* Use $FG,2$<CTRL-ALT-s>$FG$ will capture the scrn as a sprite on the clip. You can save the cmd line doc as text with $FG,2$<CTRL-a>$FG$.
|
||||
|
||||
* You can save a sprite as a $FG,2$.BMP$FG$ file in $FG,2$<CTRL-r>$FG$ on the Sprite BitMap Menu.
|
||||
* You can save a sprite as a $FG,2$.GR$FG$ file in $FG,2$<CTRL-r>$FG$ on the Sprite BitMap Menu.
|
||||
|
||||
* You can eye-dropper colors in the $FG,2$<CTRL-r>$FG$ sprite editor by pressing $FG,2$'c'$FG$. Press $FG,2$'t'$FG$ for transparent.
|
||||
|
||||
@@ -85,7 +85,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes.
|
||||
|
||||
* When using $FG,2$<CTRL-l>$FG$ to insert links in documents, you can usually leave the $FG,2$Tag Text$FG$ blank and it will be filled-in automatically based on other entries.
|
||||
|
||||
* There is a feature of the precompiler that allows code to be executed in the middle of compilation and data inserted into the compilation stream. Click here for an example: $LK,"#exe {",A="FF:::/Kernel/KEnd.HC,#exe {"$.
|
||||
* There is a feature of the precompiler that allows code to be executed in the middle of compilation and data inserted into the compilation stream. Click here for an example: $LK,"#exe {",A="FF:::/Kernel/KMain.HC,#exe {"$.
|
||||
|
||||
* If you output to the cmd line and wish to allow users to scroll around and view data, you can use $LK,"View",A="MN:View"$().
|
||||
|
||||
@@ -131,7 +131,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes.
|
||||
|
||||
* For advanced heap debugging, play with $LK,"_CFG_HEAP_DBG",A="MN:_CFG_HEAP_DBG"$. You're on your own.
|
||||
|
||||
* You can use $LK,"Type",A="MN:Type"$() to display $FG,2$.BMP$FG$ or $FG,2$.GR$FG$ files.
|
||||
* You can use $LK,"Type",A="MN:Type"$() to display $FG,2$.GR$FG$ files.
|
||||
|
||||
* Use $LK,"Man",A="MN:Man"$() to jump to short sym name src code.
|
||||
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ $ID,2$* Professionals doing hobby projects
|
||||
* Teenagers doing projects
|
||||
* Non-professional, older-persons projects
|
||||
$ID,-2$
|
||||
Simplicity is a goal to $LK,"keep the line count down",A="FI:::/Doc/Strategy.DD"$, so it's easy to tinker with. As it turns-out, simplicity makes it faster in some ways, too. It never switches privilege levels, never changes address maps, tends to load whole contiguous files and other, similar things which boost speed. It's only $TX,"81,223",D="DD_TEMPLEOS_LOC_OFFICIAL"$ lines of code including the kernel, the 64-bit compiler, the graphics library and all the tools. More importantly, it's designed to keep the user's line count down -- you can do a $LK,"Hello World",A="FI:::/Doc/HelloWorld.DD"$ application in one line of code and can put graphics on the scrn with a three line program!
|
||||
Simplicity is a goal to $LK,"keep the line count down",A="FI:::/Doc/Strategy.DD"$, so it's easy to tinker with. As it turns-out, simplicity makes it faster in some ways, too. It never switches privilege levels, never changes address maps, tends to load whole contiguous files and other, similar things which boost speed. It's only $TX,"82,150",D="DD_TEMPLEOS_LOC"$ lines of code including the kernel, the 64-bit compiler, the graphics library and all the tools. More importantly, it's designed to keep the user's line count down -- you can do a $LK,"Hello World",A="FI:::/Doc/HelloWorld.DD"$ application in one line of code and can put graphics on the scrn with a three line program!
|
||||
|
||||
It's a kayak, not a Titanic -- it will crash if you do something wrong. You quickly reboot, however. DOS and the 8-bit home computers of the 80's worked fine without memory protection and most computers in the world -- the embedded ones -- operate without protection. The resulting simplicity of no protections is why TempleOS has value. In facts, that's the point of TempleOS. See the $LK,"TempleOS Charter",A="FI:::/Doc/Charter.DD"$.
|
||||
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ I have made an incredible accomplishment by getting it to work on practically ev
|
||||
|
||||
Adding a USB driver would be really ugly with UHCI, EHCI, OHCI, USB1, USB2, USB3, ICH6, ICH7, ICH8, ICH9, ICH10, ICH11, ICH12, boot mode and regular mode for keyboard/mouse and a diversity of HID reports. It's hopeless. I could never offer anything but crappy, limited support and it would just add a ton of crappy code that mostly didn't work. What would I gain? Nothing. A keyboard or mouse would not be improved. Solid State USB drives would be really nice, but it's not going to happen.
|
||||
|
||||
The same story is basically true for GPUs, audio, networking and AHCI hard drive drivers. God said 640x480 16 color was a covenant like circumcision, so the video will never change, even if a $LK,"Standard PC",A="FI:::/Doc/StdTempleOSPC.DD"$ was made. If you attempt multimedia, everything will break because memory will get fragmented with huge multimedia files. Some day, if super-simple high speed serial allows networking, there will be no browser within the 100,000 line limit and, with only 16 colors, the world wide web is not tolerable. FTP and telnet might be possible, in the far distant future, if they could fit within the 100,000 line limit. Currently, there are $TX,"81,223",D="DD_TEMPLEOS_LOC_OFFICIAL"$ lines of code.
|
||||
The same story is basically true for GPUs, audio, networking and AHCI hard drive drivers. God said 640x480 16 color was a covenant like circumcision, so the video will never change, even if a $LK,"Standard PC",A="FI:::/Doc/StdTempleOSPC.DD"$ was made. If you attempt multimedia, everything will break because memory will get fragmented with huge multimedia files. Some day, if super-simple high speed serial allows networking, there will be no browser within the 100,000 line limit and, with only 16 colors, the world wide web is not tolerable. FTP and telnet might be possible, in the far distant future, if they could fit within the 100,000 line limit. Currently, there are $TX,"82,150",D="DD_TEMPLEOS_LOC"$ lines of code.
|
||||
|
||||
I don't stand a chance working on native hardware, anymore. I could install and run natively on hardware from about 2005-2010. It requires BIOS's being nice enough to write USB mode PS/2 legacy keyboard/mouse support. As it turns-out, sometimes the BIOS has PS/2 drivers but purposely disables them, just to be mean. The CIA and whole industry is trying to mess everything up, on purpose. Perhaps, at a point of sale in a store, a thief could hack a credit card machine. Therefore, the BIOS companies actually want it difficult to make drivers and purposely make it broken.
|
||||
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ $FG,5$Tree$FG$ The item will behave like a tree widget, with this as the root.
|
||||
$FG,5$Collapsed$FG$ The tree or hidden widget will begin collapsed.
|
||||
$FG,5$Define Str$FG$ will substitute a $FG,2$#define$FG$ or $LK,"DefineLoad",A="MN:DefineLoad"$() string for the tag.
|
||||
|
||||
$FG,5$Quote$FG$ Make the res suitable for including in a program, in quotes, especially $FG,2$fmtstr$FG$ entries in class definitions.
|
||||
$FG,5$Quote$FG$ Make the res suitable for including in a program, in quotes, especially $FG,2$format$FG$ entries in class definitions.
|
||||
|
||||
$FG,5$X Expression$FG$ For cursor movements, the horizontal value.
|
||||
$FG,5$Y Expression$FG$ For cursor movements, the vertical value.
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
//ISO1 is ISO9660
|
||||
//ISO2 is ISO13490
|
||||
//ISO3 is ISO13346
|
||||
|
||||
Bool ISOInit(CDrv *dv,I64 blk)
|
||||
{
|
||||
CBlkDev *bd=dv->bd;
|
||||
I64 spc=bd->blk_size>>BLK_SIZE_BITS,i=blk/spc,drv_offset=0;
|
||||
CISO1PriDesc *iso=MAlloc(bd->blk_size);
|
||||
CISO1DirEntry *de;
|
||||
CISOPriDesc *iso=MAlloc(bd->blk_size);
|
||||
CISODirEntry *de;
|
||||
Bool unlock,res=FALSE;
|
||||
U8 buf[8];
|
||||
|
||||
@@ -25,10 +21,10 @@ Bool ISOInit(CDrv *dv,I64 blk)
|
||||
LMF_EXACT)) {
|
||||
case 0:
|
||||
switch (iso->type) {
|
||||
case ISO1T_BOOT_RECORD:
|
||||
case ISOT_BOOT_RECORD:
|
||||
drv_offset+=(2*DVD_BLK_SIZE+DVD_BLK_SIZE)/BLK_SIZE;
|
||||
break;
|
||||
case ISO1T_SUPPLEMENTARY_DESC:
|
||||
case ISOT_SUPPLEMENTARY_DESC:
|
||||
de=&iso->root_dir_record;
|
||||
dv->size=iso->vol_space_size.little*bd->blk_size>>BLK_SIZE_BITS;
|
||||
if (!StrCmp(iso->publisher_id,"TempleOS RedSea")) {
|
||||
@@ -41,11 +37,11 @@ Bool ISOInit(CDrv *dv,I64 blk)
|
||||
dv->root_clus=de->loc.little;
|
||||
res=TRUE;
|
||||
goto di_done;
|
||||
case ISO1T_TERMINATOR:
|
||||
case ISOT_TERMINATOR:
|
||||
throw('Drv');
|
||||
}
|
||||
break;
|
||||
default: //Its normal for ISO13346 to read NULL blk as terminator
|
||||
default: //Its normal for ISO3346 to read NULL blk as terminator
|
||||
PrintErr("File System Not Supported\n");
|
||||
throw('Drv');
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ I64 ClusNumNext(CDrv *dv,I64 c,I64 cnt=1)
|
||||
try {
|
||||
unlock=DrvLock(dv);
|
||||
switch (dv->fs_type) {
|
||||
case FSt_ISO9660:
|
||||
case FSt_REDSEA:
|
||||
c+=cnt;
|
||||
break;
|
||||
@@ -35,7 +34,6 @@ I64 Clus2Blk(CDrv *dv,I64 c)
|
||||
switch (dv->fs_type) {
|
||||
case FSt_REDSEA:
|
||||
return c;
|
||||
case FSt_ISO9660:
|
||||
case FSt_FAT32:
|
||||
return dv->data_area+c*dv->spc;
|
||||
default:
|
||||
@@ -52,10 +50,6 @@ I64 ClusBlkRead(CDrv *dv,U8 *buf,I64 c,I64 blks)
|
||||
try {
|
||||
unlock=DrvLock(dv);
|
||||
switch (dv->fs_type) {
|
||||
case FSt_ISO9660:
|
||||
BlkRead(dv,buf,dv->data_area+c*dv->spc,blks);
|
||||
c+=(blks+dv->spc-1)/dv->spc;
|
||||
break;
|
||||
case FSt_REDSEA:
|
||||
BlkRead(dv,buf,c,blks);
|
||||
c+=blks;
|
||||
|
||||
@@ -13,9 +13,9 @@ Bool CopySingleZ(U8 *f1,U8 *f2) //Just one file
|
||||
Free(file_buf);
|
||||
return ToBool(c);
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",f1);
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",f1);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -71,10 +71,10 @@ Bool CopySingle(U8 *f1,U8 *f2) //Just one file
|
||||
Free(buf);
|
||||
return TRUE;
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",f2);
|
||||
FClose(in_file);
|
||||
} else
|
||||
PrintErr("File not found.\n");
|
||||
PrintErr("File not found: \"%s\".\n",f1);
|
||||
Free(buf);
|
||||
return FALSE;
|
||||
}
|
||||
@@ -94,9 +94,6 @@ I64 Del(U8 *files_find_mask,Bool make_mask=FALSE,
|
||||
res=FAT32FilesDel(dirc->dv,Fs->cur_dir,dirc->mask,
|
||||
0,del_dir,print_msg);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
PrintErr("Not Writable\n");
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
|
||||
@@ -5,9 +5,6 @@ Bool DirNew(CDrv *dv,U8 *cur_dir,CDirEntry *tmpde,Bool free_old_chain=TRUE)
|
||||
return RedSeaDirNew(dv,cur_dir,tmpde,free_old_chain);
|
||||
case FSt_FAT32:
|
||||
return FAT32DirNew(dv,cur_dir,tmpde,free_old_chain);
|
||||
case FSt_ISO9660:
|
||||
PrintErr("Not Writable\n");
|
||||
return FALSE;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
return FALSE;
|
||||
|
||||
@@ -60,9 +60,6 @@ Bool Cd(U8 *dirname=NULL,Bool make_dirs=FALSE)
|
||||
case FSt_FAT32:
|
||||
res=FAT32Cd(buf,cur_dir_clus);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
res=ISO1Cd(buf,cur_dir_clus);
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
res=FALSE;
|
||||
@@ -173,7 +170,7 @@ Bool DirMk(U8 *filename,I64 entry_cnt=0)
|
||||
if (dirc=DirContextNew(filename)) {
|
||||
if (*dirc->mask) {
|
||||
if (!FileNameChk(dirc->mask))
|
||||
PrintErr("Invalid FileName.\n");
|
||||
PrintErr("Invalid FileName: \"%s\".\n",dirc->mask);
|
||||
else {
|
||||
"Make Directory:%s\n",filename;
|
||||
name=MStrUtil(dirc->mask,
|
||||
@@ -185,9 +182,6 @@ Bool DirMk(U8 *filename,I64 entry_cnt=0)
|
||||
case FSt_FAT32:
|
||||
res=FAT32MkDir(dirc->dv,Fs->cur_dir,name,entry_cnt);
|
||||
break;
|
||||
case FSt_ISO9660:
|
||||
PrintErr("Not Writable\n");
|
||||
break;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
}
|
||||
|
||||
@@ -278,7 +278,6 @@ Bool Drv(U8 drv_let)
|
||||
switch (dv->fs_type) {
|
||||
case FSt_REDSEA:
|
||||
case FSt_FAT32:
|
||||
case FSt_ISO9660:
|
||||
return TRUE;
|
||||
default:
|
||||
PrintErr("File System Not Supported\n");
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user