Browse Source

TempleOS V5.03 Nightly (ISO SHA-1 57e189b)

v6
Terry A. Davis 5 years ago committed by minexew
parent
commit
3b252c61be
  1. BIN
      0000Boot/0000Kernel.BIN.C
  2. 2
      Adam/ADefine.HC
  3. 2
      Adam/AutoComplete/ACDictGen.HC
  4. 2
      Adam/Gr/MakeGr.HC
  5. 6
      Adam/Opt/Utils/MemRep.HC
  6. 2
      Adam/Opt/Utils/TOS.HC
  7. BIN
      Adam/WallPaper.HC
  8. 3
      Adam/Win.HC
  9. 52
      Adam/WinMgr.HC
  10. 14
      Apps/KeepAway/KeepAway.HC
  11. 2
      Apps/Psalmody/Load.HC
  12. 8
      Apps/ToTheFront/TTFFire.HC
  13. BIN
      Compiler/Compiler.BIN
  14. 8
      Demo/AcctExample/HomeKeyPlugIns.HC
  15. BIN
      Demo/AcctExample/PersonalMenu.DD
  16. 2
      Demo/AcctExample/PersonalNotes.DD
  17. 2
      Demo/AcctExample/Registry.HC
  18. 16
      Demo/AcctExample/TOS/TOSDistro.HC
  19. 40
      Demo/AcctExample/TOS/TOSMisc.HC
  20. BIN
      Demo/Games/FlapBat.HC
  21. BIN
      Demo/Games/RocketScience.HC
  22. 4
      Demo/ToHtmlToTXTDemo/DemoInPage.DD
  23. 4
      Doc/AboutTempleOS.DD
  24. 6
      Doc/Credits.DD
  25. 2
      Doc/Demands.DD
  26. BIN
      Doc/HelpIndex.DD
  27. 2
      Doc/StdTempleOSPC.DD
  28. BIN
      Downloads/Linux/TOSZ
  29. 7
      Downloads/Linux/TOSZ.CPP
  30. 2
      Kernel/KGlbls.HC
  31. 7
      Kernel/KMain.HC
  32. 31
      Kernel/KMisc.HC
  33. 3254
      Kernel/Kernel.MAP
  34. 30
      Kernel/KernelA.HH
  35. 8
      Kernel/KernelC.HH
  36. 2
      Misc/DoDistro.HC

BIN
0000Boot/0000Kernel.BIN.C

Binary file not shown.

2
Adam/ADefine.HC

@ -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",

2
Adam/AutoComplete/ACDictGen.HC

@ -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"$.
*/

2
Adam/Gr/MakeGr.HC

@ -14,7 +14,7 @@ Cd(__DIR__);;
#include "GrBitMap"
#include "GrPrimatives"
#include "GrComposites"
#include "GrMV"
#include "ScrnCast"
#define SPE_ABORT (-1)
#define SPE_EXIT 0

6
Adam/Opt/Utils/MemRep.HC

@ -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++) {

2
Adam/Opt/Utils/TOS.HC

@ -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;");

BIN
Adam/WallPaper.HC

Binary file not shown.

3
Adam/Win.HC

@ -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;

52
Adam/WinMgr.HC

@ -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) {

14
Apps/KeepAway/KeepAway.HC

@ -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

2
Apps/Psalmody/Load.HC

@ -1,4 +1,4 @@
#help_index "Snd"
#help_index "Snd/Music/Apps"
Cd(__DIR__);;
#include "JukeBox"

8
Apps/ToTheFront/TTFFire.HC

@ -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;

BIN
Compiler/Compiler.BIN

Binary file not shown.

8
Demo/AcctExample/HomeKeyPlugIns.HC

@ -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)

BIN
Demo/AcctExample/PersonalMenu.DD

Binary file not shown.

2
Demo/AcctExample/PersonalNotes.DD

@ -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?

2
Demo/AcctExample/Registry.HC

@ -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"$

16
Demo/AcctExample/TOS/TOSDistro.HC

@ -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()

40
Demo/AcctExample/TOS/TOSMisc.HC

@ -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;

BIN
Demo/Games/FlapBat.HC

Binary file not shown.

BIN
Demo/Games/RocketScience.HC

Binary file not shown.

4
Demo/ToHtmlToTXTDemo/DemoInPage.DD

@ -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.

4
Doc/AboutTempleOS.DD

@ -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"$.

6
Doc/Credits.DD

@ -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"$.

2
Doc/Demands.DD

@ -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.

BIN
Doc/HelpIndex.DD

Binary file not shown.

2
Doc/StdTempleOSPC.DD

@ -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$

BIN
Downloads/Linux/TOSZ

Binary file not shown.

7
Downloads/Linux/TOSZ.CPP

@ -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

2
Kernel/KGlbls.HC

@ -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);

7
Kernel/KMain.HC

@ -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;

31
Kernel/KMisc.HC

@ -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)) {

3254
Kernel/Kernel.MAP

File diff suppressed because one or more lines are too long

30
Kernel/KernelA.HH

@ -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
#help_index "ScrnCast;Snd/AU Files"
public class CAUData
{//Fmt of AU files
CDate cdt;
I8 ona;
};
class CSndData
{
{//Fmt recorded in mem
CSndData *next,*last;
F64 time;
F64 tS;
I8 ona;
};
public class CSndGlbls
public class CScrnCastGlbls
{
CSndData record_head;
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"

8
Kernel/KernelC.HH

@ -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)

2
Misc/DoDistro.HC

@ -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);

Loading…
Cancel
Save