TODO

* Get rid of niggerlicious name "binary".

* Change mouse Z to wheel.

* 10/28/17 Editor froze when filter search 3, in bible, "hour".

* 10/28/17 Titanium froze, easy repeatable

* Corrupt ISO.C, might be fix--no longer dependent on direntry ISO filesize

* DskChk CDROM

* Compiler Bug: AUWrite() dst->cdt=t0_now+ToI64(CDATE_FREQ*(tmpsd->tS-t0_tS));

* Make MV files combine disjoint rects for same frame.

* God said to reconsider switch start/end, perhaps preface portion?

* 170605 Alec Murphy said MountFile() of a red sea supplemental1 ISO failed.

* Does entire tool chain support super/sub script?

* 170624 DskChk() showed extra alloced clus for FAT32, Sup1Hymns.  ClusNum was 
'.'+1 and clus was zero.

* ::/Apps/X-Caliber/X-Caliber.HC
* Add asteroid harbor defense.
* Afterburner thruster.

* ::/Apps/Titanium/Titanium.HC
* Lead-in at start of game with no enemy.
* Have highway of death.
* Fix straight shooting.
* Helicopters.
* Anti-Aircraft.

* 64-Bit Device Memory is not implemented.

* Investigate why packet loss Training Sleep(1).

* Add AVL or red/black binary tree library support.  We have fixed-size stack.  
Auto-balancing binary tree is very needed.  I've done everything myself.  I 
don't want to ruin a perfect record.  I'm in no hurry.

* SpriteEd shift pts, Ctrl pt for ellipse/polygon w,h is off when rotated.

* God said this is bad.  FL:::/Adam/DolDoc/DocFind.HC,41
* Backward <SHIFT-F3> is broken?

* Find() search sprite text?

* Cannot include ':' in Document Links search string.
* $DA fixed width string: <Del> or <BACKSPACE> permanently shortens.

* 11/19/16 editor took long time after copying old testament onto clip and 
exiting.

* Nestled switch() start/end?

* Editor filter froze.

* Editor overstrike mode at cmd line with menu macro?  Probably, many other 
overstrike issues.

* DOCT_HEX_ED with odd size, ASCII cannot be edited.

* FL:::/Adam/Gr/SpriteEd.HC,789 Resize bitmap?

* DOCEF_REMALLOC_DATA HexEdit Remalloc.

* DOCF_DBL_DOLLARS in Reindention.

* Compiler Optimization: Local array vars --> reg.  Might exist.

* Make function as a better word processor.  Justify text.  Page numbers.  
Header and footer templates?

* Compiler Optimization: heap_glbls with added offset.  Might exist.

* Bug: Find-and-replace text on $PT$ line before it.
* 12/25/2015 Copy-Paste index.html glitch if source window 40 columns.
* 01/06/2016 Editor filter "str" applied to output from LineRep looks broken.

* Document, perhaps with video, GetStr() all the way down into PutKey() code.

* Better dictionary.
* Good spell checker.
* Good Bible search.

* Can MEM_EXTRA_HASH2_PAGS be just one?

* Bible ranges in BibleVerse(). 

* ::/Demo/Games/FlatTops.HC is torpedo, not bombs.

* Reset MPs with Core0StartMP() after boot.  Free old task memory?

* Use thick and pen_height when clipping with thick>1.

* ~/Sup1/Sup1Games/Rocks.HC.

* Asm LIST NOLIST bugs.

* Review writing to same cache-line from multicore.  Do CTask->task_flags and 
others need to be in separate cache lines?

* Fix KbdLEDsSet().
* NumLock comes on with break key.

* Hymns: mightest, finger

* Get rid of JIFFY and HPET and just use tS.

* Use "Rosetta Stone" in documentaion pointing to this: 
::/Demo/ToHtmlToTXTDemo/ToHtml.HC.

* Change %h*c so the character is not a arg?

* GrLineFat3() needs a little work.

* GrFillTri0() with both GrHLine() and GrVLine() don't match in 
::/Demo/Games/CastleFrankenstein.HC causing wall spot pixels.


                                   TODO? Meh
* Compiler: lock{} needs warn on invalid modes or something.

* Compiler: Warn recurse class define?

