Glbls -> Globals

This commit is contained in:
xmm15 2020-02-15 18:09:08 -06:00
parent 5576cee060
commit 420ff49c6f
65 changed files with 597 additions and 642 deletions

Binary file not shown.

View File

@ -1,7 +1,7 @@
#help_index "Games"
Cd(__DIR__);;
#include "TTFGlbls"
#include "TTFGlobals"
#include "TTFLib"
#include "TTFInit"
#include "TTFVis"

View File

@ -74,7 +74,7 @@ U0 AOTLocalsResolve(CCompCtrl *cc)
aotc->local_unresolved=NULL;
}
U0 AOTGlblsResolve(CCompCtrl *cc,CAOT *tmpaot)
U0 AOTGlobalsResolve(CCompCtrl *cc,CAOT *tmpaot)
{
CAOTCtrl *aotc=cc->aotc;
CHashFun *tmpf;
@ -170,7 +170,7 @@ U0 AOTGlblsResolve(CCompCtrl *cc,CAOT *tmpaot)
if (tmpex->type & HTT_FUN)
tmpie->rip=tmpf->exe_addr;
else if (tmpex->type & HTT_GLBL_VAR)
tmpie->rip=tmpex(CHashGlblVar *)->data_addr_rip;
tmpie->rip=tmpex(CHashGlobalVar *)->data_addr_rip;
else
tmpie->rip=tmpex->val;
tmpie->aot=cc->aot;

View File

@ -54,12 +54,12 @@ I64 HashEntrySize2(CHashSrcSym *tmph)
} else if (tmph->type&HTT_DEFINE_STR)
res+=MSize2(tmph(CHashDefineStr *)->data);
else if (tmph->type & HTT_GLBL_VAR) {
res+=LinkedLstSize(tmph(CHashGlblVar *)->dim.next);
if (!(tmph(CHashGlblVar *)->flags&GVF_ALIAS))
res+=MSize2(tmph(CHashGlblVar *)->data_addr);
if (tmph(CHashGlblVar *)->fun_ptr)
res+=HashEntrySize2(tmph(CHashGlblVar *)->fun_ptr
-tmph(CHashGlblVar *)->fun_ptr->ptr_stars_cnt);
res+=LinkedLstSize(tmph(CHashGlobalVar *)->dim.next);
if (!(tmph(CHashGlobalVar *)->flags&GVF_ALIAS))
res+=MSize2(tmph(CHashGlobalVar *)->data_addr);
if (tmph(CHashGlobalVar *)->fun_ptr)
res+=HashEntrySize2(tmph(CHashGlobalVar *)->fun_ptr
-tmph(CHashGlobalVar *)->fun_ptr->ptr_stars_cnt);
}
} else if (tmph->type & HTT_FILE)
res+=MSize2(tmph(CHashGeneric *)->user_data0);

View File

