mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2025-06-06 15:54:47 +00:00
Glbls -> Globals
This commit is contained in:
parent
5576cee060
commit
420ff49c6f
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
#help_index "Games"
|
||||
|
||||
Cd(__DIR__);;
|
||||
#include "TTFGlbls"
|
||||
#include "TTFGlobals"
|
||||
#include "TTFLib"
|
||||
#include "TTFInit"
|
||||
#include "TTFVis"
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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
@ -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"
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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)) {
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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.
@ -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:
|
||||
|
@ -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.
@ -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.
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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.
|
||||
|
@ -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$
|
||||
|
@ -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$
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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$
|
||||
|
@ -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"$.
|
||||
|
@ -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.
|
@ -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.
|
||||
|
@ -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"$.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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$
|
BIN
src/Kernel.BIN.C
BIN
src/Kernel.BIN.C
Binary file not shown.
@ -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);
|
@ -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);
|
||||
|
@ -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
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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
@ -25,7 +25,7 @@
|
||||
#include "KernelB.HH"
|
||||
#include "KExts"
|
||||
#include "StrA"
|
||||
#include "KGlbls"
|
||||
#include "KGlobals"
|
||||
#include "KMathB"
|
||||
#include "Sched"
|
||||
#include "Mem/MakeMem"
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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.
@ -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);
|
||||
|
@ -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"
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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.
|
@ -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;
|
||||
|
@ -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.
@ -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)
|
||||
{
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user