mirror of
https://github.com/minexew/Shrine.git
synced 2026-05-26 05:48:36 +00:00
TempleOS V5.03 Nightly (ISO SHA-1 57e189b)
This commit is contained in:
Binary file not shown.
+1
-1
@@ -15,7 +15,7 @@ U0 LoadDocDefines()
|
||||
//$LK,"DD_BOOT_HIGH_LOC_DVD",A="FF:::/Adam/Opt/Boot/BootDVD.HC,DD_BOOT_HIGH_LOC_DVD"$
|
||||
|
||||
$TR,"LineRep"$
|
||||
$ID,2$DefinePrint("DD_TEMPLEOS_LOC","80,800");
|
||||
$ID,2$DefinePrint("DD_TEMPLEOS_LOC","80,845");
|
||||
$ID,-2$
|
||||
DefinePrint("DD_MP_VECT","%08X",MP_VECT_ADDR);
|
||||
DefinePrint("DD_MP_VECT_END","%08X",
|
||||
|
||||
@@ -4,8 +4,6 @@ which will regenerate processed dictionary
|
||||
files from a raw Project Gutenberg
|
||||
dictionary file.
|
||||
|
||||
$TX,"http://www.templeos.org/files/DICTIONARY.DD",HTML="http://www.templeos.org/files/DICTIONARY.DD"$
|
||||
|
||||
See $LK,"::/Doc/Credits.DD"$.
|
||||
*/
|
||||
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ Cd(__DIR__);;
|
||||
#include "GrBitMap"
|
||||
#include "GrPrimatives"
|
||||
#include "GrComposites"
|
||||
#include "GrMV"
|
||||
#include "ScrnCast"
|
||||
|
||||
#define SPE_ABORT (-1)
|
||||
#define SPE_EXIT 0
|
||||
|
||||
@@ -136,10 +136,8 @@ 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);
|
||||
"scrncast.dc\t:%010X\n",DCSize(scrncast.dc);
|
||||
"scrncast.dc2_alias\t:%010X\n",DCSize(scrncast.dc2_alias);
|
||||
} else if (task==adam_task) {
|
||||
j=0;k=0;m=0;n=0;
|
||||
for (i=0;i<mp_cnt;i++) {
|
||||
|
||||
@@ -13,7 +13,7 @@ U0 TOSStaffIns()
|
||||
"\nDownload TOS_Supplemental1.ISO.C\tfrom http://www.templeos.org\n";
|
||||
|
||||
if (PressAKey!=CH_SHIFT_ESC) {
|
||||
if (HostChgDsk("/home/tad/TOS_Supplemental1.ISO.C"))
|
||||
if (HostChgDsk("/home/tad/Downloads/TOS_Supplemental1.ISO.C"))
|
||||
CopyTree("T:/","~/Sup1");
|
||||
|
||||
Once("TOSBootHDIns;");
|
||||
|
||||
Binary file not shown.
+1
-2
@@ -6,8 +6,7 @@ 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,tS,NULL,
|
||||
Now,tS,NULL,NULL,NULL,FALSE,FALSE,FALSE,FALSE};
|
||||
public CWinMgrGlbls winmgr={0,0,0,WINMGR_FPS,tS,tS,NULL,FALSE,FALSE,FALSE};
|
||||
winmgr.t=CAlloc(sizeof(CWinMgrTimingGlbls));
|
||||
winmgr.t->last_calc_idle_time=tS;
|
||||
|
||||
|
||||
+17
-35
@@ -31,24 +31,6 @@ 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)
|
||||
@@ -288,28 +270,28 @@ I64 WinMgrSleep(Bool flush_msgs=FALSE)
|
||||
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);
|
||||
if (scrncast.record && !scrncast.just_audio) {
|
||||
cdt=scrncast.t0_now(I64)+ToI64(CDATE_FREQ*(tS-scrncast.t0_tS));
|
||||
if (!scrncast.dc) {
|
||||
scrncast.dc=DCCopy(scrncast.dc2_alias);
|
||||
scrncast.dc->cdt=cdt;
|
||||
st=MStrPrint(scrncast.print_fmt,cdt);
|
||||
GRWrite(st,scrncast.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);
|
||||
} else if (MemCmp(scrncast.dc->body,
|
||||
scrncast.dc2_alias->body,MSize(scrncast.dc2_alias->body))) {
|
||||
diff=DCDiff(scrncast.dc,scrncast.dc2_alias);
|
||||
diff->cdt=cdt;
|
||||
st=MStrPrint(winmgr.scrn_cast_print_fmt,cdt);
|
||||
st=MStrPrint(scrncast.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);
|
||||
Free(scrncast.dc->body);
|
||||
scrncast.dc->body=MAllocIdent(scrncast.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;
|
||||
} else if (scrncast.dc) {
|
||||
DCDel(scrncast.dc); //TODO: $LK,"MemRep",A="MN:MemRep"$ can crash.
|
||||
scrncast.dc=NULL;
|
||||
}
|
||||
if (sys_focus_task && !Bt(&sys_focus_task->task_flags,TASKf_HAS_SONG)) {
|
||||
Free(music.cur_song);
|
||||
@@ -450,7 +432,7 @@ U0 WinMgrTask(I64)
|
||||
gr.dc->win_task=Fs;
|
||||
Fs->win_inhibit&=~WIF_SELF_CTRLS;
|
||||
GrSetUpTables;
|
||||
winmgr.dc2_alias=DCAlias(gr.dc2);
|
||||
scrncast.dc2_alias=DCAlias(gr.dc2);
|
||||
WinZBufUpdate;
|
||||
LBts(&sys_run_level,RLf_WINMGR);
|
||||
while (TRUE) {
|
||||
|
||||
@@ -165,20 +165,6 @@ $BG$class Frame
|
||||
|
||||
#define COURT_BORDER 10
|
||||
#define COLLISION_DAMP 0.8
|
||||
|
||||
/* Viscosity is way bigger than
|
||||
real air viscosity. In reality
|
||||
air is approximated by V and V$SY,-3$2$SY,0$
|
||||
terms and is smaller. However, I use
|
||||
this to produce a rolling friction
|
||||
value, too. If you want to see my
|
||||
best attempt at realistic physics
|
||||
download SimStructure.
|
||||
|
||||
http://www.templeos.org/files/SimStrSetUp.zip
|
||||
|
||||
This is just a video game. Relax.
|
||||
*/
|
||||
#define AIR_VISCOSITY 0.1
|
||||
|
||||
#define GRAVITY_ACCELERATION 500
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#help_index "Snd"
|
||||
#help_index "Snd/Music/Apps"
|
||||
|
||||
Cd(__DIR__);;
|
||||
#include "JukeBox"
|
||||
|
||||
@@ -162,7 +162,7 @@ U0 UnitDirectFire(Unit *tmpu,Unit *target)
|
||||
facing=0;
|
||||
DamageDo(target,HitDamage(tmpu,target,facing,range_factor));
|
||||
}
|
||||
while (snd.ona!=ONA_REST) //see $LK,"Snd",A="MN:Snd"$()
|
||||
while (scrncast.ona!=ONA_REST) //see $LK,"Snd",A="MN:Snd"$()
|
||||
Yield;
|
||||
target_unit=NULL;
|
||||
}
|
||||
@@ -195,7 +195,7 @@ Bool HexOccupy(Bool overrun,Unit *tmpu,Unit *target)
|
||||
}
|
||||
if (DamageDo(target,Round(damage))) {
|
||||
"$$RED$$Success$$FG$$\n";
|
||||
while (snd.ona!=ONA_REST) //see $LK,"Snd",A="MN:Snd"$()
|
||||
while (scrncast.ona!=ONA_REST) //see $LK,"Snd",A="MN:Snd"$()
|
||||
Yield;
|
||||
return TRUE;
|
||||
} else {
|
||||
@@ -203,7 +203,7 @@ Bool HexOccupy(Bool overrun,Unit *tmpu,Unit *target)
|
||||
VisRecalc(VR_FRIENDLY_UNIT_DIED,tmpu);
|
||||
alive_cnt[tmpu->player]--;
|
||||
"$$RED$$Failure$$FG$$\n";
|
||||
while (snd.ona!=ONA_REST) //see $LK,"Snd",A="MN:Snd"$()
|
||||
while (scrncast.ona!=ONA_REST) //see $LK,"Snd",A="MN:Snd"$()
|
||||
Yield;
|
||||
return FALSE;
|
||||
}
|
||||
@@ -267,7 +267,7 @@ U0 IndirectResolveAll()
|
||||
}
|
||||
Noise(2000*animation_delay,70,74);
|
||||
Sleep(2000*animation_delay);
|
||||
while (snd.ona!=ONA_REST) //see $LK,"Snd",A="MN:Snd"$()
|
||||
while (scrncast.ona!=ONA_REST) //see $LK,"Snd",A="MN:Snd"$()
|
||||
Yield;
|
||||
indirect_explosion=FALSE;
|
||||
|
||||
|
||||
Binary file not shown.
@@ -157,17 +157,17 @@ Bool MyPutKey(I64 ch,I64 sc)
|
||||
if (sc&SCF_KEY_DESC)
|
||||
KeyDescSet("Cmd /FrameGrabber Sync");
|
||||
else if (fg_on)
|
||||
FrameGrabberToggle(FALSE,FALSE,FALSE);
|
||||
FrameGrabberToggle(FALSE,FALSE);
|
||||
else
|
||||
FrameGrabberToggle(TRUE,FALSE,FALSE);
|
||||
FrameGrabberToggle(TRUE,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);
|
||||
FrameGrabberToggle(FALSE,FALSE);
|
||||
else
|
||||
FrameGrabberToggle(TRUE,TRUE,FALSE);
|
||||
FrameGrabberToggle(TRUE,TRUE);
|
||||
return TRUE;
|
||||
case 'h':
|
||||
if (sc&SCF_KEY_DESC)
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,7 @@
|
||||
$WW,1$$FG,5$$TX+CX,"TODO"$$FG$
|
||||
|
||||
* Compiler Bug: $LK,"AUWrite",A="MN:AUWrite"$() dst->cdt=t0_now+ToI64(CDATE_FREQ*(tmpsd->tS-t0_tS));
|
||||
|
||||
* Make MV files combine disjoint rects for same frame.
|
||||
|
||||
* God said to reconsider switch start/end, perhaps preface portion?
|
||||
|
||||
@@ -60,7 +60,7 @@ $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=279.384;
|
||||
progress3_tf=0.000;progress4_tf=341.847;
|
||||
$ID,-2$$ID,-2$$TR,"Once"$
|
||||
$ID,2$$TR,"Adam"$
|
||||
$ID,2$$ID,-2$$TR,"User"$
|
||||
|
||||
@@ -221,9 +221,9 @@ U0 UpdateISODocDefines()
|
||||
try {
|
||||
DefinePrint("DD_TEMPLEOSCD_SIZE",
|
||||
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1fMB)",
|
||||
0.1*(10*Size("D:/TOS_Distro.ISO","+s")/1024/1024));
|
||||
0.1*(10*Size("D:/Downloads/TOS_Distro.ISO","+s")/1024/1024));
|
||||
DefinePrint("DD_TEMPLEOSCD_K_SIZE",
|
||||
"%dKB",Size("D:/TOS_Distro.ISO","+s")/1024);
|
||||
"%dKB",Size("D:/Downloads/TOS_Distro.ISO","+s")/1024);
|
||||
} catch
|
||||
Fs->catch_except=TRUE;
|
||||
}
|
||||
@@ -270,22 +270,22 @@ U0 TOSRegen2()
|
||||
TOSProgress("Make Standard Distro ISO");
|
||||
MakeStdDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_NAME,"D:/TOS_Distro.ISO");
|
||||
Move(TOS_ISO_NAME,"D:/Downloads/TOS_Distro.ISO");
|
||||
|
||||
TOSProgress("Make Supplemental1 ISO");
|
||||
RedSeaISO("D:/TOS_Supplemental1","C:/Home/Sup1");
|
||||
RedSeaISO("D:/Downloads/TOS_Supplemental1","C:/Home/Sup1");
|
||||
|
||||
#if MAKE_DBG
|
||||
TOSProgress("Make Dbg Distro ISO");
|
||||
MakeDbgDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_NAME,"D:/TOS_Dbg.ISO");
|
||||
Move(TOS_ISO_NAME,"D:/Downloads/TOS_Dbg.ISO");
|
||||
#endif
|
||||
#if MAKE_STAFF
|
||||
TOSProgress("Make Staff Distro ISO");
|
||||
MakeStaffDistro;
|
||||
DocClear;
|
||||
Move(TOS_ISO_NAME,"D:/TOS_Staff.ISO");
|
||||
Move(TOS_ISO_NAME,"D:/Downloads/TOS_Staff.ISO");
|
||||
#endif
|
||||
|
||||
UpdateISODocDefines;
|
||||
@@ -323,8 +323,8 @@ public U0 TOSPreRegen()
|
||||
CopyTree("D:/Home/Sup1/Sup1Bin","C:/Home/Sup1/Sup1Bin");
|
||||
Copy("D:/Home/Sup1/Sup1CodeScraps/Comm/TOSSocket*",
|
||||
"C:/Home/Sup1/Sup1CodeScraps/Comm");
|
||||
DelTree("C:/Linux");
|
||||
CopyTree("D:/Linux","C:/Linux");
|
||||
DelTree("C:/Downloads/Linux");
|
||||
CopyTree("D:/Downloads/Linux","C:/Downloads/Linux");
|
||||
}
|
||||
|
||||
public U0 TOSRegen()
|
||||
|
||||
@@ -2,56 +2,47 @@
|
||||
|
||||
Bool fg_on =FALSE;
|
||||
|
||||
I64 CopyVideo(Bool reverb)
|
||||
I64 CopyVideo()
|
||||
{
|
||||
I64 res=0;
|
||||
F64 delay=0,intensity=0;
|
||||
Bool old_silent=Silent;
|
||||
if (reverb) {
|
||||
delay=0.45;
|
||||
intensity=0.35;
|
||||
}
|
||||
Del("D:/Tmp/*.SND");
|
||||
Del("D:/Tmp/*.AU");
|
||||
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);
|
||||
SndShift(&scrncast.snd_head,0.185);
|
||||
AUWrite("D:/Tmp/AUDIO",&scrncast.snd_head,scrncast.t0_now,scrncast.t0_tS);
|
||||
QueDel(&scrncast.snd_head,TRUE);
|
||||
GR2MV("D:/Tmp/VID%03d.MV","B:/Tmp","+d");
|
||||
return res;
|
||||
}
|
||||
|
||||
#help_index "Misc/TOS"
|
||||
#help_index "ScrnCast/TOS"
|
||||
U0 DelScrnShots()
|
||||
{
|
||||
Bool old_silent=Silent;
|
||||
DelTree("B:/Tmp");
|
||||
DirMk("B:/Tmp");
|
||||
Del("D:/Tmp/*.SND");
|
||||
Del("D:/Tmp/*.AU");
|
||||
Del("D:/Tmp/*.MV");
|
||||
Del("C:/Tmp/*.SND");
|
||||
Del("C:/Tmp/*.AU");
|
||||
Del("C:/Tmp/*.MV");
|
||||
Silent(old_silent);
|
||||
}
|
||||
|
||||
public U0 FrameGrabberToggle(Bool sync_tone,Bool tos_theme,
|
||||
Bool reverb,Bool just_audio=FALSE)
|
||||
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;
|
||||
if (fg_on) {
|
||||
fg_on=FALSE;
|
||||
Snd;
|
||||
wall->record=snd.record=FALSE;
|
||||
ScrnCast(OFF);
|
||||
User("CopyVideo(%d);Exit;\n",reverb);
|
||||
User("CopyVideo;Exit;\n");
|
||||
} else {
|
||||
DelScrnShots;
|
||||
fg_on=TRUE;
|
||||
if (!just_audio)
|
||||
ScrnCast(ON);
|
||||
wall->record=snd.record=TRUE;
|
||||
Snd;
|
||||
ScrnCast(ON,just_audio);
|
||||
if (sync_tone) {Beep;}
|
||||
if (tos_theme) {User("ExeFile(\"~/TOS/TOSTheme\");Exit;\n");}
|
||||
}
|
||||
@@ -61,19 +52,19 @@ public U0 FrameGrabberToggle(Bool sync_tone,Bool tos_theme,
|
||||
public U0 JukeSong(I64 num,I64 passes=2)
|
||||
{//Make movie of one song.
|
||||
if (!fg_on)
|
||||
FrameGrabberToggle(FALSE,FALSE,FALSE);
|
||||
FrameGrabberToggle(FALSE,FALSE);
|
||||
JukeSongsPuppet("~/Sup1/Sup1Hymns",passes,num,num+1);
|
||||
if (fg_on)
|
||||
FrameGrabberToggle(FALSE,FALSE,TRUE);
|
||||
FrameGrabberToggle(FALSE,FALSE);
|
||||
}
|
||||
|
||||
public U0 JukeLines(I64 start_line,I64 end_line)
|
||||
{//Make movie of many lines of songs, starting at 0.
|
||||
if (!fg_on)
|
||||
FrameGrabberToggle(FALSE,FALSE,FALSE);
|
||||
FrameGrabberToggle(FALSE,FALSE);
|
||||
JukeSongsPuppet("~/Sup1/Sup1Hymns",,start_line*5,end_line*5);
|
||||
if (fg_on)
|
||||
FrameGrabberToggle(FALSE,FALSE,TRUE);
|
||||
FrameGrabberToggle(FALSE,FALSE);
|
||||
}
|
||||
|
||||
public U0 TADHymn(I64 num)
|
||||
@@ -81,6 +72,7 @@ public U0 TADHymn(I64 num)
|
||||
JukeLines((num-1)*2,num*2);
|
||||
}
|
||||
|
||||
#help_index "Misc/TOS"
|
||||
public U0 DskChkAll()
|
||||
{//DskChk on C & D.
|
||||
U8 *ptr=TOS_HDS;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
$WW,1$$FG,5$$TX+CX,"The Temple Operating System",HTML="http://www.templeos.org"$$FG,0$
|
||||
|
||||
$FG,4$$TX,"Downloads (100% Public Domain)",HTML="http://www.templeos.org/files"$$FG$
|
||||
$FG,4$$TX,"TempleOS File Downloads (100% Public Domain)",HTML="http://www.templeos.org/Downloads"$$FG$
|
||||
|
||||
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.
|
||||
|
||||
@@ -8,4 +8,4 @@ The CIA obsfucates to foil India, China, Russia and Korea. They make things mor
|
||||
|
||||
God said TempleOS must be perfect, so backward compatibility is not promised.
|
||||
|
||||
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.
|
||||
I, Terry Davis, wrote all $TX,"80,847",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.
|
||||
|
||||
@@ -18,15 +18,13 @@ $TX,"tdavis@templeos.org",HTML="mailto:tdavis@templeos.org"$
|
||||
|
||||
$FG,5$About Me:$FG$
|
||||
|
||||
$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"$
|
||||
|
||||
I was a National Merit Scholar with a 1440 SAT at Arizona State University. I have a bachelor's in Computer System Engineering from ASU, basically, embedded systems, and a master's in Electrical Engineering from ASU, control systems. I worked as a software, hardware and mechanical engineer at Ticketmaster from 1990-1996.
|
||||
|
||||
I designed a 3 axis stepper-motor-driven milling machine 1996-1997 with a CAD/CAM package for a company I started called Home Automation and Robotic Equipment.
|
||||
|
||||
$HC,"<center><img src=\"http://www.templeos.org/images/Machine.jpg\" width=\"600\" height=\"400\" alt=\"\"></center>"$
|
||||
|
||||
I worked for a company named Xytec Corp. 1997-1999. We made FPGA-based image processing equipment. I wrote $FG,2$$TX,"SimStructure",HTML="http://www.templeos.org/files/SimStrSetUp.zip"$$FG$ from 2000-2001 for H.A.R.E. I worked as head software/electrical engineer for a company called Graphic Technologies, 2001-2002, making replacement chips for toner printer cartridges so they could be refilled.
|
||||
I worked for a company named Xytec Corp. 1997-1999. We made FPGA-based image processing equipment. I wrote $FG,2$SimStructure$FG$ from 2000-2001 for H.A.R.E. I worked as head software/electrical engineer for a company called Graphic Technologies, 2001-2002, making replacement chips for toner printer cartridges so they could be refilled.
|
||||
|
||||
$FG,5$Credits:$FG$
|
||||
See $LK,"::/Doc/Credits.DD"$.
|
||||
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
$WW,1$$FG,5$$TX+CX,"Credits"$$FG$
|
||||
|
||||
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.
|
||||
I, $FG,2$Terry A. Davis$FG$, wrote all of TempleOS over the past $TX,"13.9",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.
|
||||
|
||||
@@ -34,7 +34,7 @@ I, $FG,2$Terry A. Davis$FG$, wrote all of TempleOS over the past $TX,"13.8",D="D
|
||||
|
||||
*) God told me to stick with 640x480 16 color and single-voice 8-bit signed MIDI-like sample for sound. He kept me from zombie-walking into making child windows like $FG,2$Windows$FG$. Instead, I made one window per task with no child windows. He also guided my progress, very obviously.
|
||||
|
||||
*) I got $FG,4$$TX,"Webster's Dictionary",HTML="http://www.templeos.org/files/DICTIONARY.DD"$$FG$ and $FG,4$$TX,"The King James Bible",HTML="http://www.templeos.org/files/BIBLE.DD"$$FG$ from $FG,4$$TX,"Project Gutenberg",HTML="http://web.archive.org/web/20110730111436/http://promo.net/pg/"$$FG$.
|
||||
*) I got $FG,4$$TX,"Webster's Dictionary",HTML="http://www.templeos.org/files/DICTIONARY.DD"$$FG$ and $LK,"The King James Bible",A="FI:::/Misc/Bible.TXT"$ from $FG,4$$TX,"Project Gutenberg",HTML="http://web.archive.org/web/20110730111436/http://promo.net/pg/"$$FG$.
|
||||
|
||||
*) John Carmack inspired me to use "$LK,"Clamp",A="MN:Clamp"$" as a name instead of "Limit". He inspired me to use "needle" and "haystack" as names. He inspired me to simplify my Frames-Per-Second code.
|
||||
|
||||
@@ -42,7 +42,7 @@ I, $FG,2$Terry A. Davis$FG$, wrote all of TempleOS over the past $TX,"13.8",D="D
|
||||
|
||||
*) I hired an artist, Cody Rigby, for $$3,000 worth of pixel art.
|
||||
|
||||
*) Erik van der Karbargenbok wrote /Linux shell scripts -- GodPassage, GodWords.
|
||||
*) Erik van der Karbargenbok wrote /Downloads shell scripts -- gw.
|
||||
|
||||
*) The random number generator is from Donald Knuth in the wikipedia entry for $TX,"Linear_congruential_generator",HTML="http://en.wikipedia.org/wiki/Linear_congruential_generator"$.
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ $LK,"::/Kernel/BlkDev/DskClus.HC"$ :152 All the clus operations become blk.
|
||||
|
||||
* VMware has a bug stretching 640x480 16 color to full scrn.
|
||||
|
||||
* VMware PC speaker's distortion is a good idea, but it is too much for hymns. VMware should make an adjustment for distortion and an adjustment for reverb.
|
||||
* VMware PC speaker's distortion is a good idea, but it is too much for hymns.
|
||||
|
||||
* VMware and others must list TempleOS as an official 64-bit operating system.
|
||||
|
||||
|
||||
Binary file not shown.
@@ -49,7 +49,7 @@ I am tmpted to help amateur hardware device designers by making the hardware int
|
||||
|
||||
The original PC had general purpose digital IO through the parallel port. That was fun. I have enough battles to fight, so I'll leave being a savior to hobbiest hardware engineers to somebody else.
|
||||
|
||||
Digital cameras will be super-simple high speed serial, but TempleOS is forever limited to 16 colors and multimedia is banned because large files being loaded into memory fragments memory, so cameras are somewhat unwelcome. I have enough problems without making the Brits anxious about autonomous gun turrets and killer robots. The reason I say cameras will be super-simple serial is because we are replacing USB ports with super-simple serial. Windows/Linux will have only super-simple serial ports unless people buy a USB PCI expansion card. So, the digital cameras will be super-simple serial.
|
||||
Digital cameras will be super-simple high speed serial, but TempleOS is forever limited to 16 colors and multimedia is banned because large files being loaded into memory fragments memory, so cameras are somewhat unwelcome. I have enough problems without making the Brits anxious about autonomous gun turrets and killer robots. The reason I say cameras will be super-simple serial is because we are replacing USB ports with super-simple serial. PC's will have only super-simple serial ports unless people buy a USB PCI expansion card. So, the digital cameras will be super-simple serial.
|
||||
|
||||
|
||||
$FG,5$$TX+CX,"Version 1.0"$$FG$
|
||||
|
||||
Binary file not shown.
@@ -988,7 +988,7 @@ int SND2MP4Lst(char *snd_print_fmt,char *mp4_print_fmt,char *out_name,
|
||||
}
|
||||
|
||||
int AU2SNDLst(char *au_name,char *snd_print_fmt,
|
||||
char *mp4_print_fmt,char *out_name,double vol=1.0,int rate=24000)
|
||||
char *mp4_print_fmt,char *out_name,int rate=24000)
|
||||
{//Cvt AU file to SND lst to MP4
|
||||
int num=0,snd_percent_cnt;
|
||||
FILE *au_file;
|
||||
@@ -998,7 +998,7 @@ int AU2SNDLst(char *au_name,char *snd_print_fmt,
|
||||
else
|
||||
snd_percent_cnt=0;
|
||||
AURead(&head,au_name);
|
||||
num=SndFileCreate(&head,snd_print_fmt,vol);
|
||||
num=SndFileCreate(&head,snd_print_fmt);
|
||||
QueDel(&head);
|
||||
return SND2MP4Lst(snd_print_fmt,mp4_print_fmt,out_name,rate);
|
||||
}
|
||||
@@ -1008,7 +1008,6 @@ int main(int argc, char* argv[])
|
||||
char *in_name,*out_name,st[256],*mv_print_fmt,*au_name;
|
||||
BOOL cvt_ascii,del_in=FALSE;
|
||||
int i=1,l;
|
||||
double vol=0.1;
|
||||
if (argc>i && !strcmp(argv[i],"-mp4")) {
|
||||
i++;
|
||||
if (argc>i)
|
||||
@@ -1023,7 +1022,7 @@ int main(int argc, char* argv[])
|
||||
(char *)"TOSZTEMP%06d.BMP",(char *)"TOSZTEMPVID%03d.MP4",
|
||||
(char *)"TOSZVIDEO.MP4");
|
||||
AU2SNDLst(au_name,(char *)"TOSZTEMP%03d.SND",
|
||||
(char *)"TOSZTEMPAUD%03d.MP4",(char *)"TOSZAUDIO.MP4",vol);
|
||||
(char *)"TOSZTEMPAUD%03d.MP4",(char *)"TOSZAUDIO.MP4");
|
||||
if (argc>i)
|
||||
out_name=argv[i++];
|
||||
else
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ CMsStateGlbls ms,ms_last;
|
||||
CKbdStateGlbls kbd;
|
||||
CKeyDevGlbls keydev;
|
||||
CMsHardStateGlbls ms_hard,ms_hard_last;
|
||||
CSndGlbls snd;
|
||||
CScrnCastGlbls scrncast;
|
||||
CTextGlbls text;
|
||||
|
||||
U8 *(*fp_getstr2)(I64 flags=0);
|
||||
|
||||
+4
-3
@@ -48,9 +48,10 @@ U0 SysGlblsInit()
|
||||
for (i=-308;i<309;i++)
|
||||
pow10_I64[i+309]=Pow10(i);
|
||||
|
||||
snd.ona=ONA_REST;
|
||||
QueInit(&snd.record_head);
|
||||
snd.record_head.time=tS;
|
||||
QueInit(&scrncast.snd_head);
|
||||
scrncast.t0_now=Now;
|
||||
scrncast.t0_tS=tS;
|
||||
scrncast.ona=scrncast.snd_head.ona=ONA_REST;
|
||||
|
||||
ProgressBarsRst;
|
||||
|
||||
|
||||
+25
-6
@@ -183,26 +183,45 @@ U0 Snd(I8 ona=ONA_REST)
|
||||
if (!Bt(&sys_semas[SEMA_MUTE],0) &&
|
||||
!LBts(&sys_semas[SEMA_SND],0)) { //Mutex. Just throw-out if in use
|
||||
if (ona<=ONA_REST) {
|
||||
snd.ona=ona;
|
||||
scrncast.ona=ona;
|
||||
OutU8(0x61,InU8(0x61)&~3);
|
||||
} else if (ona!=snd.ona) {
|
||||
snd.ona=ona;
|
||||
} else if (ona!=scrncast.ona) {
|
||||
scrncast.ona=ona;
|
||||
period=ClampI64(SYS_TIMER_FREQ/Ona2Freq(ona),1,U16_MAX);
|
||||
OutU8(0x43,0xB6);
|
||||
OutU8(0x42,period);
|
||||
OutU8(0x42,period.u8[1]);
|
||||
OutU8(0x61,3|InU8(0x61));
|
||||
}
|
||||
if (!IsDbgMode && snd.record) {
|
||||
if (!IsDbgMode && scrncast.record) {
|
||||
d=ACAlloc(sizeof(CSndData));
|
||||
d->ona=ona;
|
||||
d->time=tS;
|
||||
QueIns(d,snd.record_head.last);
|
||||
d->tS=tS;
|
||||
QueIns(d,scrncast.snd_head.last);
|
||||
}
|
||||
LBtr(&sys_semas[SEMA_SND],0);
|
||||
}
|
||||
}
|
||||
|
||||
Bool ScrnCast(Bool val=ON,Bool just_audio=FALSE,U8 *print_fmt="B:/Tmp/%X.GR")
|
||||
{//WinMgr saves GR files to a dir.
|
||||
Bool old_val;
|
||||
scrncast.just_audio=just_audio;
|
||||
if (val) {
|
||||
if (!(old_val=LBtr(&scrncast.record,0))) {
|
||||
Free(scrncast.print_fmt);
|
||||
scrncast.print_fmt=AStrNew(print_fmt);
|
||||
scrncast.t0_now=Now;
|
||||
scrncast.snd_head.tS=scrncast.t0_tS=tS;
|
||||
scrncast.snd_head.ona=scrncast.ona;
|
||||
LBts(&scrncast.record,0);
|
||||
}
|
||||
} else
|
||||
old_val=LBtr(&scrncast.record,0);
|
||||
Snd;
|
||||
return old_val;
|
||||
}
|
||||
|
||||
U0 SndRst()
|
||||
{//Fix stuck sound.
|
||||
if (Bt(&sys_semas[SEMA_SND],0)) {
|
||||
|
||||
+1614
-1640
File diff suppressed because one or more lines are too long
+21
-15
@@ -1487,13 +1487,7 @@ public class CWinMgrGlbls
|
||||
ideal_refresh_tS,
|
||||
last_refresh_tS;
|
||||
CWinMgrTimingGlbls *t;
|
||||
CDate scrn_cast_now;
|
||||
F64 scrn_cast_tS;
|
||||
U8 *scrn_cast_print_fmt;
|
||||
CDC *scrn_cast_dc,*dc2_alias;
|
||||
Bool show_menu,
|
||||
grab_scroll,grab_scroll_closed,
|
||||
scrn_cast;
|
||||
Bool show_menu,grab_scroll,grab_scroll_closed;
|
||||
};
|
||||
|
||||
#help_index "AutoComplete"
|
||||
@@ -3778,18 +3772,30 @@ class CKeyDevGlbls
|
||||
|
||||
#help_index "Snd"
|
||||
#define ONA_REST I8_MIN
|
||||
class CSndData
|
||||
{
|
||||
CSndData *next,*last;
|
||||
F64 time;
|
||||
|
||||
#help_index "ScrnCast;Snd/AU Files"
|
||||
public class CAUData
|
||||
{//Fmt of AU files
|
||||
CDate cdt;
|
||||
I8 ona;
|
||||
};
|
||||
|
||||
public class CSndGlbls
|
||||
{
|
||||
CSndData record_head;
|
||||
class CSndData
|
||||
{//Fmt recorded in mem
|
||||
CSndData *next,*last;
|
||||
F64 tS;
|
||||
I8 ona;
|
||||
};
|
||||
|
||||
public class CScrnCastGlbls
|
||||
{
|
||||
CSndData snd_head;
|
||||
CDate t0_now;
|
||||
F64 t0_tS;
|
||||
U8 *print_fmt;
|
||||
CDC *dc,*dc2_alias;
|
||||
Bool record,just_audio;
|
||||
I8 ona;
|
||||
Bool record;
|
||||
};
|
||||
|
||||
#help_index "Debugging/FunSeg"
|
||||
|
||||
+6
-2
@@ -664,6 +664,11 @@ public extern U8 *IntEntryGet(I64 irq);
|
||||
public extern U8 *IntEntrySet(I64 irq,
|
||||
U0 (*fp_new_hndlr)(),I64 type=IDTET_IRQ,I64 dpl=0);
|
||||
|
||||
#help_index "ScrnCast;Cmd Line (Typically)"
|
||||
public extern Bool ScrnCast(Bool val=ON,Bool just_audio=FALSE,
|
||||
U8 *print_fmt="B:/Tmp/%X.GR")
|
||||
public extern CScrnCastGlbls scrncast;
|
||||
|
||||
#help_index "Snd"
|
||||
#help_file "::/Doc/Snd"
|
||||
public extern U0 Beep(I8 ona=62,Bool busy=FALSE);
|
||||
@@ -673,7 +678,6 @@ public extern Bool Mute(Bool val);
|
||||
public extern F64 Ona2Freq(I64 ona);
|
||||
public extern U0 Snd(I8 ona=ONA_REST);
|
||||
public extern U0 SndRst();
|
||||
public extern CSndGlbls snd;
|
||||
|
||||
#help_index "StdIn"
|
||||
#help_file "::/Doc/Streams"
|
||||
@@ -725,7 +729,6 @@ public extern CTask *Spawn(U0 (*fp_addr)(U8 *data),U8 *data=NULL,
|
||||
|
||||
#help_index "Time/CPU Cycles;Time/HPET;Time/Jiffies"
|
||||
public extern CCntsGlbls cnts;
|
||||
|
||||
#help_index "Time/Date/CDate;Date/CDate"
|
||||
#help_file "::/Doc/TimeDate"
|
||||
public extern U0 Date2Struct(CDateStruct *_ds,CDate cdt);
|
||||
@@ -749,6 +752,7 @@ public extern U16 mon_start_days2[12];
|
||||
#help_index "Time/HPET"
|
||||
#help_file "::/Doc/TimeHPET"
|
||||
public extern I64 HPET();
|
||||
|
||||
#help_index "Time/Jiffies"
|
||||
#help_file "::/Doc/TimeJiffy"
|
||||
public extern I64 SysTimerRead();//18.33333*65536Hz (SYS_TIMER_FREQ)
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ U0 MakeMyISO(U8 *_out_iso_filename)
|
||||
|
||||
//To save space, optionally delete dictionary.
|
||||
//Del("/Distro/Adam/AutoComplete/ACDefs.DATA");
|
||||
CopyTree("/Linux","/Distro/Linux"); //You can leave this out.
|
||||
CopyTree("/Downloads","/Distro/Downloads"); //You can leave this out.
|
||||
DirMk("/Distro/Tmp");
|
||||
DirMk("/Distro/Tmp/ScrnShots");
|
||||
RedSeaISO(out_iso_filename,"/Distro","/Distro" BOOT_DIR_KERNEL_BIN_C);
|
||||
|
||||
Reference in New Issue
Block a user