LTCD_070816.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:45:20 +02:00
1 parent d14bbc24f9
commit 0e9364ff4c
506 files changed
+157705 -41812

No files matched your search

+82
View File
@@ -0,0 +1,82 @@
//Change anything you want in this
//account file or others.
local_time_offset=-7*60*60*LTDATE_FREQ;
//$AN,"","mouse_move_scale"$adjust these to set mouse move scale
mxx_scale=1.0;
myy_scale=1.0;
mzz_scale=1.0; //wheel
//don't change these
mxx_prescale=mxx/mxx_scale;
myy_prescale=myy/myy_scale;
mzz_prescale=mzz/mzz_scale;
MPStart;
Cd("/LT/Adam");;
#include "PicWords2"
#include "HOME/PicWords3"
Cd("/LT/Utils/Boot");;
#include "InsBoot"
Cd("/LT/Utils");;
#include "Disk20"
#include "Diff"
#include "Grep"
#include "Merge"
#include "S2T"
#include "IDE"
#include "LinkChk"
#include "HeapLog"
#include "ListFile"
LoadMapFile("::/LT/OSMain/OS.MPZ"); //Enable Man()
LoadMapFile("::/LT/Compiler/Compiler.MPZ"); //Enable Man()
LoadMapFile("::/LT/Adam/GrAsm/GrAsm.MPZ"); //Enable Man()
Cd("/LT/Apps");;
#include "TimeClock/Load.CPZ"
#include "MusicOrgan/Load.CPZ"
Cd("/LT/Accts/TAD");;
#include "HOME/Private/Adam4"
#include "TADAdam"
#include "Distribute"
#include "PlugIns"
Cd("/LT/Accts/TAD/Testing");;
#include "Compiler5"
Cd("/LT/Accts/TAD/BenchMarks");;
#include "CompareCmp"
Del("::/Temp/ScreenShots/*");
void StartUpTsks()
{
I1 buf[80];
TssStruct *tss,*tss1;
InitLocalTask; //needed for disk access
Preempt(ON); //off by default
Silent(ON); //no output to screen
try {
tss1=SpawnUser;
tss=SpawnUser;
WinToTop(tss1);
WinTileVert;
PopUp("#include \"::/LT/Doc/StartSong.CPZ\";");
SPrintF(buf,"Boot Time:%h17Ts\r\n",BootTime);
AdamLog(buf);
XTalk(tss1,"#include \"DoIt\";\r");
WsInit("/LT");
WordStat;
AdamLog("WordStat Time:%7.3f\r\n",BootTime*1.0/LTDATE_FREQ);
} catch
CatchAll;
}
//This must be spawned because start-up files
// may invoke the Adam() cmd.
Spawn(&StartUpTsks,"Spawn Users");
PrintF("\r\nOS Compile Time:%D %T\r\n",sys_compile_time,sys_compile_time);
Binary file not shown.
Binary file not shown.
+170
View File
@@ -0,0 +1,170 @@
$WW,1$You can access your own TODO/favorites file with CTRL-SHIFT-F.
$TX+TR,""$$BK,1$$FG,4$LEGAL STUFF:$BK,0$$FG$
$ID,2$ This file is where I set my plans. There are no guarentees. I work "iteratively" when programming--often writing bad code to experiment with and later changing it on a priority basis. The order things are listed does not necessarily reflect the order they will be done, if at all--I often do stuff when I'm in the mood.
$ID,-2$$TR-C,"HANDY FILE LINKS"$
$ID,2$
$LK+S,"Goto OS Systext","FA:::/LT/OSMain/SysText.CPZ,OS_SYSTEXT"$
$LK+S,"Goto Compiler Systext","FA:::/LT/Compiler/CmpInit.CPZ,COMPILE_SYSTEXT"$
$LK+S,"::/LT/Doc/News.TXZ","FI:::/LT/Doc/News.TXZ"$
$ID,-2$$TR-C,"THINGS WHICH MIGHT CHANGE"$
$ID,2$
$ID,-2$$TR-C,"HIGH PRIORITY"$
$ID,2$
* document internals of keyboard processing
* I think a partition was left locked after pressing ctrl-alt-c in a copy.
* Dasm OR mode 0D
* Ln(-1.0);
* inline functions?
* Document start,step on clipped lines.
* Penwidth or brush with clipped line
* make popuppickfile/dir with default dir? in registry?
* fix %g, not sure it's worth it--standard seems dumb.
* efficient line clipping
* clipping bug--draw pen_width pixel near border.
* with pen_width of, say, 2... blots a width 8 and checks too far over (IsPixelCovered)
* Better single step--already have $LK,"DasmIns","MN:DasmIns"$() set to return branch offsets. Needs to put breakpoints on all branches outside the current C/C+ source code line. Problem is calls--should open files... whatever
* add compact to ltz--low priority
* Word Wrap has some bugs
* perhaps store ltfentry.display length--low priority (Significant profile time is spent on the StrLen instruction and it could be stored for each text entry.
* fix LTFile with alloccluster. Sorta fixed it--made all LT filesystem files marked contiguous, since they are. Should check what happens when you attempt to $LK,"FWBlks","MN:FWBlks"$() to acluster past the end.
* add compiler routine which you can pass a local-variable list, to provide locals which are globals, for stuff like a spread sheet or something. Might do this to facilitate spread-sheet type applications and things like SimStructure. Might do my budget program. low priority
* Fix dictionary--not sure it's broken, but it's missing words and definitions ?
* log to file--would be ineffecient--load-in whole file, modify and write out. Useful, but not very effecient
* test dvd burning-- It might put CD-ROM format on DVD. I probably need to use DMA, though, to prevent underflow when mutlitasking, but I don't feel like it. Headaches with dma involving compatibility. Missing documentation on DMA.
* CD boots--limit retry, seems to fail sometimes.
* make partitioner round to 63 blks
* make editable partitioner
* Make driveutil with maps and adddrive and partition report
* prtscrn--printer support... is PortNop() a problem?
* rename command
* log filename generator--pick next larger than last logfilenamenum found
* SprintF NaN,Inf; GetF Inf
* GetF date codes
* make grelem insert use l->mem_tss?
* Ltf's not using mem_tss?
$ID,-2$$TR,"DOCUMENTATION"$
$ID,2$
$ID,-2$$TR,"PERPETUAL TASKS"$
$ID,2$* Change hardcoded stuff to SysText
* Too much preemption turned off?
* Look for mem leaks.
* Move stuff out of OSmain.
$TR-C,"COMPATIBILITY"$
$ID,2$* TAD4 CD-ROM doesn't close
* mouse IRQ doesn't work on TAD5.
$ID,-2$$ID,-2$$TR-C,"GRAPHICS"$
$ID,2$* Do something about extended ASCII in fonts.
* skip redundant clipping, line and plot
* SIMD transformation
$ID,-2$$TR,"MULTICORE"$
$ID,2$* move GrElem draw to CPU1?
$ID,-2$$TR,"DISK"$
$ID,2$* Improve ATAPI read-ahead
* Clear unused portion of clusters on disk writes
* try not using FDCreadtrack on Mom's computer
* removable media id (critical for resident files)
* Flash cards: Flash mem cards might offer a removable, bootable media which will enable people to run without repartitioning--floppy is kinda small. DVD doesn't allow writing. Problem with flash is it is not standard equipment on computers. Would be very convenient for developing and distributing operating systems. I think LILO will allow Flash booting.
* Report just one error per read track (Floppy)
$ID,-2$$TR,"FILE"$
$ID,2$* CurDir per partition? Path?
* Make use of flag potential in SysFindFiles and possibly LTFileAccess
* make contiguous flag right
* implement fixed position files
$ID,-2$$TR,"C+ LIBRARY"$
$ID,2$* Improve Random number generator.
* add field overflow I1 "t='*'"
* Integer Money value for printf/getf--in pennies
* Implement format codes into GetF
* Date Input
* flag for comma's in numeric output (printf). eg "1,000,000" instead of "1000000".
$ID,-2$$TR,"APPLICATIONS"$
$ID,2$$ID,-2$$TR,"EDITOR"$
$ID,2$* Might allow constantly centered mode--cursor stays centered on screen(vertically).
* Find jumps past current line
* Make editor find command take dollar signs
* Maybe allow SearchStr flags in Links
* Link Type for SysText document? problem would be differnet needs for indexing into books. Bible uses book,chapter:verse, others are different. Already have links.
* Generalize book links
* HASHTYPE for Book? Index?
* Add write protect mode with indicator and toggle
$ID,-2$$TR,"IDE"$
$ID,2$$ID,-2$$TR,"DEBUGGING"$
$ID,2$* Improve fault handling--has inaccuracies--would be nice to display mem access violation addresses.
$ID,-2$$TR,"ASSEMBLER"$
$ID,2$* 16 bit Dasm is bad--very low priority
* support r4u1 by adding 0x40 byte
$ID,-2$$TR,"COMPILER"$
$ID,2$* something makes $LK,"OptEnd","MN:OptEnd"$ not right
* More RCX_CMPs, check existing
* do r,rm IcCmp like IcBrCmp
* 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?
$TR,"Check for problems"$
$ID,2$* NOP1 might need to have diff ic_data's
* in divequal, it assumes about ebx
* check union return_class.
$ID,-2$* error/warning line nums
* ASM branch out of range off by 1 line--use lx->lag_line_num
* Switch statement with sparse cases (low priority)
* arbitrary named attributes like "fmtdata" or "fmtstr". Might allow arbitrary supplimental data in class definitions.
* goto labels scope issues?
* No str default function parameters inside $LK,"Static Compiled Mode","FF:::/LT/Doc/OSGlossary.GLZ,Static Compiled Mode"$.
* var declarations after class definitions (Not a priority)
* glbl vars--&function ptrs
$TR,"Optimizations"$
$ID,2$* push pop
* maybe improve floating point compilation.
* new TY_ mode SIB and reg extensions
$ID,-2$$TR,"Picky"$
$ID,2$* !double ~double
* assign I2, etc. should sign extend copyleft
$ID,-2$$ID,-2$$TR,"MEM"$
$ID,2$* Redo mem Garbage collection on task and do one on system... but these don't help, so probably won't do it.
$ID,-2$$TR,"LOW PRIORITY"$
$ID,2$* num lock comes on with break key
* sort options for findfiles
$ID,-2$$TR,"TESTING"$
$ID,2$* Tabs2Spaces
$ID,-2$$TR,"INVESTIGATE"$
$ID,2$*
$ID,-2$$TR,"BUGS"$
$ID,2$
$ID,-2$$TR,"NASTY BUGS"$
$ID,2$*
$ID,-2$$TR,"BUGS WHICH MIGHT EXIST"$
$ID,2$*
$ID,-2$$TR,"BUGS WHICH MIGHT BE FIXED"$
$ID,2$*
$ID,-2$$TR,"MIGHT BE BUGS"$
$ID,2$* recalc_start probably needs to be more accurate before recalculating.
* In LtfPutSExt, might need to alloc extendstr, ect from different heap.
$ID,-2$
$LK,"Bible","BF:Genesis,"$
+254
View File
@@ -0,0 +1,254 @@
void InsertSong()
{
I1 *s1,*s2;
s1=MakeSong;
s2=MakeSong;
PrintF("$$SO,\"\",\"%s%s%s%s\"$$",s1,s1,s2,s2);
Free(s1);
Free(s2);
}
void FillinTime()
{
LTDate ltdt;
ltdt=GetCurTimeLTDate;
PrintF("$$IV 1$$----%D %T----$$IV 0$$\r",ltdt,ltdt);
}
class RenameSymbolStruct
{
I1 find[256] fmtstr "$$DA -P ,255 \"Find :%s\"$$\r\n";
I1 replace[256] fmtstr "$$DA -P ,255 \"Replace:%s\"$$\r\n";
};
void RenameCurSymbol()
{
I1 *buf;
RenameSymbolStruct r;
BoolU4 old_preempt=Preempt(OFF);
StrCpy(r.find,ws_cur_word);
StrCpy(r.replace,ws_cur_word);
Preempt(old_preempt);
if (PopUpDoForm(&r,"RenameSymbolStruct")) {
buf=MSPrintF("R(\"%s\",\"%s\",\"+r+l+a\");",r.find,r.replace);
PopUp(buf,Fs);
Free(buf);
}
}
void RenameFile()
{
I1 *buf;
RenameSymbolStruct r;
BoolU4 old_preempt=Preempt(OFF);
StrCpy(r.find,ws_cur_word);
StrCpy(r.replace,ws_cur_word);
Preempt(old_preempt);
if (PopUpDoForm(&r,"RenameSymbolStruct")) {
buf=MSPrintF("R(\"%s\",\"%s\",\"+r+l+a\");",r.find,r.replace);
PopUp(buf,Fs);
Free(buf);
}
Move(r.find,r.replace);
}
void MyScreenShot()
{
I1 *st;
LTDirEntry *tempm;
U8 cnt=0;
tempm=FindFiles("::/Temp/ScreenShots/*.BMP");
while (tempm) {
cnt++;
tempm=tempm->next;
}
st=MSPrintF("::/Temp/ScreenShots/SCRN%04d.BMP",cnt);
CaptureScreen4(st);
Free(st);
Beep;
}
BoolU4 frame_grabber_paused=FALSE;
TssStruct *my_frame_grabber=NULL;
void EndFrameGrabberCB()
{
my_frame_grabber=NULL;
Exit;
}
void FrameGrabberTsk()
{
I8 frame_num=0;
I8 buf[80];
U8 i,
end_time=0,
time_stamp=0;
Fs->end_task_cb=&EndFrameGrabberCB;
InitLocalTask;
Silent(ON); //no output to screen
while (my_frame_grabber) {
SPrintF(buf,"::/Temp/ScreenShots/VID%05d.BMP",frame_num++);
CaptureScreen4(buf);
do {
i=GetTimeStamp;
if (i>end_time) {
end_time=i+time_stamp_freq/4;
break;
} else {
SwapInNext;
while (sys_cur_scan_code&SCF_NUM)
SwapInNext;
}
} while (TRUE);
}
}
void ToggleFrameGrabber()
{
if (my_frame_grabber) {
my_frame_grabber=NULL;
kbd_display_special_keys=FALSE;
} else {
my_frame_grabber=Spawn(&FrameGrabberTsk,"Frame Grabber");
kbd_display_special_keys=TRUE;
}
}
BoolU8 MyPutKey(I8 ch,U8 sc)
{ //ch=ASCII; sc=scancode
//You can customize keys. This routine
//is called before the main editor
//key handler $LK,"LtfPutKeyExt","MN:LtfPutKeyExt"$().
//You can intercept any key.
//Return TRUE if you completely
//handled the key.
nounusedwarn ch;
U8 sc2=sc.u1[0];
if (sc2>=SC_F1 && sc2<=SC_F10 &&
(sc & SCF_ALT) &&
!(sc & SCF_CTRL)) {
switch (sc2) {
case SC_F1:
if (sc & SCF_SHIFT)
PutS("$$FG LTPURPLE$$");
else
PutS("$$FG PURPLE$$");
break;
case SC_F2:
if (sc & SCF_SHIFT)
PutS("$$FG LTRED$$");
else
PutS("$$FG,RED$$");
break;
case SC_F3:
if (sc & SCF_SHIFT)
PutS("$$FG LTGREEN$$");
else
PutS("$$FG,GREEN$$");
break;
case SC_F4:
if (sc & SCF_SHIFT)
PutS("$$FG LTBLUE$$");
else
PutS("$$FG$$");
break;
case SC_F5:
if (sc & SCF_SHIFT)
RandQuote;
else
RandWord;
break;
case SC_F6:
if (sc & SCF_SHIFT)
PopUp("WsInit(\"/Text/Brief\");");
else
PopUp("WsInit(\"/LT\");");
break;
case SC_F7:
if (sc & SCF_SHIFT)
LtfSafeInsert(Fs->cur_ltf,
"$$HS+C$$$$FG$$$$HE$$");
else
FillinTime();
break;
case SC_F8:
if (sc & SCF_SHIFT)
RenameFile();
else
RenameCurSymbol();
break;
}
return TRUE;
} else {
if (!(sc & SCF_CTRL)) {
if (ch=='S' && sc & SCF_ALT) {
InsertSong;
return TRUE;
}
if (ch=='p' && sc & SCF_ALT) {
JukeBox("/LT/Apps/MusicOrgan/Examples");
return TRUE;
}
if (ch=='P' && sc & SCF_ALT) {
JukeBox("HOME/BTracks");
return TRUE;
}
if (ch=='f' && sc & SCF_ALT) {
ProfAll;
return TRUE;
}
if (ch=='F' && sc & SCF_ALT) {
ProfRep;
return TRUE;
}
if (ch=='h' && sc & SCF_ALT) {
WinTileHorz; //This is handy
return TRUE;
}
if (ch=='v' && sc & SCF_ALT) {
WinTileVert; //So is this
return TRUE;
}
if (ch=='V' && sc & SCF_ALT) {
ToggleFrameGrabber;
return TRUE;
}
if (ch=='m' && sc & SCF_ALT) {
WinMax;
WinBorder(OFF);
return TRUE;
}
if (ch=='k' && sc & SCF_ALT) {
if (kbd_display_special_keys)
kbd_display_special_keys=FALSE;
else
kbd_display_special_keys=TRUE;
return TRUE;
}
} else {
if (sc2==SC_PRTSCRN2) {
MyScreenShot();
return TRUE;
}
}
}
return FALSE;
}
BoolU8 MyPutS(I1 *st)
{
nounusedwarn st;
return FALSE;
}
AddKeyDev(&MyPutKey,&MyPutS,0x20000000);
+202
View File
@@ -0,0 +1,202 @@
#define CID_TAD7 7
I8 IdComputer()
{
return CID_TAD7;
}
I8 computer_id=IdComputer;
void SysTaskRepTask(TssStruct *tss,I8 indent)
{
TssStruct *tss1;
I1 desc[TSS_DESC_LENGTH+1];
if (!ValidateTss(tss)) return;
SPrintF(desc,"%Q",tss->task_descriptor);
PrintF("%*s%08X %-20ts ",indent,"",tss,desc);
PrintF("Mem:%08X\r\n",TaskAllocatedMem(tss));
PrintF("%*s Flags:%04X:%04X %02X\r\n",
indent+2,"",tss->task_flags,tss->crt_flags,
ExceptDepth(tss));
if (tss==sys_update_screen_tss) {
CallerRep(tss->rbp,tss);
StackRep(tss->rsp);
}
tss1=tss->next_child_tss;
while (tss1!=&tss->next_child_tss-offset(TssStruct.next_sibling_tss)) {
if (ValidateTss(tss1))
SysTaskRepTask(tss1,indent+2);
tss1=tss1->next_sibling_tss;
}
}
public void SysTaskRep()
{
U8 i;
CPUStruct *c;
for (i=0;i<mp_cnt;i++) {
c=mp_cpu_structs+sizeof(CPUStruct)*i;
coutln "CPU:",i;
SysTaskRepTask(c->cain_tss,2);
}
}
void CtrlAltT()
{
BoolU4 old_raw=Raw(ON);
dc_col=0;
SysTaskRep;
Raw(old_raw);
}
ctrl_alt_letter_routines['T'-'A']=&CtrlAltT;
void CtrlAltF()
{
I1 *st;
st=MSPrintF("%P",sys_update_screen_tss->rip);
RemoveLastSeg(st,",");
RawClassRep(st,sys_update_screen_tss->rbp,1,TRUE);
Free(st);
}
ctrl_alt_letter_routines['F'-'A']=&CtrlAltF;
void CtrlAltZ()
{
BoolU4 old_raw=Raw(ON);
coutln "0:",sysdbg0," 1:",sysdbg1;
coutln "2:",sysdbg2," 3:",sysdbg3;
Raw(old_raw);
}
ctrl_alt_letter_routines['Z'-'A']=&CtrlAltZ;
void CtrlAltE()
{
RawClassRep("TssStruct",sys_update_screen_tss,1,FALSE);
}
ctrl_alt_letter_routines['E'-'A']=&CtrlAltE;
void CtrlAltD()
{
Debugger;
}
ctrl_alt_letter_routines['D'-'A']=&CtrlAltD;
extern void MyScreenShot();
void PrintScreenTsk()
{
InitUserTask;
MyScreenShot;
}
void CtrlAltP()
{
Spawn(&PrintScreenTsk);
}
ctrl_alt_letter_routines['P'-'A']=&CtrlAltP;
#define COMM_BAUD 38400*3
void Tx(I1 *filename)
{
LTChnl *chnl;
CommClose(1);
chnl=CommOpen8N1(1,COMM_BAUD);
if (chnl) {
RmtTxFile(chnl,filename);
CommClose(1);
}
}
void Rx(I1 *filename)
{
LTChnl *chnl;
CommClose(1);
chnl=CommOpen8N1(1,COMM_BAUD);
if (chnl) {
RmtRxFile(chnl,filename);
CommClose(1);
}
}
void Host()
{
LTChnl *chnl;
CommClose(1);
chnl=CommOpen8N1(1,COMM_BAUD);
if (chnl)
TelnetHostOpen(chnl);
}
void CloseHost()
{
TelnetHostClose;
CommClose(1);
}
void Guest()
{
LTChnl *chnl;
CommClose(1);
chnl=CommOpen8N1(1,COMM_BAUD);
if (chnl) {
TelnetGuestOpen(chnl);
CommClose(1);
}
}
void RmtSync()
{
LTChnl *chnl;
CommClose(1);
chnl=CommOpen8N1(1,COMM_BAUD);
if (chnl) {
RmtMergeChk(chnl);
CommClose(1);
}
}
void RmtSyncDrive(I1 drive=0)
{
LTChnl *chnl;
Drive(drive);
CommClose(1);
chnl=CommOpen8N1(1,COMM_BAUD);
if (chnl) {
RmtMergeChk(chnl,"/LT/*","/LT/*",
"+r+t+a");
CommClose(1);
}
}
I1 *TADPickFile(I1 *msg,I1 *mask,I8 prefix_len=0)
{
I8 i=0;
LTDirEntry *tempm,*tempm1;
Ltf *l=LtfNew;
I1 *st;
tempm=FindFiles(mask);
tempm1=tempm;
if (msg)
LtfPutSExt(l,msg);
while (tempm1) {
if ((i++%5)==0)
LtfPutSExt(l,"\r\n");
st=NewStr(tempm1->name);
RemoveLastSeg(st,".");
LtfPrintF(l,"$$MU,\"%-8ts\",%d$$ ",st+prefix_len,tempm1);
Free(st);
tempm1=tempm1->next;
}
tempm1=PopUpMenu(l);
LtfDel(l);
if (tempm1<0)
st=NULL;
else
st=NewStr(tempm1->full_name);
DelLTDirList(tempm);
return st;
}
Binary file not shown.
Binary file not shown.