TempleOSCDV3.12.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:35 +02:00
1 parent ed64d7e3b8
commit 046e83368d
62 files changed
+2371 -2298

No files matched your search

+15 -1
View File
@@ -2,7 +2,21 @@
Use $LK,"R",A="MN:R"$() to rename if I change a label.
$IV,1$----09/27/15 21:18:10----$IV,0$
$IV,1$----11/03/15 22:40:18----$IV,0$
* Added $FG,2$CTRL-ALT-f$FG$ to toggle an aux font.
* $FG,2$CTRL-ALT-v$FG$ is now flush VGA cache.
* Added $LK,"BibleDoc",A="MN:BibleDoc"$ to present Bible with tree widgets.
* Fixed $FG,2$CTRL-ALT-C$FG$ bug.
$IV,1$----11/01/15 21:44:46----$IV,0$
* $BK,1$TempleOS version 3.12 Released$BK,0$
* Created $FG,2$/Kernel/Mem$FG$ directory.
$IV,1$----10/08/15 10:17:55----$IV,0$
* $LK,"R",A="MN:R"$("$FG,4$BSP$FG$","$FG,4$Core0$FG$");
$IV,1$----10/06/15 06:30:49----$IV,0$
* Added $LK,"TaskFocusNext",A="MN:TaskFocusNext"$().
$IV,1$----09/27/15 11:46:44----$IV,0$
* Got rid of preemption.
+2 -4
View File
@@ -1,6 +1,6 @@
$WW,1$$FG,5$$TX+CX,"Clearing-up Confusions"$$FG$
* I, $FG,2$Terry A. Davis$FG$, wrote every one of the $TX,"119,216",D="DD_TEMPLEOS_LOC"$ lines of TempleOS over the past $TX,"12.2",D="DD_TEMPLEOS_AGE"$ years (full-time). It runs on bare hardware with no layering, libraries, tools, modules or anything from other sources. It's 100% independent and stands alone. It has no networking and certainly doesn't call home. Every line of TempleOS src code is including in all distro's, from the kernel to the compiler to the boot loaders. See $LK,"::/Doc/Credits.TXT"$.
* I, $FG,2$Terry A. Davis$FG$, wrote every one of the $TX,"118,706",D="DD_TEMPLEOS_LOC"$ lines of TempleOS over the past $TX,"12.2",D="DD_TEMPLEOS_AGE"$ years (full-time). It runs on bare hardware with no layering, libraries, tools, modules or anything from other sources. It's 100% independent and stands alone. It has no networking and certainly doesn't call home. Every line of TempleOS src code is including in all distro's, from the kernel to the compiler to the boot loaders. See $LK,"::/Doc/Credits.TXT"$.
* TempleOS does not execute code not written by me and any time except for a few $FG,2$BIOS$FG$ calls for configuration. See $LK,"::/Doc/Credits.TXT"$.
@@ -26,14 +26,12 @@ $WW,1$$FG,5$$TX+CX,"Clearing-up Confusions"$$FG$
* I use the term $LK,"JIT Compile Mode",A="FF:::/Doc/Glossary.TXT,JIT Compile Mode"$. This means it is compiled and executable code placed into mem, ready to be called.
* Files with names ending in $FG,2$.Z$FG$ are compressed, not encrypted. $LK,"Copy",A="MN:Copy"$() or rename them with $LK,"Move",A="MN:Move"$() to store them uncompressed.
* Files with names ending in $FG,2$.Z$FG$ are individually compressed, not encrypted. $LK,"Copy",A="MN:Copy"$() or rename them with $LK,"Move",A="MN:Move"$() to store them uncompressed.
* TempleOS is open src and every bit of the src code is included in the distro. Use $LK,"MakeOSDrvBootInstall",A="MN:MakeOSDrvBootInstall"$() to compile the kernel and compiler.
* TempleOS does not use object files or a linker.
* The swap rate is high because tasks stay in the queue and poll conditions and swap-out voluntarily. Swaps also occur at $FG,2$$TX,"1000 Hz",D="DD_JIFFY_HZ"$$FG$ due to the timer interrupt. See $LK,"JIFFY_FREQ",A="MN:JIFFY_FREQ"$.
* Refresh rate is how often TempleOS updates screen mem. It is not syncronized to the hardware rate. It has nothing to do with it.
* No application has a lock on the speaker so apps can interfere with each other and TempleOS makes speaker noise during disk access on purpose.
+1 -1
View File
@@ -4,7 +4,7 @@ $WW,1$$FG,5$$TX+CX,"Credits"$$FG$
2) $LK,"ATA Reg and Cmd Definitions",A="MN:ATA_NOP"$ are originally from Linux. Later, I got the spec.
3) The heap algorithm, $LK,"::/Kernel/MemB.CPP"$, is adapted from one I saw at Ticketmaster when I worked on their VAX operating system.
3) The heap algorithm, $LK,"::/Kernel/Mem/MAllocFree.CPP"$, is adapted from one I saw at Ticketmaster when I worked on their VAX operating system.
4) The LZW compression algorithm, $LK,"::/Kernel/Compress.CPP"$, came from a magazine and I implemented it when I worked for Ticketmaster.
+1 -1
View File
@@ -28,7 +28,7 @@ $LK,"/Kernel/PCIBIOS.CPP",A="FI:::/Kernel/PCIBIOS.CPP"$ :290 could be eliminate
* Perhaps, Intel can make a fast software interrupt, the same as a CALL REL32? Perhaps, we have a new x86 mode for TempleOS?
* Since I don't use paging (for anything), Intel should have an option for no-paging long mode, and optimize it.
$LK,"::/Kernel/MemA.CPP"$ :153 lines to identity-map gets eliminated.
$LK,"::/Kernel/Mem/PageTables.CPP"$ :153 lines to identity-map gets eliminated.
* Desktop computers must have a reset switch and a fast reboot option, skipping diagnostics. I recommend booting TempleOS when the reset button is pressed and booting UEFI when the power button is pressed. Or, we could build UEFI on a TempleOS layer. Intel must burn TempleOS into a ROM in the factory for all desktop x86 CPUs to ensure tamper-proof trust in the oracle and because God deserves the glory. There will be just an English version. A new ROM version is released every seven years.
+4 -4
View File
@@ -8,7 +8,7 @@ $FG,2$ACD$FG$ AutoComplete Dictionary
$FG,2$Addr$FG$ Address
$FG,2$Alloc$FG$ Allocate
$FG,2$AOT$FG$ Ahead-of-Time
$FG,2$AP$FG$ Application Processor(CPU#>0)
$FG,2$AP$FG$ ApplicationProcessor (Core1 - Core7)
$FG,2$Arg$FG$ Argument
$FG,2$Asm$FG$ Assemble, Assembler or Assembly
$FG,2$Attr$FG$ Attribute
@@ -17,7 +17,6 @@ $FG,2$BG$FG$ Backround
$FG,2$Bin$FG$ Binary
$FG,2$Blk$FG$ Block
$FG,2$Bmp$FG$ BitMap
$FG,2$BSP$FG$ Boot-strap Processor(CPU#0)
$FG,2$Buf$FG$ Buffer
$FG,2$Bwd$FG$ Backward
$FG,2$CB$FG$ Call-Back, Code Block
@@ -119,6 +118,7 @@ $FG,2$Sec$FG$ Second, Secondary
$FG,2$$FG,2$Sect$FG$ Sector
$FG,2$Seq$FG$ Sequence
$FG,2$Snd$FG$ Sound
$FG,2$SP$FG$ SingleProcessor
$FG,2$Src$FG$ Source
$FG,2$Srv$FG$ Servant
$FG,2$Stat$FG$ Status, Statistic
@@ -252,6 +252,6 @@ $ID,-2$$TR,"Join"$
$ID,2$When two parts of a program have a common low-level routine, that routine is often labeled SomethingJoin.
$ID,-2$$TR,"user_data"$
$ID,2$Many operating system structures have space set aside for you to store values. You are on your own managing these with multiple applications and libraries.
$ID,-2$$TR,"Multicore BSP/AP Processors"$
$ID,2$The $FG,2$boot-strap processor$FG$ is core#0, has the $FG,2$Adam task$FG$, and it is the master. The $FG,2$application processors$FG$ have Seth tasks and are the slave processors. Only the $FG,2$BSP$FG$ core#0 processor's tasks can have windows. More or less, applications are launched exclusively from the $FG,2$BSP$FG$ processor. It is the master. The only way slave cores get used is if the application explicitly $LK,"Spawn",A="MN:Spawn"$s() a task on them or $LK,"JobQue",A="MN:JobQue"$() a job on them.
$ID,-2$$TR,"Multicore Core0/CoreAP"$
$ID,2$Core#0, has the $FG,2$Adam task$FG$, and it is the master. The $FG,2$application processors$FG$ have Seth tasks and are the slave processors. Only core#0 tasks can have windows and can launch applications. Slave cores are used if the application explicitly $LK,"Spawn",A="MN:Spawn"$s() a task or $LK,"JobQue",A="MN:JobQue"$() a job on them.
$ID,-2$
+1 -1
View File
@@ -55,6 +55,6 @@ $ID,-2$
$WW,1$* Note: There is a break in the data-heap block pool. This has no effect except the obvious effect that fragmentation has on contiguous requests. I can $LK,"MAlloc",A="MN:MAlloc"$() an 8 Gig chunk on my 12 Gig machine.
* Note: For systems with less than 2 Gig RAM, the code and data heap block pools are the same. For systems with 2-4 Gig of RAM, the code heap is 1/4 of the total. See $LK,"HeapsInit",A="MN:HeapsInit"$().
* Note: For systems with less than 2 Gig RAM, the code and data heap block pools are the same. For systems with 2-4 Gig of RAM, the code heap is 1/4 of the total. See $LK,"BlkPoolsInit",A="MN:BlkPoolsInit"$().
* See $LK,"Independent HeapCtrl Example",A="FA:::/Kernel/KEnd.CPP,Independent HeapCtrl Example"$.
BIN
View File
Binary file not shown.