TempleOSCD_140715.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:09 +02:00
1 parent 7ef616a20e
commit 64f679eeb9
1095 files changed
+24814 -221011

No files matched your search

+2 -2
View File
@@ -1,8 +1,8 @@
#include "/Accts/Adam3bPkgs"
#include "/Apps/MusicOrgan/Load"
#include "/Apps/Psalmody/Load"
Cd("HOME");;
#include "/Accts/TS/TSAdam"
#include "/Accts/TS/TSSortHeader"
#include "/Accts/TS/TSDistro"
#include "/Accts/TS/TSHolySpirit"
Cd("HOME");;
+30 -8
View File
@@ -9,10 +9,11 @@ U0 FillInTime()
}
Bool MyPutKey(I64 ch,I64 sc)
{ //ch=ASCII; sc=scancode
{//ch=ASCII; sc=scan_code
//See $LK,"Char",A="HI:Char"$ for definition of scan codes.
//See $LK,"Keyboard Handling",A="FI:::/Doc/KeyBoard.TXT"$
//See $LK,"Key Allocations",A="FI:::/Doc/KeyAlloc.TXT"$.
//See $LK,"Keyboard Devices",A="HI:Keyboard Devices/System"$.
//You can customize keys. This routine
//is called before the main editor
@@ -21,8 +22,8 @@ Bool MyPutKey(I64 ch,I64 sc)
//Return TRUE if you completely
//handled the key.
I64 i,sc2=sc.u8[0];
U8 *st1,*st2;
if (SC_F1<=sc2<=SC_F10 &&
sc&SCF_ALT &&
@@ -80,7 +81,7 @@ Bool MyPutKey(I64 ch,I64 sc)
"$$FG$$";
}
break;
case SC_F7:
case SC_F6:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("Misc/Insert My URL");
@@ -93,6 +94,18 @@ Bool MyPutKey(I64 ch,I64 sc)
FillInTime;
}
break;
case SC_F7:
if (sc&SCF_KEY_DESC) {
if (sc & SCF_SHIFT)
SetKeyDesc("God Book Passage");
} else {
//$LK,"::/Adam/God/HSNotes.TXT"$
FifoU8Flush(god.fifo);
GodBitsIns(GOD_GOOD_BITS,KbdMouseEvtTime>>GOD_BAD_BITS);
if (sc & SCF_SHIFT)
GodBooksPassage("HOME/Archive/Text/*");
}
break;
}
return TRUE;
} else {
@@ -131,8 +144,17 @@ Bool MyPutKey(I64 ch,I64 sc)
SetKeyDesc("Edit/Put Link to Cur Pos on Clipboard");
else {
ClipboardDel;
DocPrint(sys_clipboard_doc,"$$LK,\"FL:%s,%d\"$$",
DocPut->filename.name,DocPut->cur_entry->y+1);
st1=FileNameAbs(Define("ST_BIBLE_FILE"));
st2=FileNameAbs(DocPut->filename.name);
if (!StrCmp(st1,st2)) {
Free(st1);
st1=BibleLine2Verse(DocPut->cur_entry->y+1,',');
DocPrint(sys_clipboard_doc,"$$LK,\"BF:%s\"$$",st1);
} else
DocPrint(sys_clipboard_doc,"$$LK,\"FL:%s,%d\"$$",
st2,DocPut->cur_entry->y+1);
Free(st1);
Free(st2);
}
return TRUE;
case 'L':
@@ -179,13 +201,13 @@ Bool MyPutKey(I64 ch,I64 sc)
if (sc&SCF_KEY_DESC)
SetKeyDesc("JukeBox(TAD)");
else
JukeBox("::/Accts/TS/TAD/MusicOrgan");
JukeBox("::/Accts/TS/TAD/Psalmody");
return TRUE;
case 'P':
if (sc&SCF_KEY_DESC)
SetKeyDesc("JukeBox(Examples)");
else
JukeBox("::/Apps/MusicOrgan/Examples");
JukeBox("::/Apps/Psalmody/Examples");
return TRUE;
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
U0 UserStartUp()
{ //Run each time a user a spawned
{//Run each time a user a spawned
DocTermNew;
Type("::/Doc/Start.TXT");
LBts(&Fs->display_flags,DISPLAYf_SHOW);
@@ -23,7 +23,7 @@ U0 UserStartUp()
}
U0 SrvStartUp()
{ //Run each time a srv task is spawned.
{//Run each time a srv task is spawned.
DocTermNew;
LBts(&Fs->display_flags,DISPLAYf_SHOW);
WinToTop;
+3 -3
View File
@@ -5,9 +5,9 @@ HashTablePurge(adam_task->hash_table);
#help_index "Misc"
public F64 os_version=2.03;
F64 os_version=2.11;//Operating system version.
#include "AdamExt.HPP"
#include "AdamExts.HPP"
#include "Math2a"
#include "Training"
#include "Utils2a"
@@ -30,7 +30,7 @@ Cd("::/Adam");;
#include "Win2b"
#include "Dbg2a"
Cd("::/Adam/Doc");;
Cd("::/Adam/DolDoc");;
#include "Doc"
LBts(&sys_run_level,RLf_DOC);
Binary file not shown.
-6
View File
@@ -1,6 +0,0 @@
$TR,"Adam"$
$ID,2$$TR,"SysMsgFlags"$
$ID,2$sys_msg_flags[0]=0;
$ID,-2$$TR,"SysRegVer"$
$ID,2$registry_version=2.030;
$ID,-2$$ID,-2$
-15
View File
@@ -1,15 +0,0 @@
OptOn(OPTf_WARN_PAREN);
OptOn(OPTf_WARN_DUP_TYPES);
SetTypeMatic(0);
local_time_offset=-7*60*60*CDATE_FREQ; //Pacific
//$AN,"",A="mouse_move_scale"$adjust these to set mouse move scale
mxx_scale=0.5;
myy_scale=0.5;
mzz_scale=5.0; //wheel
//don't change these
mxx_prescale=mxx/mxx_scale;
myy_prescale=myy/myy_scale;
mzz_prescale=mzz/mzz_scale;
-199
View File
@@ -1,199 +0,0 @@
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
Do Not Edit! -->
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL><p>
<DT><H3 FOLDED ADD_DATE="1374957505">Accounts</H3>
<DL><p>
<DT><A HREF="https://www.annualcreditreport.com/cra/index.jsp" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >AnnualCreditReport</A>
<DT><A HREF="http://software.intel.com/partner/app/dashboard" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Dashboard Intel® Developer Zone</A>
<DT><A HREF="http://www.dell.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://i.dell.com/images/global/branding/dellecomicon.ico" >Dell Laptops, Desktop Computers, Monitors, Printers & PC Accessories</A>
<DT><A HREF="https://www.mymedicare.gov/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >mymedicare.gov Portal of Personalized Medicare Information</A>
<DT><A HREF="https://www.paypal.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Send Money, Money Transfer - PayPal</A>
<DT><A HREF="http://www.socialsecurity.gov/onlineservices/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.socialsecurity.gov/favicon.ico" >Social Security Online What You Can Do Online</A>
<DT><A HREF="http://www.wellsfargo.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Wells Fargo Home Page</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1389105117">Commonly Quoted</H3>
<DL><p>
<DT><A HREF="http://www.youtube.com/watch?v=eB5VXJXxnNU" ADD_DATE="1381134432" LAST_VISIT="1386666617" LAST_MODIFIED="1389105618" ICON_URI="http://s.ytimg.com/yts/img/favicon_32-vflWoMFGx.png" >Ali G Homo Sapien</A>
<DT><A HREF="http://www.wired.com/magazine/2010/11/mf_ticketmaster/all/1" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Everyone Hates Ticketmaster — But No One Can Take It Down Magazine</A>
<DT><A HREF="http://stevehanov.ca/blog/index.php?id=56" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >How a programmer reads your resume (comic) - Steve Hanov's Programming Blog</A>
<DT><A HREF="http://wayback.archive.org/web/*/www.losethos.com" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://wayback.archive.org/favicon.ico" >Internet Archive (LoseThos)</A>
<DT><A HREF="http://waybackmachine.org/*/http://www.simstructure.hare.com" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Internet Archive (SimStructure)</A>
<DT><A HREF="http://www.youtube.com/watch?v=Dd7FixvoKBw" ADD_DATE="1379786905" LAST_VISIT="1386666617" LAST_MODIFIED="1389105613" ICON_URI="http://s.ytimg.com/yts/img/favicon_32-vflWoMFGx.png" >Key Peele #1</A>
<DT><A HREF="http://www.youtube.com/watch?v=VHG_Gv_zLY4" ADD_DATE="1384979305" LAST_VISIT="1386666617" LAST_MODIFIED="1389105621" ICON_URI="http://s.ytimg.com/yts/img/favicon_32-vflWoMFGx.png" >Key Peele #2</A>
<DT><A HREF="http://lmgtfy.com/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://lmgtfy.com/favicon.ico" >Let me google that for you</A>
<DT><A HREF="http://unusedino.de/ec64/technical/project64/mapping_c64.html" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://unusedino.de/favicon.ico" >Mapping The C64</A>
<DT><A HREF="http://www.youtube.com/watch?feature=player_embedded&v=nj6DK_WX7Yc#!" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://s.ytimg.com/yt/favicon-refresh-vfldLzJxy.ico" >The Magic of CES - YouTube#!</A>
<DT><A HREF="http://www.noob.us/humor/the-office-dwight-faces-nerd-torture-of-the-highest-form/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://www.noob.us/favicon.ico" >The Office - Dwight faces nerd torture of the highest form</A>
<DT><A HREF="http://www.youtube.com/watch?v=HRPDO63rI1E" ADD_DATE="1381122671" LAST_VISIT="1386666617" LAST_MODIFIED="1389105665" ICON_URI="http://s.ytimg.com/yts/img/favicon_32-vflWoMFGx.png" >The Prisoner</A>
<DT><A HREF="http://www.youtube.com/watch?v=o_eSwq1ewsU" ADD_DATE="1381122683" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://s.ytimg.com/yts/img/favicon-vfldLzJxy.ico" >There... Are... Four... Lights! - YouTube</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1374957505">Downloads</H3>
<DL><p>
<DT><A HREF="http://www.ccs64.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Commodore 64 Emulator</A>
<DT><A HREF="http://ffmpeg.zeranoe.com/builds/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >FFmpeg</A>
<DT><A HREF="http://www.dandans.com/Full-Video-Audio-Mixer.htm" ADD_DATE="1375786853" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.dandans.com/webico.ico" >Full Video Audio Mixer, Mix & Merge Audio and Video, Extract & Remove Audio from Video</A>
<DT><A HREF="http://www.winimage.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Gilles Vollant software</A>
<DT><A HREF="https://www.virtualbox.org/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Oracle VM VirtualBox</A>
<DT><A HREF="http://www.qb64.net/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >QB64</A>
<DT><A HREF="http://www.phatcode.net/downloads.php?id=280" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >turbo assembler 5 (tasm)</A>
<DT><A HREF="http://www.vmware.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >VMware Virtualization Software for Desktops, Servers & Virtual Machines for Public and Private Cloud Solutions</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1374957505">Games</H3>
<DL><p>
<DT><A HREF="http://www.classicempire.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >EMPIRE, Wargame of the Century (tm) index</A>
<DT><A HREF="http://www.freeciv.net/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Freeciv.net - online multiplayer strategy game</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1389102772">Links</H3>
<DL><p>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1374957505">Media Streams</H3>
<DL><p>
<DT><A HREF="http://www.bbc.co.uk/?ok" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >BBC - bbc.co.uk homepage - Home of the BBC on the Internet</A>
<DT><A HREF="http://www.bbc.co.uk/iplayer/console/bbc_world_service" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >BBC iPlayer - Listen live - BBC World Service</A>
<DT><A HREF="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Free Online Course Materials Electrical Engineering and Computer Science MIT OpenCourseWare</A>
<DT><A HREF="http://ocw.mit.edu/OcwWeb/web/home/home/index.htm" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Free Online Course Materials MIT OpenCourseWare</A>
<DT><A HREF="http://www.gametrailers.com/news.php" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Gametrailers.com - Video Games News, Game Trailers News</A>
<DT><A HREF="http://www.komp.com/" ADD_DATE="1389413520" LAST_VISIT="1389413520" LAST_MODIFIED="1389413520" >komp Homepage - LV Portal - Homepage</A>
<DT><A HREF="http://openclassroom.stanford.edu/MainFolder/HomePage.php" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >OpenClassroom</A>
<DT><A HREF="http://webcast.berkeley.edu/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >webcast.berkeley UC Berkeley Video and Podcasts for Courses & Events</A>
<DT><A HREF="http://www.xtremeradio.com/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >X107.5 X-treme Radio Las Vegas, NV - Homepage</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1374957504">Misc</H3>
<DL><p>
<DT><A HREF="http://blog.seattleinterviewcoach.com/2009/02/140-google-interview-questions.html" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >140 Google Interview Questions Seattle Interview Coach</A>
<DT><A HREF="http://blog.smartbear.com/programming/7-silly-programming-challenges-to-do-for-fun/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1389105588" ICON_URI="http://blog.smartbear.com/wp-content/uploads/dynamik-gen/theme/images/favicon.png" >7 Silly Programming Challenges to Do for Fun</A>
<DT><A HREF="http://petr-mitrichev.blogspot.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://petr-mitrichev.blogspot.com/favicon.ico" >Algorithm problems for dummies Petr Mitrichev's blog</A>
<DT><A HREF="http://www.youtube.com/watch?v=p-_RHRAzUHM" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Flying with the fastest birds on the planet Peregrine Falcon & Gos Hawk - Animal Camera - BBC - YouTube</A>
<DT><A HREF="http://harkavagrant.com/index.php?id=296" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://harkavagrant.com/favicon.ico" >Hark, a vagrant 296</A>
<DT><A HREF="http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1389102608" ICON_URI="http://www.tldp.org/favicon.ico" >Linux Filesystem Hierarchy</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1374957504">People</H3>
<DL><p>
<DT><A HREF="http://www.altdevblogaday.com/2012/04/26/functional-programming-in-c/" ADD_DATE="1377013922" LAST_VISIT="1386666616" LAST_MODIFIED="1389102919" ICON_URI="http://www.altdevblogaday.com/favicon.ico" >Carmack #AltDevBlog</A>
<DT><A HREF="http://scpd.stanford.edu/knuth/index.jsp" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Computer Musings by Professor Donald E. Knuth Stanford University Online</A>
<DT><A HREF="http://www-cs-faculty.stanford.edu/~knuth/index.html" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Don Knuth's Home Page</A>
<DT><A HREF="http://www.insight.org/site/PageServer" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Insight For Living Chuck Swindoll's Bible-teaching via articles, books, audio, and devotionals</A>
<DT><A HREF="http://torvalds-family.blogspot.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Linus' blog</A>
<DT><A HREF="http://www.hawking.org.uk/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Stephen Hawking - Home</A>
<DT><A HREF="http://www.escapistmagazine.com/articles/view/editorials/zeropunctuation" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >The Escapist Zero Punctuation</A>
<DT><A HREF="http://www.thegatesnotes.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >The Gates Notes</A>
<DT><A HREF="http://www.linuxfoundation.org/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.linuxfoundation.org/sites/www.linuxfoundation.org/themes/opensourcery/favicon.ico" >The Linux Foundation</A>
<DT><A HREF="http://www.slingshotchannel.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >The Slingshot Channel's Official Website</A>
<DT><A HREF="http://pdos.csail.mit.edu/6.828/2012/xv6.html" ADD_DATE="1388187282" LAST_VISIT="1388187282" LAST_MODIFIED="1388187282" >Xv6, a simple Unix-like teaching operating system</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1374957504">Research</H3>
<DL><p>
<DT><H3 FOLDED ADD_DATE="1389105041">Operating Systems</H3>
<DL><p>
<DT><A HREF="http://stochastix.wordpress.com/2009/01/31/distance-between-two-words/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1389106385" ICON_URI="http://1.gravatar.com/blavatar/97f8320d71ee1387cf94dbb722633e25?s=16" >Distance between two words « Reasonable Deviations</A>
<DT><A HREF="http://misc.aspell.net/wiki/English_Dictionaries" ADD_DATE="1384796381" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >English Dictionaries - AspellWiki</A>
<DT><A HREF="http://help.yahoo.com//l/us/yahoo/smallbusiness/webhosting/gftp/ftps-04.html#g" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://help.yahoo.com/favicon.ico" >How to setup FTPS tool - Yahoo! Small Business Help</A>
<DT><A HREF="http://msdn.microsoft.com/en-us/library/windows/hardware/ff559006(v=vs.85).aspx" ADD_DATE="1375962144" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://msdn.microsoft.com/Areas/Epx/Themes/Windows/Content/Winlogo_favicon.ico" >IDENTIFY_DEVICE_DATA structure (Windows Drivers)</A>
<DT><A HREF="http://arstechnica.com/information-technology/2012/10/linux-foundation-to-offer-signed-solution-for-uefi-secure-boot-conundrum/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Linux Foundation to offer signed solution for UEFI Secure Boot conundrum Ars Technica</A>
<DT><A HREF="http://www.linuxfoundation.org/news-media/blogs/browse/2012/10/linux-foundation-uefi-secure-boot-system-open-source" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Linux Foundation UEFI Secure Boot System for Open Source The Linux Foundation</A>
<DT><A HREF="http://www.pcworld.com/article/2011669/linux-foundation-unveils-a-new-solution-for-win-8-secure-boot.html" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Linux Foundation unveils a workaround for Win 8 Secure Boot PCWorld</A>
<DT><A HREF="http://academicearth.org/courses/operating-systems-and-system-programming" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Operating Systems and System Programming Berkeley Video Course</A>
<DT><A HREF="http://partedmagic.com/doku.php" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >start – Parted Magic</A>
</DL><p>
<DT><A HREF="http://www.hongkiat.com/blog/pixel-art-tutorials/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://mediatemplestatic.hongkiat.netdna-cdn.com/logo/hkdc/favicon.ico" >30 Excellent Pixel Art Tutorials For Pixel Lovers</A>
<DT><A HREF="http://bigocheatsheet.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Big-O Algorithm Complexity Cheat Sheet</A>
<DT><A HREF="https://www.circuitlab.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >CircuitLab sketch, simulate, and share your circuits</A>
<DT><A HREF="http://www.sparknotes.com/writing/style/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Grammar, Usage, and Style Guide SparkNotes Ultimate Style Ultimate Style</A>
<DT><A HREF="http://imgur.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://imgur.com/favicon.ico" >imgur the simple image sharer</A>
<DT><A HREF="http://software.intel.com/en-us/" ADD_DATE="1386626088" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://software.intel.com/sites/all/themes/isn3/favicon.ico" >Intel® Developer Zone</A>
<DT><A HREF="http://www.archive.org/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Internet Archive Digital Library of Free Books, Movies, Music & Wayback Machine</A>
<DT><A HREF="http://www.netlib.org/lapack/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >LAPACK — Linear Algebra PACKage</A>
<DT><A HREF="http://www.gutenberg.org/wiki/Main_Page" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://www.gutenberg.org/favicon.ico" >Main Page - Gutenberg</A>
<DT><A HREF="http://www.moreofit.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1389102467" ICON_URI="http://www.moreofit.com/favicon.ico" >moreofit - Website Similarity Search Engine</A>
<DT><A HREF="http://www.peoplesmart.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1389105190" ICON_URI="http://www.peoplesmart.com/favicon.ico" >People Search & Background Checks by Name, Phone, Email or Address - PeopleSmart</A>
<DT><A HREF="http://promo.net/pg/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >PROJECT GUTENBERG OFFICIAL HOME SITE - INDEX -- Free Books On-Line -</A>
<DT><A HREF="http://validator.w3.org/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >The W3C Markup Validation Service</A>
<DT><A HREF="http://www.whorush.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >WHORush.com, your source for information on domains</A>
<DT><A HREF="http://www.wolframalpha.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >WolframAlpha Computational Knowledge Engine</A>
<DT><A HREF="http://youtubetime.com/" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >YouTube Time</A>
<DT><A HREF="http://www.metacrawler.com/info.metac/dog/index.htm" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >[ MetaCrawler® ]</A>
<DT><A HREF="http://validator.w3.org/check?uri=http%3A%2F%2Flynx.isc.org%2Findex.html" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >[Valid] Markup Validation of http--lynx.isc.org-index.html - W3C Markup Validator</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1374957503">Spiritual</H3>
<DL><p>
<DT><A HREF="http://www.biblegateway.com/passage/?search=1+Corinthians+14&version=NIV" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1389330204" ICON_URI="http://static5.bgcdn.com/favicon.ico?ca05b3df" >1 Corinthians 14 NIV - Intelligibility in Worship Follow the - Bible Gateway</A>
<DT><A HREF="http://qrng.anu.edu.au/NIST.php" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://qrng.anu.edu.au/favicon.ico" >ANU Quantum Random Number Server</A>
<DT><A HREF="http://www.generatedata.com/" ADD_DATE="1383350304" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >generatedata.com</A>
<DT><A HREF="https://qrng.physik.hu-berlin.de/download" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >QRNG Service - Download</A>
<DT><A HREF="http://random.irb.hr/index.php" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://random.irb.hr/favicon.ico" >Quantum Random Bit Generator Service</A>
<DT><A HREF="http://www.randomnumbers.info/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Random Numbers Info</A>
<DT><A HREF="http://www.random.org/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://www.random.org/favicon.ico" >RANDOM.ORG - True Random Number Service</A>
<DT><A HREF="https://www.fourmilab.ch/hotbits/secure_generate.html" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="https://www.fourmilab.ch/favicon.ico" >Request HotBits (Secure Server)</A>
<DT><A HREF="http://www.theyshootpictures.com/gf1000_all1000films.htm" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >TSPDT - The 1,000 Greatest Films (Full List)</A>
<DT><A HREF="http://www.usccb.org/" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://www.usccb.org/favicon.ico" >United States Conference of Catholic Bishops</A>
<DT><A HREF="http://virtual-notary.org/" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1387238161" ICON_URI="http://virtual-notary.org/static/favicon.png" >Virtual-Notary</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1374957503">TempleOS Business</H3>
<DL><p>
<DT><A HREF="http://betanews.com/" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://betanews.com/wp-content/themes/betanews/favicon.ico" >BetaNews</A>
<DT><A HREF="http://www.devmaster.net/forums/" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >DevMaster.net Forums - Powered by vBulletin</A>
<DT><A HREF="http://www.gamedev.net/" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >GameDev.net - all your game development needs</A>
<DT><A HREF="http://www.majorgeeks.com/" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://www.majorgeeks.com/favicon.ico" >MajorGeeks.com - Download Freeware and Shareware Computer Utilities</A>
<DT><A HREF="http://www.youtube.com/watch?v=6WgOWrT1yyI&feature=youtu.be&a" ADD_DATE="1381667845" LAST_VISIT="1386666617" LAST_MODIFIED="1387406101" ICON_URI="http://s.ytimg.com/yts/img/favicon_32-vflWoMFGx.png" >Mum Tries Out TempleOS 1.06 (2013) - YouTube</A>
<DT><A HREF="http://www.businessconsultingabc.com/Feedback.html" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://www.businessconsultingabc.com/wp-content/themes/business-consulting-abc/favicon.ico" >Send Us Feedback Email ABC Business Consulting ABC Business Consulting</A>
<DT><A HREF="http://www.sparrowos.com/" ADD_DATE="1375793135" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://www.sparrowos.com/favicon.ico" >Sparrow Operating System</A>
<DT><A HREF="http://www.losethos.com/" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" ICON_URI="http://www.losethos.com/favicon.ico" >The LoseThos Operating System</A>
<DT><A HREF="http://www.google.com/webmasters/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.google.com/favicon.ico" >Webmasters – Google</A>
</DL><p>
<DT><H3 FOLDED ADD_DATE="1389105242">Uncommon</H3>
<DL><p>
<DT><A HREF="http://irc.netsplit.de/channels/details.php?room=%23%23programming&net=freenode" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1389102778" ICON_URI="http://irc.netsplit.de/favicon.ico" >##programming freenode - Chat Room on IRC - irc.netsplit.de</A>
<DT><A HREF="http://politicalhumor.about.com/library/bl-political-cartoons.htm" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >2012 Political Cartoons - Best Political Cartoons of 2012</A>
<DT><A HREF="http://english.aljazeera.net/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >AJE - Al Jazeera English</A>
<DT><A HREF="http://www.amazon.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1389106076" ICON_URI="http://www.amazon.com/favicon.ico" >amazon.com Online Shopping for Electronics, Apparel, Computers, Books, DVDs & more</A>
<DT><A HREF="http://www.huffingtonpost.com/" ADD_DATE="1386981098" LAST_VISIT="1386981098" LAST_MODIFIED="1386981098" ICON_URI="http://www.huffingtonpost.com/favicon.ico" >Breaking News and Opinion on The Huffington Post</A>
<DT><A HREF="http://www.dailyrotation.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >DAILY ROTATION</A>
<DT><A HREF="http://www.dzone.com/links/index.html" ADD_DATE="1378720139" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.dzone.com/favicon.ico" >dzone.com - fresh links for developers</A>
<DT><A HREF="http://www.hackforums.net/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Hack Forums</A>
<DT><A HREF="http://hckrnews.com/" ADD_DATE="1377987384" LAST_VISIT="1386666616" LAST_MODIFIED="1387840046" ICON_URI="http://hckrnews.com/img/touch/apple-touch-icon.png" >hckr news - Hacker News sorted by time</A>
<DT><A HREF="http://www.shellcity.net/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1389105474" ICON_URI="http://www.shellcity.net/favicon.ico" >http--www.shellcity.net-</A>
<DT><A HREF="http://chat.icq.com/icqchat/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >ICQ Chat Rooms - ICQ.com</A>
<DT><A HREF="http://iopscience.iop.org/1367-2630" ADD_DATE="1374957505" LAST_VISIT="1386666617" LAST_MODIFIED="1389105799" ICON_URI="http://iopscience.iop.org/favicon.ico" >iopscience Journal of Physics</A>
<DT><A HREF="http://www.irc.org/links.html" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >IRC.org</A>
<DT><A HREF="http://www.haaretz.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Israel News - Haaretz Israeli News source</A>
<DT><A HREF="https://lobste.rs/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1389102792" ICON_URI="https://lobste.rs/favicon.ico" >Lobsters</A>
<DT><A HREF="http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar=IStart" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >MSN.com</A>
<DT><A HREF="http://www.physorg.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >PhysOrg.com - Science News, Technology, Physics, Nanotechnology, Space Science, Earth Science, Medicine</A>
<DT><A HREF="http://www.chess.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Play Chess Online - Free Chess Games at Chess.com</A>
<DT><A HREF="http://gogloom.com/DIR?cat=84126&catdesc=Programming" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Programming CHAT ROOMS - Online CHAT!</A>
<DT><A HREF="http://royal.pingdom.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Royal Pingdom</A>
<DT><A HREF="http://www.infopackets.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >Tech News Daily - Infopackets.com</A>
<DT><A HREF="http://www.techbeta.org/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >TechBeta Free and open source software for Windows, Mac OS X, Linux, iPhone, and Mobile</A>
<DT><A HREF="http://www.techcrunch.com/" ADD_DATE="1374957503" LAST_VISIT="1386666617" LAST_MODIFIED="1386666617" >TechCrunch</A>
<DT><A HREF="http://www.tomshardware.com/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Tom's Hardware Hardware News, Tests and Reviews</A>
<DT><A HREF="http://news.yahoo.com/" ADD_DATE="1374957505" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://news.yahoo.com/favicon.ico" >Yahoo! News - Latest News & Headlines</A>
<DT><A HREF="http://www.yahoo.com/" ADD_DATE="1374957504" LAST_VISIT="1386666617" LAST_MODIFIED="1389106215" ICON_URI="http://l.yimg.com/rz/l/favicon.ico" >Yahoo!</A>
</DL><p>
<DT><A HREF="http://www.4chan.org/" ADD_DATE="1375781470" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://s.4cdn.org/image/favicon.ico" >4chan</A>
<DT><A HREF="http://arstechnica.com/index.ars" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Ars Technica</A>
<DT><A HREF="http://dictionary.reference.com/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://static.sfdict.com/dictcloud/favicon.ico" >Dictionary</A>
<DT><A HREF="http://www.drudgereport.com/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >DRUDGE</A>
<DT><A HREF="http://www.facebook.com/home.php" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Facebook</A>
<DT><A HREF="https://www.google.com/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="https://www.google.com/favicon.ico" >Google</A>
<DT><A HREF="http://news.ycombinator.com/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Hacker News</A>
<DT><A HREF="http://www.knpr.org/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.knpr.org/favicon.ico" >Nevada Public Radio</A>
<DT><A HREF="http://beacon.nist.gov/home" ADD_DATE="1383959013" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >NIST Randomness Beacon (Prototype Implementation) - NIST</A>
<DT><A HREF="http://forum.osdev.org/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://forum.osdev.org/favicon.ico" >OSDev.org • Index page</A>
<DT><A HREF="http://www.osnews.com/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.osnews.com/favicon.ico" >OSNews is Exploring the Future of Computing</A>
<DT><A HREF="http://www.pixeljoint.com/forum/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.pixeljoint.com/favicon.ico" >Pixel Joint Forum</A>
<DT><A HREF="http://popurls.com/" ADD_DATE="1378004893" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://popurls.com/favicon.ico" >popurls the genuine news aggregator for the latest web buzz</A>
<DT><A HREF="http://www.reddit.com/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666968" ICON_URI="http://www.redditstatic.com/icon.png" >reddit.com</A>
<DT><A HREF="http://slashdot.org/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://slashdot.org/favicon.ico" >slashdot News for nerds, stuff that matters</A>
<DT><A HREF="http://stackoverflow.com/" ADD_DATE="1381508264" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://cdn.sstatic.net/stackoverflow/img/favicon.ico" >Stack Overflow</A>
<DT><A HREF="http://www.templeos.org/logs/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.templeos.org/favicon.ico" >TempleOS Index of -logs</A>
<DT><A HREF="http://www.templeos.org/Wb/Accts/TS/Wb2/Rants/TAD/TADRants.html" ADD_DATE="1389595518" LAST_VISIT="1389595518" LAST_MODIFIED="1389595518" ICON_URI="http://www.templeos.org/favicon.ico" >Terry Davis' Rants</A>
<DT><A HREF="http://www.templeos.org/" ADD_DATE="1375628480" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://www.templeos.org/favicon.ico" >The Temple Operating System</A>
<DT><A HREF="https://twitter.com/" ADD_DATE="1378394318" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="https://abs.twimg.com/favicons/favicon.ico" >Twitter</A>
<DT><A HREF="http://www.wikipedia.org/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" ICON_URI="http://bits.wikimedia.org/favicon/wikipedia.ico" >Wikipedia</A>
<DT><A HREF="http://smallbusiness.yahoo.com/services/index.php?crumb=eynoh/GoPXd" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386666616" >Yahoo! Small Business</A>
<DT><A HREF="http://www.youtube.com/" ADD_DATE="1374957503" LAST_VISIT="1386666616" LAST_MODIFIED="1386677085" ICON_URI="http://s.ytimg.com/yts/img/favicon_32-vflWoMFGx.png" >YouTube - Broadcast Yourself</A>
</DL><p>
-115
View File
@@ -1,115 +0,0 @@
//Be sure to Adam Include this.
#help_index "Comm"
#define COM1_BASE 0x3F8
#define COM2_BASE 0x2F8
#define COM3_BASE 0x3E8
#define COM4_BASE 0x2E8
#define UART_THR 0
#define UART_RDR 0
#define UART_BRDL 0
#define UART_IER 1
#define UART_BRDH 1
#define UART_IIR 2
#define UART_LCR 3
#define UART_MCR 4
#define UART_LSR 5
#define UART_MSR 6
I64 comm_base[5]={0,0x3F8,0x2F8,0x3E8,0x2E8};
CFifoU8 *comm_fifos[5]={NULL,NULL,NULL,NULL,NULL};
interrupt U0 CommInt3Handler()
{
I64 base=comm_base[2];
if (comm_fifos[2] && (InU8(base+UART_IIR) & 0xFE)==8) //RX IRQ
FifoU8Ins(comm_fifos[2],InU8(base+UART_RDR));
base=comm_base[4];
if (comm_fifos[4] && (InU8(base+UART_IIR) & 0xFE)==8) //RX IRQ
FifoU8Ins(comm_fifos[4],InU8(base+UART_RDR));
OutU8(0x20,0x20);
}
interrupt U0 CommInt4Handler()
{
I64 base=comm_base[1];
if (comm_fifos[1] && (InU8(base+UART_IIR) & 0xFE)==8) //RX IRQ
FifoU8Ins(comm_fifos[1],InU8(base+UART_RDR));
base=comm_base[3];
if (comm_fifos[3] && (InU8(base+UART_IIR) & 0xFE)==8) //RX IRQ
FifoU8Ins(comm_fifos[3],InU8(base+UART_RDR));
OutU8(0x20,0x20);
}
IntEntrySet(0x23,&CommInt3Handler);
IntEntrySet(0x24,&CommInt4Handler);
public U0 CommInit8n1(I64 port,I64 baud)
{
I64 base=comm_base[port];
PUSHFD
CLI
if (comm_fifos[port])
FifoU8Del(comm_fifos[port]);
comm_fifos[port]=FifoU8New(256);
OutU8(base+UART_LCR,0); //Set for IER
OutU8(base+UART_IER,0); //DIsable all IRQ
OutU8(base+UART_LCR,0x80); //Enable baud rate control
OutU8(base+UART_BRDL,(0x180/(baud/300)) & 0xFF); //LSB
OutU8(base+UART_BRDL,(0x180/(baud/300)) / 256); //MSB
OutU8(base+UART_LCR,3); // 8-none-1
InU8(base+UART_RDR); //read garbage
InU8(base+UART_LSR);
OutU8(base+UART_MCR,4);
OutU8(base+UART_IER,0); //DIsable all IRQ
OutU8(base+UART_MCR,0xA); //out2 and rts
OutU8(0x21,InU8(0x21) & (0xFF-0x18)); //Enable 8259 IRQ 3 & 4
OutU8(base+UART_IER,1); //Enable RX IRQ
POPFD
}
public U0 CommBusyPutChar(I64 port,U8 b)
{
I64 base=comm_base[port];
while (!(InU8(base+UART_LSR) & 0x20))
Yield;
OutU8(base+UART_THR,b);
while (!(InU8(base+UART_LSR) & 0x20))
Yield;
}
public U0 CommBusyPutS(I64 port,U8 *st)
{
I64 base=comm_base[port];
U8 b;
while (b=*(st++)) {
while (!(InU8(base+UART_LSR) & 0x20))
Yield;
OutU8(base+UART_THR,b);
}
while (!(InU8(base+UART_LSR) & 0x20))
Yield;
}
public U0 CommBusyWriteBlk(I64 port,U8 *buf,I64 count)
{
I64 base=comm_base[port];
while (count--) {
while (!(InU8(base+UART_LSR) & 0x20))
Yield;
OutU8(base+UART_THR,*(buf++));
}
while (!(InU8(base+UART_LSR) & 0x20))
Yield;
}
#help_index ""
-245
View File
@@ -1,245 +0,0 @@
* Backward SHIFT-F3 is broken
* Exception msgs in Adam look bad
3sGCGCqCCe2G3EE2G3qDetDEFsDBDB
* $LK,"Mem32DevAlloc",A="MN:Mem32DevAlloc"$() is broken. Devices should be in free spot of E820 report.
* $$DA-U64+I16
* SPRITES in CMD Line code.
* get rid of clusters once RedSea
* Might want to move kernel code out of low 2Meg.
* F2 Macro on TestSuite
* PSect search all tables if not found very well.
* Bug: HI:Math/CD3
* asm LIST NOLIST bug
* Bible ranges.
* Current Bible position to link on clipboard.
* No way to clear +Hold entries
---------------------
$$=-CTASK_NEG_OFFSET
offset(CTask.addr)==0
Spawn(): CAlloc()
TaskFinishOff(): Free()
CSysFixedArea.adam
Looks like task_flags,locked_flags cause problems with neg offset.
---------------------
* $$CM+LE+RE is nasty
* Wenceslas in TestSuite crashes, long time ago
* 12/26/13 Mountain in TestSuite didn't run right. Turned yellow, did nothing.
* FAQ frontloaded
COMPILER
* Postpone LocalVar Init until last possible moment. (in case RETURN)
* PtrArith MUL SIZE -->QueIns(MUL)?
* QueRem(IC_NOP)?
* Fix return result for GrBlot, ect.
* Tour TestSuite on 256Meg NoMP runs out of mem. Leak,too?
* CTRL-R transform individual elements
* Size zero files don't copy out from VMware.
* FileMgr header
* ATA/ATAPI ID in VMware, when not booted to CD? I forgot.
* I use fixed-point in $LK,"Circle",A="MN:Circle"$(), $LK,"Ellipse",A="MN:Ellipse"$(), $LK,"GrRot",A="MN:GrRot"$(), $LK,"GrMulMat",A="MN:GrMulMat"$() and others.
God says I might want to change to float.
$LK,"::/Demo/Lectures/FixedPoint.CPP"$.
$LK,"::/Demo/Lectures/FixedPointAdvanced.CPP"$.
* DOCF_DBL_DOLLARS in reindention
* # in reindention
* reindent $LK,"DocRecalc",A="MN:DocRecalc"$().skip_soft_cr
* HexEdit with odd size, ASCII cannot be edited.
* clean-up addDev pmt
* Might want to convert some Preempt() to Cli
* Music organ hangs when cursoring around. Haven't seen in while.
* $LK,"Plain",A="MN:Plain"$() might be better not saving $LK,"CH_CURSOR",A="MN:CH_CURSOR"$.
* TRANSPARENT might not work with line ROPF_DITHER
* It would be nice if $LK,"U",A="MN:U"$() NOP were better.
* unhandled exception on MP message gets overwritten by WinMgr
* Cmd to enable/disable compiler warnings
* What if we had a type for either F64 or I64, like Print -- no conversion.
* What if we had a ... that did do conversion, if we have one that doesn't.
* fix documentation problem -- remembering 0 terminator in str or not for $$DA
* GetS, crazy putkey code
* editor page formatting is FUBAR
* $LK,"gr_screen_image",A="MN:gr_screen_image"$
>Might want to do ZOOM in U8 graphics and convert screen capture to U8
>Might want to reverse bit order
* return vals for grrect, grblot, grputchar?
* collisions for grrect, grblot, grputchar?
* Race condition in FlatTops.CPP.Z torpedo
* {Lock|Rep}{Seg|2E=NotBr|3E=Br}{OP}{ADD}{REX}
* Virtual Box MP reboot
* Std local var names
* EIT_ABS_ADDR 64
//After Egypt possible future ideas
//$LK,"Numbers,13:33",A="BF:Numbers,13:33"$ scouts
//$LK,"Numbers,21:8",A="BF:Numbers,21:8"$ snakes
* GrEdit: Move sidebar selected elems.
- Be careful of multipt elems.
* GrEdit: Strip origin shift cmds.
* GrEditBitMap, grabscroll?
* extern of fun with dft arg of str?
* We kinda need a routine to return how much free memory, so that applications can plan a big alloc.
* FileMgr bad with lots of files.
* This $LK,"Fs->catch_except=TRUE",A="FF:::/Kernel/SrvCmd.CPP,Fs->catch_except=TRUE"$ causes problems because it catches divide and out-of-mem. Not sure what to do, yet.
* $LK,"MPStart",A="MN:MPStart"$() free old task memory. (Prolly never gonna do anything about this.)
* $LK,"sys_var_init_flag",A="MN:sys_var_init_flag"$ local vars.
* sprite shift pts, ctrl pt for ellipse/polygon w,h is off when rotated.
* Window mgr needs to do DOC operations on posted messages from mouse. Works for $LK,"SetIP",A="MN:SetIP"$(), though.
* Add local vars to sym table in $LK,"Dbg",A="MN:Dbg"$()? (maybe)
* $LK,"Bible sized nodes",A="FF:::/Adam/Doc/DocRecalc2b.CPP,->tag+i"$
* Mouseinstall throws exceptions, doesn't work, investigate Mouse $LK,"0x9FC30",A="FF:::/Kernel/KbdMouse/Mouse.CPP,9FC"$
* get kbd lights working.
* Might have issue with compiler exceptions and restoring lex.hash tables.
* Generates two compiler error messages for expressions in statements.
* release semaphores or break lock sema,usb_td
* Fix Mom's secondary CD-ROM, dad's primary
* pmtstr in install didn't like focus change
*$FG,2$U0 Main()
{
U0 (*fp_old_draw_input_ptr)(CDC *dc,I64 x,I64 y)=fp_draw_input_ptr;
}$FG$
* What about local variable array/struct initialization.
* Demo $LK,"ToHtml",A="MN:ToHtml"$().
* Del short name in FAT32--currently I do not check to see if I have generated a unique short name and one can delete multiple files accidentally. Generating unique short names is a pain in the ass because you have to scan the whole directory. I think I just truncate the name instead of "Program~1" or whatever. S081130-0001.BMP crashed windows--two identical short names.
* OVERSTRIKE at cmd line with menu macro.
* $FG,2$lock{}$FG$ warning on invalid modes.
* Local array vars-->reg.
* $LK,"DCF_SYMMETRY",A="MN:DCF_SYMMETRY"$, before transformation? (Currently it's after)
* all graphics clipping -- screen y+top<0 for top<0
* Maybe convert graphics to float
* Warn unnecessary typecast
* compiler F32
* preempt(OFF) during graphic clipping?
* compiler optimization heap_glbls with added offset
* AOT-compile extern glblvar references.
* extern glbl var in AOT module on data heap.
* Might make FAT32 read in contiguous chunks.
* make Clamp(),Min(),Max() asm routines.
* Might make CSprite flood fill operate on a separate bitmap and blotted at the end.
* autofile popup of popup
* <CTRL-R> delete subsprite in menu near others
* consider changing domenu so a real <ESC> on menu item doesn't select (<SPACE BAR> sends <ESC> followed by <SPACE BAR> or something)
* puts3 with depth buf? might not do this
* make task queins and querem safe for multicore cycling through tasks (fwd).
* make better heapwalk, do something with _CFG_HEAP_DBG.
* log to file--would be inefficient--load-in whole file, modify and write out. Useful, but not very efficient (TempleOS file system has no grow-file ability. Created when FAT patent was an issue and wanted absly nothing people could sue me for.)
* APIC2
* import intel datasheets, somehow?
* Get better dictionary, good spell checker.
* WordStat/Man Jmp for user code.
* Might make DskView show drive colors.
* Might do utility to set drive colors, making a tree entry in Adam 3 using registry-like routines... or registry I guess.
* New Editor widgets
* Make use of flag potential in SysFilesFind and possibly CFileAccess
* implement fixed pos files
* new HolyC language features
* better debugging
* Too much preemption turned off?
* Look for mem leaks.
* Move stuff out of Kernel module.
* $LK,"ROP_XOR",A="MN:ROP_XOR"$ with pen_width>1 is broken.
* RGB wrong in BMP files.
* use width and height in line clipping for pen_width>1 or blot.
* SIMD transformation
* test removable media id (critical for resident files)
* add field overflow U8 "t='*'"
* Implement fmt codes into Get
* Date Input
* Default date fmt
* 16 bit Unassembly is bad--very low priority
* more signed int disassembly
* support r4u8 by adding 0x40 byte
* static var off of data heap.
* Might want to use U32*U32 multiplication.
* could add "const" to not set LF_NOT_CONST flag for trig, etc.
* do r,rm ICCmp like ICBrCmp
* could make glblvar imports use TY_RIP_DISP32.
* PUSH_CMP allocs reg R9 or whatever
* Might be problem with NOP in OPT pass1 for NO_PUSH in expressions besides assignments. Is ShiftNoPush fully implemented?
* NOP1 might need to have diff ic_data's
* in divequal, it assumes about ebx
* error/warning line nums
* ASM branch out warning of range off by 1 line--use lx->last_line_num
* Switch statement with sparse cases (low priority)
* maybe inline functions?
* Use of more floating-point stk?
* More aggressive in this routine $LK,"CmpF2PushPop",A="MN:CmpF2PushPop"$() with types besides MOV and F64.
* !dbl ~dbl
* &=, |= can overflow with Bts Btr on small data types
* num lock comes on with break key
* sort options for findfiles
* recalc_start could be more accurate before recalculating?
* Maybe, get rid of $LK,"0x20000",A="FF:::/Compiler/CmpMain.CPP,0x20000"$ in compiler.
* $TX,"WWW.OSDEV.ORG",HTML="http://www.osdev.org"$
* $FG,4$$TX,"KeyPeele#1",HTML="http://www.youtube.com/watch?v=Dd7FixvoKBw"$$FG$
* $FG,4$$TX,"KeyPeele#2",HTML="http://www.youtube.com/watch?v=VHG_Gv_zLY4"$$FG$
* $FG,4$$TX,"ThePrisoner",HTML="http://www.youtube.com/watch?v=HRPDO63rI1E"$$FG$
* $FG,4$$TX,"WestWorld",HTML="http://www.youtube.com/watch?v=LcL3eP0Hfy4"$$FG$
* $FG,4$$TX,"Picard:FourLights",HTML="http://www.youtube.com/watch?v=o_eSwq1ewsU"$$FG$
* $FG,4$$TX,"Dwight:NerdTorture",HTML="http://www.noob.us/humor/the-office-dwight-faces-nerd-torture-of-the-highest-form"$$FG$
* $FG,4$$TX,"AliG:Homosapiens",HTML="http://www.youtube.com/watch?v=eB5VXJXxnNU&t=2m20s"$$FG$
* $FG,4$$TX,"Dumb Guards",HTML="http://www.youtube.com/watch?v=OdKa9bXVinE"$$FG$
* $FG,4$$TX,"Mapping the Commodore 64",HTML="http://unusedino.de/ec64/technical/project64/mapping_c64.html"$$FG$
* Holy Grail: Lmq5PxHpLNw 1:28:27
-34
View File
@@ -1,34 +0,0 @@
$TR,"Adam"$
$ID,2$$TR,"SysMsgFlags"$
$ID,2$sys_msg_flags[0]=0x53;
$ID,-2$$TR,"SysRegVer"$
$ID,2$registry_version=2.030;
$ID,-2$$ID,-2$$TR,"TempleOS"$
$ID,2$$TR,"DiningStars"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"EagleDive"$
$ID,2$I64 best_score=2;
$ID,-2$$TR,"BlackDiamond"$
$ID,2$I64 best_score=35;
$ID,-2$$TR,"CastleFrankenstein"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"ZoneOut"$
$ID,2$F64 best_score=95.3249;
$ID,-2$$TR,"Varoom"$
$ID,2$F64 best_score=11.8623;
$ID,-2$$TR,"BugBird"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"TimeOut"$
$ID,2$I64 best_score=0;
$ID,-2$$TR,"RawHide"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"KeepAway"$
$ID,2$I64 best_score0=0,best_score1=9999;
$ID,-2$$TR,"XCaliber"$
$ID,2$I64 best_score=70;
I64 msg_flags=1;
$ID,-2$$TR,"Wenceslas"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"BulgeBomber"$
$ID,2$I64 best_score=45;
$ID,-2$$ID,-2$
+85 -35
View File
@@ -57,23 +57,23 @@ Bool ChkDrvModelSerial(U8 drv_let,U8 *model,U8 *serial)
}
#define SLOP BLK_SIZE
U0 TSBootDrv1()
U0 TSBootRescueDrv1()
{
CBinFile *bfh=sys_boot_base-sizeof(CBinFile);
bfh(I64)+=bfh->file_size-1;
DefinePrint("TS_BOOT_DRV_START","0x%X",CeilI64(SYS_KERNEL_END+SLOP,BLK_SIZE));
DefinePrint("TS_BOOT_DRV_END", "0x%X",FloorI64(
DefinePrint("TS_BOOT_RESCUE_DRV_START","0x%X",CeilI64(SYS_KERNEL_END+SLOP,BLK_SIZE));
DefinePrint("TS_BOOT_RESCUE_DRV_END", "0x%X",FloorI64(
(BOOT_RAM_LIMIT-(BOOT_STK_SIZE+CD_BOOT_LOADER_SIZE))>>4<<4-
(bfh(I64)-SYS_KERNEL_END)-SLOP,BLK_SIZE));
DefinePrint("CFG_BOOT_DRV_FILE","\"/Temp/BootDrv.BIN.Z\"");
} TSBootDrv1;
DefinePrint("CFG_BOOT_RESCUE_DRV_FILE","\"/Temp/BootRescueDrv.BIN.Z\"");
} TSBootRescueDrv1;
U0 TSBootDrv2()
U0 TSBootRescueDrv2()
{
DefinePrint("CFG_BOOT_DRV","\"a10x%X\n0x%X\n\"",TS_BOOT_DRV_START,
(TS_BOOT_DRV_END-TS_BOOT_DRV_START)/BLK_SIZE);
DefinePrint("CFG_BOOT_DRV_START","\"0x%X\"",TS_BOOT_DRV_START);
} TSBootDrv2;
DefinePrint("CFG_BOOT_RESCUE_DRV","\"a10x%X\n0x%X\n\"",TS_BOOT_RESCUE_DRV_START,
(TS_BOOT_RESCUE_DRV_END-TS_BOOT_RESCUE_DRV_START)/BLK_SIZE);
DefinePrint("CFG_BOOT_RESCUE_DRV_START","\"0x%X\"",TS_BOOT_RESCUE_DRV_START);
} TSBootRescueDrv2;
U0 TSEmployeeSet()
{
@@ -86,9 +86,10 @@ U0 TSEmployeeSet()
U0 TSBlogDirSet()
{
CDate cdt=Now;
CDateStruct ds;
Date2Struct(&ds,Now+local_time_offset);
DefinePrint("TS_BLOG_DIR","\"/Accts/TS/Wb2/Rants/%s/%04d/%02d\"",
TS_EMPLOYEE,Year(cdt),Month(cdt));
TS_EMPLOYEE,ds.year,ds.mon);
} TSBlogDirSet;
#define CID_DFT 0
@@ -103,7 +104,6 @@ U0 TSIDComputer()
/* My TAD8 computer died. It had two hard drives. You could
boot it directly or from VMware with a physical drive.
CMemE820 *m20=SYS_MEM_E820;
if (IsDrvVMware('D') && DrvMaxBlk('D')==0x575466EF)
ts_cid=CID_TAD8_VM; //VMware boot of TAD8
@@ -135,7 +135,7 @@ U0 TSInit()
if (ts_cid==CID_TAD8) {
DefinePrint("TS_HDS","\"DEI\"");
DefinePrint("TS_MASTER_BOOT_DRVS","\"I\"");
} else { //CID_TAD8_VM
} else {//CID_TAD8_VM
DefinePrint("TS_HDS","\"DE\"");
DefinePrint("TS_MASTER_BOOT_DRVS","\"\"");
}
@@ -149,7 +149,7 @@ U0 TSInit()
case CID_DFT:
DefinePrint("CFG_ACCT","\"\nTS/TAD\n\"");
DefinePrint("CFG_RAM_DRVS","\"b1\nScale2Mem(2048,0x40000)\n\"");
if (sys_auto_mount_ide_cnt) {
if (dsk.auto_mount_ide_cnt) {
//If AutoMount was successful, No need to manually mount in next compile
DefinePrint("CFG_HARD_DRVS","\"\"");
DefinePrint("CFG_CDROM_DRVS","\"\"");
@@ -186,7 +186,7 @@ U0 TSInit()
DefinePrint("TS_MASTER_BOOT_DRVS","\"D\"");
DefinePrint("TS_MAIN_DRV","\"D\"");
DefinePrint("TS_BAK_DRV","\"E\"");
DefinePrint("TS_BOOT_DRV","\"A\"");
DefinePrint("TS_BOOT_RESCUE_DRV","\"A\"");
DefinePrint("TS_RAM_DRV","\"B\"");
DefinePrint("TS_WIN_DRV","\"\"");
DefinePrint("TS_CDROM_DRV","\"T\"");
@@ -197,7 +197,7 @@ U0 TSInit2()
{
DefinePrint("TS_MAIN_DRV_LET","'%s'",TS_MAIN_DRV);
DefinePrint("TS_BAK_DRV_LET","'%s'",TS_BAK_DRV);
DefinePrint("TS_BOOT_DRV_LET","'%s'",TS_BOOT_DRV);
DefinePrint("TS_BOOT_RESCUE_DRV_LET","'%s'",TS_BOOT_RESCUE_DRV);
DefinePrint("TS_RAM_DRV_LET","'%s'",TS_RAM_DRV);
DefinePrint("TS_WIN_DRV_LET","'%s'",TS_WIN_DRV);
DefinePrint("TS_CDROM_DRV_LET","'%s'",TS_CDROM_DRV);
@@ -206,7 +206,7 @@ U0 TSInit2()
Bool ts_has_main_drv =ToBool(StrLen(TS_MAIN_DRV)),
ts_has_bak_drv =ToBool(StrLen(TS_BAK_DRV)),
ts_has_boot_drv =ToBool(StrLen(TS_BOOT_DRV)),
ts_has_boot_rescue_drv =ToBool(StrLen(TS_BOOT_RESCUE_DRV)),
ts_has_ram_drv =ToBool(StrLen(TS_RAM_DRV)),
ts_has_win_drv =ToBool(StrLen(TS_WIN_DRV)),
ts_has_cdrom_drv=ToBool(StrLen(TS_CDROM_DRV));
@@ -215,8 +215,8 @@ if (ts_has_main_drv)
SetDrvTextAttr(TS_MAIN_DRV_LET, WHITE <<4|BLUE);
if (ts_has_bak_drv)
SetDrvTextAttr(TS_BAK_DRV_LET, WHITE <<4|RED);
if (ts_has_boot_drv)
SetDrvTextAttr(TS_BOOT_DRV_LET, BLUE <<4|BROWN);
if (ts_has_boot_rescue_drv)
SetDrvTextAttr(TS_BOOT_RESCUE_DRV_LET, BLUE <<4|BROWN);
if (ts_has_ram_drv)
SetDrvTextAttr(TS_RAM_DRV_LET, BLUE <<4|YELLOW);
if (ts_has_win_drv)
@@ -234,9 +234,8 @@ if (ts_has_cdrom_drv)
#define TS_CFG "\n" CFG_RAM_DRVS CFG_CDROM_DRVS CFG_HARD_DRVS CFG_ACCT CFG_DSK_CACHE CFG_OPTS
#define TS_MENU_CFG "\n" CFG_RAM_DRVS CFG_CDROM_DRVS CFG_HARD_DRVS "\n\n" CFG_DSK_CACHE CFG_OPTS
#define TS_CDROM_CFG "Tb1\n0x20000\nt3 \n\nTS\n\nAutoMountIDE\nDT\n"
#define TS_CDROM_DBG_CFG "A" CFG_BOOT_DRV "b1\nScale2Mem(2048,0x40000)\n\n\n\n"\
"DontProbe\nBootDrv\n" TS_MAIN_DRV ":" CFG_BOOT_DRV_FILE "\n" CFG_BOOT_DRV_START "\n\n"
#define TS_CDROM_DBG_CFG "A" CFG_BOOT_RESCUE_DRV "b1\nScale2Mem(2048,0x40000)\n\n\n\n"\
"DontProbe\nBootRescueDrv\n" TS_MAIN_DRV ":" CFG_BOOT_RESCUE_DRV_FILE "\n" CFG_BOOT_RESCUE_DRV_START "\n\n"
//$BK,1$Change these, too...$BK,0$
//$MA-X+PU,"STD_DISTRO_CDROM_CFG",LM="F(\"STD_DISTRO_CDROM_CFG\");View;"$
//$LK,"Install Acct",A="FF:::/Accts/Install/DoOnce.CPP,MakeOSPrtBootInstall"$
@@ -244,8 +243,7 @@ if (ts_has_cdrom_drv)
Bool frame_grabber_on=FALSE;
#define VIDEO_FRAME_RATE 8
U0 FrameGrabberTask(I64)
{
/**** TO MAKE MOVIE ****
{/**** TO MAKE MOVIE ****
TempleOS
<ALT-SHIFT-V>
@@ -267,29 +265,33 @@ Boot Windows
Silent(ON); //no output to screen
MkDir("::/Temp/ScreenShots");
while (frame_grabber_on) {
SPrint(buf,"::/Temp/ScreenShots/VID%05d.BMP.Z",frame_num++);
StrPrint(buf,"::/Temp/ScreenShots/VID%05d.BMP.Z",frame_num++);
StrCpy(buf2,buf);
BMPFileCaptureScreen(buf);
while (TRUE) {
end_time+=1.0/VIDEO_FRAME_RATE;
if (end_time<tS) {
SPrint(buf,"::/Temp/ScreenShots/VID%05d.BMP.Z",frame_num++);
StrPrint(buf,"::/Temp/ScreenShots/VID%05d.BMP.Z",frame_num++);
Copy(buf2,buf);
} else
break;
}
SleepUntil(sys_jiffies+(end_time-tS)*JIFFY_FREQ);
SleepUntil(cnts.jiffies+(end_time-tS)*JIFFY_FREQ);
}
}
U0 CopyVideo()
I64 CopyVideo()
{
I64 result=0;
if (ts_has_bak_drv) {
Del(TS_BAK_DRV ":/Temp/*.SND");
SndFileCreate(TS_BAK_DRV ":/Temp/Audio",0.23,0.0,WF_SQUARE,0.45,0.35);
DelTree(TS_BAK_DRV ":/Temp/ScreenShots");
CopyTree("::/Temp/ScreenShots",TS_BAK_DRV ":/Temp/ScreenShots");
result=Unzip(TS_BAK_DRV ":/Temp/ScreenShots/*.Z");
}
"$$BK,1$$Files Copied:%d$$BK,0$$ Time:%8.3fm\n",result,result/60.0/VIDEO_FRAME_RATE;
return result;
}
public U0 FrameGrabberToggle()
@@ -300,13 +302,13 @@ public U0 FrameGrabberToggle()
if (frame_grabber_on) {
frame_grabber_on=FALSE;
Snd(0);
wallpaper_record_on=snd_record=FALSE;
wall->record=snd.record=FALSE;
Sleep(1000);
CopyVideo;
} else {
frame_grabber_on=TRUE;
Spawn(&FrameGrabberTask,NULL,"Frame Grabber");
wallpaper_record_on=snd_record=TRUE;
wall->record=snd.record=TRUE;
Snd(0);
}
}
@@ -345,7 +347,7 @@ U0 JukeSongsPut(U8 *dir,I64 start_song,I64 end_song)
tempde=tempde->next;
}
DirLstDel(tempde1);
DirTreeDel(tempde1);
}
public U0 JukeLines(I64 start_line,I64 end_line)
@@ -353,10 +355,10 @@ public U0 JukeLines(I64 start_line,I64 end_line)
WordStat;
if (!frame_grabber_on)
FrameGrabberToggle;
JukeSongsPuppet("::/Apps/MusicOrgan/Examples",,start_line*5,end_line*5);
JukeSongsPuppet("::/Apps/Psalmody/Examples",,start_line*5,end_line*5);
if (frame_grabber_on)
FrameGrabberToggle;
JukeSongsPut("::/Apps/MusicOrgan/Examples",start_line*5,end_line*5);
JukeSongsPut("::/Apps/Psalmody/Examples",start_line*5,end_line*5);
}
public U0 ChkAll()
@@ -389,7 +391,7 @@ public CDoc *DC2Doc(CDC *dc,I64 dx=0,I64 dy=0,I64 *_total_score=NULL)
best_score=MAX_I64;
best_ch=0;
ptr=&gr_font[32*FONT_HEIGHT];
ptr=&text.font[32*FONT_HEIGHT];
for (ch=32;ch<127;ch++) {
diff_image=*ptr++ ^ cur_char_image;
score=0;
@@ -438,3 +440,51 @@ public U0 BMP2TXT(U8 *_in_name,U8 *_out_name=NULL)
Free(in_name);
Free(out_name);
}
U0 DblSpaceScanFile(U8 *filename)
{
CDoc *doc=DocRead(filename);
I64 i;
CDocEntry *doc_e=doc->root.next;
while (doc_e!=doc) {
if (doc_e->type_u8==DOCT_NEW_LINE &&
doc_e->next->type_u8==DOCT_NEW_LINE &&
doc_e->next->next->type_u8==DOCT_NEW_LINE) {
i=0;
while (doc_e->type_u8==DOCT_NEW_LINE) {
i++;
doc_e=doc_e->next;
}
"%02d:",i;
PutFileLink(doc->filename.name,doc_e->y);
'\n';
} else
doc_e=doc_e->next;
}
DocDel(doc);
}
U0 DblSpaceScanLst(CDirEntry *tempde)
{
CDirEntry *tempde1;
while (tempde) {
tempde1=tempde->next;
if (tempde->attr & RS_ATTR_DIR) {
if (tempde->sub) {
"Scanning Directory: %s\n",tempde->full_name;
DblSpaceScanLst(tempde->sub);
}
} else
DblSpaceScanFile(tempde->full_name);
DirEntryDel(tempde);
tempde=tempde1;
}
}
public U0 DblSpaceScan(U8 *files_find_mask="*",U8 *fu_flags=NULL)
{
I64 f=0;
ScanFlags(&f,Define("ST_FILE_UTIL_FLAGS"),"+r+T");
ScanFlags(&f,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
DblSpaceScanLst(FilesFind(files_find_mask,f));
}
+140 -154
View File
@@ -1,11 +1,11 @@
//The CFG defines are $LK,"Here",A="FI:::/Demo/AcctExample/TSAdam.CPP"$.
U8 TSPmtDrv()
U8 TSGetDrv()
{
I64 result;
"Drive (%s):",TS_HDS;
result=ToUpper(GetChar);
NewLine;
'\n';
return result;
}
@@ -37,8 +37,8 @@ U0 TSCopyDrv(U8 src,U8 dst)
Fmt(dst,,FALSE,PT_FAT32);
SPrint(buf_s,"%c:/",src);
SPrint(buf_d,"%c:/",dst);
StrPrint(buf_s,"%c:/",src);
StrPrint(buf_d,"%c:/",dst);
CopyTree(buf_s,buf_d);
DocClear;
@@ -46,13 +46,13 @@ U0 TSCopyDrv(U8 src,U8 dst)
TSMakeOSPrtBootInstall(dst);
}
U0 TSPmtCopyDrv()
U0 TSPromptAndCopyDrv()
{
I64 src,dst;
"$$RED$$\nCopy Src Drive:\n$$FG$$";
src=TSPmtDrv;
src=TSGetDrv;
"$$RED$$\nCopy Dst Drive:\n$$FG$$";
dst=TSPmtDrv;
dst=TSGetDrv;
TSCopyDrv(src,dst);
}
@@ -73,28 +73,7 @@ public U0 CursorRem(U8 *files_find_mask="*")
Touch(tempde->full_name,"",,tempde->datetime);
tempde=tempde->next;
}
DirLstDel(tempde1);
}
public U0 CursorTopFile(U8 *filename)
{
CDoc *doc;
doc=DocRead(filename,DOCF_PLAIN_TEXT);
doc->cur_entry=doc->root.next;
DocWrite(doc);
DocDel(doc);
}
public U0 CursorTop(U8 *files_find_mask="*")
{
I64 fuf_flags=0;
ScanFlags(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),"+r+T+f+F+O");
CDirEntry *tempde=FilesFind(files_find_mask,fuf_flags),*tempde1=tempde;
while (tempde) {
CursorTopFile(tempde->full_name);
Touch(tempde->full_name,"",,tempde->datetime);
tempde=tempde->next;
}
DirLstDel(tempde1);
DirTreeDel(tempde1);
}
U0 UncollapseFile(U8 *filename,I64 *)
@@ -115,24 +94,24 @@ U0 Uncollapse(U8 *files_find_mask="*",U8 *fu_flags=NULL)
Touch(tempde->full_name,"",,tempde->datetime);
tempde=tempde->next;
}
DirLstDel(tempde1);
DirTreeDel(tempde1);
}
public U0 CopySongs(U8 threshold='7')
{
CDoc *s;
CDocEntry *doc_e;
CDirEntry *tempde=FilesFind("/Accts/TS/TAD/MusicOrgan/*.CPP*",FUF_CLUSTER_ORDER),*tempde1=tempde;
DelTree("/Apps/MusicOrgan/Examples");
MkDir("/Apps/MusicOrgan/Examples");
CDirEntry *tempde=FilesFind("/Accts/TS/TAD/Psalmody/*.CPP*",FUF_CLUSTER_ORDER),*tempde1=tempde;
DelTree("/Apps/Psalmody/Examples");
MkDir("/Apps/Psalmody/Examples");
while (tempde) {
s=DocRead(tempde->full_name);
doc_e=s->root.next;
if (doc_e->type_u8==DOCT_TEXT && doc_e->tag[2]>=threshold)
Copy(tempde->full_name,"/Apps/MusicOrgan/Examples");
Copy(tempde->full_name,"/Apps/Psalmody/Examples");
tempde=tempde->next;
}
DirLstDel(tempde1);
DirTreeDel(tempde1);
}
U0 DistroPrep()
@@ -158,49 +137,54 @@ U0 DistroPrep()
DelTree("/Demo/AcctExample");
CopyTree("/Accts/TS","/Demo/AcctExample");
DelTree("/Demo/AcctExample/TAD/MusicOrgan");
DelTree("/Demo/AcctExample/TAD/Psalmody");
DelTree("/Demo/AcctExample/Wb2");
Del("/Demo/AcctExample/TAD/Test*");
DelTree("/Demo/AcctExample/TAD");
CursorTop("/*");
//Once in a while, do these:
// TSSortHeaders;
// DocOpt("/*");
// DblSpaceScan("/*");
CursorRem("/*");
DelTree("/Demo/*.BI*");
S2T("/*","+r+S");
DocOpt("/*");
Move(WSD_DEF_FILENAME,WSD_DEF_FILENAME_Z);
}
U0 MakeBootDrvFile()
U0 MakeBootRescueDrvFile()
{
try
PrtChk(Drv2Prt(TS_BOOT_DRV_LET));
PrtChk(Drv2Prt(TS_BOOT_RESCUE_DRV_LET));
catch {
Fs->catch_except=TRUE;
Auto(CFG_BOOT_DRV "\n");
Auto(CFG_BOOT_RESCUE_DRV "\n");
Mount;
}
CBlkDev *bdev=Drv2BlkDev(TS_BOOT_DRV_LET);
Fmt(TS_BOOT_DRV_LET,,FALSE,PT_REDSEA);
CBlkDev *bdev=Drv2BlkDev(TS_BOOT_RESCUE_DRV_LET);
Fmt(TS_BOOT_RESCUE_DRV_LET,,FALSE,PT_REDSEA);
MkDir(TS_BOOT_DRV ":/Compiler");
Copy(TS_MAIN_DRV ":/Compiler/Compiler.BIN.Z", TS_BOOT_DRV ":/Compiler");
Copy(TS_MAIN_DRV ":/Compiler/OpCodes.TXT.Z", TS_BOOT_DRV ":/Compiler");
Copy(TS_MAIN_DRV ":/Compiler/CmpDefs.HPP.Z", TS_BOOT_DRV ":/Compiler");
Copy(TS_MAIN_DRV ":/Compiler/Cmp.HPP.Z", TS_BOOT_DRV ":/Compiler");
MkDir(TS_BOOT_RESCUE_DRV ":/Compiler");
Copy(TS_MAIN_DRV ":/Compiler/Compiler.BIN.Z", TS_BOOT_RESCUE_DRV ":/Compiler");
Copy(TS_MAIN_DRV ":/Compiler/OpCodes.TXT.Z", TS_BOOT_RESCUE_DRV ":/Compiler");
Copy(TS_MAIN_DRV ":/Compiler/CmpDefs.HPP.Z", TS_BOOT_RESCUE_DRV ":/Compiler");
Copy(TS_MAIN_DRV ":/Compiler/Cmp.HPP.Z", TS_BOOT_RESCUE_DRV ":/Compiler");
MkDir(TS_BOOT_DRV ":/Kernel");
Copy(TS_MAIN_DRV ":/Kernel/*.HPP*", TS_BOOT_DRV ":/Kernel");
Copy(TS_MAIN_DRV ":/Kernel/Adam1*", TS_BOOT_DRV ":/Kernel");
CopyTree(TS_MAIN_DRV ":/Kernel/Dsk", TS_BOOT_DRV ":/Kernel/Dsk");
MkDir(TS_BOOT_RESCUE_DRV ":/Kernel");
Copy(TS_MAIN_DRV ":/Kernel/*.HPP*", TS_BOOT_RESCUE_DRV ":/Kernel");
Copy(TS_MAIN_DRV ":/Kernel/Adam1*", TS_BOOT_RESCUE_DRV ":/Kernel");
CopyTree(TS_MAIN_DRV ":/Kernel/Dsk", TS_BOOT_RESCUE_DRV ":/Kernel/Dsk");
MkDir(TS_BOOT_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Accts/TS/DbgAdam2.CPP.Z", TS_BOOT_DRV ":/Adam/Adam2.CPP.Z");
Copy(TS_MAIN_DRV ":/Adam/AdamExt.HPP.Z", TS_BOOT_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Adam/Math2a.CPP.Z", TS_BOOT_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Adam/Training.CPP.Z", TS_BOOT_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Adam/Utils2a.CPP.Z", TS_BOOT_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Adam/MathODE.CPP.Z", TS_BOOT_DRV ":/Adam");
MkDir(TS_BOOT_RESCUE_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Accts/TS/DbgAdam2.CPP.Z", TS_BOOT_RESCUE_DRV ":/Adam/Adam2.CPP.Z");
Copy(TS_MAIN_DRV ":/Adam/AdamExts.HPP.Z", TS_BOOT_RESCUE_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Adam/Math2a.CPP.Z", TS_BOOT_RESCUE_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Adam/Training.CPP.Z", TS_BOOT_RESCUE_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Adam/Utils2a.CPP.Z", TS_BOOT_RESCUE_DRV ":/Adam");
Copy(TS_MAIN_DRV ":/Adam/MathODE.CPP.Z", TS_BOOT_RESCUE_DRV ":/Adam");
FileWrite(TS_MAIN_DRV ":" CFG_BOOT_DRV_FILE,bdev->RAM_dsk,(bdev->max_blk+1)<<BLK_SIZE_BITS);
FileWrite(TS_MAIN_DRV ":" CFG_BOOT_RESCUE_DRV_FILE,bdev->RAM_dsk,(bdev->max_blk+1)<<BLK_SIZE_BITS);
}
U0 MakeSymFiles()
@@ -280,10 +264,10 @@ I64 MakeLineRepFile()
DocPrint(doc,"DefinePrint(\"DD_TEMPLEOS_LOC\",\"%,d\");\n",result);
DocPrint(doc,"DefinePrint(\"DD_TEMPLEOS_LOC_OFFICIAL\",\"%,d\");\n",official);
st=MPrint("%,d",result);
st=MStrPrint("%,d",result);
DefineLoad("DD_TEMPLEOS_LOC",st);
Free(st);
st=MPrint("%,d",official);
st=MStrPrint("%,d",official);
DefineLoad("DD_TEMPLEOS_LOC_OFFICIAL",st);
Free(st);
@@ -295,7 +279,15 @@ I64 MakeLineRepFile()
}
U0 TSDistroPrep()
{
{/*This is the Trivial Solution internal company distro. Only run this on a
virtual machine, not bare metal hardware because it's settings could cause
problems. The hard drive must be partitioned. Install Std Distro, then
install this on top.
>$LK,"TSInstall",A="FF:::/Demo/AcctExample/TSDistro.CPP,TSInstall"$;
>$LK,"TSUpgrade",A="FF:::/Demo/AcctExample/TSDistro.CPP,TSUpgrade"$;
See $LK,"MakeDistrosAndBackUp",A="FF:::/Demo/AcctExample/TSDistro.CPP,MakeDistrosAndBackUp"$() to reproduce the ISO's in $FG,4$E:/Wb$FG$. It makes this
website, too.
*/
Drv(TS_MAIN_DRV_LET);
DistroPrep;
Auto(TS_CDROM_CFG);
@@ -303,20 +295,52 @@ U0 TSDistroPrep()
DelTree(TS_DISTRO_DIR);
CopyTree(TS_MAIN_DRV ":/",TS_DISTRO_DIR "/");
}
U0 MakeTSDistro()
{
TSDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSTS_SIZE",
"Download $TX,"TempleOS V2.10",D="DD_OS_NAME_VERSION"$ - T.S. Company Internal Distro (%0.1f MB)",
0.1*(10*Size(TS_ISO_NAME,"+s")/1024/1024));
Drv(TS_MAIN_DRV_LET);
}
U0 DbgDistroPrep()
{
if (ts_has_boot_drv) {
{/*This is a debug distro. The CDROM bootloader uses BIOS INT 0x13 0x42 to
load Kernel.BIN.C which has been modified to also hold a small RAM drive
(Drive A) that fits in the low 640k. The bootloader starts in real mode
and the kernel changes to long, 64-bit mode. It loads the 64-bit compiler
and assembler, compiles some, but not all, of the normal start-up scripts
and drops you off at the $LK,"Dbg",A="MN:Dbg"$ command-line where you can JIT compile,
use $LK,"EdLite",A="MN:EdLite"$ on RAM files, and use many of the other normal Kernel commands.
I could not fit all the normal start-up scripts into the small RAM drive,
so you do not have the window manager or normal document framework. You
should have many Gig of RAM to play with with RAM Drive B, a high memory
RAM drive, but you have only those few files. When I generate this distro,
I call $LK,"MakeBootDrvFile",A="FF:::/Demo/AcctExample/TSDistro.CPP,MakeBootRescueDrvFile"$.
*/
if (ts_has_boot_rescue_drv) {
Drv(TS_MAIN_DRV_LET);
DistroPrep;
MakeBootDrvFile;
MakeBootRescueDrvFile;
Auto(TS_CDROM_DBG_CFG);
MakeOSPrtBootInstall(TS_MAIN_DRV_LET,TS_CDROM_DRV_LET);
DelTree(TS_DISTRO_DIR);
CopyTree(TS_MAIN_DRV ":/",TS_DISTRO_DIR "/");
Del(TS_MAIN_DRV ":" CFG_BOOT_DRV_FILE);
Del(TS_MAIN_DRV ":" CFG_BOOT_RESCUE_DRV_FILE);
}
}
U0 MakeDbgDistro()
{
DbgDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSDBG_SIZE",
"Download $TX,"TempleOS V2.10",D="DD_OS_NAME_VERSION"$ - Debug Distro (%0.1f MB)",
0.1*(10*Size(TS_ISO_NAME,"+s")/1024/1024));
Drv(TS_MAIN_DRV_LET);
}
U0 StdDistroPrep()
{
@@ -330,9 +354,22 @@ U0 StdDistroPrep()
Del(TS_DISTRO_DIR "/0000Boot/OldMBR.BIN.C");
Del(TS_DISTRO_DIR "/0000Boot/BootMHD2.BIN.C");
}
U0 MakeStdDistro()
{
StdDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
Drv(TS_MAIN_DRV_LET);
}
U0 LiteDistroPrep()
{
{/*Missing: Dictionary, Bible and TSZ Utility. Still 100% OpenSource.
Includes: x86_64 64BitMultiCoredKernel, 64BitCompiler, Assembler,
Unassembler, Debugger, Editor, VGAGraphics, Tools, BootLoaders,
Keyboard&Mouse, HardDrives, FAT32, Partitioner, CD/DVD, ISO9660FileCreator,
FileManager, WindowManager, PCSpeaker, Apps, Games, God-Oracle-App, Hymns,
Demos, Documentation.
*/
Drv(TS_MAIN_DRV_LET);
DistroPrep;
Auto(STD_DISTRO_CDROM_CFG);
@@ -348,9 +385,23 @@ U0 LiteDistroPrep()
Del(TS_DISTRO_DIR "/Misc/PCIDevices.TXT.Z");
Del(TS_DISTRO_DIR "/Misc/Bible.TXT.Z");
}
U0 MakeLiteDistro()
{
LiteDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSLITE_SIZE",
"Download $TX,"TempleOS V2.10",D="DD_OS_NAME_VERSION"$ - Lite Distro (%0.1f MB)",
0.1*(10*Size(TS_ISO_NAME,"+s")/1024/1024));
Drv(TS_MAIN_DRV_LET);
}
U0 UltraDistroPrep()
{
{/*Missing: Apps, Demos, Dictionary, Bible and TSZ Utility. Still 100% OpenSource.
Includes: x86_64 64BitMultiCoredKernel, 64BitCompiler, Assembler,
Unassembler, Debugger, Editor, VGAGraphics, Tools, BootLoaders,
Keyboard&Mouse, HardDrives, FAT32, Partitioner, CD/DVD, ISO9660FileCreator,
FileManager, WindowManager, PCSpeaker, Documentation.
*/
Drv(TS_MAIN_DRV_LET);
DistroPrep;
Auto(STD_DISTRO_CDROM_CFG);
@@ -370,39 +421,13 @@ U0 UltraDistroPrep()
Del(TS_DISTRO_DIR "/Misc/Bible.TXT.Z");
Del(TS_DISTRO_DIR "/Adam/God/Vocab.TXT.Z");
}
U0 MakeTSDistro()
{
TSDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
Drv(TS_MAIN_DRV_LET);
}
U0 MakeDbgDistro()
{
DbgDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
Drv(TS_MAIN_DRV_LET);
}
U0 MakeStdDistro()
{
StdDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
Drv(TS_MAIN_DRV_LET);
}
U0 MakeLiteDistro()
{
LiteDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
Drv(TS_MAIN_DRV_LET);
}
U0 MakeUltraDistro()
{
UltraDistroPrep;
CDFileCreate(TS_ISO_NAME,TS_DISTRO_DIR "/*",,TS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSULTRA_SIZE",
"Download $TX,"TempleOS V2.10",D="DD_OS_NAME_VERSION"$ - UltraLite Distro (%0.1f MB)",
0.1*(10*Size(TS_ISO_NAME,"+s")/1024/1024));
Drv(TS_MAIN_DRV_LET);
}
@@ -441,7 +466,7 @@ U0 MakeWebSite()
TSWebFile(tempde->full_name);
tempde=tempde->next;
}
DirLstDel(tempde1);
DirTreeDel(tempde1);
Drv(TS_MAIN_DRV_LET);
}
}
@@ -451,31 +476,31 @@ U0 FreshenWebDir(U8 *dirname)
CDirEntry *tempde,*tempde1;
U8 *src,*dst;
src=MPrint(TS_BAK_DRV ":/Wb%s/*",dirname);
src=MStrPrint(TS_BAK_DRV ":/Wb%s/*",dirname);
Del(src);
Free(src);
src=MPrint(TS_MAIN_DRV ":%s/*",dirname);
dst=MPrint(TS_BAK_DRV ":/Wb%s",dirname);
src=MStrPrint(TS_MAIN_DRV ":%s/*",dirname);
dst=MStrPrint(TS_BAK_DRV ":/Wb%s",dirname);
Copy(src,dst);
Free(src);
Free(dst);
src=MPrint(TS_BAK_DRV ":/Uncompressed%s/*",dirname);
src=MStrPrint(TS_BAK_DRV ":/Uncompressed%s/*",dirname);
Del(src);
Free(src);
src=MPrint(TS_MAIN_DRV ":%s/*",dirname);
dst=MPrint(TS_BAK_DRV ":/Uncompressed%s",dirname);
src=MStrPrint(TS_MAIN_DRV ":%s/*",dirname);
dst=MStrPrint(TS_BAK_DRV ":/Uncompressed%s",dirname);
Copy(src,dst);
Free(src);
Free(dst);
src=MPrint(TS_BAK_DRV ":/Wb%s/*",dirname);
src=MStrPrint(TS_BAK_DRV ":/Wb%s/*",dirname);
tempde=tempde1=FilesFind(src,FUF_JUST_FILES|FUF_JUST_TXT|FUF_CLUSTER_ORDER);
while (tempde) {
TSWebFile(tempde->full_name);
tempde=tempde->next;
}
DirLstDel(tempde1);
DirTreeDel(tempde1);
}
U0 MakeWebSitePartial()
@@ -488,47 +513,24 @@ U0 MakeWebSitePartial()
}
}
U0 TSUncompress()
I64 TSUncompress()
{
U8 *st;
CDirEntry *tempde,*tempde1;
I64 result=0;
if (ts_has_bak_drv) {
DelTree(TS_BAK_DRV ":/Uncompressed");
CopyTree(TS_MAIN_DRV ":/",TS_BAK_DRV ":/Uncompressed");
tempde=tempde1=FilesFind(TS_BAK_DRV ":/Uncompressed/*.Z",FUF_RECURSE|FUF_JUST_FILES|FUF_CLUSTER_ORDER);
while (tempde) {
st=StrNew(tempde->full_name);
StrLastRem(st,".");
Move(tempde->full_name,st);
Free(st);
tempde=tempde->next;
}
DirLstDel(tempde1);
result=Unzip(TS_BAK_DRV ":/Uncompressed/*.Z");
CursorRem(TS_BAK_DRV ":/Uncompressed/*");
}
"Files Copied:%d\n",result;
return result;
}
U0 UpdateISODocDefines()
{
DefinePrint("DD_TEMPLEOSTS_SIZE",
"Download $TX,"TempleOS V2.03",D="DD_OS_NAME_VERSION"$ - T.S. Company Internal Distro (%0.1f MB)",
0.1*(10*Size(TS_BAK_DRV ":/Wb/TempleOSTS.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOSDBG_SIZE",
"Download $TX,"TempleOS V2.03",D="DD_OS_NAME_VERSION"$ - Debug Distro (%0.1f MB)",
0.1*(10*Size(TS_BAK_DRV ":/Wb/TempleOSDbg.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOSCD_SIZE",
"Download $TX,"TempleOS V2.03",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1f MB)",
"Download $TX,"TempleOS V2.10",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1f MB)",
0.1*(10*Size(TS_BAK_DRV ":/Wb/TempleOSCD.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOSLITE_SIZE",
"Download $TX,"TempleOS V2.03",D="DD_OS_NAME_VERSION"$ - Lite Distro (%0.1f MB)",
0.1*(10*Size(TS_BAK_DRV ":/Wb/TempleOSLite.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOSULTRA_SIZE",
"Download $TX,"TempleOS V2.03",D="DD_OS_NAME_VERSION"$ - UltraLite Distro (%0.1f MB)",
0.1*(10*Size(TS_BAK_DRV ":/Wb/TempleOSUltra.ISO","+s")/1024/1024));
}
UpdateISODocDefines;
@@ -537,7 +539,7 @@ public U0 MakeDistrosAndBackUp()
{
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
progress4=*progress4_desc=0;
progress4_max=19;
progress4_max=12;
WordStat;
WinMax;
WinBorder;
@@ -549,26 +551,10 @@ public U0 MakeDistrosAndBackUp()
CopyTree(TS_MAIN_DRV ":/",TS_BAK_DRV ":/Wb"); progress4++;
DocClear;
MakeTSDistro; progress4++;
DocClear;
Copy(TS_ISO_NAME,TS_BAK_DRV ":/Wb/TempleOSTS.ISO"); progress4++;
MakeDbgDistro; progress4++;
DocClear;
Copy(TS_ISO_NAME,TS_BAK_DRV ":/Wb/TempleOSDbg.ISO"); progress4++;
MakeStdDistro; progress4++;
DocClear;
Copy(TS_ISO_NAME,TS_BAK_DRV ":/Wb/TempleOSCD.ISO"); progress4++;
MakeLiteDistro; progress4++;
DocClear;
Copy(TS_ISO_NAME,TS_BAK_DRV ":/Wb/TempleOSLite.ISO"); progress4++;
MakeUltraDistro; progress4++;
DocClear;
Copy(TS_ISO_NAME,TS_BAK_DRV ":/Wb/TempleOSUltra.ISO"); progress4++;
UpdateISODocDefines;
Cd(TS_MAIN_DRV ":/");
@@ -587,7 +573,7 @@ public U0 MakeDistrosAndBackUp()
public U0 TSMount()
{
if (!sys_auto_mount_ide_cnt) {
if (!dsk.auto_mount_ide_cnt) {
Auto(CFG_HARD_DRVS "\n");
Mount;
}
+64 -24
View File
@@ -1,5 +1,5 @@
U0 BadCodeJump()
{ //$LK,"::/Adam/God/HSNotes.TXT"$
{//$LK,"::/Adam/God/HSNotes.TXT"$
CDirEntry *tempde1=FilesFind("/*",FUF_JUST_FILES|FUF_RECURSE|FUF_JUST_SRC|FUF_CLUSTER_ORDER),
*tempde=tempde1;
I64 cnt=0,num;
@@ -17,12 +17,12 @@ U0 BadCodeJump()
while (tempde) {
num-=tempde->user_data;
if (num<0) {
st=MPrint("FL:%s,%d",tempde->full_name,-num);
st=MStrPrint("FL:%s,%d",tempde->full_name,-num);
break;
}
tempde=tempde->next;
}
DirLstDel(tempde1);
DirTreeDel(tempde1);
Ed(st);
Free(st);
}
@@ -30,15 +30,15 @@ U0 BadCodeJump()
public U8 *FileNameNumNext(U8 *files_find_mask,U8 *fmt)
{
CDirEntry *tempde=FilesFind(files_find_mask);
U8 *result=MPrint(fmt,FileCnt(tempde));
DirLstDel(tempde);
U8 *result=MStrPrint(fmt,FileCnt(tempde));
DirTreeDel(tempde);
return result;
}
U0 DCImgWrite(CDC *dc)
{
U8 *st=FileNameNumNext("::" TS_BLOG_DIR "/Img*","::" TS_BLOG_DIR "/Img%03d.BMP"),*st2;
st2=MPrint("http://www.templeos.org/Wb%s",st+2);
st2=MStrPrint("http://www.templeos.org/Wb%s",st+2);
BMPFileWrite(st,dc);
Free(st);
"$$HC,\"<img src=\\\"%s\\\" width=\\\"%d\\\" height=\\\"%d\\\" alt=\\\"\\\">\"$$\n",st2,dc->width,dc->height;
@@ -49,13 +49,13 @@ U0 BlogScreenShot()
{
Bool old_cursor=DocCursor;
CDC *dc1,*dc2;
U8 *old_fp_draw_input_ptr=fp_draw_input_ptr;
fp_draw_input_ptr=NULL;
U8 *old_fp_draw_input_ptr=gr.fp_draw_input_ptr;
gr.fp_draw_input_ptr=NULL;
WinMgrSync(2);
dc1=DCCaptureScreen;
dc2=DCExtract(dc1,0,FONT_HEIGHT,GR_WIDTH-1,GR_HEIGHT-1);
DCImgWrite(dc2);
fp_draw_input_ptr=old_fp_draw_input_ptr;
gr.fp_draw_input_ptr=old_fp_draw_input_ptr;
DCDel(dc1);
DCDel(dc2);
DocCursor(old_cursor);
@@ -66,7 +66,7 @@ U8 *WebBookMarks(U8 *filename="HOME/Archive/Bookmarks.html")
U8 *st;
CDocEntry *doc_e;
CDoc *doc=DocNew;
CLex *lx=LexNew(MPrint("#include \"%s\"",filename));
CLex *lx=LexNew(MStrPrint("#include \"%s\"",filename));
while (Lex(lx))
if (lx->token==TK_STR && *lx->cur_str(U32 *)=='http') {
DocPrint(doc,"$$MU-UL,\"%Q\",LE=0x%X$$\n",lx->cur_str,lx->cur_str);
@@ -74,7 +74,10 @@ U8 *WebBookMarks(U8 *filename="HOME/Archive/Bookmarks.html")
}
LexDel(lx);
st=StrNew(PopUpMenu(doc));
if ((st=PopUpMenu(doc))!=DOCM_CANCEL)
st=StrNew(st);
else
st=NULL;
doc_e=doc->root.next;
while (doc_e!=doc) {
@@ -202,7 +205,7 @@ U0 MyBibleLines(U8 *st,I64 num_lines,I64 radix,Bool modulo,Bool plus_one)
U8 *verse;
if (*st && (doc_out=DocPut)) {
i=A2I64(st,radix);
i=Str2I64(st,radix);
if (modulo) {
DocPrint(doc_out,"$TX,"(Modulo is just remainder.)",HTML="http://en.wikipedia.org/wiki/Modulo_operation"$\n");
@@ -228,7 +231,7 @@ U0 MyBibleLines(U8 *st,I64 num_lines,I64 radix,Bool modulo,Bool plus_one)
doc_in=DocNew;
BibleLines(doc_in,start,num_lines);
while (TRUE) { //Del leading blanks
while (TRUE) {//Del leading blanks
doc_e=doc_in->root.next;
if (doc_e==doc_in)
break;
@@ -239,7 +242,7 @@ U0 MyBibleLines(U8 *st,I64 num_lines,I64 radix,Bool modulo,Bool plus_one)
break;
}
}
while (TRUE) { //Del trailing blanks
while (TRUE) {//Del trailing blanks
doc_e=doc_in->cur_entry->last;
if (doc_e==doc_in)
break;
@@ -256,14 +259,19 @@ U0 MyBibleLines(U8 *st,I64 num_lines,I64 radix,Bool modulo,Bool plus_one)
}
}
#define NIST_TIME_OFFSET (5*3600-353)
#define NIST_TIME_OFFSET 17586
public U0 SyncNIST()
{
I64 i,j;
CDate d;
CDateStruct ds;
while (!ScanChar) {
"%d %d\n",
ToI64 ((Now-A2Date("1/1/1970"))/CDATE_FREQ+NIST_TIME_OFFSET),
FloorI64((Now-A2Date("1/1/1970"))/CDATE_FREQ+NIST_TIME_OFFSET,60);
d=Now;
Date2Struct(&ds,d);
i=ToI64((d-Str2Date("1/1/1970"))/CDATE_FREQ+NIST_TIME_OFFSET);
j=FloorI64(i,60);
"%d %d %02d %02d\n",i,j,ds.sec,(60+ds.sec-(i-j))%60;
Sleep(100);
}
}
@@ -273,7 +281,7 @@ U0 FillInMyURL()
U8 *tag,*st,*st2;
CWebBibleForm *url=CAlloc(sizeof(CWebBibleForm));
url->timestamp=
FloorI64((Now-A2Date("1/1/1970"))/CDATE_FREQ+NIST_TIME_OFFSET,60);
FloorI64((Now-Str2Date("1/1/1970"))/CDATE_FREQ+NIST_TIME_OFFSET,60);
switch (PopUpPickLst("NISTBeacon\0WebBible\0YouTube\0Imgur\0Wikipedia\0RandomNumbers.info\0"
"Random.org\0VirtualNotary\0Nist\0HotBits\0GenerateData\0WebBookMark\0")) {
case 0:
@@ -282,7 +290,7 @@ U0 FillInMyURL()
"HTML=\"http://beacon.nist.gov/home\"$$\n\n"
"$$TX,\"Guidelines for Talking with God\","
"HTML=\"http://www.templeos.org/Wb/Adam/God/HSNotes.html\"$$\n\n";
tag=MPrint("http://beacon.nist.gov/rest/record/%d",url->timestamp);
tag=MStrPrint("http://beacon.nist.gov/rest/record/%d",url->timestamp);
"$$TX,\"%Q\",HTML=\"%Q\"$$\n\n",tag,tag;
Free(tag);
MyBibleLines(url->special,20,16,TRUE,TRUE);
@@ -292,7 +300,7 @@ U0 FillInMyURL()
if (DocFormDo(url(CWebBibleForm *))) {
tag=url->special;
st2=URLPercentSpaces(url->special);
st=MPrint("http://www.biblegateway.com/passage/?search=%s&version=NIV",st2);
st=MStrPrint("http://www.biblegateway.com/passage/?search=%s&version=NIV",st2);
Free(st2);
if (*url->tag)
tag=url->tag;
@@ -303,7 +311,7 @@ U0 FillInMyURL()
case 2:
if (DocFormDo(url(CYouTubeForm *))) {
if (url->min || url->sec)
st=MPrint("%s&hl=enUS&start=%d",url->special,url->min*60+url->sec);
st=MStrPrint("%s&hl=enUS&start=%d",url->special,url->min*60+url->sec);
else
st=StrNew(url->special);
"$$HC,\"<object width=\\\"640\\\" height=\\\"520\\\"><param name=\\\"movie\\\" "
@@ -325,7 +333,7 @@ U0 FillInMyURL()
case 4:
if (DocFormDo(url(CWikipediaForm *))) {
tag=url->special;
st=MPrint("http://en.wikipedia.org/wiki/%s",url->special);
st=MStrPrint("http://en.wikipedia.org/wiki/%s",url->special);
if (*url->tag)
tag=url->tag;
"$$TX,\"%Q\",HTML=\"%Q\"$$",tag,st;
@@ -357,7 +365,7 @@ U0 FillInMyURL()
tag="http://virtual-notary.org";
"$$TX,\"%Q\",HTML=\"%Q\"$$\n",tag,tag;
tag="Here is the certificate";
st=MPrint("http://www.templeos.org/Certs/virtual-notary-cert-randomnum-%d.p12",url->cert);
st=MStrPrint("http://www.templeos.org/Certs/virtual-notary-cert-randomnum-%d.p12",url->cert);
"\n$$TX,\"%Q: %d\",HTML=\"%Q\"$$.\n\n",tag,url->cert,st;
Free(st);
MyBibleLines(url->special,20,10,FALSE,FALSE);
@@ -402,3 +410,35 @@ U0 FillInMyURL()
}
Free(url);
}
public U0 GodBooksPassage(U8 *files_find_mask,I64 len=512)
{//Make God pick a book passage. $LK+PU,"Holy Spirit Instructions",A="FI:::/Adam/God/HSNotes.TXT"$
CDirEntry *tempm=FilesFind(files_find_mask,FUF_RECURSE|FUF_JUST_FILES|FUF_JUST_TXT),
*tempm1=tempm;
I64 i=0;
U8 *st,*st2=NULL;
while (tempm) {
st=FileRead(tempm->full_name);
tempm->user_data=StrLen(st);
if (tempm->user_data>=len)
i+=tempm->user_data+1-len;
Free(st);
tempm=tempm->next;
}
i=(GodBits(24)*i)>>24;
tempm=tempm1;
while (tempm) {
if (!st2 && tempm->user_data>=len) {
i-=tempm->user_data+1-len;
if (i<0) {
st=FileRead(tempm->full_name);
st2=st+(tempm->user_data+1-len)+i;
st2[len]=0;
"%s\n",st2;
Free(st);
}
}
tempm=tempm->next;
}
DirTreeDel(tempm1);
}
+276
View File
@@ -0,0 +1,276 @@
class CSHEntry
{
CDocEntry *next,*last;
};
class CSHSection
{
CDocEntry *next,*last;
};
U8 *SHSkipDataType(U8 *st)
{
if (!st)
return NULL;
while (Bt(chars_bitmap_white_space,*st))
st++;
if (*st=='#')
return st;
while (Bt(chars_bitmap_alpha_numeric,*st))
st++;
while (Bt(chars_bitmap_white_space,*st))
st++;
while (*st=='*')
st++;
return st;
}
U8 *SHSkipLabel(U8 *st)
{
if (!st)
return NULL;
while (Bt(chars_bitmap_white_space,*st))
st++;
while (Bt(chars_bitmap_alpha_numeric,*st))
st++;
while (Bt(chars_bitmap_white_space,*st))
st++;
return st;
}
U8 *SHNewEntry(CDocEntry *doc_e,I64 *_type=NULL)
{
U8 *st;
if (doc_e->type_u8==DOCT_TEXT && (st=doc_e->tag)) {
if (!StrNCmp("#help_index",st,11)) {
if (_type) *_type=0;
return st+11;
} else if (!StrNCmp("#help_file",st,10)) {
if (_type) *_type=1;
return st+10;//'#' makes it first alphabetically.
} else if (!StrNCmp("import",st,6)) {
if (_type) *_type=2;
return st+6;
} else if (!StrNCmp("public import",st,13)) {
if (_type) *_type=2;
return st+13;
} else if (!StrNCmp("_import",st,7)) {
if (_type) *_type=2;
return SHSkipLabel(st+7);
} else if (!StrNCmp("public _import",st,14)) {
if (_type) *_type=2;
return SHSkipLabel(st+14);
} else if (!StrNCmp("_intern",st,7)) {
if (_type) *_type=3;
return SHSkipLabel(st+7);
} else if (!StrNCmp("public _intern",st,14)) {
if (_type) *_type=3;
return SHSkipLabel(st+14);
} else if (!StrNCmp("extern",st,6)) {
if (_type) *_type=4;
return st+6;
} else if (!StrNCmp("public extern",st,13)) {
if (_type) *_type=4;
return st+13;
} else if (!StrNCmp("_extern",st,7)) {
if (_type) *_type=4;
return SHSkipLabel(st+7);
} else if (!StrNCmp("public _extern",st,14)) {
if (_type) *_type=4;
return SHSkipLabel(st+14);
}
}
if (_type) *_type=-1;
return NULL;
}
I64 SHCompareEntry(CSHEntry *e1,CSHEntry *e2)
{
U8 *st1,*st2;
I64 t1,t2;
if (e1 && e2 && e1->next!=e1 && e2->next!=e2) {
if (e1->next->type_u8==DOCT_TEXT && e2->next->type_u8==DOCT_TEXT) {
st1=SHNewEntry(e1->next,&t1);
st2=SHNewEntry(e2->next,&t2);
if (t1!=t2)
return t1-t2;
else {
if (st1&&st2) {
st1=SHSkipDataType(st1);
st2=SHSkipDataType(st2);
if (st1&&st2)
return StrCmp(st1,st2);
else
return Sign(st1-st2);
} else
return Sign(st1-st2);
}
} else
return Sign(e1->next-e2->next);
} else
return Sign(e1-e2);
}
U0 SHSortSection(CSHSection *temps)
{
I64 i=0,cnt;
CSHEntry **a;
CDocEntry *doc_e,*doc_e1;
cnt=0;
doc_e=temps->next;
while (doc_e!=temps) {
if (SHNewEntry(doc_e))
cnt++;
doc_e=doc_e->next;
}
cnt++;
a=MAlloc(sizeof(CSHEntry *)*cnt);
for (i=0;i<cnt;i++) {
a[i]=MAlloc(sizeof(CSHEntry));
QueInit(a[i]);
}
i=0;
doc_e=temps->next;
while (doc_e!=temps) {
doc_e1=doc_e->next;
QueRem(doc_e);
if (SHNewEntry(doc_e))
i++;
QueIns(doc_e,a[i]->last);
doc_e=doc_e1;
}
QSortI64(a,cnt,&SHCompareEntry);
for (i=0;i<cnt;i++) {
doc_e=a[i]->next;
while (doc_e!=a[i]) {
doc_e1=doc_e->next;
QueRem(doc_e);
QueIns(doc_e,temps->last);
doc_e=doc_e1;
}
Free(a[i]);
}
Free(a);
}
U8 *SHNewSection(CDocEntry *doc_e)
{
U8 *st;
if (doc_e->type_u8==DOCT_TEXT && (st=doc_e->tag)) {
if (!StrNCmp(st,"#help_index",11))
return st+11;
}
return NULL;
}
I64 SHCompareSection(CSHSection *e1,CSHSection *e2)
{
I64 i1,i2;
U8 *st1,*st2;
if (e1 && e2 && e1->next!=e1 && e2->next!=e2) {
if (e1->next->type_u8==DOCT_TEXT && e2->next->type_u8==DOCT_TEXT) {
st1=SHNewSection(e1->next);
st2=SHNewSection(e2->next);
if (st1&&st2) {
if (StrMatch("\"\"",st1))
i1=1;
else
i1=0;
if (StrMatch("\"\"",st2))
i2=1;
else
i2=0;
if (i1!=i2)
return i1-i2;
else
return StrCmp(st1,st2);
} else
return Sign(st1-st2);
} else
return Sign(e1->next-e2->next);
} else
return Sign(e1-e2);
}
public U0 TSSortHeader(U8 *name)
{
CDoc *doc;
I64 i=0,cnt;
CSHSection **a;
CDocEntry *doc_e,*doc_e1;
if (!name || !*name || !FileFind(name))
return;
doc=DocRead(name,DOCF_PLAIN_TEXT_WITH_TABS|DOCF_NO_CURSOR);
cnt=1;
doc_e=doc->root.next;
while (doc_e!=doc) {
if (SHNewSection(doc_e))
cnt++;
doc_e=doc_e->next;
}
a=MAlloc(sizeof(CSHSection *)*cnt);
for (i=0;i<cnt;i++) {
a[i]=MAlloc(sizeof(CSHSection));
QueInit(a[i]);
}
i=0;
doc_e=doc->root.next;
while (doc_e!=doc) {
doc_e1=doc_e->next;
if (doc_e->type_u8==DOCT_TEXT && doc_e->tag && *doc_e->tag) {
QueRem(doc_e);
if (SHNewSection(doc_e))
i++;
QueIns(doc_e,a[i]->last);
} else
DocEntryDel(doc,doc_e);
doc_e=doc_e1;
}
QSortI64(a,cnt,&SHCompareSection);
for (i=0;i<cnt;i++) {
if (a[i]->next!=a[i]) {
SHSortSection(a[i]);
doc_e=a[i]->next;
while (doc_e!=a[i]) {
doc_e1=doc_e->next;
QueRem(doc_e);
QueIns(doc_e,doc->root.last);
if (doc_e->type_u8==DOCT_TEXT && doc_e->tag) {
doc->cur_entry=doc_e;
doc->cur_data_col=StrLen(doc_e->tag);
DocPrint(doc,"\n");
}
doc_e=doc_e1;
}
if (i+1<cnt && a[i+1]->next!=a[i+1])
DocPrint(doc,"\n");
}
Free(a[i]);
}
Free(a);
DocWrite(doc);
DocDel(doc);
}
public U0 TSSortHeaders()
{
TSSortHeader("/Kernel/Adam1b.HPP.Z");
TSSortHeader("/Kernel/Adam1c.HPP.Z");
TSSortHeader("/Kernel/KExts.CPP.Z");
TSSortHeader("/Compiler/CmpExts.CPP.Z");
TSSortHeader("/Compiler/Cmp.HPP.Z");
TSSortHeader("/Adam/AdamExts.HPP.Z");
}