TODO

* 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

* DiskCheck 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 DiskCheck() showed extra alloced clus for FAT32, Sup1Hymns.    ClusNum was '.'+1 and clus was zero.

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

* ::/Apps/Titanium/Titanium.ZC
* 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:::/System/DolDoc/DocFind.ZC,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:::/System/Gr/SpriteEd.ZC,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_globals 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, StrGet() all the way down into PutKey() code.

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

* Bible ranges in BibleVerse().

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

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

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

* 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.ZC.

* 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.ZC 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 CCompCtrl stuff.

* ::/System/DolDoc/DocHighlight.ZC for code comments at top of documents.

* Unhandled exception messages 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 -->QueueInsert(MUL)?
* Compiler: QueueRemove(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_STACK?  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_mouse)(CDC *dc,I64 x,I64 y)=gr.fp_draw_mouse;
     }

* Compiler: Get rid of 0x20000 limit.

* GrFloodFillRay: Get rid of 0x80000 limit.


                                                             Bugs
* 1/28/16 ::/Demo/Graphics/Pick3D.ZC 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.ZC and now WinToTop is called on System 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 screen
* 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: screen 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?

* DiskCheck 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 InSetMouse caused hang, then reboot in TestSuite.
* 5/7/14:#63 Maybe, ::/Demo/Graphics/Pick3D.ZC 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 CMemberList and CHashGlobalVar?
     CArrayDim dim;
     CHashFun *fun_ptr;

* extern of fun with default 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 Debug()?

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

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

* Race condition in ::/Demo/Games/FlatTops.ZC 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 ZealC 
functions and global vars would have left-right for address search.

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

* Can we get rid of MESSAGE_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?    ::/System/Ctrls/CtrlsA.ZC?
* Eliminate?    ::/System/MathODE.ZC?
* Eliminate?    Complex?
* Eliminate?    CDC.brush?
* Eliminate?    Mat4x4MulXYZ() change to 3x3?
* Eliminate?    ROP_XOR?

* WinMgrTask needs to do doc operations on MessagePost() messages for mouse_hard.   Already works for MouseSet()?

* Should Messages 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 statements.

* 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 ICComp() like in ICCompAndBranch()?

* 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.ZC ::/Demo/Lectures/FixedPointAdvanced.ZC.

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

* 12 border chars in screen font codes 0x02-0x0D.  TextBorder() RawDumpRegs() ::/Demo/Games/CharDemo.ZC. 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 ZealC language features?

* Better Debugging?

* Look for mem leaks?

* Std local var names.

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

* Move stuff out of Kernel module.

* $LK,L="FL:D:/Kernel/File.ZC"$ 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 stack?

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

* Playing with ::/Demo/Lectures/NegDisp.ZC on CTask?
     $=-CTASK_NEG_OFFSET
     offset(CTask.addr)==0
     Spawn(): CAlloc()
     TaskDel(): Free()
     CSysFixedArea.system
     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?

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

* StrGet() or CharGet() 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.

* MouseHardDriverInstall() 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 QueueInsert and QueueRemove for multicore cycling forward 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.screen_image
    >Might want to do ZOOM in U8 graphics and convert screen 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 _CONFIG_HEAP_DEBUG.

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