TempleOSCDV4.13.ISO
This commit is contained in:
1 parent
b84bbff6db
commit
122df6338e
78 files changed
+3570
-2729
No files matched your search
+22
-23
@@ -88,8 +88,8 @@ Bool BootDVDProbeAll(CBlkDev *bd)
|
||||
}
|
||||
}
|
||||
|
||||
U0 ATARepEntry(I64 base0,I64 base1,I64 unit,I64 irq,U8 *msg,
|
||||
CATARep **_head,I64 *num_hints)
|
||||
U0 ATARepEntry(I64 base0,I64 base1,I64 unit,U8 *msg,
|
||||
CATARep **_head,I64 *num_hints)
|
||||
{
|
||||
I64 type;
|
||||
base0&=-8;
|
||||
@@ -97,13 +97,13 @@ U0 ATARepEntry(I64 base0,I64 base1,I64 unit,I64 irq,U8 *msg,
|
||||
CATARep *tmpha;
|
||||
if (type=ATAProbe(base0,base1,unit)) {
|
||||
*num_hints+=1;
|
||||
"\n\n$$PURPLE$$ $$BT+X,\"%d\",LM=\"%d\\n\"$$$$FG$$$$LM,4$$",*num_hints,*num_hints;
|
||||
"\n$$PURPLE$$ $$BT+X,\"%d\",LM=\"%d\\n\"$$$$FG$$$$LM,4$$",*num_hints,*num_hints;
|
||||
if (type==BDT_ATA)
|
||||
"$$RED$$Hard Drive $$LTBLUE$$ATA ";
|
||||
else
|
||||
"$$RED$$CD/DVD Drive $$LTBLUE$$ATAPI ";
|
||||
"%s$$FG$$\nBase0:0x%04X Base1:0x%04X\nIrq:0x%02X Unit:%d$$LM,0$$\n",
|
||||
msg,base0,base1,irq,unit;
|
||||
"%s$$FG$$\nBase0:0x%04X Base1:0x%04X Unit:%d$$LM,0$$\n",
|
||||
msg,base0,base1,unit;
|
||||
if (_head) {
|
||||
tmpha=CAlloc(sizeof(CATARep));
|
||||
tmpha->next=*_head;
|
||||
@@ -130,7 +130,7 @@ Bool ATARepExitAllApplications()
|
||||
|
||||
public I64 ATARep(Bool pmt=TRUE,Bool just_ide=FALSE,CATARep **_head=NULL)
|
||||
{//Report possible ATA devices by probing. Hard disks and CD/DVDs.
|
||||
I64 d1,d2,d3,i,j,k,cnt=0,unlock_flags=0,num_hints=0;
|
||||
I64 d1,d2,i,j,k,cnt=0,unlock_flags=0,num_hints=0;
|
||||
#assert NUM_BLKDEVS<=64
|
||||
if (_head) *_head=NULL;
|
||||
|
||||
@@ -155,35 +155,34 @@ public I64 ATARep(Bool pmt=TRUE,Bool just_ide=FALSE,CATARep **_head=NULL)
|
||||
|
||||
d1=PCIReadU32(j.u8[2],j.u8[1],j.u8[0],0x10);
|
||||
d2=PCIReadU32(j.u8[2],j.u8[1],j.u8[0],0x14);
|
||||
d3=PCIReadU8(j.u8[2],j.u8[1],j.u8[0],0x3C);
|
||||
if (d1&1 && d2&1) {
|
||||
ATARepEntry(d1,d2,0,d3,"Primary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,d3,"Primary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,0,"Primary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,"Primary IDE",_head,&num_hints);
|
||||
} else {
|
||||
d1=0x1F0; d2=0x3F6; d3=14;
|
||||
ATARepEntry(d1,d2,0,d3,"Primary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,d3,"Primary IDE",_head,&num_hints);
|
||||
d1=0x1F0; d2=0x3F6;
|
||||
ATARepEntry(d1,d2,0,"Primary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,"Primary IDE",_head,&num_hints);
|
||||
}
|
||||
d1=PCIReadU32(j.u8[2],j.u8[1],j.u8[0],0x18);
|
||||
d2=PCIReadU32(j.u8[2],j.u8[1],j.u8[0],0x1C);
|
||||
if (d1&1 && d2&1) {
|
||||
ATARepEntry(d1,d2,0,d3,"Secondary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,d3,"Secondary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,0,"Secondary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,"Secondary IDE",_head,&num_hints);
|
||||
} else {
|
||||
d1=0x170; d2=0x376; d3=15;
|
||||
ATARepEntry(d1,d2,0,d3,"Secondary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,d3,"Secondary IDE",_head,&num_hints);
|
||||
d1=0x170; d2=0x376;
|
||||
ATARepEntry(d1,d2,0,"Secondary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,"Secondary IDE",_head,&num_hints);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!cnt) {
|
||||
d1=0x1F0; d2=0x3F6; d3=14;
|
||||
ATARepEntry(d1,d2,0,d3,"Primary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,d3,"Primary IDE",_head,&num_hints);
|
||||
d1=0x1F0; d2=0x3F6;
|
||||
ATARepEntry(d1,d2,0,"Primary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,"Primary IDE",_head,&num_hints);
|
||||
|
||||
d1=0x170; d2=0x376; d3=15;
|
||||
ATARepEntry(d1,d2,0,d3,"Secondary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,d3,"Secondary IDE",_head,&num_hints);
|
||||
d1=0x170; d2=0x376;
|
||||
ATARepEntry(d1,d2,0,"Secondary IDE",_head,&num_hints);
|
||||
ATARepEntry(d1,d2,1,"Secondary IDE",_head,&num_hints);
|
||||
}
|
||||
'\n\n';
|
||||
for (i=0;i<NUM_BLKDEVS;i++)
|
||||
|
||||
@@ -177,7 +177,6 @@ Bool GetBaseUnit(CBlkDev *bd)
|
||||
{
|
||||
I64 ch;
|
||||
Bool probe;
|
||||
" TempleOS\n\n\n";
|
||||
#exe {
|
||||
if (kernel_cfg->opts[CFG_DONT_PROBE])
|
||||
StreamPrint("probe=FALSE;");
|
||||
@@ -221,7 +220,6 @@ U0 BlkDevsInitAll()
|
||||
blkdev.drvs=CAlloc(sizeof(CDrv)*NUM_DRVS);
|
||||
for (i=0;i<NUM_DRVS;i++)
|
||||
blkdev.let_to_drv[i]=&blkdev.drvs[i];
|
||||
text.raw_col=0;
|
||||
#exe {
|
||||
if (kernel_cfg->opts[CFG_AUTO_MOUNT_IDE])
|
||||
StreamPrint("AutoMountIDE;");
|
||||
|
||||
+4
-4
@@ -155,6 +155,9 @@ U0 KernelMain()
|
||||
//Before this point use $LK,"Snd",A="MN:Snd"$() and $LK,"BusyWait",A="MN:BusyWait"$()
|
||||
//to debug. After this point, use $LK,"RawPrint",A="MN:RawPrint"$()
|
||||
LBts(&sys_run_level,RLf_RAW);
|
||||
"TempleOS V%5.3f\t%D %T\n\n",
|
||||
sys_os_version,sys_compile_time,sys_compile_time;
|
||||
|
||||
TimersInit;
|
||||
if (BIOSTotalMem<ToI64(0.95*MEM_MIN_MEG*0x100000))
|
||||
RawPrint(4000,"!!! Requires $TX,"512Meg",D="DD_MEM_MIN_MEG"$ of RAM Memory !!!");
|
||||
@@ -167,11 +170,8 @@ U0 KernelMain()
|
||||
LBts(&sys_run_level,RLf_INTERRUPTS);
|
||||
|
||||
TimeStampFreqCal;
|
||||
|
||||
"Before BlkDevsInitAll\n";
|
||||
BlkDevsInitAll;
|
||||
"After BlkDevsInitAll\n";
|
||||
|
||||
"ChgDsk(':');\n";
|
||||
ChgDsk(':');
|
||||
#exe {StreamPrint("HomeSet(\"%s\");",kernel_cfg->home_dir);}
|
||||
Gs->idle_task->cur_dv=blkdev.let_to_drv[*blkdev.home_dir-'A'];
|
||||
|
||||
+2
-1
@@ -12,7 +12,8 @@ CTask *sys_winmgr_task,*sys_task_being_scrn_updated;
|
||||
U8 *rev_bits_table, //Table with U8 bits revd
|
||||
*set_bits_table; //Table with count of set bits in a U8
|
||||
CDate local_time_offset;
|
||||
F64 *pow10_I64;
|
||||
F64 *pow10_I64,
|
||||
sys_os_version=4.130;
|
||||
|
||||
CAutoCompleteDictGlbls acd;
|
||||
CAutoCompleteGlbls ac;
|
||||
|
||||
+40
-21
@@ -71,58 +71,77 @@ I64 CeilI64(I64 num,I64 to)
|
||||
}
|
||||
|
||||
//See $LK,"::/Doc/Credits.DD"$.
|
||||
#define LIN_CONGRUE_A 6364136223846793005
|
||||
#define LIN_CONGRUE_C 1442695040888963407
|
||||
|
||||
I16 RandI16()
|
||||
{//Random I16.
|
||||
Fs->rand_seed=6364136223846793005*Fs->rand_seed+1442695040888963407;
|
||||
I64 res=Fs->rand_seed;
|
||||
res=LIN_CONGRUE_A*res^(res&0xFFFFFFFF0000)>>16+LIN_CONGRUE_C;
|
||||
if (!Bt(&Fs->task_flags,TASKf_NONTIMER_RAND))
|
||||
Fs->rand_seed^=GetTSC>>4;
|
||||
return Fs->rand_seed.i16[0];
|
||||
res^=GetTSC;
|
||||
Fs->rand_seed=res;
|
||||
return res.i16[0];
|
||||
}
|
||||
|
||||
U16 RandU16()
|
||||
{//Random U16.
|
||||
Fs->rand_seed=6364136223846793005*Fs->rand_seed+1442695040888963407;
|
||||
I64 res=Fs->rand_seed;
|
||||
res=LIN_CONGRUE_A*res^(res&0xFFFFFFFF0000)>>16+LIN_CONGRUE_C;
|
||||
if (!Bt(&Fs->task_flags,TASKf_NONTIMER_RAND))
|
||||
Fs->rand_seed^=GetTSC>>4;
|
||||
return Fs->rand_seed.u16[0];
|
||||
res^=GetTSC;
|
||||
Fs->rand_seed=res;
|
||||
return res.u16[0];
|
||||
}
|
||||
|
||||
I32 RandI32()
|
||||
{//Random I32.
|
||||
Fs->rand_seed=6364136223846793005*Fs->rand_seed+1442695040888963407;
|
||||
I64 res=Fs->rand_seed;
|
||||
res=LIN_CONGRUE_A*res^(res&0xFFFFFFFF0000)>>16+LIN_CONGRUE_C;
|
||||
if (!Bt(&Fs->task_flags,TASKf_NONTIMER_RAND))
|
||||
Fs->rand_seed^=GetTSC>>4;
|
||||
return Fs->rand_seed.i32[0];
|
||||
res^=GetTSC;
|
||||
Fs->rand_seed=res;
|
||||
return res.i32[0];
|
||||
}
|
||||
|
||||
U32 RandU32()
|
||||
{//Random U32.
|
||||
Fs->rand_seed=6364136223846793005*Fs->rand_seed+1442695040888963407;
|
||||
I64 res=Fs->rand_seed;
|
||||
res=LIN_CONGRUE_A*res^(res&0xFFFFFFFF0000)>>16+LIN_CONGRUE_C;
|
||||
if (!Bt(&Fs->task_flags,TASKf_NONTIMER_RAND))
|
||||
Fs->rand_seed^=GetTSC>>4;
|
||||
return Fs->rand_seed.u32[0];
|
||||
res^=GetTSC;
|
||||
Fs->rand_seed=res;
|
||||
return res.u32[0];
|
||||
}
|
||||
|
||||
I64 RandI64()
|
||||
{//Random I64.
|
||||
Fs->rand_seed=6364136223846793005*Fs->rand_seed+1442695040888963407;
|
||||
I64 res=Fs->rand_seed;
|
||||
res=LIN_CONGRUE_A*res^(res&0xFFFFFFFF0000)>>16+LIN_CONGRUE_C;
|
||||
if (!Bt(&Fs->task_flags,TASKf_NONTIMER_RAND))
|
||||
Fs->rand_seed^=GetTSC>>4;
|
||||
return Fs->rand_seed;
|
||||
res^=GetTSC;
|
||||
Fs->rand_seed=res;
|
||||
return res;
|
||||
}
|
||||
|
||||
U64 RandU64()
|
||||
{//Random U64.
|
||||
Fs->rand_seed=6364136223846793005*Fs->rand_seed+1442695040888963407;
|
||||
I64 res=Fs->rand_seed;
|
||||
res=LIN_CONGRUE_A*res^(res&0xFFFFFFFF0000)>>16+LIN_CONGRUE_C;
|
||||
if (!Bt(&Fs->task_flags,TASKf_NONTIMER_RAND))
|
||||
Fs->rand_seed^=GetTSC>>4;
|
||||
return Fs->rand_seed;
|
||||
res^=GetTSC;
|
||||
Fs->rand_seed=res;
|
||||
return res;
|
||||
}
|
||||
|
||||
F64 Rand()
|
||||
{//Random F64.
|
||||
I64 res=RandI64&0x3FFFFFFFFFFFFFFF;
|
||||
return res/ToF64(0x4000000000000000);
|
||||
I64 res=Fs->rand_seed;
|
||||
res=LIN_CONGRUE_A*res^(res&0xFFFFFFFF0000)>>16+LIN_CONGRUE_C;
|
||||
if (!Bt(&Fs->task_flags,TASKf_NONTIMER_RAND))
|
||||
res^=GetTSC;
|
||||
Fs->rand_seed=res;
|
||||
return (res&0x3FFFFFFFFFFFFFFF)/ToF64(0x4000000000000000);
|
||||
}
|
||||
|
||||
I64 Seed(I64 seed=0,CTask *task=NULL)
|
||||
@@ -133,6 +152,6 @@ I64 Seed(I64 seed=0,CTask *task=NULL)
|
||||
return task->rand_seed=seed;
|
||||
} else {
|
||||
LBtr(&task->task_flags,TASKf_NONTIMER_RAND);
|
||||
return task->rand_seed=GetTSC>>4;
|
||||
return task->rand_seed^=GetTSC;
|
||||
}
|
||||
}
|
||||
@@ -30,15 +30,19 @@ SYS_DATA_BP:: DU64 0;
|
||||
SYS_PROGRESSES::
|
||||
SYS_PROGRESS1:: DU64 0;
|
||||
SYS_PROGRESS1_MAX:: DU64 0;
|
||||
SYS_PROGRESS1_T0:: DU64 0;
|
||||
SYS_PROGRESS1_DESC:: DU8 PROGRESS_DESC_LEN DUP(0);
|
||||
SYS_PROGRESS2:: DU64 0;
|
||||
SYS_PROGRESS2_MAX:: DU64 0;
|
||||
SYS_PROGRESS2_T0:: DU64 0;
|
||||
SYS_PROGRESS2_DESC:: DU8 PROGRESS_DESC_LEN DUP(0);
|
||||
SYS_PROGRESS3:: DU64 0;
|
||||
SYS_PROGRESS3_MAX:: DU64 0;
|
||||
SYS_PROGRESS3_T0:: DU64 0;
|
||||
SYS_PROGRESS3_DESC:: DU8 PROGRESS_DESC_LEN DUP(0);
|
||||
SYS_PROGRESS4:: DU64 0;
|
||||
SYS_PROGRESS4_MAX:: DU64 0;
|
||||
SYS_PROGRESS4_T0:: DU64 0;
|
||||
SYS_PROGRESS4_DESC:: DU8 PROGRESS_DESC_LEN DUP(0);
|
||||
#assert $$-SYS_PROGRESSES==sizeof(CProgress)*4
|
||||
|
||||
|
||||
+1236
-1220
File diff suppressed because it is too large.
Load diff
+33
-38
@@ -1375,10 +1375,6 @@ public class CDoc //Linked Text File header
|
||||
updates_cnt;
|
||||
CEdFindText *find_replace;
|
||||
|
||||
U8 *cur_sprite;//Set cur_sprite use (ip.pos.x,ip.pos.y) as input.
|
||||
//Output is nearest. See $LK,"*_cur_elem_num=",A="FF:::/Adam/Gr/SpriteEd.HC,*_cur_elem_num=doc->"$ and $LK,"::/Demo/Graphics/Pick.HC"$.
|
||||
I64 nearest_sprite_elem_num;
|
||||
|
||||
CEdFileName filename;
|
||||
I64 file_attr;
|
||||
I64 (*left_click_link)(CDoc *doc,CDocEntry *doc_e);
|
||||
@@ -2138,34 +2134,35 @@ class CLexHashTableContext
|
||||
#define CCF_KEEP_DOT 0x100
|
||||
#define CCF_KEEP_NUM_SIGN 0x200
|
||||
#define CCF_KEEP_AT_SIGN 0x400
|
||||
#define CCf_PASS_TRACE_PRESENT 11
|
||||
#define CCF_NOT_CONST 0x0000010000
|
||||
#define CCF_NO_REG_OPT 0x0000020000
|
||||
#define CCF_IN_QUOTES 0x0000040000
|
||||
#define CCF_EXE_BLK 0x0000080000
|
||||
#define CCF_HAS_MISC_DATA 0x0000100000
|
||||
#define CCF_HAS_RETURN 0x0000200000
|
||||
#define CCF_ASM_EXPRESSIONS 0x0000400000
|
||||
#define CCF_UNRESOLVED 0x0000800000
|
||||
#define CCF_LOCAL 0x0001000000
|
||||
#define CCF_FUN_EXP 0x0002000000
|
||||
#define CCf_FUN_EXP 25
|
||||
#define CCF_POSTINC 0x0004000000
|
||||
#define CCF_POSTDEC 0x0008000000
|
||||
#define CCF_PREINC 0x0010000000
|
||||
#define CCF_PREDEC 0x0020000000
|
||||
#define CCF_ARRAY 0x0040000000
|
||||
#define CCF_RAX 0x0080000000
|
||||
#define CCF_USE_LAST_U16 0x0100000000
|
||||
#define CCf_USE_LAST_U16 32
|
||||
#define CCF_LAST_WAS_DOT 0x0200000000
|
||||
#define CCF_AOT_COMPILE 0x0400000000
|
||||
#define CCf_AOT_COMPILE 34
|
||||
#define CCF_NO_ABSS 0x0800000000
|
||||
#define CCF_PAREN 0x1000000000
|
||||
#define CCf_PAREN 36
|
||||
#define CCF_CLASS_IP 0x2000000000
|
||||
#define CCF_DONT_MAKE_RES 0x4000000000
|
||||
#define CCF_NO_CHAR_CONST 0x800
|
||||
#define CCf_PASS_TRACE_PRESENT 12
|
||||
#define CCF_NOT_CONST 0x0000020000
|
||||
#define CCF_NO_REG_OPT 0x0000040000
|
||||
#define CCF_IN_QUOTES 0x0000080000
|
||||
#define CCF_EXE_BLK 0x0000100000
|
||||
#define CCF_HAS_MISC_DATA 0x0000200000
|
||||
#define CCF_HAS_RETURN 0x0000400000
|
||||
#define CCF_ASM_EXPRESSIONS 0x0000800000
|
||||
#define CCF_UNRESOLVED 0x0001000000
|
||||
#define CCF_LOCAL 0x0002000000
|
||||
#define CCF_FUN_EXP 0x0004000000
|
||||
#define CCf_FUN_EXP 26
|
||||
#define CCF_POSTINC 0x0008000000
|
||||
#define CCF_POSTDEC 0x0010000000
|
||||
#define CCF_PREINC 0x0020000000
|
||||
#define CCF_PREDEC 0x0040000000
|
||||
#define CCF_ARRAY 0x0080000000
|
||||
#define CCF_RAX 0x0100000000
|
||||
#define CCF_USE_LAST_U16 0x0200000000
|
||||
#define CCf_USE_LAST_U16 33
|
||||
#define CCF_LAST_WAS_DOT 0x0400000000
|
||||
#define CCF_AOT_COMPILE 0x0800000000
|
||||
#define CCf_AOT_COMPILE 35
|
||||
#define CCF_NO_ABSS 0x1000000000
|
||||
#define CCF_PAREN 0x2000000000
|
||||
#define CCf_PAREN 37
|
||||
#define CCF_CLASS_IP 0x4000000000
|
||||
#define CCF_DONT_MAKE_RES 0x8000000000
|
||||
|
||||
public class CCmpCtrl
|
||||
{
|
||||
@@ -3295,6 +3292,7 @@ public class CTaskSettings
|
||||
#define TASKf_PENDING_BREAK 11
|
||||
#define TASKf_BREAK_TO_SHIFT_ESC 12
|
||||
#define TASKf_KILL_AFTER_DBG 13
|
||||
|
||||
#define TASKf_NONTIMER_RAND 14
|
||||
|
||||
//CTask.display_flags
|
||||
@@ -3700,15 +3698,11 @@ public class CDC
|
||||
//Set by $LK,"DCSymmetrySet",A="MN:DCSymmetrySet"$() or $LK,"DCSymmetry3Set",A="MN:DCSymmetry3Set"$()
|
||||
CGrSym sym;
|
||||
|
||||
I64 nearest_dist,
|
||||
cur_sprite_elem_num,
|
||||
nearest_sprite_elem_num; //num in a CSprite elem lst
|
||||
|
||||
I32 cur_x,cur_y,cur_z,pad;
|
||||
I64 collision_cnt;
|
||||
|
||||
//Set by $LK,"DCF_RECORD_EXTENTS",A="MN:DCF_RECORD_EXTENTS"$
|
||||
I64 min_x,max_x,min_y,max_y; //scrn coordinates
|
||||
I64 nearest_dist,
|
||||
min_x,max_x,min_y,max_y; //Set by $LK,"DCF_RECORD_EXTENTS",A="MN:DCF_RECORD_EXTENTS"$ (scrn coordinates)
|
||||
|
||||
U32 dc_signature,pad;
|
||||
CTask *mem_task,*win_task;
|
||||
@@ -3912,6 +3906,7 @@ public class CDbgGlbls
|
||||
class CProgress
|
||||
{
|
||||
I64 val,max;
|
||||
F64 t0;
|
||||
U8 desc[PROGRESS_DESC_LEN];
|
||||
};
|
||||
|
||||
|
||||
+8
-4
@@ -206,19 +206,23 @@ _extern SYS_CTRL_ALT_FLAGS
|
||||
public _extern SYS_PROGRESS1 I64 progress1; //Current progress 1.
|
||||
public _extern SYS_PROGRESS1_DESC
|
||||
U8 progress1_desc[PROGRESS_DESC_LEN]; //Progress 1 desc.
|
||||
public _extern SYS_PROGRESS1_MAX I64 progress1_max; //Max progress 1.
|
||||
public _extern SYS_PROGRESS1_MAX I64 progress1_max; //Progress 1 max.
|
||||
public _extern SYS_PROGRESS1_T0 F64 progress1_t0; //Progress 1 start time.
|
||||
public _extern SYS_PROGRESS2 I64 progress2; //Current progress 2.
|
||||
public _extern SYS_PROGRESS2_DESC
|
||||
U8 progress2_desc[PROGRESS_DESC_LEN]; //Progress 2 desc.
|
||||
public _extern SYS_PROGRESS2_MAX I64 progress2_max; //Max progress 2.
|
||||
public _extern SYS_PROGRESS2_MAX I64 progress2_max; //Progress 2 max.
|
||||
public _extern SYS_PROGRESS2_T0 F64 progress2_t0; //Progress 2 start time.
|
||||
public _extern SYS_PROGRESS3 I64 progress3; //Current progress 3.
|
||||
public _extern SYS_PROGRESS3_DESC
|
||||
U8 progress3_desc[PROGRESS_DESC_LEN]; //Progress 3 desc.
|
||||
public _extern SYS_PROGRESS3_MAX I64 progress3_max; //Max progress 3.
|
||||
public _extern SYS_PROGRESS3_MAX I64 progress3_max; //Progress 3 max.
|
||||
public _extern SYS_PROGRESS3_T0 F64 progress3_t0; //Progress 3 start time.
|
||||
public _extern SYS_PROGRESS4 I64 progress4; //Current progress 4.
|
||||
public _extern SYS_PROGRESS4_DESC
|
||||
U8 progress4_desc[PROGRESS_DESC_LEN]; //Progress 4 desc.
|
||||
public _extern SYS_PROGRESS4_MAX I64 progress4_max; //Max progress 4.
|
||||
public _extern SYS_PROGRESS4_MAX I64 progress4_max; //Progress 4 max.
|
||||
public _extern SYS_PROGRESS4_T0 F64 progress4_t0; //Progress 4 start time.
|
||||
public _extern SYS_PROGRESSES
|
||||
CProgress sys_progresses[NUM_PROGRESS_BARS]; //All progress bars.
|
||||
|
||||
|
||||
@@ -394,6 +394,7 @@ extern U0 (*fp_set_std_palette)();
|
||||
public extern U8 *Color2Str(U8 *buf,CColorROPU32 c);
|
||||
public extern CColorROPU16 Str2ColorU16(U8 *st);
|
||||
public extern CColorROPU32 Str2ColorU32(U8 *st);
|
||||
|
||||
#help_index "Hash"
|
||||
#help_file "::/Doc/Hash"
|
||||
public _extern _HASH_ADD U0 HashAdd(CHash *tmph,CHashTable *table);
|
||||
@@ -573,6 +574,7 @@ public extern U0 QSort(U8 *base,I64 num, I64 width,
|
||||
I64 (*fp_compare)(U8 *e1,U8 *e2));
|
||||
public extern U0 QSortI64(I64 *base,I64 num,
|
||||
I64 (*fp_compare)(I64 e1,I64 e2));
|
||||
public extern F64 sys_os_version;
|
||||
|
||||
#help_index "Misc/Progress Bars"
|
||||
public extern U0 ProgressBarsRst();
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@ fp_compare() passes by value instead of ref.
|
||||
For ascending strings: return StrCmp(e1,e2);
|
||||
For ascending ints : return e1-e2;
|
||||
|
||||
Maybe, look at $LK,"::/Demo/MultiCore/RadixSort.HC"$.
|
||||
Maybe, look at $LK,"::/Demo/MultiCore/MPRadix.HC"$.
|
||||
*/
|
||||
I64 i,*left,*right,pivot;
|
||||
if (num>1) {
|
||||
@@ -89,7 +89,7 @@ For ascending strings: return StrCmp(*e1,*e2);
|
||||
For ascending ints : return *e1-*e2;
|
||||
Don't return e1-e2 if numbers can overflow, return -1,0 or 1.
|
||||
|
||||
Maybe, look at $LK,"::/Demo/MultiCore/RadixSort.HC"$.
|
||||
Maybe, look at $LK,"::/Demo/MultiCore/MPRadix.HC"$.
|
||||
*/
|
||||
U8 *tmp;
|
||||
if (width && num>1) {
|
||||
|
||||
Reference in new issue
Block a user