TempleOSTS_130707.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:45:45 +02:00
1 parent 17b71f1a2d
commit 1343005a29
617 files changed
+14399 -25130

No files matched your search

+4 -5
View File
@@ -17,8 +17,6 @@ $WW,1$$FG,5$This is to clearify how several mysterious things happen in TempleOS
* The boot-loaders must be patched by you running $LK,"MakeOSInstallPrtBootLoader","MN:MakeOSInstallPrtBootLoader"$() or $LK,"InstallMasterBootLoader","MN:InstallMasterBootLoader"$(). Those will write the block address into the boot-loader because the boot-loaders do not navigate file systems to find the $LK,"Stage2","FI:::/TempleOS/Kernel/KStart.CPP"$ if you relocate it.
* The $FG,2$/0000Boot$FG$ directory and the $FG,2$0000Kernel.BIN.C$FG$ file are named so that they are first in alphabetical order and, therefore, at a predictable block address. The $LK,"CD/DVD Boot Loader","FI:::/TempleOS/Adam/Boot/BootCD.CPP"$ will find $FG,2$0000Kernel.BIN.C$FG$ at $LK,"Block #0x16","MN:CDBootFileCreate"$. The TempleOS boot loader can be used with $FG,4$$TX+HTML,"http://www.magiciso.com","http://www.magiciso.com"$$FG$ if you place $FG,2$0000Kernel.BIN.C$FG$ in the right spot.
* TempleOS is 64-bit. Like all PC operating systems, the boot-loader starts in 16-bit real-mode. TempleOS calls a few BIOS info routines, switches to VGA-640x480x4bit, switches to 32-bit, then, 64-bit mode. There is an odd thing called a $FG,2$$TX+HTML,"PCI BIOS","http://www.o3one.org/hwdocs/bios_doc/pci_bios_21.pdf"$$FG$ which is 32-bit used for PCI config space access. TempleOS calls $LK,"that","FI:::/TempleOS/Kernel/BIOS32.CPP"$ a couple times. It must temporarily drop-out-of 64-bit mode for that and stop multi-tasking.
* PUSH EAX : All stack operations in 64-bit mode are 64-bits.
@@ -31,7 +29,7 @@ $WW,1$$FG,5$This is to clearify how several mysterious things happen in TempleOS
* TempleOS has a dictionary that is shipped compressed. When you boot the first time it is uncompressed. TempleOS has a Windows utility for uncompressing. That utility needs Microsoft DLL files. TempleOS does not use any libraries, modules or code from other sources -- I wrote it all from scratch and it is self-contained.
* There are no OBJ or EXE files. There are only two files compiled ahead-of-time -- $FG,2$Kernel.BIN.C$FG$ and $FG,2$Compiler.BIN.Z$FG$. You can delete them and recompile with $LK,"MakeOSInstallPrtBootLoader","MN:MakeOSInstallPrtBootLoader"$(). TempleOS is $TX+D,"139,633","DD_TEMPLEOS_LOC"$ lines. Roughly 50,000 is compiled AOT and 50,000 during boot JIT. The rest is JIT demos and applications.
* There are no OBJ or EXE files. There are only two files compiled ahead-of-time -- $FG,2$Kernel.BIN.C$FG$ and $FG,2$Compiler.BIN.Z$FG$. You can delete them and recompile with $LK,"MakeOSInstallPrtBootLoader","MN:MakeOSInstallPrtBootLoader"$(). TempleOS is $TX+D,"142,999","DD_TEMPLEOS_LOC"$ lines. Roughly 50,000 is compiled AOT and 50,000 during boot JIT. The rest is JIT demos and applications.
* The main difference between TempleOS and other systems is that the heap and compiler sym table are associated with tasks, not applications.
@@ -45,7 +43,7 @@ $WW,1$$FG,5$This is to clearify how several mysterious things happen in TempleOS
* When compilation takes place, the structures used by the compiler stick around. Data on classes can be accessed by code. See $LK,"ClassRep","MN:ClassRep"$().
* Filenames ending in "$FG,2$.Z$FG$" are automatically compressed and uncompressed when writing to disk. File size in directory listing is the compressed size. You can view uncompressed size with $LK,"Dir","MN:Dir"$("*",TRUE); if you use the native TempleOS filesystem. See $LK-A,"::/TempleOS/Doc/TSZ.TXT"$ for uncompressing from $FG,2$WINDOWS$FG$.
* Filenames ending in "$FG,2$.Z$FG$" are automatically compressed and uncompressed when writing to disk. File size in directory listing is the compressed size. You can view uncompressed size with $LK,"Dir","MN:Dir"$("*",TRUE); if you use the $FG,2$RedSea$FG$ TempleOS filesystem. See $LK-A,"::/TempleOS/Doc/TSZ.TXT"$ for uncompressing from $FG,2$WINDOWS$FG$.
* Some memory objects are allocated when needed and will decrease the available memory displayed. A task keeps mem objects smaller than a couple blocks in it's own separate heap when freed and these are not counted in the available system free memory, though they are free. They get returned to the system when the task is killed. To get a sense of this, compile the operating system and see the amount of mem used. Then, compile it again and far less will be allocated. This is because it is reusing the small chunks. See $LK,"Memory","HI:Memory"$. $MA+A-X+PU,"Click Here","MemRep;View;"$ for a $LK,"MemRep","MN:MemRep"$.
@@ -59,9 +57,10 @@ $WW,1$$FG,5$This is to clearify how several mysterious things happen in TempleOS
* If not found, "$FG,2$.Z$FG$" is added or removed and a search is done again. If a file is still not found, the parent directories are searched for a file of the same name.
* TempleOS supports $FG,2$FAT32$FG$ and a native TempleOS file system type. The native TempleOS partitions will appear as $FG,2$FAT32$FG$ to other operating systems, but will not work. Do not access the native TempleOS partitions from other operating systems. This was to fool a bootloader when I tricked it to use it's recovery partition feature.
* TempleOS supports $FG,2$FAT32$FG$ and $FG,2$RedSea$FG$ file systems. The $FG,2$RedSea$FG$ partitions will appear as $FG,2$FAT32$FG$ to other operating systems, but will not work. Do not access the native TempleOS partitions from other operating systems. This was to fool a bootloader when I tricked it to use it's recovery partition feature.
* The CPU usage during disk operation expands to 99%. It polls while swapping-out. You can do other, non-disk activity during disk operations because it swaps-out a lot and task swaps take only half a microsecond, probably a hundred times faster than a typical OS. See $LK,"Cooperative Multitasking","FI:::/TempleOS/Demo/Lectures/Spinning.CPP"$. It does not break-up disk operations into small pieces for sharing, however, so the disk is lock onto that one task.
$FG,8$
* "Windows" is a trademark of MicroSoft Corp.
$FG$