* Asm could support R4u8 by adding 0x40 byte.

* Mem32DevAlloc() is broken.  Devices should be in free spot of E820 report.

* SpriteEd: Strip SPT_SHIFT origin cmds?

* Clean-up ASCII #127 delete char?  (No. Maybe, we want a new usage for 127 in 
future centuries.)

* Compiler: Exceptions don't free CCmpCtrl stuff.

* ::/Adam/DolDoc/DocHighlight.HC for code comments at top of documents.

* Unhandled exception msgs from MP's get overwritten by WinMgr.

* Diff("C:/Misc/Bible.TXT","D:/Misc/Bible.TXT"); Takes too long.

* Finish Pilgrim game.

* Compiler: PtrArith MUL SIZE -->QueIns(MUL)?
* Compiler: QueRem(IC_NOP)?

* Fix Chess game so not isometric view.


                      TODO: Too Hard, or Not Worth Doing.
* AutoComplete/Man() Jmp for user code.

* Bible sized nodes

* FileMgr() is bad with lots of files.  

* Would be nice to have a routine telling how much free memory, so apps can plan 
a big alloc.  This is doable, depending on how.

* Log-to-file is inefficient because we load and save whole file.

* ICMov() PUSH_CMP and MDf_STK?  Perhaps, it's okay.

* Short FAT32 ~ names.

* Find() search text in sprites.

* Links in text in sprites. 

* Compiler: Inline functions?

* Compiler: FunPtr local vars?  I forgot if this was hard or not.
     U0 Main()
     {
       U0 (*fp_old_draw_ms)(CDC *dc,I64 x,I64 y)=gr.fp_draw_ms;
     }

* Compiler: Get rid of 0x20000 limit.

* GrFloodFillRay: Get rid of 0x80000 limit.


                                      Bugs
* 1/28/16 ::/Demo/Graphics/Pick3D.HC crashed in TestSuite.

* 1/12/16 make RAM drive 2288 blks, CopyTree("C:/Home","B:/Home");   Disk 
runs-out of space and hangs instead of reporting errors.

* Bug introduced around 11/1/15.  Changed ::/Kernel/Sched.HC and now WinToTop is 
called on Adam task at start-up, sometimes.  Might be user's fault because of 
bad keys pressed during VMware power-on init.  Might be fixed by 
ACf_INIT_IN_PROGRESS.

* 1/12/16 ATARepEntry shows corrupted bttns.  Weird.  Perhaps, my imagination.


                                 3rd Party Bugs
* VMware: Stretch to full scrn
* VMware: PC speaker sound distorted.
* VMware: 8/2/2015 start-up. Probably multicore.
* VMware: CtrlAltDel on <CTRL-ALT-INS>
* VMware: Size zero files don't copy out of mounted disk?  (Might be fixed.)


                             Bugs? Not really sure.
* Mount() crashes on bad drive.

* Graphics clipping: scrn y+top<0 for top<0?

* 1/1/2015 Bug messing-up keyboard, like no CTRL key.  Was working on Sprites.

* 4/13/14 Strut or RawHide crashed when sys_var_init_flag was set during 
testsuite.  Perhaps, floodfill?

* DskChk alloc unalloced.  I don't know if I fixed this.

* 1/?/2015,8/10/2015 Macro sel in Menu did not go to shell?  No, I think just 
<CTRL-m> twice.  Not a bug.

* 5/7/14:Something like InSetMs caused hang, then reboot in TestSuite.
* 5/7/14:#63 Maybe, ::/Demo/Graphics/Pick3D.HC crashed in TestSuite.

* StrPrintJoin(,st); With st="\n\\"; (Forgot what this is talking about.)


                         TODO? Not really, just angst.
* Should these be moved into CHashClass from CMemberLst and CHashGlblVar?
     CArrayDim dim;
     CHashFun *fun_ptr;

* extern of fun with dft arg of str?

* ISO.C on FAT32 created by Windows or Linux are not contiguous.

* Might want to warn switch[] dup case numbers.

* Make Clamp(), Min(), Max() into asm routines?

* Add local vars to sym table in Dbg()?

* Compiler: Prints two error messages for expressions in stmts.

* U() negative byte displacement, neg 32-bit disp.