@ -93,7 +93,7 @@ CAOT *CompJoin(CCompCtrl *cc,I64 cmp_flags,U8 *map_name=NULL,U8 mapfile_drv_let=
}
} else
ParseStatement(cc,,,cmp_flags);
AOTGlblsResolve(cc,res);
AOTGlobalsResolve(cc,res);
} catch {
if (Fs->except_ch=='Compiler' && !(cmp_flags&CMPF_ASM_BLK)) {
LexPutPos(cc);
@ -241,7 +241,7 @@ U0 CompFixUpJITAsm(CCompCtrl *cc,CAOT *tmpaot)
if (tmpex->type & HTT_FUN)
i=tmpex(CHashFun *)->exe_addr;
else if (tmpex->type & HTT_GLBL_VAR)
i=tmpex(CHashGlblVar *)->data_addr;
i=tmpex(CHashGlobalVar *)->data_addr;
else
i=tmpex->val;
}
@ -425,8 +425,8 @@ I64 Comp(U8 *filename,U8 *map_name=NULL,U8 *out_name=NULL,U8 mapfile_drv_let=0)
CBinFile *bfh;
CAOTImportExport *tmpie,*tmpie1;
CAOTAbsAddr *tmpa,*tmpa1;
CAOTHeapGlblRef *tmphgr,*tmphgr1;
CAOTHeapGlbl *tmphg,*tmphg1;
CAOTHeapGlobalRef *tmphgr,*tmphgr1;
CAOTHeapGlobal *tmphg,*tmphg1;
fbuf=ExtDft(filename,"PRJ");
fbuf2=MStrPrint("#include \"%s\"",fbuf);

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -13,12 +13,12 @@
#exe {Option(OPTf_KEEP_PRIVATE,OFF);};
#include "Templates"
#include "CExts"
CCompGlbls cmp;
CCompGlobals cmp;
#include "CInit"
#include "CExcept"
#include "LexLib"
#include "Lex"
CUAsmGlbls uasm;
CUAsmGlobals uasm;
#include "CHash"
#include "UAsm"
#include "ParseLib"

View File

@ -10,7 +10,7 @@ public extern I64 ExePutS2(U8 *buf,U8 *filename=NULL,I64 ccf_flags=0);
public _extern _LAST_FUN I64 LastFun(I64 argc,I64 *argv);
public extern I64 RunFile(U8 *name,I64 ccf_flags=0,...);
public extern I64 RunFile2(U8 *name,I64 ccf_flags=0,...);
public extern CCompGlbls cmp;
public extern CCompGlobals cmp;
#help_index "Compiler/Directive"
#help_file "::/Doc/Directives"
@ -71,7 +71,7 @@ public extern U8 *U(U8 *rip,I64 cnt=20,I64 seg_size=64);
public extern U0 Ui(U8 *buf,U8 **_rip,I64 seg_size=64,
I64 *_jmp_dst=NULL,Bool just_ins=FALSE);
public extern I64 Un(U8 *rip,I64 cnt=0x80,I64 seg_size=64);
extern CUAsmGlbls uasm;
extern CUAsmGlobals uasm;
#help_index "Hash/System"
public extern I64 HashEntrySize(CHashSrcSym *tmph);

View File

@ -13,14 +13,14 @@ cc->pass==10 is final pass, code is placed into buf.
CAOT *tmpaot;
CAOTAbsAddr *tmpa;
CAOTImportExport *tmpie;
CAOTHeapGlbl *tmphg;
CAOTHeapGlblRef *tmphgr;
CAOTHeapGlobal *tmphg;
CAOTHeapGlobalRef *tmphgr;
CDebugInfo *dbg_info;
CAOTCtrl *aotc=cc->aotc;
Bool short_jmp;
CHashClass *tmpc;
CHashFun *tmpf;
CHashGlblVar *tmpg;
CHashGlobalVar *tmpg;
CExternUsage *tmpeu;
if (_dbg) {
@ -115,7 +115,7 @@ cc->pass==10 is final pass, code is placed into buf.
if (buf && cc->flags&CCF_AOT_COMPILE &&
//TODO:is this necessary--flags?
!(cc->flags&(CCF_NO_ABSS|CCF_ASM_EXPRESSIONS))) {
tmphgr=CAlloc(sizeof(CAOTHeapGlblRef));
tmphgr=CAlloc(sizeof(CAOTHeapGlobalRef));
tmphgr->next=tmphg->references;
tmphg->references=tmphgr;
tmphgr->rip=rip2+tmpi->ic_cnt-8;

View File

@ -331,14 +331,14 @@ pu_sizeof_member:
if (!(tmpc->type & (HTT_CLASS|HTT_GLBL_VAR)))
LexExcept(cc,"Invalid class at ");
else if (tmpc->type & HTT_GLBL_VAR)
tmpc=tmpc(CHashGlblVar *)->var_class;
tmpc=tmpc(CHashGlobalVar *)->var_class;
if (Lex(cc)!=TK_IDENT || !(tmpm=MemberFind(cc->cur_str,tmpc)))
LexExcept(cc,"Invalid member at ");
else if (cc->local_var_entry)
cc->local_var_entry->use_cnt--;
tmpc=tmpm->member_class;
//Probably others like this:
#assert offset(CHashClass.size)==offset(CHashGlblVar.size)
#assert offset(CHashClass.size)==offset(CHashGlobalVar.size)
i=tmpc->size*tmpm->dim.total_cnt;
}
}
@ -364,7 +364,7 @@ U0 ParseOffsetOf(CCompCtrl *cc)
if (!tmpc || !(tmpc->type & (HTT_CLASS|HTT_GLBL_VAR)))
LexExcept(cc,"Invalid class at ");
else if (tmpc->type & HTT_GLBL_VAR)
tmpc=tmpc(CHashGlblVar *)->var_class;
tmpc=tmpc(CHashGlobalVar *)->var_class;
}
if (Lex(cc)!='.')
LexExcept(cc,"Expecting '.' at ");
@ -597,7 +597,7 @@ I64 ParseUnaryTerm(CCompCtrl *cc,CPrsStk *ps,CMemberLst **_local_var,
CHashExport *tmpex;
CHashClass *tmpc;
CHashFun *tmpf;
CHashGlblVar *tmpg;
CHashGlobalVar *tmpg;
CMemberLst *tmpm;
CAsmUndefHash *tmpauh;
CCodeMisc *cm;

View File

@ -206,15 +206,15 @@ U0 ParseFun(CCompCtrl *cc,CHashClass *tmp_return,U8 *name,I64 fsp_flags)
cc->htc.local_var_lst=cc->htc.fun=cc->fun_lex_file=NULL;
}
U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
U0 ParseGlobalVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
I64 saved_val,I64 fsp_flags)
{
I64 i,j,mode,k,val;
U8 *st;
CHashExport *tmpex;
CHashGlblVar *tmpg;
CHashGlobalVar *tmpg;
CAOTCtrl *aotc=cc->aotc;
CAOTHeapGlbl *tmphg;
CAOTHeapGlobal *tmphg;
CHashClass *tmpc;
CHashFun *tmpf,*tmpf_fun_ptr;
CArrayDim tmpad;
@ -299,11 +299,11 @@ U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
switch (mode&255) {
case PRS0__EXTERN:
if (cc->flags&CCF_AOT_COMPILE) {
tmpg=CAlloc(sizeof(CHashGlblVar));
tmpg=CAlloc(sizeof(CHashGlobalVar));
tmpg->data_addr_rip=val;
tmpg->type=HTT_GLBL_VAR | HTF_EXPORT;
} else {
tmpg=CAlloc(sizeof(CHashGlblVar),Fs->code_heap);
tmpg=CAlloc(sizeof(CHashGlobalVar),Fs->code_heap);
tmpg->data_addr=val;
tmpg->type=HTT_GLBL_VAR;
}
@ -314,7 +314,7 @@ U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
if (!(cc->flags&CCF_AOT_COMPILE))
LexExcept(cc,"import not needed at ");
else {
tmpg=CAlloc(sizeof(CHashGlblVar));
tmpg=CAlloc(sizeof(CHashGlobalVar));
tmpg->type=HTT_GLBL_VAR | HTF_IMPORT;
if (mode&255==PRS0__IMPORT)
tmpg->import_name=StrNew(val);
@ -324,10 +324,10 @@ U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
break;
case PRS0_EXTERN:
if (cc->flags&CCF_AOT_COMPILE) {
tmpg=CAlloc(sizeof(CHashGlblVar));
tmpg=CAlloc(sizeof(CHashGlobalVar));
tmpg->type=HTT_GLBL_VAR;
} else {
tmpg=CAlloc(sizeof(CHashGlblVar),Fs->code_heap);
tmpg=CAlloc(sizeof(CHashGlobalVar),Fs->code_heap);
tmpg->type=HTT_GLBL_VAR|HTF_UNRESOLVED;
}
break;
@ -336,8 +336,8 @@ U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
if (Bt(&cc->opts,OPTf_GLBLS_ON_DATA_HEAP)) {
if (cc->token=='=')
LexExcept(cc,"Can't init glbl var on data heap in AOT module ");
tmpg=CAlloc(sizeof(CHashGlblVar));
tmphg=tmpg->heap_glbl=CAlloc(sizeof(CAOTHeapGlbl));
tmpg=CAlloc(sizeof(CHashGlobalVar));
tmphg=tmpg->heap_glbl=CAlloc(sizeof(CAOTHeapGlobal));
tmphg->size=j;
tmphg->str=StrNew(st);
tmphg->next=aotc->heap_glbls;
@ -347,7 +347,7 @@ U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
if (tmpex && tmpex->type & HTT_GLBL_VAR) //TODO!! extern
LexExcept(cc,"Feature not implemented ");
} else {
tmpg=CAlloc(sizeof(CHashGlblVar));
tmpg=CAlloc(sizeof(CHashGlobalVar));
if (cc->token=='=')
tmpg->data_addr=CAlloc(j);
if (tmpc->size>=8) //align
@ -368,11 +368,11 @@ U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
}
} else {
if (Bt(&cc->opts,OPTf_GLBLS_ON_DATA_HEAP)) {
tmpg=CAlloc(sizeof(CHashGlblVar),Fs->code_heap);
tmpg=CAlloc(sizeof(CHashGlobalVar),Fs->code_heap);
tmpg->data_addr=MAlloc(j);
tmpg->flags=GVF_DATA_HEAP;
} else {
tmpg=CAlloc(sizeof(CHashGlblVar),Fs->code_heap);
tmpg=CAlloc(sizeof(CHashGlobalVar),Fs->code_heap);
tmpg->data_addr=MAlloc(j,Fs->code_heap);
}
tmpg->type=HTT_GLBL_VAR;
@ -414,7 +414,7 @@ U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
LexPush(cc);
LexPush(cc);
Lex(cc);
ParseGlblInit(cc,tmpg,1);
ParseGlobalInit(cc,tmpg,1);
LexPopNoRestore(cc);
tmpg->size=tmpg->dim.total_cnt*tmpc->size;
if (tmphg)
@ -429,20 +429,20 @@ U0 ParseGlblVarLst(CCompCtrl *cc,I64 saved_mode,CHashClass *saved_tmpc,
}
LexPush(cc);
Lex(cc);
ParseGlblInit(cc,tmpg,2);
ParseGlobalInit(cc,tmpg,2);
if (cc->flags&CCF_AOT_COMPILE)
for (k=0;k<tmpg->size;k++)
AOTStoreCodeU8At(cc,tmpg->data_addr_rip+k,tmpg->data_addr[k]);
LexPopNoRestore(cc);
}
if (has_alias) {
if (tmpex(CHashGlblVar *)->use_cnt<2) {
PrintWarn("Unused extern '%s'\n",tmpex(CHashGlblVar *)->str);
if (tmpex(CHashGlobalVar *)->use_cnt<2) {
PrintWarn("Unused extern '%s'\n",tmpex(CHashGlobalVar *)->str);
cc->warning_cnt++;
}
tmpex(CHashGlblVar *)->flags|=GVF_ALIAS;
tmpex(CHashGlblVar *)->data_addr=tmpg->data_addr;
tmpex(CHashGlblVar *)->data_addr_rip=tmpg->data_addr_rip;
tmpex(CHashGlobalVar *)->flags|=GVF_ALIAS;
tmpex(CHashGlobalVar *)->data_addr=tmpg->data_addr;
tmpex(CHashGlobalVar *)->data_addr_rip=tmpg->data_addr_rip;
}
if (cc->token==',')
Lex(cc);
@ -1007,7 +1007,7 @@ Bool ParseStatement(CCompCtrl *cc,I64 try_cnt=0,
!(tmpex->type & (HTT_CLASS|HTT_INTERNAL_TYPE)))
LexExcept(cc,"Expecting type at ");
Lex(cc);
ParseGlblVarLst(cc,PRS0__EXTERN|PRS1_NULL,tmpex,i,fsp_flags);
ParseGlobalVarLst(cc,PRS0__EXTERN|PRS1_NULL,tmpex,i,fsp_flags);
break;
case KW__IMPORT:
sm_underscore_import:
@ -1021,7 +1021,7 @@ sm_underscore_import:
!(tmpex->type & (HTT_CLASS|HTT_INTERNAL_TYPE)))
LexExcept(cc,"Expecting type at ");
Lex(cc);
ParseGlblVarLst(cc,PRS0__IMPORT|PRS1_NULL,tmpex,
ParseGlobalVarLst(cc,PRS0__IMPORT|PRS1_NULL,tmpex,
import_name,fsp_flags);
Free(import_name);
break;
@ -1042,7 +1042,7 @@ sm_underscore_import:
if (Bt(&cc->opts,OPTf_EXTERNS_TO_IMPORTS))
goto sm_import;
Lex(cc);
ParseGlblVarLst(cc,PRS0_EXTERN|PRS1_NULL,tmpex,0,fsp_flags);
ParseGlobalVarLst(cc,PRS0_EXTERN|PRS1_NULL,tmpex,0,fsp_flags);
break;
case KW_IMPORT:
if (cc->token!=TK_IDENT || !(tmpex=cc->hash_entry) ||
@ -1050,7 +1050,7 @@ sm_underscore_import:
LexExcept(cc,"Expecting type at ");
sm_import:
Lex(cc);
ParseGlblVarLst(cc,PRS0_IMPORT|PRS1_NULL,tmpex,0,fsp_flags);
ParseGlobalVarLst(cc,PRS0_IMPORT|PRS1_NULL,tmpex,0,fsp_flags);
break;
case KW__INTERN:
i=LexExpressionI64(cc);
@ -1058,7 +1058,7 @@ sm_import:
!(tmpex->type & (HTT_CLASS|HTT_INTERNAL_TYPE)))
LexExcept(cc,"Expecting type at ");
Lex(cc);
ParseGlblVarLst(cc,PRS0__INTERN|PRS1_NULL,tmpex,i,fsp_flags);
ParseGlobalVarLst(cc,PRS0__INTERN|PRS1_NULL,tmpex,i,fsp_flags);
break;
end:
fsp_flags&=FSF_ASM;
@ -1145,7 +1145,7 @@ sm_import:
Lex(cc);
tmpex=ParseClass(cc,i,fsp_flags,FALSE);
if (!cc->htc.fun && cc->token!=';') {
ParseGlblVarLst(cc,PRS0_NULL|PRS1_NULL,tmpex,0,fsp_flags);
ParseGlobalVarLst(cc,PRS0_NULL|PRS1_NULL,tmpex,0,fsp_flags);
fsp_flags&=FSF_ASM;
break;
} else {
@ -1164,7 +1164,7 @@ sm_not_keyword_afterall:
if (cc->token=='}') goto sm_done;
} else {
Lex(cc);
ParseGlblVarLst(cc,PRS0_NULL|PRS1_NULL,tmpex,0,fsp_flags);
ParseGlobalVarLst(cc,PRS0_NULL|PRS1_NULL,tmpex,0,fsp_flags);
}
} else {
if (tmpex->type & (HTT_OPCODE|HTT_ASM_KEYWORD)) {

View File

@ -203,7 +203,7 @@ U0 ParseVarInit2(CCompCtrl *cc,U8 **_dst,CHashClass *tmpc,
}
}
U0 ParseGlblInit(CCompCtrl *cc,CHashGlblVar *tmpg,I64 pass)
U0 ParseGlobalInit(CCompCtrl *cc,CHashGlobalVar *tmpg,I64 pass)
{
U8 *dst=tmpg->data_addr;
ParseVarInit2(cc,&dst,tmpg->var_class,&tmpg->dim,

View File

@ -212,7 +212,7 @@ $FG,5$$TX+CX,"Bugs? Not really sure."$$FG$
$FG,5$$TX+CX,"TODO? Not really, just angst."$$FG$
* Should these be moved into $LK,"CHashClass",A="MN:CHashClass"$ from $LK,"CMemberLst",A="MN:CMemberLst"$ and $LK,"CHashGlblVar",A="MN:CHashGlblVar"$?
* Should these be moved into $LK,"CHashClass",A="MN:CHashClass"$ from $LK,"CMemberLst",A="MN:CMemberLst"$ and $LK,"CHashGlobalVar",A="MN:CHashGlobalVar"$?
$ID,5$CArrayDim dim;
CHashFun *fun_ptr;
$ID,-5$
@ -406,7 +406,7 @@ $FG,5$$TX+CX,"Uncategorized"$$FG$
* MOV U8 [RSP+RCX],DL
* $LK,"gr.scrn_image",A="MN:CGrGlbls"$
* $LK,"gr.scrn_image",A="MN:CGrGlobals"$
>Might want to do ZOOM in U8 graphics and convert scrn capture to U8
>Might want to rev bit order

View File

@ -17,7 +17,7 @@
I16 i=0;
U8 buf[8];
U0 UpdateGlblTask(I64)
U0 UpdateGlobalTask(I64)
{
while (TRUE) {
i++;
@ -40,7 +40,7 @@ U0 DataDemo()
// doc->flags|=DOCF_FORM
//if you wish.
Spawn(&UpdateGlblTask,NULL,"Update Glbl",,Fs);
Spawn(&UpdateGlobalTask,NULL,"Update Global",,Fs);
"Enter editor overstrike mode\n"
"and you can modify the val.\n"

View File

@ -72,7 +72,7 @@ mem. They all have at least the size $LK,"CDocEntryBase",A="MN:CDocEntryBase"$.
Note: $LK,"CDocEntry",A="MN:CDocEntry"$'s should be alloced from the
heap of the owning task, doc->mem_task.
The flag arrays $LK,"doldoc.type_flags_form",A="MN:CDolDocGlbls"$, etc
The flag arrays $LK,"doldoc.type_flags_form",A="MN:CDolDocGlobals"$, etc
are useful.
*/

Binary file not shown.

View File

@ -5,7 +5,7 @@
U32 text[TEXT_ROWS][TEXT_COLS];
U0 DrawIt(CTask *task,CDC *)
{ //$LK,"gr.text_base",A="MN:CGrGlbls"$ gets clear 30fps, so we must use our own permanent text array.
{ //$LK,"gr.text_base",A="MN:CGrGlobals"$ gets clear 30fps, so we must use our own permanent text array.
MemCpy(gr.text_base+TEXT_COLS,text,(TEXT_ROWS-1)*TEXT_COLS*sizeof(U32));
// You can copy it this way, if you like:

View File

@ -9,11 +9,11 @@ U0 DrawMyMs(CDC *dc,I64 x,I64 y)
U0 GridDemo()
{
CGridGlbls old_grid;
CGridGlobals old_grid;
U0 (*old_draw_ms)(CDC *dc,I64 x,I64 y); //Can't init this type of var.
MemCpy(&old_grid,&ms_grid,sizeof(CGridGlbls));
MemCpy(&old_grid,&ms_grid,sizeof(CGridGlobals));
GridInit;
ms_grid.snap=TRUE; //You can set other $LK,"stuff",A="MN:CGridGlbls"$.
ms_grid.snap=TRUE; //You can set other $LK,"stuff",A="MN:CGridGlobals"$.
ms_grid.x=GRID;
ms_grid.y=GRID;
old_draw_ms=gr.fp_draw_ms;
@ -24,7 +24,7 @@ U0 GridDemo()
}
DCFill;
gr.fp_draw_ms=old_draw_ms;
MemCpy(&ms_grid,&old_grid,sizeof(CGridGlbls));
MemCpy(&ms_grid,&old_grid,sizeof(CGridGlobals));
}
GridDemo;

Binary file not shown.

View File

@ -1,4 +1,4 @@
/*$LK,"gr.dc",A="MN:CGrGlbls"$ is the persistent layer. You can access
/*$LK,"gr.dc",A="MN:CGrGlobals"$ is the persistent layer. You can access
it directly but two tasks accessing it simultaneously
with no $LK,"DCAlias",A="MN:DCAlias"$() will screw-up color and stuff.
*/

Binary file not shown.

View File

@ -37,7 +37,7 @@ That means no read-modify-writes, too.
*/
Busy(4000000);
//ZenithOS has a 4 plane memory duplicate of the scrn, $LK,"gr.scrn_image",A="MN:CGrGlbls"$,
//ZenithOS has a 4 plane memory duplicate of the scrn, $LK,"gr.scrn_image",A="MN:CGrGlobals"$,
//and only writes actual changes.See $LK,"GrUpdateVGAGraphics",A="MN:GrUpdateVGAGraphics"$().
//<CTRL-ALT-v> will flush scrn VGA cache.
VGAFlush;

View File

@ -71,7 +71,7 @@ U0 SuggestSpellingDemo()
U0 CtrlAltL(I64)
{
//$LK,"ac.cur_word",A="MN:CAutoCompleteGlbls"$ is only set if AutoComplete
//$LK,"ac.cur_word",A="MN:CAutoCompleteGlobals"$ is only set if AutoComplete
//is running.
if (!TaskValidate(ac.task)) {
AutoComplete(ON);

View File

@ -22,6 +22,6 @@ The upper 4-bytes are copied from lower 4-bytes.
Run the program $LK,"::/Demo/MessageLoop.HC"$ to examine scan code. Press $FG,2$<CTRL-SHIFT-l>$FG$ and "Insert ASCII/ScanCode".$FG$
See $LK,"Key Allocations",A="FI:::/Doc/KeyAlloc.DD"$ and $LK,"CKbdStateGlbls",A="MN:CKbdStateGlbls"$.
See $LK,"Key Allocations",A="FI:::/Doc/KeyAlloc.DD"$ and $LK,"CKbdStateGlobals",A="MN:CKbdStateGlobals"$.
A $FG,2$String$FG$ is a bunch of ASCII characters terminated with a zero.

View File

@ -188,7 +188,7 @@ $LK,"::/Demo/Asm/DivByHand.HC"$
$LK,"::/Demo/Asm/AsmAndC1.HC"$
$LK,"::/Demo/Asm/AsmAndC2.HC"$
$LK,"::/Demo/Asm/AsmAndC3.HC"$
$LK,"::/Demo/GlblVars.HC"$
$LK,"::/Demo/GlobalVars.HC"$
$LK,"::/Misc/OSTestSuite.HC"$
$MA-X+PU,"::/Zenith",LM="Cd(\"::/Zenith\");Dir;View;\n"$
$ID,-2$

View File

@ -49,10 +49,10 @@ $FG,2$'u'$FG$
$ID,2$Unmount drive(s).
$ID,-2$
$FG,2$'m'$FG$
$ID,2$Make CD/DVD ISO.C file. This creates a $LK,"RedSea",A="FI:::/Doc/RedSea.DD"$ ISO file image of the dir the cursor is on. The name of the ISO file is $FG,2$$TX,"\"::/Tmp/CDDVD.ISO.C\"",D="DFT_ISO_C_FILENAME"$$FG$ $LK,"blkdev.dft_iso_c_filename",A="MN:CBlkDevGlbls"$ and can be redefined in your start-up scripts. You may wish to place it on a different drive.
$ID,2$Make CD/DVD ISO.C file. This creates a $LK,"RedSea",A="FI:::/Doc/RedSea.DD"$ ISO file image of the dir the cursor is on. The name of the ISO file is $FG,2$$TX,"\"::/Tmp/CDDVD.ISO.C\"",D="DFT_ISO_C_FILENAME"$$FG$ $LK,"blkdev.dft_iso_c_filename",A="MN:CBlkDevGlobals"$ and can be redefined in your start-up scripts. You may wish to place it on a different drive.
$ID,-2$
$FG,2$'B'$FG$
$ID,2$Burn CD/DVD ISO file. This burns a CD/DVD using the image file, $FG,2$$TX,"\"::/Tmp/CDDVD.ISO\"",D="DFT_ISO_FILENAME"$$FG$ $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlbls"$ to the drive the cursor is on.
$ID,2$Burn CD/DVD ISO file. This burns a CD/DVD using the image file, $FG,2$$TX,"\"::/Tmp/CDDVD.ISO\"",D="DFT_ISO_FILENAME"$$FG$ $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlobals"$ to the drive the cursor is on.
$ID,-2$
$FG,5$Instructions on Using CD/DVD's$FG$
@ -60,7 +60,7 @@ $ID,2$If you have not recompiled Kernel and defined your CD/DVD drive, exit the
$ID,-2$
$FG,5$Instructions on Burning CD/DVD's$FG$
$ID,2$Create a temporary dir to hold files and copy files into the holding dir. Make an ISO image of the dir by pressing $FG,2$'M'$FG$ when on top of the dir. Press $FG,2$'B'$FG$ when on top of the CD/DVD ROM drive to burn the ISO, $FG,2$$TX,"\"::/Tmp/CDDVD.ISO\"",D="DFT_ISO_FILENAME"$$FG$ $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlbls"$, to disk. If you have not recompiled $FG,2$Kernel$FG$ and defined your CD/DVD drive, exit the FileMgr and use $LK,"Mount",A="MN:Mount"$.
$ID,2$Create a temporary dir to hold files and copy files into the holding dir. Make an ISO image of the dir by pressing $FG,2$'M'$FG$ when on top of the dir. Press $FG,2$'B'$FG$ when on top of the CD/DVD ROM drive to burn the ISO, $FG,2$$TX,"\"::/Tmp/CDDVD.ISO\"",D="DFT_ISO_FILENAME"$$FG$ $LK,"blkdev.dft_iso_filename",A="MN:CBlkDevGlobals"$, to disk. If you have not recompiled $FG,2$Kernel$FG$ and defined your CD/DVD drive, exit the FileMgr and use $LK,"Mount",A="MN:Mount"$.
$LK,"Making Your Own Distro",A="FI:::/Misc/DoDistro.HC"$
$ID,-2$

View File

@ -62,7 +62,7 @@ $FG,2$FPS$FG$ Frames per Second, First Person Shooter
$FG,2$fp_$FG$ Function ptr
$FG,2$Fun$FG$ Function
$FG,2$Gen$FG$ Generate
$FG,2$Glbl$FG$ Global
$FG,2$Global$FG$ Global
$FG,2$Gr$FG$ Graphic
$FG,2$Hndlr$FG$ Handler
$FG,2$IDE$FG$ Integrated Drive Electronics, Integrated Development Environment

View File

@ -78,7 +78,7 @@ $ID,-5$
* Avoid boolean expression assignments. Boolean assignments don't have short circuit logic and are not compiled efficiently. The $FG,2$Bool$FG$ type is just an alias for a 1 byte signed int -- nothing forces it to $FG,2$1$FG$ or $FG,2$0$FG$. There is a $LK,"ToBool",A="MN:ToBool"$() function that will for to $FG,2$1$FG$ ot $FG,2$0$FG$, however.
* Glbl vars in $FG,2$AOT$FG$ BIN modules are initialized to zero. They occupy space in BIN files.
* Global vars in $FG,2$AOT$FG$ BIN modules are initialized to zero. They occupy space in BIN files.
* Bracketing code with $FG,2$PUSHFD CLI$FG$ and $FG,2$POPFD$FG$ will protect against simultaneous accesses from tasks on $UL,1$one$UL,0$ core. To protect against multiple cores, you need a locked semaphore. I think semiphores need to be in their own cache line, but I'm not sure. I use lock bits in a lot of places not aligned.

View File

@ -1,8 +1,8 @@
$WW,1$$LK,"ms.pos.x",A="MN:ms"$ and $LK,"ms.pos.y",A="MN:ms"$ can be used to access the x and y coordinates of the mouse. They are relative to the scrn, not window. These can be used if you don't want to use message passing. $LK,"ms.pos.z",A="MN:ms"$ is the wheel.
$LK,"ms.pos_text.x",A="MN:CMsStateGlbls"$ and $LK,"ms.pos_text.y",A="MN:CMsStateGlbls"$ are the text column and row. See $LK,"::/Demo/Games/Maze.HC"$.
$LK,"ms.pos_text.x",A="MN:CMsStateGlobals"$ and $LK,"ms.pos_text.y",A="MN:CMsStateGlobals"$ are the text column and row. See $LK,"::/Demo/Games/Maze.HC"$.
See $LK,"CMsStateGlbls",A="MN:CMsStateGlbls"$ and $LK,"CMsHardStateGlbls",A="MN:CMsHardStateGlbls"$.
See $LK,"CMsStateGlobals",A="MN:CMsStateGlobals"$ and $LK,"CMsHardStateGlobals",A="MN:CMsHardStateGlobals"$.
The $FG,2$hard$FG$ designation, as in $FG,2$ms_hard$FG$, represents hardware layer items before the application of an abstraction layer.

View File

@ -98,7 +98,7 @@ $WW,1$
* Local non-reg function vars can be accessed in asm blks with $FG,2$&i[RBP]$FG$ for example.
* Glbl vars and functions can be accessed in asm with and $FG,2$&$FG$ as in
* Global vars and functions can be accessed in asm with and $FG,2$&$FG$ as in
$FG,2$MOV RAX,I64 [&glbl_var]
CALL I32 &Fun
CALL I32 &SYS_SYM$FG$

View File

@ -1,4 +1,4 @@
$WW,1$$LK,"gr.text_base",A="MN:CGrGlbls"$ must be updated 30fps in your Fs->draw_it() callback. You probably want $LK,"GrPrint",A="MN:GrPrint"$() or just $LK,"Print",A="MN:Print"$(). The $LK,"DolDoc",A="FI:::/Doc/DolDocOverview.DD"$ code takes care of plotting text to $LK,"gr.text_base",A="MN:CGrGlbls"$.
$WW,1$$LK,"gr.text_base",A="MN:CGrGlobals"$ must be updated 30fps in your Fs->draw_it() callback. You probably want $LK,"GrPrint",A="MN:GrPrint"$() or just $LK,"Print",A="MN:Print"$(). The $LK,"DolDoc",A="FI:::/Doc/DolDocOverview.DD"$ code takes care of plotting text to $LK,"gr.text_base",A="MN:CGrGlobals"$.
Bits 0-7 8-Bit ASCII Screen Code
Bits 8-11 Foreground $LK,"color",A="MN:BLACK"$
@ -10,6 +10,6 @@ Bit 29 $LK,"Invert",A="MN:ATTRF_INVERT"$ed (Swap foreground and background)
Bit 30 $LK,"Sel",A="MN:ATTRF_SEL"$ (XOR colors with FF)
Bit 31 $LK,"Underline",A="MN:ATTRF_UNDERLINE"$
$LK,"GrUpdateTaskWin",A="MN:GrUpdateTaskWin"$() calls $LK,"DocUpdateTaskDocs",A="MN:DocUpdateTaskDocs"$() which calls $LK,"DocRecalc",A="MN:DocRecalc"$() where the document text is plotted into $LK,"gr.text_base",A="MN:CGrGlbls"$. Then, $LK,"GrUpdateTextBG",A="MN:GrUpdateTextBG"$() and $LK,"GrUpdateTextFG",A="MN:GrUpdateTextFG"$() render the $LK,"gr.text_base",A="MN:CGrGlbls"$ onto $LK,"gr.dc2",A="MN:CGrGlbls"$, a raw graphic bitmap.
$LK,"GrUpdateTaskWin",A="MN:GrUpdateTaskWin"$() calls $LK,"DocUpdateTaskDocs",A="MN:DocUpdateTaskDocs"$() which calls $LK,"DocRecalc",A="MN:DocRecalc"$() where the document text is plotted into $LK,"gr.text_base",A="MN:CGrGlobals"$. Then, $LK,"GrUpdateTextBG",A="MN:GrUpdateTextBG"$() and $LK,"GrUpdateTextFG",A="MN:GrUpdateTextFG"$() render the $LK,"gr.text_base",A="MN:CGrGlobals"$ onto $LK,"gr.dc2",A="MN:CGrGlobals"$, a raw graphic bitmap.
See $LK,"::/Demo/Games/Maze.HC"$.

View File

@ -1 +1 @@
$WW,1$Intel/AMD have an inst that returns the num of CPU cycles since boot. This is not a steady, calibrated real time value. ZenithOS measures it and you can convert with $LK,"cnts.time_stamp_freq",A="MN:CCntsGlbls"$, a value continuously calibrated from other cnts.
$WW,1$Intel/AMD have an inst that returns the num of CPU cycles since boot. This is not a steady, calibrated real time value. ZenithOS measures it and you can convert with $LK,"cnts.time_stamp_freq",A="MN:CCntsGlobals"$, a value continuously calibrated from other cnts.

View File

@ -1 +1 @@
$WW,1$The HPET, high precision event timer, is read with $LK,"HPET",A="MN:HPET"$() and has a frequency of $LK,"cnts.HPET_freq",A="MN:CCntsGlbls"$. A typical freq value is 14.3 Mhz It might not be available on all systems.
$WW,1$The HPET, high precision event timer, is read with $LK,"HPET",A="MN:HPET"$() and has a frequency of $LK,"cnts.HPET_freq",A="MN:CCntsGlobals"$. A typical freq value is 14.3 Mhz It might not be available on all systems.

View File

@ -1,7 +1,7 @@
$WW,1$One jiffy is one time slice. $LK,"cnts.jiffies",A="MN:CCntsGlbls"$ returns time slices since boot.
$WW,1$One jiffy is one time slice. $LK,"cnts.jiffies",A="MN:CCntsGlobals"$ returns time slices since boot.
$LK,"SysTimerRead",A="MN:SysTimerRead"$ reads the timer ticks since boot. It's not as fast as $LK,"GetTSC",A="MN:GetTSC"$.
Use $LK,"JIFFY_FREQ",A="MN:JIFFY_FREQ"$ to convert $LK,"cnts.jiffies",A="MN:CCntsGlbls"$.
Use $LK,"JIFFY_FREQ",A="MN:JIFFY_FREQ"$ to convert $LK,"cnts.jiffies",A="MN:CCntsGlobals"$.
Use $LK,"SYS_TIMER_FREQ",A="MN:SYS_TIMER_FREQ"$ to convert $LK,"SysTimerRead",A="MN:SysTimerRead"$.

View File

@ -63,7 +63,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes.
* Grab-scroll any window at any time with $FG,2${CTRL-LEFT-MOUSE-DRAG}$FG$. Null grab-scrolling with $FG,2${CTRL-RIGHT-MOUSE}$FG$.
* Use $FG,2$<CTRL-ALT-z>$FG$ to zoom-in and $FG,2$<CTRL-ALT-SHIFT-Z>$FG$ to zoom-out. You can scroll by moving to the edge of the window. Set $LK,"gr.continuous_scroll",A="MN:CGrGlbls"$ to $FG,2$TRUE$FG$ if you want.
* Use $FG,2$<CTRL-ALT-z>$FG$ to zoom-in and $FG,2$<CTRL-ALT-SHIFT-Z>$FG$ to zoom-out. You can scroll by moving to the edge of the window. Set $LK,"gr.continuous_scroll",A="MN:CGrGlobals"$ to $FG,2$TRUE$FG$ if you want.
* Use $FG,2$<CTRL-ALT-g>$FG$ and $FG,2$<CTRL-ALT-SHIFT-G>$FG$ to display a grid on the scrn.
@ -91,7 +91,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes.
* Use $LK,"View",A="MN:View"$() in Pop-up macros to linger until the user presses $FG,2$<ESC>$FG$ or $FG,2$<SHIFT-ESC>$FG$.
* You can access the word under the cursor at $LK,"ac.cur_word",A="MN:CAutoCompleteGlbls"$.
* You can access the word under the cursor at $LK,"ac.cur_word",A="MN:CAutoCompleteGlobals"$.
* You can reactivate $FG,2$AutoComplete$FG$ after closing it by pressing $FG,2$<CTRL-Fun Key>$FG$ or $FG,2$<ALT-w>$FG$ if you have it defined.
@ -125,7 +125,7 @@ $FG,2$Merge(\"C:/*\",\"D:/*\",\"+r+d\");$FG$ to check my changes.
* The editor's sel-text mechanism allows for disjoint portions of sel text. This is a feature, not a bug -- you can cut-and-paste disjoint text.
* $LK,"cnts.time_stamp_freq",A="MN:CCntsGlbls"$ is continuously calibrated. Be careful because expressions might decrease. Take a snap-shot, like this: $FG,2$timeout=$LK,"GetTSC",A="MN:GetTSC"$+$LK,"cnts.time_stamp_freq",A="MN:CCntsGlbls"$ x seconds;$FG$ and compare against $LK,"GetTSC",A="MN:GetTSC"$(). I recommend just using $LK,"tS",A="MN:tS"$ or $LK,"cnts.jiffies",A="MN:CCntsGlbls"$.
* $LK,"cnts.time_stamp_freq",A="MN:CCntsGlobals"$ is continuously calibrated. Be careful because expressions might decrease. Take a snap-shot, like this: $FG,2$timeout=$LK,"GetTSC",A="MN:GetTSC"$+$LK,"cnts.time_stamp_freq",A="MN:CCntsGlobals"$ x seconds;$FG$ and compare against $LK,"GetTSC",A="MN:GetTSC"$(). I recommend just using $LK,"tS",A="MN:tS"$ or $LK,"cnts.jiffies",A="MN:CCntsGlobals"$.
* Use $LK,"HeapLog",A="MN:HeapLog"$(), $LK,"HeapLogAddrRep",A="MN:HeapLogAddrRep"$() and $LK,"HeapLogSizeRep",A="MN:HeapLogSizeRep"$() to find leaks. Don't be confused by $LK,"CDoc",A="MN:CDoc"$ allocations. Those are generated when text is written to the cmd line buffer.

View File

@ -3,7 +3,6 @@ BootHDIns;
"\n\nSuccessful?";
if(YorN)
{
Del("~/Registry.HC");
Once("#include\"DoDistro\";;OutU16(0x4004, 0x3400);");
Once("#include\"DoDistro\";;Del(\"~/Registry.HC\");;OutU16(0x4004, 0x3400);");
Reboot;
}

View File

@ -1,44 +0,0 @@
$TR,"Zenith"$
$ID,2$$TR,"SysMessageFlags"$
$ID,2$sys_message_flags[0]=0;
$ID,-2$$TR,"SysRegVer"$
$ID,2$registry_version=0.100;
$ID,-2$$ID,-2$$TR,"Once"$
$ID,2$$TR,"Zenith"$
$ID,2$$ID,-2$$TR,"User"$
$ID,2$#include "DoDistro";;OutU16(0x4004, 0x3400);
$ID,-2$$ID,-2$$TR,"ZenithOS"$
$ID,2$$TR,"BlackDiamond"$
$ID,2$I64 best_score=9999;
$ID,-2$$TR,"Talons"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"DunGen"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"CastleFrankenstein"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"ZoneOut"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"Varoom"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"FlapBat"$
$ID,2$F64 best_score=9999.0000;
$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=0;
I64 message_flags=0;
$ID,-2$$TR,"Wenceslas"$
$ID,2$F64 best_score=9999.0000;
$ID,-2$$TR,"BomberGolf"$
$ID,2$I64 best_score=99999;
$ID,-2$$TR,"OSTestSuite"$
$ID,2$progress1_tf=0.000;progress2_tf=0.000;
progress3_tf=0.000;progress4_tf=218.934;
$ID,-2$$ID,-2$$TR,"DemoCompany"$
$ID,2$$TR,"Game1"$
$ID,2$F64 best_score=267.42538;
$TR,"SimpleVal"$
$ID,2$1235;
$ID,-2$$ID,-2$$ID,-2$

Binary file not shown.

View File

@ -15,19 +15,19 @@ CDate local_time_offset;
F64 *pow10_I64,
sys_os_version=0.10;
CAutoCompleteDictGlbls acd;
CAutoCompleteGlbls ac;
CBlkDevGlbls blkdev;
CCntsGlbls cnts={1,0,2676302000,2676302,2676302000,0,0,0,FALSE};
CDebugGlbls dbg;
CDevGlbls dev;
CGridGlbls ms_grid; //See $LK,"::/Demo/Graphics/Grid.HC"$.
CMsStateGlbls ms,ms_last;
CKbdStateGlbls kbd;
CKeyDevGlbls keydev;
CMsHardStateGlbls ms_hard,ms_hard_last;
CScreenCastGlbls scrncast;
CTextGlbls text;
CAutoCompleteDictGlobals acd;
CAutoCompleteGlobals ac;
CBlkDevGlobals blkdev;
CCntsGlobals cnts={1,0,2676302000,2676302,2676302000,0,0,0,FALSE};
CDebugGlobals dbg;
CDevGlobals dev;
CGridGlobals ms_grid; //See $LK,"::/Demo/Graphics/Grid.HC"$.
CMsStateGlobals ms,ms_last;
CKbdStateGlobals kbd;
CKeyDevGlobals keydev;
CMsHardStateGlobals ms_hard,ms_hard_last;
CScreenCastGlobals scrncast;
CTextGlobals text;
U8 *(*fp_getstr2)(I64 flags=0);
U0 (*fp_update_ctrls)(CTask *task);

View File

@ -22,10 +22,10 @@ I64 HashVal(CHash *tmph)
case HTt_HELP_FILE:
return tmph;
case HTt_GLBL_VAR:
if (tmph(CHashGlblVar *)->flags&GVF_EXTERN)
return &tmph(CHashGlblVar *)->data_addr;
if (tmph(CHashGlobalVar *)->flags&GVF_EXTERN)
return &tmph(CHashGlobalVar *)->data_addr;
else
return tmph(CHashGlblVar *)->data_addr;
return tmph(CHashGlobalVar *)->data_addr;
case HTt_FUN:
if (Bt(&tmph(CHashFun *)->flags,Cf_EXTERN))
return tmph;
@ -75,12 +75,12 @@ U0 HashDel(CHashSrcSym *tmph)
else if (tmph->type&HTT_DEFINE_STR)
Free(tmph(CHashDefineStr *)->data);
else if (tmph->type & HTT_GLBL_VAR) {
if (!(tmph(CHashGlblVar *)->flags&GVF_ALIAS))
Free(tmph(CHashGlblVar *)->data_addr);
LinkedLstDel(tmph(CHashGlblVar *)->dim.next);
if (tmph(CHashGlblVar *)->fun_ptr)
HashDel(tmph(CHashGlblVar *)->fun_ptr
-tmph(CHashGlblVar *)->fun_ptr->ptr_stars_cnt);
if (!(tmph(CHashGlobalVar *)->flags&GVF_ALIAS))
Free(tmph(CHashGlobalVar *)->data_addr);
LinkedLstDel(tmph(CHashGlobalVar *)->dim.next);
if (tmph(CHashGlobalVar *)->fun_ptr)
HashDel(tmph(CHashGlobalVar *)->fun_ptr
-tmph(CHashGlobalVar *)->fun_ptr->ptr_stars_cnt);
}
} else if (tmph->type & HTT_FILE)
Free(tmph(CHashGeneric *)->user_data0);

View File

@ -7,7 +7,7 @@ INT_WAKE::
PUSH RAX
MOV EAX,&dev
MOV EDX,U32 LAPIC_EOI
MOV RAX,U64 CDevGlbls.uncached_alias[RAX]
MOV RAX,U64 CDevGlobals.uncached_alias[RAX]
MOV U32 [RAX+RDX],0
POP RAX
POP RDX
@ -48,7 +48,7 @@ IRQ_TIMER:: //I_TIMER
MOV EAX,&dev
MOV EDX,U32 LAPIC_EOI
MOV RAX,U64 CDevGlbls.uncached_alias[RAX]
MOV RAX,U64 CDevGlobals.uncached_alias[RAX]
MOV U32 [RAX+RDX],0
JMP @@25

View File

@ -34,7 +34,7 @@ U0 LoadOneImport(U8 **_src,U8 *module_base,I64 ld_flags)
if (tmpex->type & HTT_FUN)
i=tmpex(CHashFun *)->exe_addr;
else if (tmpex->type & HTT_GLBL_VAR)
i=tmpex(CHashGlblVar *)->data_addr;
i=tmpex(CHashGlobalVar *)->data_addr;
else
i=tmpex->val;
switch (etype) {

View File

@ -1,4 +1,4 @@
U0 SysGlblsInit()
U0 SysGlobalsInit()
{
I64 i,j;
CRAXRBCRCXRDX ee;
@ -138,7 +138,7 @@ U0 KMain()
OutU8(0x61,InU8(0x61)&~3); //Snd;
zenith_task=Fs;
BlkPoolsInit;
SysGlblsInit;
SysGlobalsInit;
Mem32DevInit;
UncachedAliasAlloc;
LoadKernel;

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@
#include "KernelB.HH"
#include "KExts"
#include "StrA"
#include "KGlbls"
#include "KGlobals"
#include "KMathB"
#include "Sched"
#include "Mem/MakeMem"

View File

@ -2,7 +2,7 @@
#help_index ""
extern class CAOT;
extern class CAOTHeapGlbl;
extern class CAOTHeapGlobal;
extern class CAOTImportExport;
extern class CCPU;
extern class CDC;
@ -555,7 +555,7 @@ class CAP16BitInit
#define HPET_GEN_CONF (0xFED00000+0x10)
#define HPET_MAIN_CNT (0xFED00000+0xF0)
public class CCntsGlbls
public class CCntsGlobals
{
I64 jiffies, //$LK,"JIFFY_FREQ",A="MN:JIFFY_FREQ"$
timer, //$LK,"SYS_TIMER_FREQ",A="MN:SYS_TIMER_FREQ"$. Use $LK,"SysTimerRead",A="MN:SysTimerRead"$().
@ -687,7 +687,7 @@ public class CHashTable
#define HTT_EXPORT_SYS_SYM 0x00001 //CHashExport
#define HTT_IMPORT_SYS_SYM 0x00002 //CHashImport
#define HTT_DEFINE_STR 0x00004 //CHashDefineStr
#define HTT_GLBL_VAR 0x00008 //CHashGlblVar
#define HTT_GLBL_VAR 0x00008 //CHashGlobalVar
#define HTT_CLASS 0x00010 //CHashClass
#define HTT_INTERNAL_TYPE 0x00020 //CHashClass
#define HTT_FUN 0x00040 //CHashFun
@ -867,7 +867,7 @@ public class CHashFun:CHashClass
CExternUsage *ext_lst;
};
//Glbl Var Flags
//Global Var Flags
#define GVF_FUN 1
#define GVF_IMPORT 2
#define GVF_EXTERN 4
@ -875,7 +875,7 @@ public class CHashFun:CHashClass
#define GVF_ALIAS 16
#define GVF_ARRAY 32
public class CHashGlblVar:CHashSrcSym
public class CHashGlobalVar:CHashSrcSym
{
I64 size,flags;
CHashClass *var_class;
@ -884,10 +884,10 @@ public class CHashGlblVar:CHashSrcSym
U8 *data_addr;
union {
I64 data_addr_rip;
CAOTHeapGlbl *heap_glbl;
CAOTHeapGlobal *heap_glbl;
}
};
#assert offset(CHashClass.size)==offset(CHashGlblVar.size)
#assert offset(CHashClass.size)==offset(CHashGlobalVar.size)
#help_index "DolDoc"
//See $LK,"TextBase Layer",A="HI:TextBase Layer"$.
@ -1467,7 +1467,7 @@ tries to do something.
#define WIf_FOCUS_TASK_BORDER 24
#define WIf_FOCUS_TASK_GRAB_SCROLL 25
class CWinMgrTimingGlbls
class CWinMgrTimingGlobals
{
I64 last_total_jiffies,
last_idle_pt_hits[MP_PROCESSORS_NUM],
@ -1479,7 +1479,7 @@ class CWinMgrTimingGlbls
#define WINMGR_FPS (60000.0/1001)
#define WINMGR_PERIOD (1001/60000.0)
public class CWinMgrGlbls
public class CWinMgrGlobals
{
I64 updates;
F64 ode_time,
@ -1487,14 +1487,14 @@ public class CWinMgrGlbls
fps, //You can read but not write this. You have no control.
ideal_refresh_tS,
last_refresh_tS;
CWinMgrTimingGlbls *t;
CWinMgrTimingGlobals *t;
Bool show_menu,grab_scroll,grab_scroll_closed;
};
#help_index "AutoComplete"
#define ACf_INIT_IN_PROGRESS 0
#define AC_FILLINS_NUM 10
public class CAutoCompleteGlbls
public class CAutoCompleteGlobals
{
I64 num_words;
CHashTable *hash_table;
@ -1530,7 +1530,7 @@ public class CAutoCompleteGlbls
#define ACD_EXTRA_CHAR 0x05
#define ACD_FILLINS_NUM 10
public class CAutoCompleteDictGlbls
public class CAutoCompleteDictGlobals
{
U8 *word_lst;
I64 word_lst_size,num_words,num_fillins;
@ -1991,18 +1991,18 @@ class CAOTAbsAddr
U8 type,pad[7];
};
class CAOTHeapGlblRef
class CAOTHeapGlobalRef
{
CAOTHeapGlblRef *next;
CAOTHeapGlobalRef *next;
I64 rip;
};
class CAOTHeapGlbl
class CAOTHeapGlobal
{
CAOTHeapGlbl *next;
CAOTHeapGlobal *next;
U8 *str;
I64 size;
CAOTHeapGlblRef *references;
CAOTHeapGlobalRef *references;
};
class CAOT
@ -2015,7 +2015,7 @@ class CAOT
CAOT *parent_aot;
CAOTImportExport *next_ie,*last_ie;
CAOTAbsAddr *abss;
CAOTHeapGlbl *heap_glbls;
CAOTHeapGlobal *heap_glbls;
};
class CStreamBlk
@ -2067,7 +2067,7 @@ class CAOTCtrl
max_align_bits,org;
CAsmUnresolvedRef *local_unresolved,*glbl_unresolved;
CAOTAbsAddr *abss;
CAOTHeapGlbl *heap_glbls;
CAOTHeapGlobal *heap_glbls;
I64 lst_col,lst_last_rip;
U8 *last_label,*lst_last_line;
CLexFile *lst_last_lfn;
@ -2223,7 +2223,7 @@ public class CCompCtrl
};
#help_index "Compiler"
public class CCompGlbls
public class CCompGlobals
{
CHashTable *asm_hash;
CHashClass *internal_types[RT_RTS_NUM];
@ -2238,7 +2238,7 @@ public class CCompGlbls
};
#help_index "Debugging/Unassemble"
class CUAsmGlbls
class CUAsmGlobals
{
CInst **table_16_32,**table_64;
I64 table_16_32_entries,
@ -2727,7 +2727,7 @@ class CCacheBlk
#define DFT_ISO_FILENAME "::/Tmp/CDDVD.ISO"
#define DFT_ISO_C_FILENAME "::/Tmp/CDDVD.ISO.C"
public class CBlkDevGlbls
public class CBlkDevGlobals
{
CBlkDev *blkdevs;
U8 *dft_iso_filename; //$TX,"\"::/Tmp/CDDVD.ISO\"",D="DFT_ISO_FILENAME"$
@ -2874,7 +2874,7 @@ public class CHeapCtrl
};
#help_index "Devices;Memory/Page Tables"
public class CDevGlbls
public class CDevGlobals
{
I64 *idt;
U8 *mem64_ptr;
@ -2955,7 +2955,7 @@ public I64 class CBGR48
#help_index "Keyboard Devices;Char/Input;StdIn"
#define KBD_PORT 0x60
#define KBD_CTRL 0x64
public class CKbdStateGlbls
public class CKbdStateGlobals
{
I64 scan_code, //See $LK,"scan codes",A="FI:::/Doc/CharOverview.DD"$
last_down_scan_code,
@ -2976,7 +2976,7 @@ public class CKbdStateGlbls
};
#help_index "Mouse"
public class CMsHardStateGlbls
public class CMsHardStateGlobals
{
CD3I64 pos, //Position in pixels
prescale;
@ -2995,7 +2995,7 @@ public class CMsHardStateGlbls
irqs_working; //Private
};
public class CMsStateGlbls
public class CMsStateGlobals
{
CD3I64 pos, //Position in pixels
pos_text, //Position in text rows,cols
@ -3017,7 +3017,7 @@ public class CMsStateGlbls
right_down_sent;//Private
};
public class CGridGlbls
public class CGridGlobals
{
Bool snap format "$$CB,\"Snap Grid\"$$\n",
show format "$$CB,\"Show Grid\"$$\n",
@ -3538,7 +3538,7 @@ public class CSysFixedArea
#define RWF_SHOW_DOLLAR 4
#define RWF_SCROLL 8
public class CTextGlbls
public class CTextGlobals
{
I64 raw_col,raw_flags;
U8 *raw_scrn_image;
@ -3759,7 +3759,7 @@ class CKeyDevEntry
Bool (*put_s)(U8 *st);
};
class CKeyDevGlbls
class CKeyDevGlobals
{
CKeyDevEntry put_key_head;
U0 (**fp_ctrl_alt_cbs)(I64 sc);
@ -3785,7 +3785,7 @@ class CSndData
I8 ona;
};
public class CScreenCastGlbls
public class CScreenCastGlobals
{
CSndData snd_head;
CDate t0_now;
@ -3817,7 +3817,7 @@ class CMPCrash
I64 message_num;
};
public class CDebugGlbls
public class CDebugGlobals
{
CTask *focus_task;
U8 *message;

View File

@ -1,9 +1,9 @@
#help_index "AutoComplete"
#help_file "::/Doc/AutoComplete"
public extern CAutoCompleteGlbls ac;
public extern CAutoCompleteGlobals ac;
#help_index "AutoComplete/Dictionary"
public extern CAutoCompleteDictGlbls acd;
public extern CAutoCompleteDictGlobals acd;
#help_index "Bit"
public extern I64 BCnt(I64 d);
@ -106,7 +106,7 @@ public extern Bool Silent(Bool val=ON);
extern U8 *StrPrintHex(U8 *dst,I64 num;I64 width);
#help_index "Char;Debugging/Raw Output;TextBase Layer/Char"
public extern CTextGlbls text;
public extern CTextGlobals text;
#help_index "Compiler/Lex"
public extern U0 HashSrcFileSet(CCompCtrl *cc,
@ -173,7 +173,7 @@ public extern Bool SysDebug(Bool val);
public extern U8 *TaskCaller(CTask *task=NULL,
I64 num=0,Bool saved_context=FALSE);
public extern I64 UnusedStk(CTask *task=NULL);
public extern CDebugGlbls dbg;
public extern CDebugGlobals dbg;
#help_index "Debugging/Debugger"
public extern Bool B(U8 *addr,CTask *task=NULL,Bool live=TRUE) //Toggle bpt.
@ -246,7 +246,7 @@ public extern U8 *Mem32DevAlloc(I64 size,I64 alignment);
public extern U0 Mem32DevFree(U8 *base);
public extern U8 *Mem64DevAlloc(I64 *_pages1Gig);
public extern U0 Mem64DevFree(U8 *base,I64 pages1Gig);
public extern CDevGlbls dev;
public extern CDevGlobals dev;
#help_index "DolDoc/Clip"
public extern CDoc *sys_clip_doc;
@ -390,7 +390,7 @@ extern I64 BlkDevAdd(CBlkDev *bd,I64 prt_num=I64_MIN,
extern U0 DiskCacheInit(I64 size_in_U8s);
public extern U0 DiskCacheInvalidate(CDrive *dv);
public extern I64 MountIDEAuto();
public extern CBlkDevGlbls blkdev;
public extern CBlkDevGlobals blkdev;
#help_index "Graphics/Color"
extern U0 (*fp_set_std_palette)();
@ -509,7 +509,7 @@ public extern U0 KeyDescSet(U8 *fmt,...);
public extern CKeyDevEntry *KeyDevAdd(Bool (*fp_put_key)(I64 ch,I64 sc),
Bool (*fp_puts)(U8 *st),I64 priority,Bool key_descs=FALSE);
public extern U0 KeyDevRemove(CKeyDevEntry *tmpk);
extern CKeyDevGlbls keydev;
extern CKeyDevGlobals keydev;
extern CJob sys_macro_head;
extern CTask *sys_macro_task;
@ -533,7 +533,7 @@ public extern I64 PressAKey();
public extern I64 ScanChar();
public extern Bool ScanKey(I64 *_ch=NULL,I64 *_scan_code=NULL,Bool echo=FALSE);
public extern Bool YorN();
public extern CKbdStateGlbls kbd;
public extern CKbdStateGlobals kbd;
#help_index "Math"
public extern I64 CeilI64(I64 num,I64 to);
@ -613,11 +613,11 @@ public extern U0 ProgressBarsRst(U8 *path=NULL);
public extern U0 GridInit();
public extern U0 MsSet(I64 x=I64_MAX,I64 y=I64_MAX,I64 z=I64_MAX,
I64 l=I64_MAX,I64 r=I64_MAX);
public extern CMsStateGlbls ms;
public extern CGridGlbls ms_grid;
public extern CMsHardStateGlbls ms_hard;
extern CMsHardStateGlbls ms_hard_last;
extern CMsStateGlbls ms_last;
public extern CMsStateGlobals ms;
public extern CGridGlobals ms_grid;
public extern CMsHardStateGlobals ms_hard;
extern CMsHardStateGlobals ms_hard_last;
extern CMsStateGlobals ms_last;
#help_index "Mouse/Ptr"
extern U0 MsInit();
@ -667,7 +667,7 @@ public extern U8 *IntEntrySet(I64 irq,
#help_index "ScreenCast;Cmd Line (Typically)"
public extern Bool ScreenCast(Bool val=ON,Bool just_audio=FALSE,
U8 *print_fmt="B:/Tmp/%X.GR")
public extern CScreenCastGlbls scrncast;
public extern CScreenCastGlobals scrncast;
#help_index "Snd"
#help_file "::/Doc/Snd"
@ -728,7 +728,7 @@ public extern CTask *Spawn(U0 (*fp_addr)(U8 *data),U8 *data=NULL,
I64 stk_size=0,I64 flags=1<<JOBf_ADD_TO_QUE);
#help_index "Time/CPU Cycles;Time/HPET;Time/Jiffies"
public extern CCntsGlbls cnts;
public extern CCntsGlobals cnts;
#help_index "Time/Date/CDate;Date/CDate"
#help_file "::/Doc/TimeDate"

View File

@ -62,8 +62,8 @@ U0 MsSet(I64 x=I64_MAX,I64 y=I64_MAX,I64 z=I64_MAX,I64 l=I64_MAX,I64 r=I64_MAX)
U0 MsInit()
{
MemSet(&ms,0,sizeof(CMsStateGlbls));
MemSet(&ms_last,0,sizeof(CMsStateGlbls));
MemSet(&ms,0,sizeof(CMsStateGlobals));
MemSet(&ms_last,0,sizeof(CMsStateGlobals));
ms.offset.x=ms.offset.y=ms.offset.z=0;
ms.scale.x=ms.scale.y=ms.scale.z=1.0;
ms.pos_text.x=ms.pos_text.y=ms.pos_text.z=0;
@ -196,7 +196,7 @@ U0 MsHardSpeedSet()
U0 MsHardSetPre()
{
I64 old_timestamp=ms_hard_last.timestamp;
MemCpy(&ms_hard_last,&ms_hard,sizeof(CMsHardStateGlbls));
MemCpy(&ms_hard_last,&ms_hard,sizeof(CMsHardStateGlobals));
ms_hard_last.timestamp=old_timestamp;
}
@ -347,12 +347,12 @@ U0 KbdMsHandler(Bool poll_kbd,Bool poll_ms)
U0 KbdMsInit()
{
MemSet(&kbd,0,sizeof(CKbdStateGlbls));
MemSet(&kbd,0,sizeof(CKbdStateGlobals));
kbd.fifo=FifoU8New(8);
kbd.fifo2=FifoU8New(0x1000);
kbd.scan_code_fifo=FifoI64New(0x1000);
kbd.irqs_working=FALSE;
MemSet(&ms_hard,0,sizeof(CMsHardStateGlbls));
MemSet(&ms_hard,0,sizeof(CMsHardStateGlobals));
ms_hard.fifo=FifoU8New(8);
ms_hard.fifo2=FifoU8New(0x1000);
ms_hard.scale.x=0.5;
@ -363,5 +363,5 @@ U0 KbdMsInit()
ms_hard.prescale.z=0/ms_hard.scale.z;
ms_hard.pos.x=GR_WIDTH>>1;
ms_hard.pos.y=GR_HEIGHT>>1;
MemCpy(&ms_hard_last,&ms_hard,sizeof(CMsHardStateGlbls));
MemCpy(&ms_hard_last,&ms_hard,sizeof(CMsHardStateGlobals));
}

View File

@ -1659,7 +1659,7 @@ U0 OSTestSuite()
TS("RegistryDemo"); if (DriveIsWritable('~'))
TSFile("::/Demo/RegistryDemo");
TS("Define"); DoDefine;
TS("GlblVars"); TSFile("::/Demo/GlblVars");
TS("GlobalVars"); TSFile("::/Demo/GlobalVars");
TS("FileRead"); DoFileRead;
TS("ParenWarn"); TSFile("::/Demo/ParenWarn");
TS("DefineStr"); TSFile("::/Demo/DolDoc/DefineStr");

Binary file not shown.

View File

@ -20,7 +20,7 @@ CTemplateCS *CtrlSliderGet()
"$$PURPLE$$Ctrl Slider$$FG$$\n\n";
res->glbl_name=GetStr("Glbl Struct Name (ENTER for No Glbl):");
res->glbl_name=GetStr("Global Struct Name (ENTER for No Global):");
res->range=GetI64 ("Range (%4d):",30);
res->spacing=GetI64("Spacing (%4d):",20);
res->border=GetI64 ("Border (%4d):",2);

View File

@ -18,7 +18,7 @@ See $LK,"::/Doc/DolDocOverview.DD"$
#define DHT_DOC_FLAG 2
#define DHT_COLOR 4
public class CDolDocGlbls
public class CDolDocGlobals
{
CHashTable *hash;
I64 dft_de_flags [DOCT_TYPES_NUM],
@ -29,7 +29,7 @@ public class CDolDocGlbls
clean_scan_codes [4];
I32 dft_type_flags [DOCT_TYPES_NUM];
} doldoc;
MemSet(&doldoc,0,sizeof(CDolDocGlbls));
MemSet(&doldoc,0,sizeof(CDolDocGlobals));
#help_index "God"
#define BIBLE_FILENAME "::/Misc/Bible.TXT"

View File

@ -3,7 +3,7 @@
#define GOD_BAD_BITS 4
#define GOD_GOOD_BITS 24
public class CGodGlbls
public class CGodGlobals
{
U8 **words,
*word_file_mask;
@ -15,7 +15,7 @@ public class CGodGlbls
CFifoU8 *doodle_fifo;
Bool doodle_done;
} god;
MemSet(&god,0,sizeof(CGodGlbls));
MemSet(&god,0,sizeof(CGodGlobals));
god.doodle_fifo =FifoU8New(2048*8);
god.fifo =FifoU8New(2048*8);

View File

@ -1,6 +1,6 @@
#help_index "Graphics"
public class CGrGlbls
public class CGrGlobals
{
I64 *to_8_bits,*to_8_colors;
CDC *scrn_image, //Read only.

View File

@ -172,7 +172,7 @@ public U0 WinZBufUpdate()
#help_index "Graphics"
U0 GrInit2()
{
MemSet(&gr,0,sizeof(CGrGlbls));
MemSet(&gr,0,sizeof(CGrGlobals));
gr.sprite_hash=HashTableNew(512);
HashDefineLstAdd("ST_SPRITE_ELEM_CODES",SPHT_ELEM_CODE,gr.sprite_hash);
gr.scrn_zoom=1;

View File

@ -3,7 +3,7 @@ Cd(__DIR__);;
#include "GrInitA"
#include "Gr.HH"
#include "GrExt"
#include "GrGlbls"
#include "GrGlobals"
#include "GrTextBase"
#include "GrAsm"
#include "GrPalette"
@ -14,7 +14,7 @@ Cd(__DIR__);;
#include "GrBitMap"
#include "GrPrimatives"
#include "GrComposites"
#include "ScreenCast"
#include "ScreenCast"
#define SPE_ABORT (-1)
#define SPE_EXIT 0

Binary file not shown.

View File

@ -1,13 +1,13 @@
#help_index "Windows"
#help_file "::/Doc/Windows"
CMsStateGlbls old_ms={{-1000,-1000,0},{-1000,-1000,0},{-1000,-1000,0},
CMsStateGlobals old_ms={{-1000,-1000,0},{-1000,-1000,0},{-1000,-1000,0},
{0,0,0},{1.0,1.0,1.0},0.0,GetTSC,0.350,0,0,
FALSE,FALSE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE
};
public CWinMgrGlbls winmgr={0,0,0,WINMGR_FPS,tS,tS,NULL,FALSE,FALSE,FALSE};
winmgr.t=CAlloc(sizeof(CWinMgrTimingGlbls));
public CWinMgrGlobals winmgr={0,0,0,WINMGR_FPS,tS,tS,NULL,FALSE,FALSE,FALSE};
winmgr.t=CAlloc(sizeof(CWinMgrTimingGlobals));
winmgr.t->last_calc_idle_time=tS;
U0 ProgressBarsRegTf(U8 *path=NULL)
@ -99,8 +99,8 @@ U0 DrawWinGrid(CDC *dc)
U0 WinGrid(Bool val)
{
CGridGlbls last_grid;
MemCpy(&last_grid,&ms_grid,sizeof(CGridGlbls));
CGridGlobals last_grid;
MemCpy(&last_grid,&ms_grid,sizeof(CGridGlobals));
if (!val || PopUpForm(&ms_grid)) {
if (!val)
GridInit;
@ -108,7 +108,7 @@ U0 WinGrid(Bool val)
ms_hard.prescale.y*=last_grid.y_speed/ms_grid.y_speed;
ms_hard.prescale.z*=last_grid.z_speed/ms_grid.z_speed;
} else
MemCpy(&ms_grid,&last_grid,sizeof(CGridGlbls));
MemCpy(&ms_grid,&last_grid,sizeof(CGridGlobals));
}
U0 CtrlAltG(I64 sc)
{

View File

@ -180,8 +180,8 @@ I64 WinQueueIPMessages(Bool que)
}
}
MemCpy(&ms_last,&ms,sizeof(CMsStateGlbls));
MemCpy(&old_ms,&ms,sizeof(CMsStateGlbls));
MemCpy(&ms_last,&ms,sizeof(CMsStateGlobals));
MemCpy(&old_ms,&ms,sizeof(CMsStateGlobals));
}
return message_code;
}
@ -191,7 +191,7 @@ U0 WinCalcIdles()
F64 calc_idle_time;
I64 i,k,total_jiffies,total_jiffies_delta,idle_pt_hits[MP_PROCESSORS_NUM];
CCPU *c;
CWinMgrTimingGlbls *t=winmgr.t;
CWinMgrTimingGlobals *t=winmgr.t;
if ((t->calc_idle_delta_time=
(calc_idle_time=tS)-t->last_calc_idle_time)>.25) {

View File

@ -92,4 +92,4 @@ extern U0 WinScrollRestore(CTask *task,CD3I64 *s);
extern U0 WinScrollsInit(CTask *task);
extern I64 WinToTop(CTask *task=NULL,Bool update_z_buf=TRUE);
extern Bool WinVert(I64 top,I64 bottom,CTask *task=NULL);
extern CWinMgrGlbls winmgr;
extern CWinMgrGlobals winmgr;

View File

@ -273,7 +273,7 @@ U8 *idx=NULL,CDoc *doc=NULL)
else
StrPrint(buf,"%-10t$$Q %02X",ptr(CHashDefineStr *)->data,j);
} else if (ptr->type & HTT_GLBL_VAR)
StrPrint(buf,"%010X",ptr(CHashGlblVar *)->data_addr);
StrPrint(buf,"%010X",ptr(CHashGlobalVar *)->data_addr);
else
StrPrint(buf,"%010X",HashVal(ptr));
j=HashEntrySize(ptr);

View File

@ -85,7 +85,7 @@ public F64 FullTri(F64 t,F64 period)
#help_index "Snd/Music"
public class CMusicGlbls
public class CMusicGlobals
{
U8 *cur_song;
CTask *cur_song_task;
@ -219,7 +219,7 @@ durations stay set until changed.
'(' tie, placed before the note to be extended
$LK,"music.meter_top",A="MN:CMusicGlbls"$,$LK,"music.meter_bottom",A="MN:CMusicGlbls"$ is set with
$LK,"music.meter_top",A="MN:CMusicGlobals"$,$LK,"music.meter_bottom",A="MN:CMusicGlobals"$ is set with
"M3/4"
"M4/4"
etc.