* Race condition in ::/Demo/Games/FlatTops.HC torpedo.

* Links to self document if empty file name? Document Links

* FUF_RECURSE would be nice if capital "+R".

* Sprites in cmd line code.

* 16-Bit Assembly and Unassembly and is bad.

* Compiler: Cmd to enable/disable warnings.

* Compiler: Type for either F64 or I64, like Print -- no conversion.
* Compiler: Arg type ... that did do conversion, if we have one that doesn't.

* R("char_bmp_","set_");

* Clean-up code FileNameAbs(), does it need so many local var names?  I guess no 
choice.


                                Committee Needed
* Make binary tree look-up using FUN_SEG symbol addresses, so we can eliminate 
fun_seg cache and wall-paper kludge?  All HolyC functions and glbl vars would 
have left-right for address search.

* Should we get rid of drive mapping.  It's ugly.

* Can we get rid of MSG_CMD?

* Make so just CdRom; command to copy entire disk to ::/CdRom directory? 

* MP DepthBuf is a kludge because of dc->depth_buf=NULL in various graphics 
routines.

* Improve editor undo, add redo.

* Compiler: F32?

* International Date output: MPrintDate().  Every country make own version?
* International Date input: Str2Date().

* DCF_SYMMETRY before transformation? (Currently, it's after.) 

* TRANSPARENT does not work with ROPF_DITHER.

* ROP_XOR with thick>1 is broken.

* GrPutChar3() with depth buf?

* Eliminate?  ::/Adam/Ctrls/CtrlsA.HC?
* Eliminate?  ::/Adam/AMathODE.HC?
* Eliminate?  Complex?
* Eliminate?  CDC.brush?
* Eliminate?  Mat4x4MulXYZ() change to 3x3?
* Eliminate?  ROP_XOR?

* WinMgrTask needs to do doc operations on PostMsg() msgs for ms_hard.  Already 
works for MsSet()?

* Should Msgs in PopUp queue get fwded to parent when task dies?

* Import Intel datasheets so we can use links in Code for documentation.  I 
tried a PDF-to-text convertor and it wasn't acceptible.

* Switch stmt with sparse cases?  Maybe, ban sparse switch stmts.

* Compiler Optimization: Postpone LocalVar init until last possible moment in 
case of return.

* Compiler: Local var array/struct initialization.

* Compiler Optimization: Bools use r,rm in ICCmp() like in ICCmpAndBranch()?

* Compiler: !F64 ~F64

* Compiler: &=, |= can overflow with Bts Btr on small data types?

* Implement RS_ATTR_FIXED fixed pos files?

* SIMD in Mat4x4MulXYZ?

* I use fixed-point in Circle(), Ellipse(), Mat4x4MulXYZ(), Mat4x4MulMat4x4New() 
and others.  God says I might want to change to float.  
::/Demo/Lectures/FixedPoint.HC ::/Demo/Lectures/FixedPointAdvanced.HC.

* Note: We will never put multiple Keyboard Tables.  Each country must make 
their own version of TempleOS.  The Intel Factory ROM will have just English.  
Our Charter bans multiple country or architectures in the same version.

* 12 border chars in scrn font codes 0x02-0x0D.  TextBorder() RawDr() 
::/Demo/Games/CharDemo.HC. LineFeed shows-up in <CTRL-m> PersonalMenu.

* Super-simple high speed serial needs flow control.  <CTRL-s> and <CTRL-q>?


                              Inspirational Ideas
* Redo videos, make more professional.

* Add icons.

* Use standard terminology from "the literature".

* Striped and other dither patterns.  Brushes?

* Get rid of BYTE, WORD, DWORD in opcode and replace with U8, U16, U32.

* Get rid of "Char".

* Get rid of having two terms and pick one, "Disk" and "BlkDev"?  (Probably, not 
that one.)

* Could switch to having just C and D drives and RAMDrive and CD/DVD? 

* New editor widgets.

* Make use of flag potential in FilesFind() and possibly DirContextNew().
* Sort options for FilesFind()?

* New HolyC language features?

* Better Debugging?

* Look for mem leaks?

* Std local var names.

* Ticketmaster format stmts? Overflow "t='*'" and padding character?

* Move stuff out of Kernel module.

* $LK,L="FL:D:/Kernel/File.HC"$ instead of A=
* $SP,B=1$ instead of $SP,BI=1$
* $CM+LE+RE is nasty

* DCF_TRANSFORMATION|DCF_SYMMETRY|DCF_JUST_MIRROR -- maybe not both needed at 
once.

* More Controls?

* Compiler: More use of more floating-point stk?

* Compiler: More aggressive in CmpF2PushPop() with types besides MOV and F64. 

* Playing with ::/Demo/Lectures/NegDisp.HC on CTask?
     $=-CTASK_NEG_OFFSET
     offset(CTask.addr)==0
     Spawn(): CAlloc()
     TaskDel(): Free()
     CSysFixedArea.adam
     Looks like task_flags,locked_flags cause problems with neg offset.

* Make a game, S.E.T.I., with radio telescope array.  Put God on air.


                                      Test
* SpriteBitMap: Grabscroll? 

* DrvMap() in MountFile().

* Return ress for GrBlot, GrRect, GrPutChar?
* Collision cnts for GrBlot, GrRect, GrPutChar?

* GetStr() or GetChar() in OSInstall didn't like focus change.

* Test on Dad's computer or other people's?

* ICDivEqu() assumes RBX.  Is it okay?

* InFile PopUp of PopUp?

* FileMgr() help link scrolls out of window.

* MsHardDrvrInstall() throws exceptions?  Doesn't work?  Why mouse 0x9FC30?

* VirtualBox MP reboot?

* Compiler: Err/Warn line nums?
* Asm branch-out-of-range warn by one line?

* Make sure queue links safe in one direction.  Task QueIns and QueRem for 
multicore cycling fwd through tasks.

* Test removable media id and RS_ATTR_RESIDENT.  Touch("","+T");


                                 Uncategorized
* DiskCache during FileRead. <CTRL-ALT-c>, Kill().  

* MOV U8 [RSP+RCX],DL

* gr.scrn_image
  >Might want to do ZOOM in U8 graphics and convert scrn capture to U8
  >Might want to rev bit order

* This Fs->catch_except=TRUE causes problems because it
catches divide and out-of-mem.  Not sure what to do, yet.

* Release semaphores or break lock sema,usb_td

* Might make CSprite flood fill operate on a separate bitmap
and blotted at the end.
* <CTRL-r> delete subsprite in menu near others
* make better heapwalk, do something with _CFG_HEAP_DBG.

* static var off of data heap.
* could add "const" to not set CCF_NOT_CONST flag for trig, etc.
* could make glblvar imports use MDF_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?


                                 Bible Passages
It is love I desire                     Hosea 6:6
Males appear three times, not empty     Deuteronomy 16:16
Offer a sacrifice of praise             Hebrews 13:15
Do I drink blood of goats? Offer praise Psalms 50:14
When a servant becomes king...          Proverb 30:22
Runner's stride                         Psalms 147:10
Buckling armor                          1 Kings 20:11
Lot cast in the lap                     Proverbs 16:33
Lord does not repeat                    Job 33:14
Offer only in approved place            Deuteronomy 12:13-18
Jesus' zeal for the Temple              John 2:14-19
Famine not for bread                    Amos 8:11-12
To the honest, you are honest           Psalm 18:26
Meek and humble of heart                Matthew 11:29
Moses gets Aaron                        Exodus 4:10-16
There is no council against the Lord    Proverbs 21:30
Human help is worthless                 Psalm 108:12
Do not seek your own wealth             1 Corinthians 10:24
Abundance of Spirits                    1 Corinthians 14:12
The stone rejected is cornerstone       Matthew 21:42
Egypt rise like flood                   Jeremiah 46:7-8
New wineskins                           Mark 2:22
Thousand songs of Solomon               1 Kings 4:32
Not rich, nor poor, but my portion      Proverbs 30:8
Be hot or cold. Lukewarm I spit you out Revelation 3:16

Linus Torvalds (Dec 28, 1969)
John Carmack   (Aug 20, 1970)
Terry A. Davis (Dec 15, 1969)
Dr. David Pheanis
Dr. Konstantinos S. Tsakalis
Dr. Walter Higgins
Peter Gadwa
Ticketmaster
Tom Foley
Graphic Technologies