mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-05-08 02:53:03 +08:00
Use nullptr/NULL instead of 0 for pointers, two fixes for undefined behavior
This commit fixes most -Wzero-as-null-pointer-constant warnings, except in some places which appear to be vendored 3rd party libraries, e.g. in sdl_ttf.c, libchdr, physfs and gmock and in 3rd party components therein. Since it might make more sense to update this 3rd party code to some later versions instead of fixing the warnings manually, I decided not to enable the C++ compiler flag in configure.ac at this point. In two functions with the return type of std::string executed `return 0;` statements, causing std::string to be constructed from a null pointer. To avoid undefined behavior these were changed to `return {};`. Signed-off-by: Jaak Ristioja <jaak@ristioja.ee>
This commit is contained in:
parent
230b1e3d93
commit
4a6bcc706e
@ -416,7 +416,7 @@ private:
|
||||
uint32_t currentBlock = 0xFFFFFFFF;
|
||||
bool currentBlockAllocated = false;
|
||||
uint32_t currentBlockSectorOffset = 0;
|
||||
uint8_t* currentBlockDirtyMap = 0;
|
||||
uint8_t* currentBlockDirtyMap = nullptr;
|
||||
};
|
||||
|
||||
/* C++ class implementing El Torito floppy emulation */
|
||||
|
@ -102,7 +102,7 @@ public:
|
||||
void Uninstall();
|
||||
|
||||
//Only allocate a callback number
|
||||
void Allocate(CallBack_Handler handler,const char* description=0);
|
||||
void Allocate(CallBack_Handler handler,const char* description=nullptr);
|
||||
uint16_t Get_callback() {
|
||||
return (uint16_t)m_callback;
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ struct GLIDE_Block
|
||||
bool * fullscreen;
|
||||
uint16_t width, height;
|
||||
class GLIDE_PageHandler * lfb_pagehandler;
|
||||
GLIDE_Block():enabled(false),fullscreen(0),width(0),height(0),lfb_pagehandler((GLIDE_PageHandler*)0) { }
|
||||
GLIDE_Block():enabled(false),fullscreen(nullptr),width(0),height(0),lfb_pagehandler((GLIDE_PageHandler*)0) { }
|
||||
};
|
||||
extern GLIDE_Block glide;
|
||||
extern void GLIDE_ResetScreen(bool update=false);
|
||||
|
@ -102,7 +102,7 @@ struct SDL_Block {
|
||||
uint32_t bpp = 0;
|
||||
Bitu flags = 0;
|
||||
double scalex = 0, scaley = 0;
|
||||
GFX_CallBack_t callback = 0;
|
||||
GFX_CallBack_t callback = nullptr;
|
||||
} draw;
|
||||
bool wait_on_error = false;
|
||||
struct {
|
||||
|
@ -91,7 +91,7 @@ uint8_t CALLBACK_Allocate(void) {
|
||||
for (uint8_t i=1;(i<CB_MAX);i++) {
|
||||
if (CallBack_Handlers[i]==&illegal_handler) {
|
||||
if (CallBack_Description[i] != NULL) LOG_MSG("CALLBACK_Allocate() warning: empty slot still has description string!\n");
|
||||
CallBack_Handlers[i]=0;
|
||||
CallBack_Handlers[i]=nullptr;
|
||||
return i;
|
||||
}
|
||||
}
|
||||
@ -273,7 +273,7 @@ void CALLBACK_SIF(bool const val) { CALLBACK_SET_FLAG<FLAG_IF>(val); }
|
||||
|
||||
void CALLBACK_SetDescription(Bitu nr, const char* descr) {
|
||||
if (CallBack_Description[nr]) delete[] CallBack_Description[nr];
|
||||
CallBack_Description[nr] = 0;
|
||||
CallBack_Description[nr] = nullptr;
|
||||
|
||||
if (descr != NULL) {
|
||||
CallBack_Description[nr] = new char[strlen(descr)+1];
|
||||
@ -282,7 +282,7 @@ void CALLBACK_SetDescription(Bitu nr, const char* descr) {
|
||||
}
|
||||
|
||||
const char* CALLBACK_GetDescription(Bitu nr) {
|
||||
if (nr>=CB_MAX) return 0;
|
||||
if (nr>=CB_MAX) return nullptr;
|
||||
return CallBack_Description[nr];
|
||||
}
|
||||
|
||||
@ -820,7 +820,7 @@ void CALLBACK_HandlerObject::Uninstall(){
|
||||
//Do nothing. Merely DeAllocate the callback
|
||||
} else E_Exit("what kind of callback is this!");
|
||||
if(CallBack_Description[m_callback]) delete [] CallBack_Description[m_callback];
|
||||
CallBack_Description[m_callback] = 0;
|
||||
CallBack_Description[m_callback] = nullptr;
|
||||
CALLBACK_DeAllocate(m_callback);
|
||||
installed=false;
|
||||
}
|
||||
|
@ -381,7 +381,7 @@ restart_core:
|
||||
if (DEBUG_HeavyIsBreakpoint()) return debugCallback;
|
||||
#endif
|
||||
#endif
|
||||
CodePageHandler * chandler=0;
|
||||
CodePageHandler * chandler=nullptr;
|
||||
if (GCC_UNLIKELY(MakeCodePage(ip_point,chandler))) {
|
||||
CPU_Exception(cpu.exception.which,cpu.exception.error);
|
||||
goto restart_core;
|
||||
@ -424,7 +424,7 @@ restart_core:
|
||||
}
|
||||
}
|
||||
run_block:
|
||||
cache.block.running=0;
|
||||
cache.block.running=nullptr;
|
||||
core_dyn.pagefault = false;
|
||||
BlockReturnDynX86 ret=safe_gen_runcode((uint8_t*)cache_rwtox(block->cache.start));
|
||||
|
||||
@ -532,7 +532,7 @@ void CPU_Core_Dyn_X86_Shutdown(void) {
|
||||
void CPU_Core_Dyn_X86_Init(void) {
|
||||
Bits i;
|
||||
/* Setup the global registers and their flags */
|
||||
for (i=0;i<G_MAX;i++) DynRegs[i].genreg=0;
|
||||
for (i=0;i<G_MAX;i++) DynRegs[i].genreg=nullptr;
|
||||
DynRegs[G_EAX].data=®_eax;
|
||||
DynRegs[G_EAX].flags=DYNFLG_HAS8|DYNFLG_HAS16|DYNFLG_LOAD|DYNFLG_SAVE;
|
||||
DynRegs[G_ECX].data=®_ecx;
|
||||
@ -587,7 +587,7 @@ void CPU_Core_Dyn_X86_Init(void) {
|
||||
DynRegs[G_TMPD].flags=DYNFLG_HAS16;
|
||||
DynRegs[G_SHIFT].data=&extra_regs.shift;
|
||||
DynRegs[G_SHIFT].flags=DYNFLG_HAS8|DYNFLG_HAS16;
|
||||
DynRegs[G_EXIT].data=0;
|
||||
DynRegs[G_EXIT].data=nullptr;
|
||||
DynRegs[G_EXIT].flags=DYNFLG_HAS16;
|
||||
/* Init the generator */
|
||||
gen_init();
|
||||
|
@ -297,14 +297,14 @@ public:
|
||||
else cache.last_page=prev;
|
||||
next=cache.free_pages;
|
||||
cache.free_pages=this;
|
||||
prev=0;
|
||||
prev=nullptr;
|
||||
}
|
||||
void ClearRelease(void) {
|
||||
for (Bitu index=0;index<(1+DYN_PAGE_HASH);index++) {
|
||||
CacheBlock * block=hash_map[index];
|
||||
while (block) {
|
||||
CacheBlock * nextblock=block->hash.next;
|
||||
block->page.handler=0; //No need, full clear
|
||||
block->page.handler=nullptr; //No need, full clear
|
||||
block->Clear();
|
||||
block=nextblock;
|
||||
}
|
||||
@ -317,7 +317,7 @@ public:
|
||||
if (block->page.start==start) return block;
|
||||
block=block->hash.next;
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
HostPt GetHostReadPt(Bitu phys_page) override {
|
||||
hostmem=old_pagehandler->GetHostReadPt(phys_page);
|
||||
@ -349,7 +349,7 @@ static CacheBlock * cache_getblock(void) {
|
||||
CacheBlock * ret=cache.block.free;
|
||||
if (!ret) E_Exit("Ran out of CacheBlocks" );
|
||||
cache.block.free=ret->cache.next;
|
||||
ret->cache.next=0;
|
||||
ret->cache.next=nullptr;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -358,10 +358,10 @@ void CacheBlock::Clear(void) {
|
||||
/* Check if this is not a cross page block */
|
||||
if (hash.index) for (ind=0;ind<2;ind++) {
|
||||
CacheBlock * fromlink=link[ind].from;
|
||||
link[ind].from=0;
|
||||
link[ind].from=nullptr;
|
||||
while (fromlink) {
|
||||
CacheBlock * nextlink=fromlink->link[ind].next;
|
||||
fromlink->link[ind].next=0;
|
||||
fromlink->link[ind].next=nullptr;
|
||||
fromlink->link[ind].to=&link_blocks[ind];
|
||||
fromlink=nextlink;
|
||||
}
|
||||
@ -378,13 +378,13 @@ void CacheBlock::Clear(void) {
|
||||
} else
|
||||
cache_addunsedblock(this);
|
||||
if (crossblock) {
|
||||
crossblock->crossblock=0;
|
||||
crossblock->crossblock=nullptr;
|
||||
crossblock->Clear();
|
||||
crossblock=0;
|
||||
crossblock=nullptr;
|
||||
}
|
||||
if (page.handler) {
|
||||
page.handler->DelCacheBlock(this);
|
||||
page.handler=0;
|
||||
page.handler=nullptr;
|
||||
}
|
||||
if (cache.wmapmask){
|
||||
free(cache.wmapmask);
|
||||
@ -422,10 +422,10 @@ static void cache_closeblock(void) {
|
||||
CacheBlock * block=cache.block.active;
|
||||
block->link[0].to=&link_blocks[0];
|
||||
block->link[1].to=&link_blocks[1];
|
||||
block->link[0].from=0;
|
||||
block->link[1].from=0;
|
||||
block->link[0].next=0;
|
||||
block->link[1].next=0;
|
||||
block->link[0].from=nullptr;
|
||||
block->link[1].from=nullptr;
|
||||
block->link[0].next=nullptr;
|
||||
block->link[1].next=nullptr;
|
||||
/* Close the block with correct alignments */
|
||||
Bitu written=cache.pos-block->cache.start;
|
||||
if (written>block->cache.size) {
|
||||
@ -540,7 +540,7 @@ static void cache_init(bool enable) {
|
||||
block->cache.start=&cache_code[0];
|
||||
block->cache.xstart=(uint8_t*)cache_rwtox(block->cache.start);
|
||||
block->cache.size=CACHE_TOTAL;
|
||||
block->cache.next=0; //Last block in the list
|
||||
block->cache.next=nullptr; //Last block in the list
|
||||
}
|
||||
/* Setup the default blocks for block linkage returns */
|
||||
cache.pos=&cache_code_link_blocks[0];
|
||||
@ -551,9 +551,9 @@ static void cache_init(bool enable) {
|
||||
link_blocks[1].cache.start=cache.pos;
|
||||
link_blocks[1].cache.xstart=(uint8_t*)cache_rwtox(link_blocks[1].cache.start);
|
||||
gen_return(BR_Link2);
|
||||
cache.free_pages=0;
|
||||
cache.last_page=0;
|
||||
cache.used_pages=0;
|
||||
cache.free_pages=nullptr;
|
||||
cache.last_page=nullptr;
|
||||
cache.used_pages=nullptr;
|
||||
/* Setup the code pages */
|
||||
for (i=0;i<CACHE_PAGES;i++) {
|
||||
CodePageHandler * newpage=new CodePageHandler();
|
||||
@ -620,7 +620,7 @@ static void cache_reset(void) {
|
||||
block->cache.start=&cache_code[0];
|
||||
block->cache.xstart=(uint8_t*)cache_rwtox(block->cache.start);
|
||||
block->cache.size=CACHE_TOTAL;
|
||||
block->cache.next=0; //Last block in the list
|
||||
block->cache.next=nullptr; //Last block in the list
|
||||
|
||||
/* Setup the default blocks for block linkage returns */
|
||||
cache.pos=&cache_code_link_blocks[0];
|
||||
@ -631,9 +631,9 @@ static void cache_reset(void) {
|
||||
link_blocks[1].cache.start=cache.pos;
|
||||
link_blocks[1].cache.xstart=(uint8_t*)cache_rwtox(link_blocks[1].cache.start);
|
||||
gen_return(BR_Link2);
|
||||
cache.free_pages=0;
|
||||
cache.last_page=0;
|
||||
cache.used_pages=0;
|
||||
cache.free_pages=nullptr;
|
||||
cache.last_page=nullptr;
|
||||
cache.used_pages=nullptr;
|
||||
/* Setup the code pages */
|
||||
for (Bitu i=0;i<CACHE_PAGES;i++) {
|
||||
CodePageHandler * newpage=new CodePageHandler();
|
||||
|
@ -84,7 +84,7 @@ static bool MakeCodePage(Bitu lin_addr,CodePageHandler * &cph) {
|
||||
cph=( CodePageHandler *)handler;
|
||||
if (handler->flags & cflag) return false;
|
||||
cph->ClearRelease();
|
||||
cph=0;
|
||||
cph=nullptr;
|
||||
handler=get_tlb_readhandler((PhysPt)lin_addr);
|
||||
}
|
||||
if (handler->flags & PFLAG_NOCODE) {
|
||||
@ -94,20 +94,20 @@ static bool MakeCodePage(Bitu lin_addr,CodePageHandler * &cph) {
|
||||
cph=( CodePageHandler *)handler;
|
||||
if (handler->flags & cflag) return false;
|
||||
cph->ClearRelease();
|
||||
cph=0;
|
||||
cph=nullptr;
|
||||
handler=get_tlb_readhandler((PhysPt)lin_addr);
|
||||
}
|
||||
}
|
||||
if (handler->flags & PFLAG_NOCODE) {
|
||||
LOG_MSG("DYNX86:Can't run code in this page!");
|
||||
cph=0; return false;
|
||||
cph=nullptr; return false;
|
||||
}
|
||||
}
|
||||
Bitu lin_page=lin_addr >> 12;
|
||||
Bitu phys_page=lin_page;
|
||||
if (!PAGING_MakePhysPage(phys_page)) {
|
||||
LOG_MSG("DYNX86:Can't find physpage");
|
||||
cph=0; return false;
|
||||
cph=nullptr; return false;
|
||||
}
|
||||
/* Find a free CodePage */
|
||||
if (!cache.free_pages) {
|
||||
@ -124,7 +124,7 @@ static bool MakeCodePage(Bitu lin_addr,CodePageHandler * &cph) {
|
||||
CodePageHandler * cpagehandler=cache.free_pages;
|
||||
cache.free_pages=cache.free_pages->next;
|
||||
cpagehandler->prev=cache.last_page;
|
||||
cpagehandler->next=0;
|
||||
cpagehandler->next=nullptr;
|
||||
if (cache.last_page) cache.last_page->next=cpagehandler;
|
||||
cache.last_page=cpagehandler;
|
||||
if (!cache.used_pages) cache.used_pages=cpagehandler;
|
||||
@ -336,7 +336,7 @@ static void dyn_save_critical_regs(void) {
|
||||
|
||||
static void dyn_set_eip_last_end(DynReg * endreg) {
|
||||
gen_protectflags();
|
||||
gen_lea(endreg,DREG(EIP),0,0,decode.code-decode.code_start);
|
||||
gen_lea(endreg,DREG(EIP),nullptr,0,decode.code-decode.code_start);
|
||||
gen_dop_word_imm(DOP_ADD,decode.big_op,DREG(EIP),decode.op_start-decode.code_start);
|
||||
decode.eip_location=decode.op_start; // this is the only place where a pagefault can happen after changing eip
|
||||
}
|
||||
@ -1271,7 +1271,7 @@ static void dyn_write_byte_release(DynReg * addr,DynReg * src,bool high) {
|
||||
|
||||
static void dyn_push_unchecked(DynReg * dynreg) {
|
||||
gen_protectflags();
|
||||
gen_lea(DREG(STACK),DREG(ESP),0,0,decode.big_op?(-4):(-2));
|
||||
gen_lea(DREG(STACK),DREG(ESP),nullptr,0,decode.big_op?(-4):(-2));
|
||||
gen_dop_word_var(DOP_AND,true,DREG(STACK),&cpu.stack.mask);
|
||||
gen_dop_word_var(DOP_AND,true,DREG(ESP),&cpu.stack.notmask);
|
||||
gen_dop_word(DOP_OR,true,DREG(ESP),DREG(STACK));
|
||||
@ -1286,7 +1286,7 @@ static void dyn_push_unchecked(DynReg * dynreg) {
|
||||
|
||||
static void dyn_push(DynReg * dynreg) {
|
||||
gen_protectflags();
|
||||
gen_lea(DREG(STACK),DREG(ESP),0,0,decode.big_op?(-4):(-2));
|
||||
gen_lea(DREG(STACK),DREG(ESP),nullptr,0,decode.big_op?(-4):(-2));
|
||||
gen_dop_word(DOP_MOV,true,DREG(NEWESP),DREG(ESP));
|
||||
gen_dop_word_var(DOP_AND,true,DREG(STACK),&cpu.stack.mask);
|
||||
gen_dop_word_var(DOP_AND,true,DREG(NEWESP),&cpu.stack.notmask);
|
||||
@ -1325,7 +1325,7 @@ static void dyn_pop(DynReg * dynreg,bool checked=true) {
|
||||
}
|
||||
}
|
||||
if (dynreg!=DREG(ESP)) {
|
||||
gen_lea(DREG(STACK),DREG(ESP),0,0,decode.big_op?4:2);
|
||||
gen_lea(DREG(STACK),DREG(ESP),nullptr,0,decode.big_op?4:2);
|
||||
gen_dop_word_var(DOP_AND,true,DREG(STACK),&cpu.stack.mask);
|
||||
gen_dop_word_var(DOP_AND,true,DREG(ESP),&cpu.stack.notmask);
|
||||
gen_dop_word(DOP_OR,true,DREG(ESP),DREG(STACK));
|
||||
@ -1368,12 +1368,12 @@ static void dyn_fill_ea(bool addseg=true, DynReg * reg_ea=DREG(EA)) {
|
||||
segbase=DREG(SS);
|
||||
break;
|
||||
case 4:/* SI */
|
||||
if (imm) gen_lea(reg_ea,DREG(ESI),0,0,imm);
|
||||
if (imm) gen_lea(reg_ea,DREG(ESI),nullptr,0,imm);
|
||||
else extend_src=DREG(ESI);
|
||||
segbase=DREG(DS);
|
||||
break;
|
||||
case 5:/* DI */
|
||||
if (imm) gen_lea(reg_ea,DREG(EDI),0,0,imm);
|
||||
if (imm) gen_lea(reg_ea,DREG(EDI),nullptr,0,imm);
|
||||
else extend_src=DREG(EDI);
|
||||
segbase=DREG(DS);
|
||||
break;
|
||||
@ -1384,12 +1384,12 @@ static void dyn_fill_ea(bool addseg=true, DynReg * reg_ea=DREG(EA)) {
|
||||
segbase=DREG(DS);
|
||||
goto skip_extend_word;
|
||||
} else {
|
||||
gen_lea(reg_ea,DREG(EBP),0,0,imm);
|
||||
gen_lea(reg_ea,DREG(EBP),nullptr,0,imm);
|
||||
segbase=DREG(SS);
|
||||
}
|
||||
break;
|
||||
case 7: /* BX */
|
||||
if (imm) gen_lea(reg_ea,DREG(EBX),0,0,imm);
|
||||
if (imm) gen_lea(reg_ea,DREG(EBX),nullptr,0,imm);
|
||||
else extend_src=DREG(EBX);
|
||||
segbase=DREG(DS);
|
||||
break;
|
||||
@ -1401,7 +1401,7 @@ skip_extend_word:
|
||||
}
|
||||
} else {
|
||||
Bits imm=0;
|
||||
DynReg * base=0;DynReg * scaled=0;Bitu scale=0;
|
||||
DynReg * base=nullptr;DynReg * scaled=nullptr;Bitu scale=0;
|
||||
switch (decode.modrm.rm) {
|
||||
case 0:base=DREG(EAX);segbase=DREG(DS);break;
|
||||
case 1:base=DREG(ECX);segbase=DREG(DS);break;
|
||||
@ -1412,7 +1412,7 @@ skip_extend_word:
|
||||
Bitu sib=decode_fetchb();
|
||||
static DynReg * scaledtable[8]={
|
||||
DREG(EAX),DREG(ECX),DREG(EDX),DREG(EBX),
|
||||
0,DREG(EBP),DREG(ESI),DREG(EDI),
|
||||
nullptr,DREG(EBP),DREG(ESI),DREG(EDI),
|
||||
};
|
||||
scaled=scaledtable[(sib >> 3) &7];
|
||||
scale=(sib >> 6);
|
||||
@ -2103,7 +2103,7 @@ static void dyn_load_seg(SegNames seg,DynReg * src) {
|
||||
static void dyn_load_seg_off_ea(SegNames seg) {
|
||||
if (decode.modrm.mod<3) {
|
||||
dyn_fill_ea();
|
||||
gen_lea(DREG(TMPB),DREG(EA),0,0,decode.big_op ? 4:2);
|
||||
gen_lea(DREG(TMPB),DREG(EA),nullptr,0,decode.big_op ? 4:2);
|
||||
dyn_read_word(DREG(TMPB),DREG(TMPB),false);
|
||||
dyn_read_word_release(DREG(EA),DREG(TMPW),decode.big_op);
|
||||
dyn_load_seg(seg,DREG(TMPB));gen_releasereg(DREG(TMPB));
|
||||
@ -2239,7 +2239,7 @@ enum LoopTypes {
|
||||
|
||||
static void dyn_loop(LoopTypes type) {
|
||||
Bits eip_add=(int8_t)decode_fetchb();
|
||||
uint8_t * branch1=0;uint8_t * branch2=0;
|
||||
uint8_t * branch1=nullptr;uint8_t * branch2=nullptr;
|
||||
gen_preloadreg(DREG(ECX));
|
||||
gen_preloadreg(DREG(CYCLES));
|
||||
gen_preloadreg(DREG(EIP));
|
||||
@ -2504,7 +2504,7 @@ static CacheBlock * CreateCacheBlock(CodePageHandler * codepage,PhysPt start,Bit
|
||||
|
||||
for (i=0;i<G_MAX;i++) {
|
||||
DynRegs[i].flags&=~(DYNFLG_ACTIVE|DYNFLG_CHANGED);
|
||||
DynRegs[i].genreg=0;
|
||||
DynRegs[i].genreg=nullptr;
|
||||
}
|
||||
gen_reinit();
|
||||
gen_save_host_direct(&cache.block.running,(uintptr_t)decode.block);
|
||||
@ -2524,7 +2524,7 @@ static CacheBlock * CreateCacheBlock(CodePageHandler * codepage,PhysPt start,Bit
|
||||
/* Init prefixes */
|
||||
decode.big_addr=cpu.code.big;
|
||||
decode.big_op=cpu.code.big;
|
||||
decode.segprefix=0;
|
||||
decode.segprefix=nullptr;
|
||||
decode.rep=REP_NONE;
|
||||
decode.cycles++;
|
||||
decode.op_start=decode.code;
|
||||
@ -2849,13 +2849,13 @@ restart_prefix:
|
||||
break;
|
||||
/* MOV AL,direct addresses */
|
||||
case 0xa0:
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),0,0,
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),nullptr,0,
|
||||
decode.big_addr ? decode_fetchd() : decode_fetchw());
|
||||
dyn_read_byte_release(DREG(EA),DREG(EAX),false);
|
||||
break;
|
||||
/* MOV AX,direct addresses */
|
||||
case 0xa1:
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),0,0,
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),nullptr,0,
|
||||
decode.big_addr ? decode_fetchd() : decode_fetchw());
|
||||
dyn_read_word_release(DREG(EA),DREG(EAX),decode.big_op);
|
||||
break;
|
||||
@ -2866,17 +2866,17 @@ restart_prefix:
|
||||
if (decode_fetchd_imm(val)) {
|
||||
gen_lea_imm_mem(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),(void*)val);
|
||||
} else {
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),0,0,(Bits)val);
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),nullptr,0,(Bits)val);
|
||||
}
|
||||
dyn_write_byte_release(DREG(EA),DREG(EAX),false);
|
||||
} else {
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),0,0,decode_fetchw());
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),nullptr,0,decode_fetchw());
|
||||
dyn_write_byte_release(DREG(EA),DREG(EAX),false);
|
||||
}
|
||||
break;
|
||||
/* MOV direct addresses,AX */
|
||||
case 0xa3:
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),0,0,
|
||||
gen_lea(DREG(EA),decode.segprefix ? decode.segprefix : DREG(DS),nullptr,0,
|
||||
decode.big_addr ? decode_fetchd() : decode_fetchw());
|
||||
dyn_write_word_release(DREG(EA),DREG(EAX),decode.big_op);
|
||||
break;
|
||||
@ -3217,7 +3217,7 @@ restart_prefix:
|
||||
}
|
||||
break;
|
||||
case 0x2: /* CALL Ev */
|
||||
gen_lea(DREG(TMPB),DREG(EIP),0,0,decode.code-decode.code_start);
|
||||
gen_lea(DREG(TMPB),DREG(EIP),nullptr,0,decode.code-decode.code_start);
|
||||
dyn_push(DREG(TMPB));
|
||||
gen_releasereg(DREG(TMPB));
|
||||
gen_dop_word(DOP_MOV,decode.big_op,DREG(EIP),src);
|
||||
@ -3229,7 +3229,7 @@ restart_prefix:
|
||||
case 0x5: /* JMP Ep */
|
||||
gen_protectflags();
|
||||
dyn_flags_gen_to_host();
|
||||
gen_lea(DREG(EA),DREG(EA),0,0,decode.big_op ? 4: 2);
|
||||
gen_lea(DREG(EA),DREG(EA),nullptr,0,decode.big_op ? 4: 2);
|
||||
dyn_read_word(DREG(EA),DREG(EA),false);
|
||||
dyn_set_eip_last_end(DREG(TMPB));
|
||||
dyn_save_critical_regs();
|
||||
|
@ -229,7 +229,7 @@ opcode& opcode::setea(int rbase, int rscale, Bitu scale, Bits off) {
|
||||
class GenReg {
|
||||
public:
|
||||
GenReg(uint8_t _index) : index(_index) {
|
||||
notusable=false;dynreg=0;
|
||||
notusable=false;dynreg=nullptr;
|
||||
}
|
||||
DynReg * dynreg;
|
||||
Bitu last_used; //Keeps track of last assigned regs
|
||||
@ -258,14 +258,14 @@ public:
|
||||
Save();
|
||||
}
|
||||
dynreg->flags&=~(DYNFLG_CHANGED|DYNFLG_ACTIVE);
|
||||
dynreg->genreg=0;dynreg=0;
|
||||
dynreg->genreg=nullptr;dynreg=nullptr;
|
||||
}
|
||||
void Clear(void) {
|
||||
if (!dynreg) return;
|
||||
if (dynreg->flags&DYNFLG_CHANGED) {
|
||||
Save();
|
||||
}
|
||||
dynreg->genreg=0;dynreg=0;
|
||||
dynreg->genreg=nullptr;dynreg=nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
@ -400,7 +400,7 @@ static void ForceDynReg(GenReg * genreg,DynReg * dynreg) {
|
||||
if (genreg->dynreg) genreg->Clear();
|
||||
// mov dst32, src32
|
||||
opcode(genreg->index).setrm(dynreg->genreg->index).Emit8(0x8B);
|
||||
dynreg->genreg->dynreg=0;
|
||||
dynreg->genreg->dynreg=nullptr;
|
||||
dynreg->genreg=genreg;
|
||||
genreg->dynreg=dynreg;
|
||||
} else genreg->Load(dynreg);
|
||||
@ -422,7 +422,7 @@ static void gen_setupreg(DynReg * dnew,DynReg * dsetup) {
|
||||
/* Not the same genreg must be wrong */
|
||||
if (dnew->genreg) {
|
||||
/* Check if the genreg i'm changing is actually linked to me */
|
||||
if (dnew->genreg->dynreg==dnew) dnew->genreg->dynreg=0;
|
||||
if (dnew->genreg->dynreg==dnew) dnew->genreg->dynreg=nullptr;
|
||||
}
|
||||
dnew->genreg=dsetup->genreg;
|
||||
if (dnew->genreg) dnew->genreg->dynreg=dnew;
|
||||
@ -500,7 +500,7 @@ static void gen_reinit(void) {
|
||||
x64gen.last_used=0;
|
||||
x64gen.flagsactive=false;
|
||||
for (Bitu i=0;i<X64_REGS;i++) {
|
||||
x64gen.regs[i]->dynreg=0;
|
||||
x64gen.regs[i]->dynreg=nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@ -919,7 +919,7 @@ static void gen_dop_word_imm_mem(DualOps op,bool dword,DynReg * dr1,void* data)
|
||||
if ((int32_t)addr==addr || (int32_t)rbpdiff==rbpdiff || ripdiff < 0x7FFFFFE0ll)
|
||||
i = opcode(FindDynReg(dr1,dword && op==DOP_MOV)->index,dword).setabsaddr(data);
|
||||
else if (dword && op==DOP_MOV) {
|
||||
if (dr1->genreg) dr1->genreg->dynreg=0;
|
||||
if (dr1->genreg) dr1->genreg->dynreg=nullptr;
|
||||
x64gen.regs[X64_REG_RAX]->Load(dr1,true);
|
||||
if ((uint32_t)addr == (Bitu)addr) {
|
||||
cache_addb(0x67);
|
||||
@ -1130,7 +1130,7 @@ static void gen_call_function(void * func,const char* ops,...) {
|
||||
GenReg * genret;
|
||||
if (rettype == 'd') {
|
||||
genret=x64gen.regs[X64_REG_RAX];
|
||||
if (dynret->genreg) dynret->genreg->dynreg=0;
|
||||
if (dynret->genreg) dynret->genreg->dynreg=nullptr;
|
||||
genret->Load(dynret,true);
|
||||
} else {
|
||||
opcode op(0); // src=eax/ax/al/ah
|
||||
@ -1199,7 +1199,7 @@ static void gen_fill_branch_long(uint8_t * data,uint8_t * from=cache.pos) {
|
||||
*(uint32_t*)data=(uint32_t)(from-data-4);
|
||||
}
|
||||
|
||||
static uint8_t * gen_create_jump(uint8_t * to=0) {
|
||||
static uint8_t * gen_create_jump(uint8_t * to=nullptr) {
|
||||
/* First free all registers */
|
||||
cache_addb(0xe9);
|
||||
cache_addd((uint32_t)(to-(cache.pos+4)));
|
||||
|
@ -266,7 +266,7 @@ Bits CPU_Core_Dynrec_Run(void) {
|
||||
if (DEBUG_HeavyIsBreakpoint()) return (Bits)debugCallback;
|
||||
#endif
|
||||
|
||||
CodePageHandlerDynRec * chandler=0;
|
||||
CodePageHandlerDynRec * chandler=nullptr;
|
||||
// see if the current page is present and contains code
|
||||
if (GCC_UNLIKELY(MakeCodePage(ip_point,chandler))) {
|
||||
// page not present, throw the exception
|
||||
@ -305,7 +305,7 @@ Bits CPU_Core_Dynrec_Run(void) {
|
||||
}
|
||||
|
||||
run_block:
|
||||
cache.block.running=0;
|
||||
cache.block.running=nullptr;
|
||||
// now we're ready to run the dynamic code block
|
||||
// BlockReturnDynRec ret=((BlockReturnDynRec (*)(void))(block->cache.start))();
|
||||
BlockReturnDynRec ret=core_dynrec.runcode(block->cache.xstart);
|
||||
|
@ -374,7 +374,7 @@ public:
|
||||
else cache.last_page=prev;
|
||||
next=cache.free_pages;
|
||||
cache.free_pages=this;
|
||||
prev=0;
|
||||
prev=nullptr;
|
||||
}
|
||||
void ClearRelease(void) {
|
||||
// clear out all cache blocks in this page
|
||||
@ -384,7 +384,7 @@ public:
|
||||
while (block==NULL)
|
||||
block=*++map;
|
||||
CacheBlockDynRec * nextblock=block->hash.next;
|
||||
block->page.handler=0; // no need, full clear
|
||||
block->page.handler=nullptr; // no need, full clear
|
||||
block->Clear();
|
||||
block=nextblock;
|
||||
}
|
||||
@ -398,7 +398,7 @@ public:
|
||||
if (block->page.start==start) return block; // found
|
||||
block=block->hash.next;
|
||||
}
|
||||
return 0; // none found
|
||||
return nullptr; // none found
|
||||
}
|
||||
|
||||
HostPt GetHostReadPt(Bitu phys_page) override {
|
||||
@ -440,7 +440,7 @@ static CacheBlockDynRec * cache_getblock(void) {
|
||||
E_Exit("Ran out of CacheBlocks");
|
||||
else {
|
||||
cache.block.free = ret->cache.next;
|
||||
ret->cache.next = 0;
|
||||
ret->cache.next = nullptr;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -449,11 +449,11 @@ void CacheBlockDynRec::Clear(void) {
|
||||
// check if this is not a cross page block
|
||||
if (hash.index) for (Bitu ind=0;ind<2;ind++) {
|
||||
CacheBlockDynRec * fromlink=link[ind].from;
|
||||
link[ind].from=0;
|
||||
link[ind].from=nullptr;
|
||||
while (fromlink) {
|
||||
CacheBlockDynRec * nextlink=fromlink->link[ind].next;
|
||||
// clear the next-link and let the block point to the standard linkcode
|
||||
fromlink->link[ind].next=0;
|
||||
fromlink->link[ind].next=nullptr;
|
||||
fromlink->link[ind].to=&link_blocks[ind];
|
||||
|
||||
fromlink=nextlink;
|
||||
@ -475,14 +475,14 @@ void CacheBlockDynRec::Clear(void) {
|
||||
cache_addunusedblock(this);
|
||||
if (crossblock) {
|
||||
// clear out the crossblock (in the page before) as well
|
||||
crossblock->crossblock=0;
|
||||
crossblock->crossblock=nullptr;
|
||||
crossblock->Clear();
|
||||
crossblock=0;
|
||||
crossblock=nullptr;
|
||||
}
|
||||
if (page.handler) {
|
||||
// clear out the code page handler
|
||||
page.handler->DelCacheBlock(this);
|
||||
page.handler=0;
|
||||
page.handler=nullptr;
|
||||
}
|
||||
if (cache.wmapmask){
|
||||
free(cache.wmapmask);
|
||||
@ -525,10 +525,10 @@ static void cache_closeblock(void) {
|
||||
// links point to the default linking code
|
||||
block->link[0].to=&link_blocks[0];
|
||||
block->link[1].to=&link_blocks[1];
|
||||
block->link[0].from=0;
|
||||
block->link[1].from=0;
|
||||
block->link[0].next=0;
|
||||
block->link[1].next=0;
|
||||
block->link[0].from=nullptr;
|
||||
block->link[1].from=nullptr;
|
||||
block->link[0].next=nullptr;
|
||||
block->link[1].next=nullptr;
|
||||
// close the block with correct alignment
|
||||
Bitu written=(Bitu)(cache.pos-block->cache.start);
|
||||
if (written>block->cache.size) {
|
||||
@ -651,7 +651,7 @@ static void cache_reset(void) {
|
||||
block->cache.start=&cache_code[0];
|
||||
block->cache.xstart=(uint8_t*)cache_rwtox(block->cache.start);
|
||||
block->cache.size=CACHE_TOTAL;
|
||||
block->cache.next=0; //Last block in the list
|
||||
block->cache.next=nullptr; //Last block in the list
|
||||
|
||||
/* Setup the default blocks for block linkage returns */
|
||||
cache.pos=&cache_code_link_blocks[0];
|
||||
@ -662,9 +662,9 @@ static void cache_reset(void) {
|
||||
link_blocks[1].cache.start=cache.pos;
|
||||
link_blocks[1].cache.xstart=(uint8_t*)cache_rwtox(link_blocks[1].cache.start);
|
||||
dyn_return(BR_Link2,false);
|
||||
cache.free_pages=0;
|
||||
cache.last_page=0;
|
||||
cache.used_pages=0;
|
||||
cache.free_pages=nullptr;
|
||||
cache.last_page=nullptr;
|
||||
cache.used_pages=nullptr;
|
||||
/* Setup the code pages */
|
||||
for (Bitu i=0;i<CACHE_PAGES;i++) {
|
||||
CodePageHandlerDynRec * newpage=new CodePageHandlerDynRec();
|
||||
@ -710,7 +710,7 @@ static void cache_init(bool enable) {
|
||||
block->cache.start=&cache_code[0];
|
||||
block->cache.xstart=(uint8_t*)cache_rwtox(block->cache.start);
|
||||
block->cache.size=CACHE_TOTAL;
|
||||
block->cache.next=0; // last block in the list
|
||||
block->cache.next=nullptr; // last block in the list
|
||||
}
|
||||
// setup the default blocks for block linkage returns
|
||||
cache.pos=&cache_code_link_blocks[0];
|
||||
@ -729,9 +729,9 @@ static void cache_init(bool enable) {
|
||||
// link_blocks[1].cache.start=cache.pos;
|
||||
dyn_run_code();
|
||||
|
||||
cache.free_pages=0;
|
||||
cache.last_page=0;
|
||||
cache.used_pages=0;
|
||||
cache.free_pages=nullptr;
|
||||
cache.last_page=nullptr;
|
||||
cache.used_pages=nullptr;
|
||||
// setup the code pages
|
||||
for (i=0;i<CACHE_PAGES;i++) {
|
||||
CodePageHandlerDynRec * newpage=new CodePageHandlerDynRec();
|
||||
|
@ -149,7 +149,7 @@ static bool MakeCodePage(Bitu lin_addr,CodePageHandlerDynRec * &cph) {
|
||||
}
|
||||
if (handler->flags & PFLAG_NOCODE) {
|
||||
LOG_MSG("DYNREC:Can't run code in this page");
|
||||
cph=0;
|
||||
cph=nullptr;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -158,7 +158,7 @@ static bool MakeCodePage(Bitu lin_addr,CodePageHandlerDynRec * &cph) {
|
||||
// find the physical page that the linear page is mapped to
|
||||
if (!PAGING_MakePhysPage(phys_page)) {
|
||||
LOG_MSG("DYNREC:Can't find physpage");
|
||||
cph=0;
|
||||
cph=nullptr;
|
||||
return false;
|
||||
}
|
||||
// find a free CodePage
|
||||
@ -179,7 +179,7 @@ static bool MakeCodePage(Bitu lin_addr,CodePageHandlerDynRec * &cph) {
|
||||
cache.free_pages = cache.free_pages->next;
|
||||
// adjust previous and next page pointer
|
||||
cpagehandler->prev = cache.last_page;
|
||||
cpagehandler->next = 0;
|
||||
cpagehandler->next = nullptr;
|
||||
if (cache.last_page) cache.last_page->next = cpagehandler;
|
||||
cache.last_page = cpagehandler;
|
||||
if (!cache.used_pages) cache.used_pages = cpagehandler;
|
||||
|
@ -135,11 +135,15 @@ static GetEAHandler EATable[512]={
|
||||
EA_16_80_n,EA_16_81_n,EA_16_82_n,EA_16_83_n,EA_16_84_n,EA_16_85_n,EA_16_86_n,EA_16_87_n,
|
||||
EA_16_80_n,EA_16_81_n,EA_16_82_n,EA_16_83_n,EA_16_84_n,EA_16_85_n,EA_16_86_n,EA_16_87_n,
|
||||
EA_16_80_n,EA_16_81_n,EA_16_82_n,EA_16_83_n,EA_16_84_n,EA_16_85_n,EA_16_86_n,EA_16_87_n,
|
||||
/* 11 These are illegal so make em 0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 11 These are illegal so make em nullptr */
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
/* 00 */
|
||||
EA_32_00_n,EA_32_01_n,EA_32_02_n,EA_32_03_n,EA_32_04_n,EA_32_05_n,EA_32_06_n,EA_32_07_n,
|
||||
EA_32_00_n,EA_32_01_n,EA_32_02_n,EA_32_03_n,EA_32_04_n,EA_32_05_n,EA_32_06_n,EA_32_07_n,
|
||||
@ -167,11 +171,15 @@ static GetEAHandler EATable[512]={
|
||||
EA_32_80_n,EA_32_81_n,EA_32_82_n,EA_32_83_n,EA_32_84_n,EA_32_85_n,EA_32_86_n,EA_32_87_n,
|
||||
EA_32_80_n,EA_32_81_n,EA_32_82_n,EA_32_83_n,EA_32_84_n,EA_32_85_n,EA_32_86_n,EA_32_87_n,
|
||||
EA_32_80_n,EA_32_81_n,EA_32_82_n,EA_32_83_n,EA_32_84_n,EA_32_85_n,EA_32_86_n,EA_32_87_n,
|
||||
/* 11 These are illegal so make em 0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
/* 11 These are illegal so make em nullptr */
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr
|
||||
};
|
||||
|
||||
/* NTS: Despite my theories about segment limit check overflow, Intel processors do range check properly
|
||||
|
@ -74,31 +74,51 @@ static GetEAHandler EATable[512]={
|
||||
EA_16_80_n,EA_16_81_n,EA_16_82_n,EA_16_83_n,EA_16_84_n,EA_16_85_n,EA_16_86_n,EA_16_87_n,
|
||||
EA_16_80_n,EA_16_81_n,EA_16_82_n,EA_16_83_n,EA_16_84_n,EA_16_85_n,EA_16_86_n,EA_16_87_n,
|
||||
EA_16_80_n,EA_16_81_n,EA_16_82_n,EA_16_83_n,EA_16_84_n,EA_16_85_n,EA_16_86_n,EA_16_87_n,
|
||||
/* 11 These are illegal so make em 0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 11 These are illegal so make em nullptr */
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
/* 00 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
/* 01 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
/* 10 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
/* 11 These are illegal so make em 0 */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr
|
||||
};
|
||||
|
||||
#define GetEADirect(sz) \
|
||||
|
@ -3422,7 +3422,7 @@ void Weitek_PageHandler::writed(PhysPt addr,uint32_t val) {
|
||||
LOG_MSG("Weitek stub: writed at 0x%lx val=0x%lx",(unsigned long)addr,(unsigned long)val);
|
||||
}
|
||||
|
||||
Weitek_PageHandler weitek_pagehandler(0);
|
||||
Weitek_PageHandler weitek_pagehandler(nullptr);
|
||||
|
||||
PageHandler* weitek_memio_cb(MEM_CalloutObject &co,Bitu phys_page) {
|
||||
(void)co; // UNUSED
|
||||
@ -3630,7 +3630,7 @@ public:
|
||||
Prop_multival* p = section->Get_multival("cycles");
|
||||
std::string type = p->GetSection()->Get_string("type");
|
||||
std::string str ;
|
||||
CommandLine cmd(0,p->GetSection()->Get_string("parameters"));
|
||||
CommandLine cmd(nullptr,p->GetSection()->Get_string("parameters"));
|
||||
if (type=="max") {
|
||||
RDTSC_rebase();
|
||||
CPU_CycleMax=0;
|
||||
@ -4312,7 +4312,7 @@ CPU_Decoder* CPU_IndexDecoderType(uint16_t decoder_idx)
|
||||
case 102: return &CPU_Core_Dynrec_Trap_Run;
|
||||
#endif
|
||||
case 200: return &HLT_Decode;
|
||||
default: return 0;
|
||||
default: return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -136,19 +136,31 @@ uint32_t * lookupRMregd[256]={
|
||||
|
||||
|
||||
uint8_t * lookupRMEAregb[256]={
|
||||
/* 12 lines of 16*0 should give nice errors when used */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 24 lines of 8*nullptr should give nice errors when used */
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
®_al,®_cl,®_dl,®_bl,®_ah,®_ch,®_dh,®_bh,
|
||||
®_al,®_cl,®_dl,®_bl,®_ah,®_ch,®_dh,®_bh,
|
||||
®_al,®_cl,®_dl,®_bl,®_ah,®_ch,®_dh,®_bh,
|
||||
@ -160,19 +172,31 @@ uint8_t * lookupRMEAregb[256]={
|
||||
};
|
||||
|
||||
uint16_t * lookupRMEAregw[256]={
|
||||
/* 12 lines of 16*0 should give nice errors when used */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 24 lines of 8*nullptr should give nice errors when used */
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
®_ax,®_cx,®_dx,®_bx,®_sp,®_bp,®_si,®_di,
|
||||
®_ax,®_cx,®_dx,®_bx,®_sp,®_bp,®_si,®_di,
|
||||
®_ax,®_cx,®_dx,®_bx,®_sp,®_bp,®_si,®_di,
|
||||
@ -184,19 +208,31 @@ uint16_t * lookupRMEAregw[256]={
|
||||
};
|
||||
|
||||
uint32_t * lookupRMEAregd[256]={
|
||||
/* 12 lines of 16*0 should give nice errors when used */
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 24 lines of 8*nullptr should give nice errors when used */
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
®_eax,®_ecx,®_edx,®_ebx,®_esp,®_ebp,®_esi,®_edi,
|
||||
®_eax,®_ecx,®_edx,®_ebx,®_esp,®_ebp,®_esi,®_edi,
|
||||
®_eax,®_ecx,®_edx,®_ebx,®_esp,®_ebp,®_esi,®_edi,
|
||||
|
@ -63,11 +63,11 @@ void PageHandler::writed(PhysPt addr,uint32_t val) {
|
||||
}
|
||||
|
||||
HostPt PageHandler::GetHostReadPt(Bitu /*phys_page*/) {
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
HostPt PageHandler::GetHostWritePt(Bitu /*phys_page*/) {
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool PageHandler::readb_checked(PhysPt addr, uint8_t * val) {
|
||||
@ -377,7 +377,7 @@ private:
|
||||
// replace this handler with the real thing
|
||||
if (handler->getFlags() & PFLAG_WRITEABLE)
|
||||
paging.tlb.write[lin_page] = handler->GetHostWritePt(phys_page) - (lin_page << 12);
|
||||
else paging.tlb.write[lin_page]=0;
|
||||
else paging.tlb.write[lin_page]=nullptr;
|
||||
paging.tlb.writehandler[lin_page]=handler;
|
||||
|
||||
return;
|
||||
@ -920,8 +920,8 @@ Bitu PAGING_GetDirBase(void) {
|
||||
#if defined(USE_FULL_TLB)
|
||||
void PAGING_InitTLB(void) {
|
||||
for (Bitu i=0;i<TLB_SIZE;i++) {
|
||||
paging.tlb.read[i]=0;
|
||||
paging.tlb.write[i]=0;
|
||||
paging.tlb.read[i]=nullptr;
|
||||
paging.tlb.write[i]=nullptr;
|
||||
paging.tlb.readhandler[i]=&init_page_handler;
|
||||
paging.tlb.writehandler[i]=&init_page_handler;
|
||||
}
|
||||
@ -938,8 +938,8 @@ void PAGING_ClearTLB(void) {
|
||||
uint32_t * entries=&paging.links.entries[0];
|
||||
for (;paging.links.used>0;paging.links.used--) {
|
||||
Bitu page=*entries++;
|
||||
paging.tlb.read[page]=0;
|
||||
paging.tlb.write[page]=0;
|
||||
paging.tlb.read[page]=nullptr;
|
||||
paging.tlb.write[page]=nullptr;
|
||||
paging.tlb.readhandler[page]=&init_page_handler;
|
||||
paging.tlb.writehandler[page]=&init_page_handler;
|
||||
}
|
||||
@ -951,8 +951,8 @@ void PAGING_ClearTLB(void) {
|
||||
|
||||
void PAGING_UnlinkPages(Bitu lin_page,Bitu pages) {
|
||||
for (;pages>0;pages--) {
|
||||
paging.tlb.read[lin_page]=0;
|
||||
paging.tlb.write[lin_page]=0;
|
||||
paging.tlb.read[lin_page]=nullptr;
|
||||
paging.tlb.write[lin_page]=nullptr;
|
||||
paging.tlb.readhandler[lin_page]=&init_page_handler;
|
||||
paging.tlb.writehandler[lin_page]=&init_page_handler;
|
||||
lin_page++;
|
||||
@ -962,8 +962,8 @@ void PAGING_UnlinkPages(Bitu lin_page,Bitu pages) {
|
||||
void PAGING_MapPage(Bitu lin_page,Bitu phys_page) {
|
||||
if (lin_page<LINK_START) {
|
||||
paging.firstmb[lin_page]=(uint32_t)phys_page;
|
||||
paging.tlb.read[lin_page]=0;
|
||||
paging.tlb.write[lin_page]=0;
|
||||
paging.tlb.read[lin_page]=nullptr;
|
||||
paging.tlb.write[lin_page]=nullptr;
|
||||
paging.tlb.readhandler[lin_page]=&init_page_handler;
|
||||
paging.tlb.writehandler[lin_page]=&init_page_handler;
|
||||
} else {
|
||||
@ -998,35 +998,35 @@ static void PAGING_LinkPageNew(Bitu lin_page, Bitu phys_page, Bitu linkmode, boo
|
||||
// read
|
||||
if (handler->getFlags() & PFLAG_READABLE) paging.tlb.read[lin_page] =
|
||||
handler->GetHostReadPt(phys_page)-lin_base;
|
||||
else paging.tlb.read[lin_page]=0;
|
||||
else paging.tlb.read[lin_page]=nullptr;
|
||||
paging.tlb.readhandler[lin_page]=handler;
|
||||
|
||||
// write
|
||||
if (dirty) { // in case it is already dirty we don't need to check
|
||||
if (handler->getFlags() & PFLAG_WRITEABLE) paging.tlb.write[lin_page] =
|
||||
handler->GetHostWritePt(phys_page)-lin_base;
|
||||
else paging.tlb.write[lin_page]=0;
|
||||
else paging.tlb.write[lin_page]=nullptr;
|
||||
paging.tlb.writehandler[lin_page]=handler;
|
||||
} else {
|
||||
paging.tlb.writehandler[lin_page]= &foiling_handler;
|
||||
paging.tlb.write[lin_page]=0;
|
||||
paging.tlb.write[lin_page]=nullptr;
|
||||
}
|
||||
break;
|
||||
case ACMAP_RE:
|
||||
// read
|
||||
if (handler->getFlags() & PFLAG_READABLE) paging.tlb.read[lin_page] =
|
||||
handler->GetHostReadPt(phys_page)-lin_base;
|
||||
else paging.tlb.read[lin_page]=0;
|
||||
else paging.tlb.read[lin_page]=nullptr;
|
||||
paging.tlb.readhandler[lin_page]=handler;
|
||||
// exception
|
||||
paging.tlb.writehandler[lin_page]= &exception_handler;
|
||||
paging.tlb.write[lin_page]=0;
|
||||
paging.tlb.write[lin_page]=nullptr;
|
||||
break;
|
||||
case ACMAP_EE:
|
||||
paging.tlb.readhandler[lin_page]= &exception_handler;
|
||||
paging.tlb.writehandler[lin_page]= &exception_handler;
|
||||
paging.tlb.read[lin_page]=0;
|
||||
paging.tlb.write[lin_page]=0;
|
||||
paging.tlb.read[lin_page]=nullptr;
|
||||
paging.tlb.write[lin_page]=nullptr;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1060,9 +1060,9 @@ void PAGING_LinkPage(Bitu lin_page,Bitu phys_page) {
|
||||
|
||||
paging.tlb.phys_page[lin_page]= (uint32_t)phys_page;
|
||||
if (handler->getFlags() & PFLAG_READABLE) paging.tlb.read[lin_page]=handler->GetHostReadPt(phys_page)-lin_base;
|
||||
else paging.tlb.read[lin_page]=0;
|
||||
else paging.tlb.read[lin_page]=nullptr;
|
||||
if (handler->getFlags() & PFLAG_WRITEABLE) paging.tlb.write[lin_page]=handler->GetHostWritePt(phys_page)-lin_base;
|
||||
else paging.tlb.write[lin_page]=0;
|
||||
else paging.tlb.write[lin_page]=nullptr;
|
||||
|
||||
paging.links.entries[paging.links.used++]= (uint32_t)lin_page;
|
||||
paging.tlb.readhandler[lin_page]=handler;
|
||||
@ -1084,8 +1084,8 @@ void PAGING_SwitchCPL(bool isUser) {
|
||||
Bitu tlb_index = paging.krw_links.entries[i];
|
||||
paging.tlb.readhandler[tlb_index] = &exception_handler;
|
||||
paging.tlb.writehandler[tlb_index] = &exception_handler;
|
||||
paging.tlb.read[tlb_index] = 0;
|
||||
paging.tlb.write[tlb_index] = 0;
|
||||
paging.tlb.read[tlb_index] = nullptr;
|
||||
paging.tlb.write[tlb_index] = nullptr;
|
||||
}
|
||||
} else {
|
||||
// us -> sv: ee -> rw
|
||||
@ -1101,17 +1101,17 @@ void PAGING_SwitchCPL(bool isUser) {
|
||||
paging.tlb.readhandler[tlb_index] = handler;
|
||||
if (handler->getFlags()&PFLAG_READABLE)
|
||||
paging.tlb.read[tlb_index] = handler->GetHostReadPt(phys_page)-lin_base;
|
||||
else paging.tlb.read[tlb_index] = 0;
|
||||
else paging.tlb.read[tlb_index] = nullptr;
|
||||
|
||||
// map write handler
|
||||
if (dirty) {
|
||||
paging.tlb.writehandler[tlb_index] = handler;
|
||||
if (handler->getFlags()&PFLAG_WRITEABLE)
|
||||
paging.tlb.write[tlb_index] = handler->GetHostWritePt(phys_page)-lin_base;
|
||||
else paging.tlb.write[tlb_index] = 0;
|
||||
else paging.tlb.write[tlb_index] = nullptr;
|
||||
} else {
|
||||
paging.tlb.writehandler[tlb_index] = &foiling_handler;
|
||||
paging.tlb.write[tlb_index] = 0;
|
||||
paging.tlb.write[tlb_index] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1124,7 +1124,7 @@ void PAGING_SwitchCPL(bool isUser) {
|
||||
for(Bitu i = 0; i < paging.kr_links.used; i++) {
|
||||
Bitu tlb_index = paging.kr_links.entries[i];
|
||||
paging.tlb.readhandler[tlb_index] = &exception_handler;
|
||||
paging.tlb.read[tlb_index] = 0;
|
||||
paging.tlb.read[tlb_index] = nullptr;
|
||||
}
|
||||
} else {
|
||||
// us -> sv: ee -> re
|
||||
@ -1137,7 +1137,7 @@ void PAGING_SwitchCPL(bool isUser) {
|
||||
paging.tlb.readhandler[tlb_index] = handler;
|
||||
if (handler->getFlags()&PFLAG_READABLE)
|
||||
paging.tlb.read[tlb_index] = handler->GetHostReadPt(phys_page)-lin_base;
|
||||
else paging.tlb.read[tlb_index] = 0;
|
||||
else paging.tlb.read[tlb_index] = nullptr;
|
||||
}
|
||||
}
|
||||
} else { // WP=0
|
||||
@ -1147,7 +1147,7 @@ void PAGING_SwitchCPL(bool isUser) {
|
||||
for(Bitu i = 0; i < paging.ur_links.used; i++) {
|
||||
Bitu tlb_index = paging.ur_links.entries[i];
|
||||
paging.tlb.writehandler[tlb_index] = &exception_handler;
|
||||
paging.tlb.write[tlb_index] = 0;
|
||||
paging.tlb.write[tlb_index] = nullptr;
|
||||
}
|
||||
} else {
|
||||
// us -> sv: re -> rw
|
||||
@ -1163,10 +1163,10 @@ void PAGING_SwitchCPL(bool isUser) {
|
||||
paging.tlb.writehandler[tlb_index] = handler;
|
||||
if (handler->getFlags()&PFLAG_WRITEABLE)
|
||||
paging.tlb.write[tlb_index] = handler->GetHostWritePt(phys_page)-lin_base;
|
||||
else paging.tlb.write[tlb_index] = 0;
|
||||
else paging.tlb.write[tlb_index] = nullptr;
|
||||
} else {
|
||||
paging.tlb.writehandler[tlb_index] = &foiling_handler;
|
||||
paging.tlb.write[tlb_index] = 0;
|
||||
paging.tlb.write[tlb_index] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1531,8 +1531,8 @@ void POD_Load_CPU_Paging( std::istream& stream )
|
||||
PAGING_ClearTLB();
|
||||
|
||||
for( int lcv=0; lcv<TLB_SIZE; lcv++ ) {
|
||||
paging.tlb.read[lcv] = 0;
|
||||
paging.tlb.write[lcv] = 0;
|
||||
paging.tlb.read[lcv] = nullptr;
|
||||
paging.tlb.write[lcv] = nullptr;
|
||||
paging.tlb.readhandler[lcv] = &init_page_handler;
|
||||
paging.tlb.writehandler[lcv] = &init_page_handler;
|
||||
}
|
||||
|
@ -619,7 +619,7 @@ void CBreakpoint::Activate(bool _active)
|
||||
DEBUG_ShowMsg("DEBUG: Internal error while deactivating breakpoint.\n");
|
||||
|
||||
// Check if we are the last active breakpoint at this location
|
||||
bool otherActive = (FindOtherActiveBreakpoint(location, this) != 0);
|
||||
bool otherActive = (FindOtherActiveBreakpoint(location, this) != nullptr);
|
||||
|
||||
// If so, remove 0xCC and set old value
|
||||
if (!otherActive)
|
||||
@ -818,7 +818,7 @@ bool CBreakpoint::DeleteByIndex(uint16_t index)
|
||||
|
||||
CBreakpoint* CBreakpoint::FindPhysBreakpoint(uint16_t seg, uint32_t off, bool once)
|
||||
{
|
||||
if (BPoints.empty()) return 0;
|
||||
if (BPoints.empty()) return nullptr;
|
||||
#if !C_HEAVY_DEBUG
|
||||
PhysPt adr = GetAddress(seg, off);
|
||||
#endif
|
||||
@ -839,7 +839,7 @@ CBreakpoint* CBreakpoint::FindPhysBreakpoint(uint16_t seg, uint32_t off, bool on
|
||||
return bp;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
CBreakpoint* CBreakpoint::FindOtherActiveBreakpoint(PhysPt adr, CBreakpoint* skip)
|
||||
@ -850,13 +850,13 @@ CBreakpoint* CBreakpoint::FindOtherActiveBreakpoint(PhysPt adr, CBreakpoint* ski
|
||||
if (bp != skip && bp->GetType() == BKPNT_PHYSICAL && bp->GetLocation() == adr && bp->IsActive())
|
||||
return bp;
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// is there a permanent breakpoint at address ?
|
||||
bool CBreakpoint::IsBreakpoint(uint16_t seg, uint32_t off)
|
||||
{
|
||||
return FindPhysBreakpoint(seg, off, false) != 0;
|
||||
return FindPhysBreakpoint(seg, off, false) != nullptr;
|
||||
}
|
||||
|
||||
bool CBreakpoint::DeleteBreakpoint(uint16_t seg, uint32_t off)
|
||||
@ -5265,14 +5265,14 @@ void CDebugVar::DeleteAll(void)
|
||||
|
||||
CDebugVar* CDebugVar::FindVar(PhysPt pt)
|
||||
{
|
||||
if (varList.empty()) return 0;
|
||||
if (varList.empty()) return nullptr;
|
||||
|
||||
std::vector<CDebugVar*>::size_type s = varList.size();
|
||||
for(std::vector<CDebugVar*>::size_type i = 0; i != s; i++) {
|
||||
CDebugVar* bp = varList[i];
|
||||
if (bp->GetAdr() == pt) return bp;
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool CDebugVar::SaveVars(char* name) {
|
||||
|
@ -276,42 +276,42 @@ static char const * op386map1[256] = {
|
||||
static char const *second[] = {
|
||||
/* 0 */
|
||||
"%g5", "%g6", "lar %Gv,%Ew", "lsl %Gv,%Ew",
|
||||
0, "[loadall]", "clts", "[loadall]",
|
||||
"invd", "wbinvd", 0, "UD2",
|
||||
0, 0, 0, 0,
|
||||
nullptr, "[loadall]", "clts", "[loadall]",
|
||||
"invd", "wbinvd", nullptr, "UD2",
|
||||
nullptr, nullptr, nullptr, nullptr,
|
||||
/* 1 */
|
||||
"%x0", "%x0", "%x0", "%x0",
|
||||
"%x0", "%x0", "%x0", "%x0",
|
||||
"%g=", 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
"%g=", nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr,
|
||||
/* 2 */
|
||||
"mov %Rd,%Cd", "mov %Rd,%Dd", "mov %Cd,%Rd", "mov %Dd,%Rd",
|
||||
"mov %Rd,%Td", 0, "mov %Td,%Rd", 0,
|
||||
"mov %Rd,%Td", nullptr, "mov %Td,%Rd", nullptr,
|
||||
"%x0", "%x0", "%x0", "%x0",
|
||||
"%x0", "%x0", "%x0", "%x0",
|
||||
/* 3 */
|
||||
"wrmsr", "rdtsc", "rdmsr", 0,
|
||||
"sysenter", "sysexit", 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
"wrmsr", "rdtsc", "rdmsr", nullptr,
|
||||
"sysenter", "sysexit", nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr,
|
||||
/* 4 */
|
||||
"cmovo %Gv,%Ev", "cmovno %Gv,%Ev", "cmovc %Gv,%Ev", "cmovnc %Gv,%Ev",
|
||||
"cmovz %Gv,%Ev", "cmovnz %Gv,%Ev", "cmovbe %Gv,%Ev", "cmovnbe %Gv,%Ev",
|
||||
"cmovs %Gv,%Ev", "cmovns %Gv,%Ev", "cmovp %Gv,%Ev", "cmovnp %Gv,%Ev",
|
||||
"cmovl %Gv,%Ev", "cmovge %Gv,%Ev", "cmovle %Gv,%Ev", "cmovg %Gv,%Ev",
|
||||
/* 5 */
|
||||
"%x0", "%x0", "%x0", "%x0", "%x0", "%x0", "%x0", "%x0",
|
||||
"%x0", "%x0", 0, 0, "%x0", "%x0", "%x0", "%x0",
|
||||
"%x0", "%x0", "%x0", "%x0", "%x0", "%x0", "%x0", "%x0",
|
||||
"%x0", "%x0", nullptr, nullptr, "%x0", "%x0", "%x0", "%x0",
|
||||
/* 6 */
|
||||
"punpcklbw %GM,%EM","punpcklwd %GM,%EM","punpckldq %GM,%EM","packsswb %GM,%EM",
|
||||
"pcmpgtb %GM,%EM", "pcmpgtw %GM,%EM", "pcmpgtd %GM,%EM","packuswb %GM,%EM",
|
||||
"punpckhbw %GM,%EM","punpckhwd %GM,%EM","punpckhdq %GM,%EM","packssdw %GM,%EM",
|
||||
0, 0, "movd %GM,%Ed", "movq %GM,%EM",
|
||||
nullptr, nullptr, "movd %GM,%Ed", "movq %GM,%EM",
|
||||
/* 7 */
|
||||
"pshufw %GM,%EM,%Ib","%g;", "%g:", "%g9",
|
||||
"pcmpeqb %GM,%EM", "pcmpeqw %GM,%EM", "pcmpeqd %GM,%EM","emms",
|
||||
0, 0, 0, 0,
|
||||
0, 0, "movd %Ed,%GM", "movq %EM,%GM",
|
||||
nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, "movd %Ed,%GM", "movq %EM,%GM",
|
||||
/* 8 */
|
||||
"jo %Jv", "jno %Jv", "jb %Jv", "jnb %Jv",
|
||||
"jz %Jv", "jnz %Jv", "jbe %Jv", "ja %Jv",
|
||||
@ -324,177 +324,179 @@ static char const *second[] = {
|
||||
"setl %Eb", "setge %Eb", "setle %Eb", "setg %Eb",
|
||||
/* a */
|
||||
"push fs", "pop fs", "cpuid", "bt %Ev,%Gv",
|
||||
"shld %Ev,%Gv,%Ib", "shld %Ev,%Gv,cl", 0, 0,
|
||||
"push gs", "pop gs", 0, "bts %Ev,%Gv",
|
||||
"shld %Ev,%Gv,%Ib", "shld %Ev,%Gv,cl", nullptr, nullptr,
|
||||
"push gs", "pop gs", nullptr, "bts %Ev,%Gv",
|
||||
"shrd %Ev,%Gv,%Ib", "shrd %Ev,%Gv,cl", "%g<", "imul %Gv,%Ev",
|
||||
/* b */
|
||||
"cmpxchg %Eb,%Gb", "cmpxchg %Ev,%Gv", "lss %Mp", "btr %Ev,%Gv",
|
||||
"lfs %Mp", "lgs %Mp", "movzx %Gv,%Eb", "movzx %Gv,%Ew",
|
||||
0, 0, "%g7 %Ev,%Ib", "btc %Ev,%Gv",
|
||||
nullptr, nullptr, "%g7 %Ev,%Ib", "btc %Ev,%Gv",
|
||||
"bsf %Gv,%Ev", "bsr %Gv,%Ev", "movsx %Gv,%Eb", "movsx %Gv,%Ew",
|
||||
/* c */
|
||||
"xadd %Eb,%Gb", "xadd %Ev,%Gv", "%x0", 0,
|
||||
"xadd %Eb,%Gb", "xadd %Ev,%Gv", "%x0", nullptr,
|
||||
"%x0", "%x0", "%x0", "%g8",
|
||||
"bswap eax", "bswap ecx", "bswap edx", "bswap ebx",
|
||||
"bswap esp", "bswap ebp", "bswap esi", "bswap edi",
|
||||
/* d */
|
||||
0, "psrlw %GM,%EM", "psrld %GM,%EM", "psrlq %GM,%EM",
|
||||
"paddq %GM,%EM", "pmullw %GM,%EM", 0, "%x0",
|
||||
nullptr, "psrlw %GM,%EM", "psrld %GM,%EM", "psrlq %GM,%EM",
|
||||
"paddq %GM,%EM", "pmullw %GM,%EM", nullptr, "%x0",
|
||||
"psubusb %GM,%EM", "psubusw %GM,%EM", "%x0", "%x0",
|
||||
"paddusb %GM,%EM", "paddusw %GM,%EM", "%x0", "pandn %GM,%EM",
|
||||
/* e */
|
||||
"%x0", "psraw %GM,%EM", "psrad %GM,%EM", "%x0",
|
||||
"%x0", "%x0", 0, "%x0",
|
||||
"%x0", "%x0", nullptr, "%x0",
|
||||
"%x0", "%x0", "%x0", "%x0",
|
||||
"%x0", "%x0", "%x0", "%x0",
|
||||
/* f */
|
||||
0, "psllw %GM,%EM", "pslld %GM,%EM", "psllq %GM,%EM",
|
||||
0, "pmaddwd %GM,%EM", "%x0", "%x0",
|
||||
"psubb %GM,%EM", "psubw %GM,%EM", "psubd %GM,%EM", 0,
|
||||
"paddb %GM,%EM", "paddw %GM,%EM", "paddd %GM,%EM", 0
|
||||
nullptr, "psllw %GM,%EM", "pslld %GM,%EM", "psllq %GM,%EM",
|
||||
nullptr, "pmaddwd %GM,%EM", "%x0", "%x0",
|
||||
"psubb %GM,%EM", "psubw %GM,%EM", "psubd %GM,%EM", nullptr,
|
||||
"paddb %GM,%EM", "paddw %GM,%EM", "paddd %GM,%EM", nullptr
|
||||
};
|
||||
|
||||
#define NULLPTRS { nullptr, nullptr, nullptr, nullptr }
|
||||
static char const *mpgroups[][256][4] = { /* mandatory prefix groups SSE instructions, then within NP, 66, F2, F3 */
|
||||
/* group 0 */
|
||||
{
|
||||
/* 0x00 */ { 0,0,0,0 }, /* 0x01 */ { 0,0,0,0 }, /* 0x02 */ { 0,0,0,0 }, /* 0x03 */ { 0,0,0,0 },
|
||||
/* 0x04 */ { 0,0,0,0 }, /* 0x05 */ { 0,0,0,0 }, /* 0x06 */ { 0,0,0,0 }, /* 0x07 */ { 0,0,0,0 },
|
||||
/* 0x08 */ { 0,0,0,0 }, /* 0x09 */ { 0,0,0,0 }, /* 0x0A */ { 0,0,0,0 }, /* 0x0B */ { 0,0,0,0 },
|
||||
/* 0x0C */ { 0,0,0,0 }, /* 0x0D */ { 0,0,0,0 }, /* 0x0E */ { 0,0,0,0 }, /* 0x0F */ { 0,0,0,0 },
|
||||
/* 0x00 */ NULLPTRS, /* 0x01 */ NULLPTRS, /* 0x02 */ NULLPTRS, /* 0x03 */ NULLPTRS,
|
||||
/* 0x04 */ NULLPTRS, /* 0x05 */ NULLPTRS, /* 0x06 */ NULLPTRS, /* 0x07 */ NULLPTRS,
|
||||
/* 0x08 */ NULLPTRS, /* 0x09 */ NULLPTRS, /* 0x0A */ NULLPTRS, /* 0x0B */ NULLPTRS,
|
||||
/* 0x0C */ NULLPTRS, /* 0x0D */ NULLPTRS, /* 0x0E */ NULLPTRS, /* 0x0F */ NULLPTRS,
|
||||
|
||||
/* 0x10 */ { "movups %GX,%EX", "movupd %GX,%EX", "movsd %GX,%EX", "movss %GX,%EX" },
|
||||
/* 0x11 */ { "movups %EX,%GX", "movupd %EX,%GX", "movsd %EX,%GX", "movss %EX,%GX" },
|
||||
/* 0x12 */ { "movlps %GX,%EX", 0,0,0 }, // FIXME: The design of this disassembler does not allow changing opcode name based on r/m = memory or r/m = reg
|
||||
/* 0x13 */ { "movlps %EX,%GX", 0,0,0 },
|
||||
/* 0x14 */ { "unpcklps %GX,%EX", 0,0,0 },
|
||||
/* 0x15 */ { "unpckhps %GX,%EX", 0,0,0 },
|
||||
/* 0x16 */ { "movhps %GX,%EX", 0,0,0 }, // FIXME: The design of this disassembler does not allow changing opcode name based on r/m = memory or r/m = reg
|
||||
/* 0x17 */ { "movhps %EX,%GX", 0,0,0 },
|
||||
/* 0x18 */ { 0,0,0,0 }, /* 0x19 */ { 0,0,0,0 }, /* 0x1A */ { 0,0,0,0 }, /* 0x1B */ { 0,0,0,0 },
|
||||
/* 0x1C */ { 0,0,0,0 }, /* 0x1D */ { 0,0,0,0 }, /* 0x1E */ { 0,0,0,0 }, /* 0x1F */ { 0,0,0,0 },
|
||||
/* 0x12 */ { "movlps %GX,%EX", nullptr, nullptr, nullptr }, // FIXME: The design of this disassembler does not allow changing opcode name based on r/m = memory or r/m = reg
|
||||
/* 0x13 */ { "movlps %EX,%GX", nullptr, nullptr, nullptr },
|
||||
/* 0x14 */ { "unpcklps %GX,%EX", nullptr, nullptr, nullptr },
|
||||
/* 0x15 */ { "unpckhps %GX,%EX", nullptr, nullptr, nullptr },
|
||||
/* 0x16 */ { "movhps %GX,%EX", nullptr, nullptr, nullptr }, // FIXME: The design of this disassembler does not allow changing opcode name based on r/m = memory or r/m = reg
|
||||
/* 0x17 */ { "movhps %EX,%GX", nullptr, nullptr, nullptr },
|
||||
/* 0x18 */ NULLPTRS, /* 0x19 */ NULLPTRS, /* 0x1A */ NULLPTRS, /* 0x1B */ NULLPTRS,
|
||||
/* 0x1C */ NULLPTRS, /* 0x1D */ NULLPTRS, /* 0x1E */ NULLPTRS, /* 0x1F */ NULLPTRS,
|
||||
|
||||
/* 0x20 */ { 0,0,0,0 }, /* 0x21 */ { 0,0,0,0 }, /* 0x22 */ { 0,0,0,0 }, /* 0x23 */ { 0,0,0,0 },
|
||||
/* 0x24 */ { 0,0,0,0 }, /* 0x25 */ { 0,0,0,0 }, /* 0x26 */ { 0,0,0,0 }, /* 0x27 */ { 0,0,0,0 },
|
||||
/* 0x28 */ { "movaps %GX,%EX", "movapd %GX,%EX", 0, 0 },
|
||||
/* 0x29 */ { "movaps %EX,%GX", "movapd %EX,%GX", 0, 0 },
|
||||
/* 0x2A */ { "cvtpi2ps %GX,%EM", 0, 0, "cvtsi2ss %GX,%Ed" },
|
||||
/* 0x2B */ { "movntps %EX,%GX", 0,0,0 },
|
||||
/* 0x2C */ { "cvttps2pi %GM,%EX", 0, 0, "cvttss2si %Gd,%EX" },
|
||||
/* 0x2D */ { "cvtps2pi %GM,%EX", 0, 0, "cvtss2si %Gd,%EX" },
|
||||
/* 0x2E */ { "ucomiss %GX,%EX", 0,0,0 },
|
||||
/* 0x2F */ { "comiss %GX,%EX", 0,0,0 },
|
||||
/* 0x20 */ NULLPTRS, /* 0x21 */ NULLPTRS, /* 0x22 */ NULLPTRS, /* 0x23 */ NULLPTRS,
|
||||
/* 0x24 */ NULLPTRS, /* 0x25 */ NULLPTRS, /* 0x26 */ NULLPTRS, /* 0x27 */ NULLPTRS,
|
||||
/* 0x28 */ { "movaps %GX,%EX", "movapd %GX,%EX", nullptr, nullptr },
|
||||
/* 0x29 */ { "movaps %EX,%GX", "movapd %EX,%GX", nullptr, nullptr },
|
||||
/* 0x2A */ { "cvtpi2ps %GX,%EM", nullptr, nullptr, "cvtsi2ss %GX,%Ed" },
|
||||
/* 0x2B */ { "movntps %EX,%GX", nullptr, nullptr, nullptr },
|
||||
/* 0x2C */ { "cvttps2pi %GM,%EX", nullptr, nullptr, "cvttss2si %Gd,%EX" },
|
||||
/* 0x2D */ { "cvtps2pi %GM,%EX", nullptr, nullptr, "cvtss2si %Gd,%EX" },
|
||||
/* 0x2E */ { "ucomiss %GX,%EX", nullptr, nullptr, nullptr },
|
||||
/* 0x2F */ { "comiss %GX,%EX", nullptr, nullptr, nullptr },
|
||||
|
||||
/* 0x30 */ { 0,0,0,0 }, /* 0x31 */ { 0,0,0,0 }, /* 0x32 */ { 0,0,0,0 }, /* 0x33 */ { 0,0,0,0 },
|
||||
/* 0x34 */ { 0,0,0,0 }, /* 0x35 */ { 0,0,0,0 }, /* 0x36 */ { 0,0,0,0 }, /* 0x37 */ { 0,0,0,0 },
|
||||
/* 0x38 */ { 0,0,0,0 }, /* 0x39 */ { 0,0,0,0 }, /* 0x3A */ { 0,0,0,0 }, /* 0x3B */ { 0,0,0,0 },
|
||||
/* 0x3C */ { 0,0,0,0 }, /* 0x3D */ { 0,0,0,0 }, /* 0x3E */ { 0,0,0,0 }, /* 0x3F */ { 0,0,0,0 },
|
||||
/* 0x30 */ NULLPTRS, /* 0x31 */ NULLPTRS, /* 0x32 */ NULLPTRS, /* 0x33 */ NULLPTRS,
|
||||
/* 0x34 */ NULLPTRS, /* 0x35 */ NULLPTRS, /* 0x36 */ NULLPTRS, /* 0x37 */ NULLPTRS,
|
||||
/* 0x38 */ NULLPTRS, /* 0x39 */ NULLPTRS, /* 0x3A */ NULLPTRS, /* 0x3B */ NULLPTRS,
|
||||
/* 0x3C */ NULLPTRS, /* 0x3D */ NULLPTRS, /* 0x3E */ NULLPTRS, /* 0x3F */ NULLPTRS,
|
||||
|
||||
/* 0x40 */ { 0,0,0,0 }, /* 0x41 */ { 0,0,0,0 }, /* 0x42 */ { 0,0,0,0 }, /* 0x43 */ { 0,0,0,0 },
|
||||
/* 0x44 */ { 0,0,0,0 }, /* 0x45 */ { 0,0,0,0 }, /* 0x46 */ { 0,0,0,0 }, /* 0x47 */ { 0,0,0,0 },
|
||||
/* 0x48 */ { 0,0,0,0 }, /* 0x49 */ { 0,0,0,0 }, /* 0x4A */ { 0,0,0,0 }, /* 0x4B */ { 0,0,0,0 },
|
||||
/* 0x4C */ { 0,0,0,0 }, /* 0x4D */ { 0,0,0,0 }, /* 0x4E */ { 0,0,0,0 }, /* 0x4F */ { 0,0,0,0 },
|
||||
/* 0x40 */ NULLPTRS, /* 0x41 */ NULLPTRS, /* 0x42 */ NULLPTRS, /* 0x43 */ NULLPTRS,
|
||||
/* 0x44 */ NULLPTRS, /* 0x45 */ NULLPTRS, /* 0x46 */ NULLPTRS, /* 0x47 */ NULLPTRS,
|
||||
/* 0x48 */ NULLPTRS, /* 0x49 */ NULLPTRS, /* 0x4A */ NULLPTRS, /* 0x4B */ NULLPTRS,
|
||||
/* 0x4C */ NULLPTRS, /* 0x4D */ NULLPTRS, /* 0x4E */ NULLPTRS, /* 0x4F */ NULLPTRS,
|
||||
|
||||
/* 0x50 */ { "movmskps %Gd,%EX", 0,0,0 },
|
||||
/* 0x50 */ { "movmskps %Gd,%EX", nullptr, nullptr, nullptr },
|
||||
/* 0x51 */ { "sqrtps %GX,%EX", "sqrtpd %GX,%EX", "sqrtsd %GX,%EX", "sqrtss %GX,%EX" },
|
||||
/* 0x52 */ { "rqsrtps %GX,%EX", 0,0, "rsqrtss %GX,%EX" },
|
||||
/* 0x53 */ { "rcpps %GX,%EX", 0,0, "rcpss %GX,%EX" },
|
||||
/* 0x54 */ { "andps %GX,%EX", "andpd %GX,%EX", 0,0 },
|
||||
/* 0x55 */ { "andnps %GX,%EX", "andnpd %GX,%EX", 0,0 },
|
||||
/* 0x56 */ { "orps %GX,%EX", "orpd %GX,%EX", 0,0 },
|
||||
/* 0x57 */ { "xorps %GX,%EX", "xorpd %GX,%EX", 0,0 },
|
||||
/* 0x52 */ { "rqsrtps %GX,%EX", nullptr, nullptr, "rsqrtss %GX,%EX" },
|
||||
/* 0x53 */ { "rcpps %GX,%EX", nullptr, nullptr, "rcpss %GX,%EX" },
|
||||
/* 0x54 */ { "andps %GX,%EX", "andpd %GX,%EX", nullptr, nullptr },
|
||||
/* 0x55 */ { "andnps %GX,%EX", "andnpd %GX,%EX", nullptr, nullptr },
|
||||
/* 0x56 */ { "orps %GX,%EX", "orpd %GX,%EX", nullptr, nullptr },
|
||||
/* 0x57 */ { "xorps %GX,%EX", "xorpd %GX,%EX", nullptr, nullptr },
|
||||
/* 0x58 */ { "addps %GX,%EX", "addpd %GX,%EX", "addsd %GX,%EX", "addss %GX,%EX" },
|
||||
/* 0x59 */ { "mulps %GX,%EX", "mulpd %GX,%EX", "mulsd %GX,%EX", "mulss %GX,%EX" },
|
||||
/* 0x5A */ { 0,0,0,0 },
|
||||
/* 0x5B */ { 0,0,0,0 },
|
||||
/* 0x5A */ NULLPTRS,
|
||||
/* 0x5B */ NULLPTRS,
|
||||
/* 0x5C */ { "subps %GX,%EX", "subpd %GX,%EX", "subsd %GX,%EX", "subss %GX,%EX" },
|
||||
/* 0x5D */ { "minps %GX,%EX", "minpd %GX,%EX", "minsd %GX,%EX", "minss %GX,%EX" },
|
||||
/* 0x5E */ { "divps %GX,%EX", "divpd %GX,%EX", "divsd %GX,%EX", "divss %GX,%EX" },
|
||||
/* 0x5F */ { "maxps %GX,%EX", "maxpd %GX,%EX", "maxsd %GX,%EX", "maxss %GX,%EX" },
|
||||
|
||||
/* 0x60 */ { 0,0,0,0 }, /* 0x61 */ { 0,0,0,0 }, /* 0x62 */ { 0,0,0,0 }, /* 0x63 */ { 0,0,0,0 },
|
||||
/* 0x64 */ { 0,0,0,0 }, /* 0x65 */ { 0,0,0,0 }, /* 0x66 */ { 0,0,0,0 }, /* 0x67 */ { 0,0,0,0 },
|
||||
/* 0x68 */ { 0,0,0,0 }, /* 0x69 */ { 0,0,0,0 }, /* 0x6A */ { 0,0,0,0 }, /* 0x6B */ { 0,0,0,0 },
|
||||
/* 0x6C */ { 0,0,0,0 }, /* 0x6D */ { 0,0,0,0 }, /* 0x6E */ { 0,0,0,0 }, /* 0x6F */ { 0,0,0,0 },
|
||||
/* 0x60 */ NULLPTRS, /* 0x61 */ NULLPTRS, /* 0x62 */ NULLPTRS, /* 0x63 */ NULLPTRS,
|
||||
/* 0x64 */ NULLPTRS, /* 0x65 */ NULLPTRS, /* 0x66 */ NULLPTRS, /* 0x67 */ NULLPTRS,
|
||||
/* 0x68 */ NULLPTRS, /* 0x69 */ NULLPTRS, /* 0x6A */ NULLPTRS, /* 0x6B */ NULLPTRS,
|
||||
/* 0x6C */ NULLPTRS, /* 0x6D */ NULLPTRS, /* 0x6E */ NULLPTRS, /* 0x6F */ NULLPTRS,
|
||||
|
||||
/* 0x70 */ { 0,0,0,0 }, /* 0x71 */ { 0,0,0,0 }, /* 0x72 */ { 0,0,0,0 }, /* 0x73 */ { 0,0,0,0 },
|
||||
/* 0x74 */ { 0,0,0,0 }, /* 0x75 */ { 0,0,0,0 }, /* 0x76 */ { 0,0,0,0 }, /* 0x77 */ { 0,0,0,0 },
|
||||
/* 0x78 */ { 0,0,0,0 }, /* 0x79 */ { 0,0,0,0 }, /* 0x7A */ { 0,0,0,0 }, /* 0x7B */ { 0,0,0,0 },
|
||||
/* 0x7C */ { 0,0,0,0 }, /* 0x7D */ { 0,0,0,0 }, /* 0x7E */ { 0,0,0,0 }, /* 0x7F */ { 0,0,0,0 },
|
||||
/* 0x70 */ NULLPTRS, /* 0x71 */ NULLPTRS, /* 0x72 */ NULLPTRS, /* 0x73 */ NULLPTRS,
|
||||
/* 0x74 */ NULLPTRS, /* 0x75 */ NULLPTRS, /* 0x76 */ NULLPTRS, /* 0x77 */ NULLPTRS,
|
||||
/* 0x78 */ NULLPTRS, /* 0x79 */ NULLPTRS, /* 0x7A */ NULLPTRS, /* 0x7B */ NULLPTRS,
|
||||
/* 0x7C */ NULLPTRS, /* 0x7D */ NULLPTRS, /* 0x7E */ NULLPTRS, /* 0x7F */ NULLPTRS,
|
||||
|
||||
/* 0x80 */ { 0,0,0,0 }, /* 0x81 */ { 0,0,0,0 }, /* 0x82 */ { 0,0,0,0 }, /* 0x83 */ { 0,0,0,0 },
|
||||
/* 0x84 */ { 0,0,0,0 }, /* 0x85 */ { 0,0,0,0 }, /* 0x86 */ { 0,0,0,0 }, /* 0x87 */ { 0,0,0,0 },
|
||||
/* 0x88 */ { 0,0,0,0 }, /* 0x89 */ { 0,0,0,0 }, /* 0x8A */ { 0,0,0,0 }, /* 0x8B */ { 0,0,0,0 },
|
||||
/* 0x8C */ { 0,0,0,0 }, /* 0x8D */ { 0,0,0,0 }, /* 0x8E */ { 0,0,0,0 }, /* 0x8F */ { 0,0,0,0 },
|
||||
/* 0x80 */ NULLPTRS, /* 0x81 */ NULLPTRS, /* 0x82 */ NULLPTRS, /* 0x83 */ NULLPTRS,
|
||||
/* 0x84 */ NULLPTRS, /* 0x85 */ NULLPTRS, /* 0x86 */ NULLPTRS, /* 0x87 */ NULLPTRS,
|
||||
/* 0x88 */ NULLPTRS, /* 0x89 */ NULLPTRS, /* 0x8A */ NULLPTRS, /* 0x8B */ NULLPTRS,
|
||||
/* 0x8C */ NULLPTRS, /* 0x8D */ NULLPTRS, /* 0x8E */ NULLPTRS, /* 0x8F */ NULLPTRS,
|
||||
|
||||
/* 0x90 */ { 0,0,0,0 }, /* 0x91 */ { 0,0,0,0 }, /* 0x92 */ { 0,0,0,0 }, /* 0x93 */ { 0,0,0,0 },
|
||||
/* 0x94 */ { 0,0,0,0 }, /* 0x95 */ { 0,0,0,0 }, /* 0x96 */ { 0,0,0,0 }, /* 0x97 */ { 0,0,0,0 },
|
||||
/* 0x98 */ { 0,0,0,0 }, /* 0x99 */ { 0,0,0,0 }, /* 0x9A */ { 0,0,0,0 }, /* 0x9B */ { 0,0,0,0 },
|
||||
/* 0x9C */ { 0,0,0,0 }, /* 0x9D */ { 0,0,0,0 }, /* 0x9E */ { 0,0,0,0 }, /* 0x9F */ { 0,0,0,0 },
|
||||
/* 0x90 */ NULLPTRS, /* 0x91 */ NULLPTRS, /* 0x92 */ NULLPTRS, /* 0x93 */ NULLPTRS,
|
||||
/* 0x94 */ NULLPTRS, /* 0x95 */ NULLPTRS, /* 0x96 */ NULLPTRS, /* 0x97 */ NULLPTRS,
|
||||
/* 0x98 */ NULLPTRS, /* 0x99 */ NULLPTRS, /* 0x9A */ NULLPTRS, /* 0x9B */ NULLPTRS,
|
||||
/* 0x9C */ NULLPTRS, /* 0x9D */ NULLPTRS, /* 0x9E */ NULLPTRS, /* 0x9F */ NULLPTRS,
|
||||
|
||||
/* 0xA0 */ { 0,0,0,0 }, /* 0xA1 */ { 0,0,0,0 }, /* 0xA2 */ { 0,0,0,0 }, /* 0xA3 */ { 0,0,0,0 },
|
||||
/* 0xA4 */ { 0,0,0,0 }, /* 0xA5 */ { 0,0,0,0 }, /* 0xA6 */ { 0,0,0,0 }, /* 0xA7 */ { 0,0,0,0 },
|
||||
/* 0xA8 */ { 0,0,0,0 }, /* 0xA9 */ { 0,0,0,0 }, /* 0xAA */ { 0,0,0,0 }, /* 0xAB */ { 0,0,0,0 },
|
||||
/* 0xAC */ { 0,0,0,0 }, /* 0xAD */ { 0,0,0,0 }, /* 0xAE */ { 0,0,0,0 }, /* 0xAF */ { 0,0,0,0 },
|
||||
/* 0xA0 */ NULLPTRS, /* 0xA1 */ NULLPTRS, /* 0xA2 */ NULLPTRS, /* 0xA3 */ NULLPTRS,
|
||||
/* 0xA4 */ NULLPTRS, /* 0xA5 */ NULLPTRS, /* 0xA6 */ NULLPTRS, /* 0xA7 */ NULLPTRS,
|
||||
/* 0xA8 */ NULLPTRS, /* 0xA9 */ NULLPTRS, /* 0xAA */ NULLPTRS, /* 0xAB */ NULLPTRS,
|
||||
/* 0xAC */ NULLPTRS, /* 0xAD */ NULLPTRS, /* 0xAE */ NULLPTRS, /* 0xAF */ NULLPTRS,
|
||||
|
||||
/* 0xB0 */ { 0,0,0,0 }, /* 0xB1 */ { 0,0,0,0 }, /* 0xB2 */ { 0,0,0,0 }, /* 0xB3 */ { 0,0,0,0 },
|
||||
/* 0xB4 */ { 0,0,0,0 }, /* 0xB5 */ { 0,0,0,0 }, /* 0xB6 */ { 0,0,0,0 }, /* 0xB7 */ { 0,0,0,0 },
|
||||
/* 0xB8 */ { 0,0,0,0 }, /* 0xB9 */ { 0,0,0,0 }, /* 0xBA */ { 0,0,0,0 }, /* 0xBB */ { 0,0,0,0 },
|
||||
/* 0xBC */ { 0,0,0,0 }, /* 0xBD */ { 0,0,0,0 }, /* 0xBE */ { 0,0,0,0 }, /* 0xBF */ { 0,0,0,0 },
|
||||
/* 0xB0 */ NULLPTRS, /* 0xB1 */ NULLPTRS, /* 0xB2 */ NULLPTRS, /* 0xB3 */ NULLPTRS,
|
||||
/* 0xB4 */ NULLPTRS, /* 0xB5 */ NULLPTRS, /* 0xB6 */ NULLPTRS, /* 0xB7 */ NULLPTRS,
|
||||
/* 0xB8 */ NULLPTRS, /* 0xB9 */ NULLPTRS, /* 0xBA */ NULLPTRS, /* 0xBB */ NULLPTRS,
|
||||
/* 0xBC */ NULLPTRS, /* 0xBD */ NULLPTRS, /* 0xBE */ NULLPTRS, /* 0xBF */ NULLPTRS,
|
||||
|
||||
/* 0xC0 */ { 0,0,0,0 },
|
||||
/* 0xC1 */ { 0,0,0,0 },
|
||||
/* 0xC0 */ NULLPTRS,
|
||||
/* 0xC1 */ NULLPTRS,
|
||||
/* 0xC2 */ { "cmpps %GX,%EX,%Ib", "cmppd %GX,%EX,%Ib", "cmpsd %GX,%EX,%Ib", "cmpss %GX,%EX,%Ib" }, // FIXME: The immediate byte specifies a comparison operator
|
||||
/* 0xC3 */ { 0,0,0,0 },
|
||||
/* 0xC4 */ { "pinsrw %GM,%Ed,%Ib", "pinsrw %GX,%Ed,%Ib", 0, 0 },
|
||||
/* 0xC5 */ { "pextrw %Ed,%GM,%Ib", "pextrw %Ed,%GX,%Ib", 0, 0 },
|
||||
/* 0xC6 */ { "shufps %GX,%EX,%Ib", "shufpd %GX,%EX,%Ib", 0, 0 },
|
||||
/* 0xC7 */ { 0,0,0,0 },
|
||||
/* 0xC8 */ { 0,0,0,0 }, /* 0xC9 */ { 0,0,0,0 }, /* 0xCA */ { 0,0,0,0 }, /* 0xCB */ { 0,0,0,0 },
|
||||
/* 0xCC */ { 0,0,0,0 }, /* 0xCD */ { 0,0,0,0 }, /* 0xCE */ { 0,0,0,0 }, /* 0xCF */ { 0,0,0,0 },
|
||||
/* 0xC3 */ NULLPTRS,
|
||||
/* 0xC4 */ { "pinsrw %GM,%Ed,%Ib", "pinsrw %GX,%Ed,%Ib", nullptr, nullptr },
|
||||
/* 0xC5 */ { "pextrw %Ed,%GM,%Ib", "pextrw %Ed,%GX,%Ib", nullptr, nullptr },
|
||||
/* 0xC6 */ { "shufps %GX,%EX,%Ib", "shufpd %GX,%EX,%Ib", nullptr, nullptr },
|
||||
/* 0xC7 */ NULLPTRS,
|
||||
/* 0xC8 */ NULLPTRS, /* 0xC9 */ NULLPTRS, /* 0xCA */ NULLPTRS, /* 0xCB */ NULLPTRS,
|
||||
/* 0xCC */ NULLPTRS, /* 0xCD */ NULLPTRS, /* 0xCE */ NULLPTRS, /* 0xCF */ NULLPTRS,
|
||||
|
||||
/* 0xD0 */ { 0,0,0,0 },
|
||||
/* 0xD1 */ { 0,0,0,0 },
|
||||
/* 0xD2 */ { 0,0,0,0 },
|
||||
/* 0xD3 */ { 0,0,0,0 },
|
||||
/* 0xD4 */ { 0,0,0,0 },
|
||||
/* 0xD5 */ { 0,0,0,0 },
|
||||
/* 0xD6 */ { 0,0,0,0 },
|
||||
/* 0xD7 */ { "pmovmskb %Gd,%EM", "pmovmskb %Gd,%EX", 0, 0 },
|
||||
/* 0xD8 */ { 0,0,0,0 },
|
||||
/* 0xD9 */ { 0,0,0,0 },
|
||||
/* 0xDA */ { "pminub %GM,%EM", "pminub %GX,%EX", 0, 0 },
|
||||
/* 0xDB */ { "pand %GM,%EM", "pand %GX,%EX", 0, 0 },
|
||||
/* 0xDC */ { 0,0,0,0 },
|
||||
/* 0xDD */ { 0,0,0,0 },
|
||||
/* 0xDE */ { "pmaxub %GM,%EM", "pmaxub %GX,%EX", 0, 0 },
|
||||
/* 0xDF */ { 0,0,0,0 },
|
||||
/* 0xD0 */ NULLPTRS,
|
||||
/* 0xD1 */ NULLPTRS,
|
||||
/* 0xD2 */ NULLPTRS,
|
||||
/* 0xD3 */ NULLPTRS,
|
||||
/* 0xD4 */ NULLPTRS,
|
||||
/* 0xD5 */ NULLPTRS,
|
||||
/* 0xD6 */ NULLPTRS,
|
||||
/* 0xD7 */ { "pmovmskb %Gd,%EM", "pmovmskb %Gd,%EX", nullptr, nullptr },
|
||||
/* 0xD8 */ NULLPTRS,
|
||||
/* 0xD9 */ NULLPTRS,
|
||||
/* 0xDA */ { "pminub %GM,%EM", "pminub %GX,%EX", nullptr, nullptr },
|
||||
/* 0xDB */ { "pand %GM,%EM", "pand %GX,%EX", nullptr, nullptr },
|
||||
/* 0xDC */ NULLPTRS,
|
||||
/* 0xDD */ NULLPTRS,
|
||||
/* 0xDE */ { "pmaxub %GM,%EM", "pmaxub %GX,%EX", nullptr, nullptr },
|
||||
/* 0xDF */ NULLPTRS,
|
||||
|
||||
/* 0xE0 */ { "pavgb %GM,%EM", "pavgb %GX,%EX", 0, 0 },
|
||||
/* 0xE1 */ { 0,0,0,0 },
|
||||
/* 0xE2 */ { 0,0,0,0 },
|
||||
/* 0xE3 */ { "pavgw %GM,%EM", "pavgw %GX,%EX", 0, 0 },
|
||||
/* 0xE4 */ { "pmulhuw %GM,%EM", "pmulhuw %GX,%EX", 0, 0 },
|
||||
/* 0xE5 */ { "pmulhw %GM,%EM", "pmulhw %GX,%EX", 0, 0 },
|
||||
/* 0xE6 */ { 0,0,0,0 },
|
||||
/* 0xE7 */ { "movntq %EM,%GM", "movntdq %EX,%GX", 0, 0 },
|
||||
/* 0xE8 */ { "psubsb %GM,%EM", "psubsb %GX,%EX", 0, 0 },
|
||||
/* 0xE9 */ { "psubsw %GM,%EM", "psubsw %GX,%EX", 0, 0 },
|
||||
/* 0xEA */ { "pminsw %GM,%EM", "pminsw %GX,%EX", 0, 0 },
|
||||
/* 0xEB */ { "por %GM,%EM", "por %GX,%EX", 0, 0 },
|
||||
/* 0xEC */ { "paddsb %GM,%EM", "paddsb %GX,%EX", 0, 0 },
|
||||
/* 0xED */ { "paddsw %GM,%EM", "paddsw %GX,%EX", 0, 0 },
|
||||
/* 0xEE */ { "pmaxsw %GM,%EM", "pmaxsw %GX,%EX", 0, 0 },
|
||||
/* 0xEF */ { "pxor %GM,%EM", "pxor %GX,%EX", 0, 0 },
|
||||
/* 0xE0 */ { "pavgb %GM,%EM", "pavgb %GX,%EX", nullptr, nullptr },
|
||||
/* 0xE1 */ NULLPTRS,
|
||||
/* 0xE2 */ NULLPTRS,
|
||||
/* 0xE3 */ { "pavgw %GM,%EM", "pavgw %GX,%EX", nullptr, nullptr },
|
||||
/* 0xE4 */ { "pmulhuw %GM,%EM", "pmulhuw %GX,%EX", nullptr, nullptr },
|
||||
/* 0xE5 */ { "pmulhw %GM,%EM", "pmulhw %GX,%EX", nullptr, nullptr },
|
||||
/* 0xE6 */ NULLPTRS,
|
||||
/* 0xE7 */ { "movntq %EM,%GM", "movntdq %EX,%GX", nullptr, nullptr },
|
||||
/* 0xE8 */ { "psubsb %GM,%EM", "psubsb %GX,%EX", nullptr, nullptr },
|
||||
/* 0xE9 */ { "psubsw %GM,%EM", "psubsw %GX,%EX", nullptr, nullptr },
|
||||
/* 0xEA */ { "pminsw %GM,%EM", "pminsw %GX,%EX", nullptr, nullptr },
|
||||
/* 0xEB */ { "por %GM,%EM", "por %GX,%EX", nullptr, nullptr },
|
||||
/* 0xEC */ { "paddsb %GM,%EM", "paddsb %GX,%EX", nullptr, nullptr },
|
||||
/* 0xED */ { "paddsw %GM,%EM", "paddsw %GX,%EX", nullptr, nullptr },
|
||||
/* 0xEE */ { "pmaxsw %GM,%EM", "pmaxsw %GX,%EX", nullptr, nullptr },
|
||||
/* 0xEF */ { "pxor %GM,%EM", "pxor %GX,%EX", nullptr, nullptr },
|
||||
|
||||
/* 0xF0 */ { 0,0,0,0 }, /* 0xF1 */ { 0,0,0,0 }, /* 0xF2 */ { 0,0,0,0 }, /* 0xF3 */ { 0,0,0,0 },
|
||||
/* 0xF4 */ { 0,0,0,0 },
|
||||
/* 0xF5 */ { 0,0,0,0 },
|
||||
/* 0xF6 */ { "psadbw %GM,%EM", "psadbw %GX,%EX", 0, 0 },
|
||||
/* 0xF7 */ { "maskmovq %GM,%EM", "maskmovdqu %GX,%EX", 0, 0 },
|
||||
/* 0xF8 */ { 0,0,0,0 }, /* 0xF9 */ { 0,0,0,0 }, /* 0xFA */ { 0,0,0,0 }, /* 0xFB */ { 0,0,0,0 },
|
||||
/* 0xFC */ { 0,0,0,0 }, /* 0xFD */ { 0,0,0,0 }, /* 0xFE */ { 0,0,0,0 }, /* 0xFF */ { 0,0,0,0 }
|
||||
/* 0xF0 */ NULLPTRS, /* 0xF1 */ NULLPTRS, /* 0xF2 */ NULLPTRS, /* 0xF3 */ NULLPTRS,
|
||||
/* 0xF4 */ NULLPTRS,
|
||||
/* 0xF5 */ NULLPTRS,
|
||||
/* 0xF6 */ { "psadbw %GM,%EM", "psadbw %GX,%EX", nullptr, nullptr },
|
||||
/* 0xF7 */ { "maskmovq %GM,%EM", "maskmovdqu %GX,%EX", nullptr, nullptr },
|
||||
/* 0xF8 */ NULLPTRS, /* 0xF9 */ NULLPTRS, /* 0xFA */ NULLPTRS, /* 0xFB */ NULLPTRS,
|
||||
/* 0xFC */ NULLPTRS, /* 0xFD */ NULLPTRS, /* 0xFE */ NULLPTRS, /* 0xFF */ NULLPTRS
|
||||
}
|
||||
};
|
||||
#undef NULLPTRS
|
||||
|
||||
static char const *groups[][8] = { /* group 0 is group 3 for %Ev set */
|
||||
/* 0 */
|
||||
@ -507,56 +509,61 @@ static char const *groups[][8] = { /* group 0 is group 3 for %Ev set */
|
||||
{ "test %Eq,%Iq", "test %Eq,%Iq", "not %Ec", "neg %Ec",
|
||||
"mul %Ec", "imul %Ec", "div %Ec", "idiv %Ec" },
|
||||
/* 3 */
|
||||
{ "inc %Eb", "dec %Eb", 0, 0,
|
||||
0, 0, 0, "callback %Iw" },
|
||||
{ "inc %Eb", "dec %Eb", nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, "callback %Iw" },
|
||||
/* 4 */
|
||||
{ "inc %Ev", "dec %Ev", "call %Kn%Ev", "call %Kf%Ep",
|
||||
"jmp %Kn%Ev", "jmp %Kf%Ep", "push %Ev", 0 },
|
||||
"jmp %Kn%Ev", "jmp %Kf%Ep", "push %Ev", nullptr },
|
||||
/* 5 */
|
||||
{ "sldt %Ew", "str %Ew", "lldt %Ew", "ltr %Ew",
|
||||
"verr %Ew", "verw %Ew", 0, 0 },
|
||||
"verr %Ew", "verw %Ew", nullptr, nullptr },
|
||||
/* 6 */
|
||||
{ "sgdt %Ms", "sidt %Ms", "lgdt %Ms", "lidt %Ms",
|
||||
"smsw %Ew", 0, "lmsw %Ew", "invlpg" },
|
||||
"smsw %Ew", nullptr, "lmsw %Ew", "invlpg" },
|
||||
/* 7 */
|
||||
{ 0, 0, 0, 0,
|
||||
{ nullptr, nullptr, nullptr, nullptr,
|
||||
"bt", "bts", "btr", "btc" },
|
||||
/* 8 */
|
||||
{ 0, "cmpxchg8b %EQ", 0, 0,
|
||||
0, 0, 0, 0 },
|
||||
{ nullptr, "cmpxchg8b %EQ", nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr },
|
||||
/* 9 */
|
||||
{ 0, 0, "psrlq %EM,%Ib", 0,
|
||||
0, 0, "psllq %EM,%Ib", 0 },
|
||||
{ nullptr, nullptr, "psrlq %EM,%Ib", nullptr,
|
||||
nullptr, nullptr, "psllq %EM,%Ib", nullptr },
|
||||
/* : (NTS: this is '0'+10 in ASCII) */
|
||||
{ 0, 0, "psrld %EM,%Ib", 0,
|
||||
"psrad %EM,%Ib", 0, "pslld %EM,%Ib", 0 },
|
||||
{ nullptr, nullptr, "psrld %EM,%Ib", nullptr,
|
||||
"psrad %EM,%Ib", nullptr, "pslld %EM,%Ib", nullptr },
|
||||
/* ; (NTS: this is '0'+11 in ASCII) */
|
||||
{ 0, 0, "psrlw %EM,%Ib", 0,
|
||||
"psraw %EM,%Ib", 0, "psllw %EM,%Ib", 0 },
|
||||
{ nullptr, nullptr, "psrlw %EM,%Ib", nullptr,
|
||||
"psraw %EM,%Ib", nullptr, "psllw %EM,%Ib", nullptr },
|
||||
/* < (NTS: this is '0'+12 in ASCII) */
|
||||
{ "fxsave %EM", "fxrstor %EM", "ldmxcsr %EM", "stmxcsr %EM",
|
||||
0, 0, 0, "sfence" },
|
||||
nullptr, nullptr, nullptr, "sfence" },
|
||||
/* = (NTS: this is '0'+13 in ASCII) */
|
||||
{ "prefetchnta %EM","prefetch0 %EM", "prefetch1 %EM", "prefetch2 %EM",
|
||||
0, 0, 0, 0 }
|
||||
nullptr, nullptr, nullptr, nullptr }
|
||||
};
|
||||
|
||||
/* zero here means invalid. If first entry starts with '*', use st(i) */
|
||||
/* no assumed %EFs here. Indexed by RM(modrm()) */
|
||||
static char const *f0[] = { 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
static char const *f0[] = { nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr,};
|
||||
static char const *fop_8[] = { "*fld st,%GF" };
|
||||
static char const *fop_9[] = { "*fxch st,%GF" };
|
||||
static char const *fop_10[] = { "fnop", 0, 0, 0, 0, 0, 0, 0 };
|
||||
static char const *fop_10[] = { "fnop", nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr };
|
||||
static char const *fop_11[] = { "*fstp st,%GF" };
|
||||
static char const *fop_12[] = { "fchs", "fabs", 0, 0, "ftst", "fxam", 0, 0 };
|
||||
static char const *fop_12[] = { "fchs", "fabs", nullptr, nullptr,
|
||||
"ftst", "fxam", nullptr, nullptr };
|
||||
static char const *fop_13[] = { "fld1", "fldl2t", "fldl2e", "fldpi",
|
||||
"fldlg2", "fldln2", "fldz", 0 };
|
||||
"fldlg2", "fldln2", "fldz", nullptr };
|
||||
static char const *fop_14[] = { "f2xm1", "fyl2x", "fptan", "fpatan",
|
||||
"fxtract", "fprem1", "fdecstp", "fincstp" };
|
||||
"fxtract", "fprem1", "fdecstp", "fincstp" };
|
||||
static char const *fop_15[] = { "fprem", "fyl2xp1", "fsqrt", "fsincos",
|
||||
"frndint", "fscale", "fsin", "fcos" };
|
||||
static char const *fop_21[] = { 0, "fucompp", 0, 0, 0, 0, 0, 0 };
|
||||
static char const *fop_28[] = { "[fneni]", "[fndisi]", "fclex", "finit", "[fnsetpm]", "[frstpm]", 0, 0 };
|
||||
"frndint", "fscale", "fsin", "fcos" };
|
||||
static char const *fop_21[] = { nullptr, "fucompp", nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr };
|
||||
static char const *fop_28[] = { "[fneni]", "[fndisi]", "fclex", "finit",
|
||||
"[fnsetpm]", "[frstpm]", nullptr, nullptr };
|
||||
static char const* fop_29[] = { "*fucomi %GF" };
|
||||
static char const* fop_30[] = { "*fcomi %GF" };
|
||||
static char const *fop_32[] = { "*fadd %GF,st" };
|
||||
@ -576,7 +583,8 @@ static char const *fop_45[] = { "*fucomp %GF" };
|
||||
static char const *fop_48[] = { "*faddp %GF,st" };
|
||||
static char const *fop_49[] = { "*fmulp %GF,st" };
|
||||
static char const *fop_50[] = { "*fcomp %GF,st" };
|
||||
static char const *fop_51[] = { 0, "fcompp", 0, 0, 0, 0, 0, 0 };
|
||||
static char const *fop_51[] = { nullptr, "fcompp", nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr };
|
||||
static char const *fop_52[] = { "*fsubrp %GF,st" };
|
||||
static char const *fop_53[] = { "*fsubp %GF,st" };
|
||||
static char const *fop_54[] = { "*fdivrp %GF,st" };
|
||||
@ -585,12 +593,13 @@ static char const *fop_56[] = { "*ffreep %GF" };
|
||||
static char const *fop_57[] = { "*fxch %GF" };
|
||||
static char const *fop_58[] = { "*fstp %GF" };
|
||||
static char const *fop_59[] = { "*fstp %GF" };
|
||||
static char const *fop_60[] = { "fstsw ax", 0, 0, 0, 0, 0, 0, 0 };
|
||||
static char const *fop_60[] = { "fstsw ax", nullptr, nullptr, nullptr,
|
||||
nullptr, nullptr, nullptr, nullptr };
|
||||
static char const* fop_61[] = { "*fucomip %GF" };
|
||||
static char const* fop_62[] = { "*fcomip %GF" };
|
||||
|
||||
static char const **fspecial[] = { /* 0=use st(i), 1=undefined 0 in fop_* means undefined */
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
fop_8, fop_9, fop_10, fop_11, fop_12, fop_13, fop_14, fop_15,
|
||||
f0, f0, f0, f0, f0, fop_21, f0, f0,
|
||||
f0, f0, f0, f0, fop_28, fop_29, fop_30, f0,
|
||||
@ -603,16 +612,16 @@ static char const **fspecial[] = { /* 0=use st(i), 1=undefined 0 in fop_* means
|
||||
static const char *floatops[] = { /* assumed " %EF" at end of each. mod != 3 only */
|
||||
/*00*/ "fadd", "fmul", "fcom", "fcomp",
|
||||
"fsub", "fsubr", "fdiv", "fdivr",
|
||||
/*08*/ "fld", 0, "fst", "fstp",
|
||||
/*08*/ "fld", nullptr, "fst", "fstp",
|
||||
"fldenv", "fldcw", "fstenv", "fstcw",
|
||||
/*16*/ "fiadd", "fimul", "ficom", "ficomp",
|
||||
"fisub", "fisubr", "fidiv", "fidivr",
|
||||
/*24*/ "fild", "fisttp", "fist", "fistp",
|
||||
0, "fldt", 0, "fstpt",
|
||||
nullptr, "fldt", nullptr, "fstpt",
|
||||
/*32*/ "faddq", "fmulq", "fcomq", "fcompq",
|
||||
"fsubq", "fsubrq", "fdivq", "fdivrq",
|
||||
/*40*/ "fldq", "fisttpq", "fstq", "fstpq",
|
||||
"frstor", 0, "fsave", "fstsw",
|
||||
"frstor", nullptr, "fsave", "fstsw",
|
||||
/*48*/ "fiaddw", "fimulw", "ficomw", "ficompw",
|
||||
"fisubw", "fisubrw", "fidivw", "fidivrw",
|
||||
/*56*/ "fildw", "fisttpw", "fistw", "fistpw",
|
||||
@ -1276,7 +1285,7 @@ static void ua_str(char const *str)
|
||||
{
|
||||
char c;
|
||||
|
||||
if (str == 0) {
|
||||
if (!str) {
|
||||
invalid_opcode = 1;
|
||||
uprintf("?");
|
||||
return;
|
||||
|
@ -56,7 +56,7 @@ bool logBuffSuppressConsoleNeedUpdate = false;
|
||||
int debuggerrun = 0;
|
||||
int log_dev_con = 0;
|
||||
|
||||
_LogGroup loggrp[LOG_MAX]={{"",LOG_NORMAL},{0,LOG_NORMAL}};
|
||||
_LogGroup loggrp[LOG_MAX]={{"",LOG_NORMAL},{nullptr,LOG_NORMAL}};
|
||||
FILE* debuglog = NULL;
|
||||
|
||||
#if C_DEBUG
|
||||
@ -899,7 +899,7 @@ void LOG::Init() {
|
||||
}
|
||||
else {
|
||||
LOG_MSG("Logging: No logfile was given. All further logging will be discarded.");
|
||||
debuglog=0;
|
||||
debuglog=nullptr;
|
||||
}
|
||||
if (control->opt_nolog && !control->opt_test) {
|
||||
// If the user says no log, that means NO LOGGING AT ALL. [https://github.com/joncampbell123/dosbox-x/issues/4405]
|
||||
@ -1000,7 +1000,7 @@ void LOG::SetupConfigSection(void) {
|
||||
"fatal",
|
||||
"never", /* <- this means NEVER EVER log anything */
|
||||
|
||||
0};
|
||||
nullptr};
|
||||
|
||||
/* Register the log section */
|
||||
Section_prop * sect=control->AddSection_prop("log",Null_Init);
|
||||
@ -1026,7 +1026,7 @@ void LOG::SetupConfigSection(void) {
|
||||
Pbool = sect->Add_bool("fileio",Property::Changeable::Always,false);
|
||||
Pbool->Set_help("Log file I/O through INT 21h");
|
||||
|
||||
const char* debuggerrunopt[] = { "debugger", "normal", "watch", 0};
|
||||
const char* debuggerrunopt[] = { "debugger", "normal", "watch", nullptr };
|
||||
Pstring = sect->Add_string("debuggerrun",Property::Changeable::OnlyAtStart,"debugger");
|
||||
Pstring->Set_help("The run mode when the DOSBox-X Debugger starts.");
|
||||
Pstring->Set_values(debuggerrunopt);
|
||||
|
@ -60,7 +60,7 @@ CDROM_Interface_SDL::CDROM_Interface_SDL(void) {
|
||||
CDROM_Interface_SDL::~CDROM_Interface_SDL(void) {
|
||||
CDROM_Interface_SDL::StopAudio();
|
||||
SDL_CDClose(cd);
|
||||
cd = 0;
|
||||
cd = nullptr;
|
||||
}
|
||||
|
||||
bool CDROM_Interface_SDL::SetDevice(char* path, int forceCD) {
|
||||
|
@ -5063,7 +5063,7 @@ void DOS_Int21_7143(char *name1, const char *name2) {
|
||||
if (DOS_GetFileAttrEx(name1, &status)) {
|
||||
const struct tm * ltime;
|
||||
time_t ttime=reg_bl==0x04?status.st_mtime:reg_bl==0x06?status.st_atime:status.st_ctime;
|
||||
if ((ltime=localtime(&ttime))!=0) {
|
||||
if ((ltime=localtime(&ttime))!=nullptr) {
|
||||
reg_cx=DOS_PackTime((uint16_t)ltime->tm_hour,(uint16_t)ltime->tm_min,(uint16_t)ltime->tm_sec);
|
||||
reg_di=DOS_PackDate((uint16_t)(ltime->tm_year+1900),(uint16_t)(ltime->tm_mon+1),(uint16_t)ltime->tm_mday);
|
||||
}
|
||||
@ -5345,7 +5345,7 @@ void DOS_Int21_71a1(const char *name1, const char *name2) {
|
||||
if (entry>0&&entry!=0xff) psp.SetFileHandle(entry,0xff);
|
||||
if (entry>0&&Files[handle]->RemoveRef()<=0) {
|
||||
delete Files[handle];
|
||||
Files[handle]=0;
|
||||
Files[handle]=nullptr;
|
||||
}
|
||||
reg_ax=0;
|
||||
CALLBACK_SCF(false);
|
||||
|
@ -682,7 +682,7 @@ DOS_File& DOS_File::operator= (const DOS_File& orig) {
|
||||
drive = orig.drive;
|
||||
newtime = orig.newtime;
|
||||
if (name) {
|
||||
delete[] name; name = 0;
|
||||
delete[] name; name = nullptr;
|
||||
}
|
||||
if (orig.name) {
|
||||
name = new char[strlen(orig.name) + 1]; strcpy(name, orig.name);
|
||||
@ -743,7 +743,7 @@ uint8_t DOS_FindDevice(char const * name) {
|
||||
return index;
|
||||
} else {
|
||||
delete Devices[index];
|
||||
Devices[index] = 0;
|
||||
Devices[index] = nullptr;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -821,7 +821,7 @@ void DOS_DelDevice(DOS_Device * dev) {
|
||||
if (!strcmp(Devices[i]->name, dev->name)) {
|
||||
// LOG_MSG("DOS_DelDevice() %s (%p)",dev->name,(void*)dev);
|
||||
delete Devices[i];
|
||||
Devices[i] = 0;
|
||||
Devices[i] = nullptr;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -348,7 +348,7 @@ bool DOS_GetSFNPath(char const * const path,char * SFNPath,bool LFN) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (p != 0) {
|
||||
if (p) {
|
||||
sprintf(pdir,"\"%s%s\"",SFNPath,p);
|
||||
lfn_filefind_handle=LFN_FILEFIND_INTERNAL;
|
||||
if (!strrchr(p,'*')&&!strrchr(p,'?')&&DOS_FindFirst(pdir,0xffff & ~DOS_ATTR_VOLUME,false)) {
|
||||
@ -766,7 +766,7 @@ bool DOS_CloseFile(uint16_t entry, bool fcb, uint8_t * refcnt) {
|
||||
Bits refs=Files[handle]->RemoveRef();
|
||||
if (refs<=0) {
|
||||
delete Files[handle];
|
||||
Files[handle]=0;
|
||||
Files[handle]=nullptr;
|
||||
}
|
||||
if (refcnt!=NULL) *refcnt=static_cast<uint8_t>(refs+1);
|
||||
return true;
|
||||
@ -2060,12 +2060,12 @@ void DOS_SetupFiles (void) {
|
||||
Files = new DOS_File * [DOS_FILES];
|
||||
uint32_t i;
|
||||
for (i=0;i<DOS_FILES;i++) {
|
||||
Files[i]=0;
|
||||
Files[i]=nullptr;
|
||||
}
|
||||
/* Setup the Virtual Disk System */
|
||||
for (i=0;i<DOS_DRIVES;i++) {
|
||||
if (Drives[i]) DriveManager::UnmountDrive(i);
|
||||
Drives[i]=0;
|
||||
Drives[i]=nullptr;
|
||||
}
|
||||
for (int i=0; i<MAX_DISK_IMAGES; i++) {
|
||||
if (imageDiskList[i]) {
|
||||
@ -2194,7 +2194,7 @@ void POD_Save_DOS_Files( std::ostream& stream )
|
||||
uint8_t drive_valid;
|
||||
|
||||
drive_valid = 0;
|
||||
if( Drives[lcv] == 0 ) drive_valid = 0xff;
|
||||
if(!Drives[lcv]) drive_valid = 0xff;
|
||||
|
||||
//**********************************************
|
||||
//**********************************************
|
||||
@ -2303,7 +2303,7 @@ void POD_Save_DOS_Files( std::ostream& stream )
|
||||
int lcv=i<DOS_DRIVES?i:i-DOS_DRIVES;
|
||||
uint8_t drive_valid;
|
||||
drive_valid = 0;
|
||||
if( Drives[lcv] == 0 ) drive_valid = 0xff;
|
||||
if(!Drives[lcv]) drive_valid = 0xff;
|
||||
WRITE_POD( &drive_valid, drive_valid );
|
||||
if( drive_valid == 0xff ) continue;
|
||||
strcpy(dinfo, Drives[lcv]->GetInfo());
|
||||
@ -2355,7 +2355,7 @@ void unmount(int lcv) {
|
||||
const isoDrive* cdrom = dynamic_cast<isoDrive*>(Drives[lcv]);
|
||||
if (DriveManager::UnmountDrive(lcv) == 0) {
|
||||
if (cdrom) IDE_CDROM_Detach(lcv);
|
||||
Drives[lcv]=0;
|
||||
Drives[lcv]=nullptr;
|
||||
DOS_EnableDriveMenu('A'+lcv);
|
||||
mem_writeb(Real2Phys(dos.tables.mediaid)+lcv*dos.tables.dpb_size,0);
|
||||
}
|
||||
@ -2371,7 +2371,7 @@ void POD_Load_DOS_Files( std::istream& stream )
|
||||
if (!dos_kernel_disabled) {
|
||||
if (ZDRIVE_CUR != ZDRIVE_NUM) {
|
||||
Drives[ZDRIVE_NUM] = Drives[ZDRIVE_CUR];
|
||||
Drives[ZDRIVE_CUR] = 0;
|
||||
Drives[ZDRIVE_CUR] = nullptr;
|
||||
}
|
||||
// 1. Do drives first (directories -> files)
|
||||
// 2. Then files next
|
||||
@ -2529,7 +2529,7 @@ void POD_Load_DOS_Files( std::istream& stream )
|
||||
if (Files[lcv]->RemoveRef()<=0) {
|
||||
delete Files[lcv];
|
||||
}
|
||||
Files[lcv]=0;
|
||||
Files[lcv]=nullptr;
|
||||
}
|
||||
|
||||
// ignore NULL file
|
||||
|
@ -59,7 +59,7 @@ static FILE* OpenDosboxFile(const char* name) {
|
||||
uint8_t drive;
|
||||
char fullname[DOS_PATHLENGTH];
|
||||
|
||||
localDrive* ldp=0;
|
||||
localDrive* ldp=nullptr;
|
||||
// try to build dos name
|
||||
if (DOS_MakeName(name,fullname,&drive)) {
|
||||
try {
|
||||
@ -168,7 +168,7 @@ void keyboard_layout::read_keyboard_file(int32_t specific_layout) {
|
||||
|
||||
static uint32_t read_kcl_file(const char* kcl_file_name, const char* layout_id, bool first_id_only) {
|
||||
FILE* tempfile = OpenDosboxFile(kcl_file_name);
|
||||
if (tempfile==0) return 0;
|
||||
if (!tempfile) return 0;
|
||||
|
||||
static uint8_t rbuf[8192];
|
||||
|
||||
|
@ -166,7 +166,7 @@ CMscdex::CMscdex(const char *_name) {
|
||||
assert(_name != NULL);
|
||||
assert(strlen(_name) <= 8);
|
||||
memset(dinfo,0,sizeof(dinfo));
|
||||
for (uint32_t i=0; i<MSCDEX_MAX_DRIVES; i++) cdrom[i] = 0;
|
||||
for (uint32_t i=0; i<MSCDEX_MAX_DRIVES; i++) cdrom[i] = nullptr;
|
||||
name = new char[strlen(_name)+1];
|
||||
strcpy(name,_name);
|
||||
}
|
||||
@ -176,7 +176,7 @@ CMscdex::~CMscdex(void) {
|
||||
defaultBufSeg = 0;
|
||||
for (uint16_t i=0; i<GetNumDrives(); i++) {
|
||||
delete cdrom[i];
|
||||
cdrom[i] = 0;
|
||||
cdrom[i] = nullptr;
|
||||
}
|
||||
delete[] name;
|
||||
}
|
||||
@ -215,7 +215,7 @@ int CMscdex::RemoveDrive(uint16_t _drive)
|
||||
if (idx==0) {
|
||||
for (uint16_t i=0; i<GetNumDrives(); i++) {
|
||||
if (i == MSCDEX_MAX_DRIVES-1) {
|
||||
cdrom[i] = 0;
|
||||
cdrom[i] = nullptr;
|
||||
memset(&dinfo[i],0,sizeof(TDriveInfo));
|
||||
} else {
|
||||
dinfo[i] = dinfo[i+1];
|
||||
@ -223,7 +223,7 @@ int CMscdex::RemoveDrive(uint16_t _drive)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
cdrom[idx] = 0;
|
||||
cdrom[idx] = nullptr;
|
||||
memset(&dinfo[idx],0,sizeof(TDriveInfo));
|
||||
}
|
||||
numDrives--;
|
||||
@ -935,7 +935,7 @@ bool CMscdex::GetChannelControl(uint8_t subUnit, TCtrl& ctrl) {
|
||||
return true;
|
||||
}
|
||||
|
||||
static CMscdex* mscdex = 0;
|
||||
static CMscdex* mscdex = nullptr;
|
||||
static PhysPt curReqheaderPtr = 0;
|
||||
|
||||
bool GetMSCDEXDrive(unsigned char drive_letter,CDROM_Interface **_cdrom) {
|
||||
@ -1632,7 +1632,7 @@ void POD_Load_DOS_Mscdex( std::istream& stream )
|
||||
mscdex->numDrives=dnum;
|
||||
for (uint16_t i=dnum; i<mscdex->GetNumDrives(); i++) {
|
||||
delete mscdex->cdrom[i];
|
||||
mscdex->cdrom[i] = 0;
|
||||
mscdex->cdrom[i] = nullptr;
|
||||
}
|
||||
}
|
||||
for (uint8_t drive_unit=0; drive_unit<dnum; drive_unit++) {
|
||||
|
@ -264,7 +264,7 @@ static const char* UnmountHelper(char umount) {
|
||||
}
|
||||
if (image && !partitionMount) DetachFromBios(image);
|
||||
if (cdrom) IDE_CDROM_Detach(i_drive);
|
||||
Drives[i_drive] = 0;
|
||||
Drives[i_drive] = nullptr;
|
||||
DOS_EnableDriveMenu(i_drive+'A');
|
||||
mem_writeb(Real2Phys(dos.tables.mediaid)+(unsigned int)i_drive*dos.tables.dpb_size,0);
|
||||
if (i_drive == DOS_GetDefaultDrive())
|
||||
@ -962,7 +962,7 @@ public:
|
||||
}
|
||||
/* remap drives */
|
||||
Drives[i_newz] = Drives[ZDRIVE_NUM];
|
||||
Drives[ZDRIVE_NUM] = 0;
|
||||
Drives[ZDRIVE_NUM] = nullptr;
|
||||
DOS_EnableDriveMenu(i_newz + 'A');
|
||||
DOS_EnableDriveMenu(ZDRIVE_NUM + 'A');
|
||||
if (!first_shell) return; //Should not be possible
|
||||
@ -1550,7 +1550,7 @@ public:
|
||||
WriteOut("Existing overlay has been replaced with new overlay.\n");
|
||||
}
|
||||
delete Drives[drive-'A'];
|
||||
Drives[drive-'A'] = 0;
|
||||
Drives[drive-'A'] = nullptr;
|
||||
}
|
||||
} else {
|
||||
if (!quiet) WriteOut(MSG_Get("PROGRAM_MOUNT_OVERLAY_ERROR"));
|
||||
@ -1820,7 +1820,7 @@ private:
|
||||
uint8_t drive;
|
||||
char fullname[DOS_PATHLENGTH];
|
||||
|
||||
localDrive* ldp=0;
|
||||
localDrive* ldp=nullptr;
|
||||
bool readonly=wpcolon&&strlen(filename)>1&&filename[0]==':';
|
||||
if (!DOS_MakeName(readonly?filename+1:filename,fullname,&drive)) return NULL;
|
||||
|
||||
@ -3151,7 +3151,7 @@ public:
|
||||
|
||||
uint8_t drive;
|
||||
char fullname[DOS_PATHLENGTH];
|
||||
localDrive* ldp=0;
|
||||
localDrive* ldp=nullptr;
|
||||
if (!DOS_MakeName(temp_line.c_str(),fullname,&drive)) return;
|
||||
|
||||
try {
|
||||
@ -3232,7 +3232,7 @@ public:
|
||||
|
||||
uint8_t drive;
|
||||
char fullname[DOS_PATHLENGTH];
|
||||
localDrive* ldp = 0;
|
||||
localDrive* ldp = nullptr;
|
||||
if (!DOS_MakeName(temp_line.c_str(), fullname, &drive)) return;
|
||||
|
||||
try {
|
||||
@ -6687,7 +6687,7 @@ class IMGMOUNT : public Program {
|
||||
|
||||
imageDisk* MountImageNone(const char* fileName, FILE* file, const Bitu sizesOriginal[], const int reserved_cylinders, bool roflag) {
|
||||
bool assumeHardDisk = false;
|
||||
imageDisk* newImage = 0;
|
||||
imageDisk* newImage = nullptr;
|
||||
Bitu sizes[4];
|
||||
sizes[0] = sizesOriginal[0];
|
||||
sizes[1] = sizesOriginal[1];
|
||||
@ -6754,7 +6754,7 @@ class IMGMOUNT : public Program {
|
||||
uint32_t cluster_size = 1u << qcow2_header.cluster_bits;
|
||||
if ((sizes[0] < 512) || ((cluster_size % sizes[0]) != 0)) {
|
||||
WriteOut("Sector size must be larger than 512 bytes and evenly divide the image cluster size of %lu bytes.\n", cluster_size);
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
sectors = (uint64_t)qcow2_header.size / (uint64_t)sizes[0];
|
||||
imagesize = (uint32_t)(qcow2_header.size / 1024L);
|
||||
@ -9121,13 +9121,13 @@ static void FLAGSAVE_ProgramStart(Program** make)
|
||||
}
|
||||
|
||||
void Add_VFiles(bool usecp) {
|
||||
VFILE_Register("TEXTUTIL", 0, 0, "/");
|
||||
VFILE_Register("SYSTEM", 0, 0, "/");
|
||||
VFILE_Register("DEBUG", 0, 0, "/");
|
||||
VFILE_Register("DOS", 0, 0, "/");
|
||||
VFILE_Register("CPI", 0, 0, "/");
|
||||
VFILE_Register("BIN", 0, 0, "/");
|
||||
VFILE_Register("4DOS", 0, 0, "/");
|
||||
VFILE_Register("TEXTUTIL", nullptr, 0, "/");
|
||||
VFILE_Register("SYSTEM", nullptr, 0, "/");
|
||||
VFILE_Register("DEBUG", nullptr, 0, "/");
|
||||
VFILE_Register("DOS", nullptr, 0, "/");
|
||||
VFILE_Register("CPI", nullptr, 0, "/");
|
||||
VFILE_Register("BIN", nullptr, 0, "/");
|
||||
VFILE_Register("4DOS", nullptr, 0, "/");
|
||||
|
||||
std::string dirname="drivez";
|
||||
std::string path = ".";
|
||||
|
@ -65,24 +65,24 @@ bool SortByDirNameRev(DOS_Drive_Cache::CFileInfo* const &a, DOS_Drive_Cache::CFi
|
||||
|
||||
DOS_Drive_Cache::DOS_Drive_Cache(void) {
|
||||
dirBase = new CFileInfo;
|
||||
save_dir = 0;
|
||||
save_dir = nullptr;
|
||||
srchNr = 0;
|
||||
label[0] = 0;
|
||||
basePath[0] = 0;
|
||||
nextFreeFindFirst = 0;
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) { dirSearch[i] = 0; dirFindFirst[i] = 0; }
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) { dirSearch[i] = nullptr; dirFindFirst[i] = nullptr; }
|
||||
SetDirSort(DIRALPHABETICAL);
|
||||
updatelabel = true;
|
||||
}
|
||||
|
||||
DOS_Drive_Cache::DOS_Drive_Cache(const char* path, DOS_Drive *drive) {
|
||||
dirBase = new CFileInfo;
|
||||
save_dir = 0;
|
||||
save_dir = nullptr;
|
||||
srchNr = 0;
|
||||
label[0] = 0;
|
||||
basePath[0] = 0;
|
||||
nextFreeFindFirst = 0;
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) { dirSearch[i] = 0; dirFindFirst[i] = 0; }
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) { dirSearch[i] = nullptr; dirFindFirst[i] = nullptr; }
|
||||
SetDirSort(DIRALPHABETICAL);
|
||||
SetBaseDir(path,drive);
|
||||
updatelabel = true;
|
||||
@ -90,20 +90,20 @@ DOS_Drive_Cache::DOS_Drive_Cache(const char* path, DOS_Drive *drive) {
|
||||
|
||||
DOS_Drive_Cache::~DOS_Drive_Cache(void) {
|
||||
Clear();
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) { DeleteFileInfo(dirFindFirst[i]); dirFindFirst[i]=0; }
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) { DeleteFileInfo(dirFindFirst[i]); dirFindFirst[i]=nullptr; }
|
||||
}
|
||||
|
||||
void DOS_Drive_Cache::Clear(void) {
|
||||
DeleteFileInfo(dirBase); dirBase = 0;
|
||||
DeleteFileInfo(dirBase); dirBase = nullptr;
|
||||
nextFreeFindFirst = 0;
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) dirSearch[i] = 0;
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) dirSearch[i] = nullptr;
|
||||
}
|
||||
|
||||
void DOS_Drive_Cache::EmptyCache(void) {
|
||||
// Empty Cache and reinit
|
||||
Clear();
|
||||
dirBase = new CFileInfo;
|
||||
save_dir = 0;
|
||||
save_dir = nullptr;
|
||||
srchNr = 0;
|
||||
if (basePath[0] != 0) SetBaseDir(basePath,drive);
|
||||
}
|
||||
@ -140,7 +140,7 @@ void DOS_Drive_Cache::SetBaseDir(const char* baseDir, DOS_Drive *drive) {
|
||||
if (basePath != baseDir) strcpy(basePath,baseDir); /* NTS: pointer check because Valgrind says this was called with basePath == baseDir */
|
||||
this->drive = drive;
|
||||
if (OpenDir(baseDir,id)) {
|
||||
char* result = 0, *lresult = 0;
|
||||
char* result = nullptr, *lresult = nullptr;
|
||||
ReadDir(id,result,lresult);
|
||||
}
|
||||
// Get Volume Label
|
||||
@ -357,18 +357,18 @@ void DOS_Drive_Cache::CacheOut(const char* path, bool ignoreLastDir) {
|
||||
// LOG_DEBUG("DIR: Caching out %s : dir %s",expand,dir->orgname);
|
||||
// clear cache first?
|
||||
for (uint32_t i=0; i<MAX_OPENDIRS; i++) {
|
||||
dirSearch[i] = 0; //free[i] = true;
|
||||
dirSearch[i] = nullptr; //free[i] = true;
|
||||
}
|
||||
// delete file objects...
|
||||
//Maybe check if it is a file and then only delete the file and possibly the long name. instead of all objects in the dir.
|
||||
for(uint32_t i=0; i<dir->fileList.size(); i++) {
|
||||
if (dirSearch[srchNr]==dir->fileList[i]) dirSearch[srchNr] = 0;
|
||||
DeleteFileInfo(dir->fileList[i]); dir->fileList[i] = 0;
|
||||
if (dirSearch[srchNr]==dir->fileList[i]) dirSearch[srchNr] = nullptr;
|
||||
DeleteFileInfo(dir->fileList[i]); dir->fileList[i] = nullptr;
|
||||
}
|
||||
// clear lists
|
||||
dir->fileList.clear();
|
||||
dir->longNameList.clear();
|
||||
save_dir = 0;
|
||||
save_dir = nullptr;
|
||||
}
|
||||
|
||||
bool DOS_Drive_Cache::IsCachedIn(CFileInfo* curDir) {
|
||||
@ -724,13 +724,13 @@ DOS_Drive_Cache::CFileInfo* DOS_Drive_Cache::FindDirInfo(const char* path, char*
|
||||
strcpy(work,basePath);
|
||||
if (OpenDir(curDir,work,id)) {
|
||||
char buffer[CROSS_LEN];
|
||||
char *result = 0, *lresult = 0;
|
||||
char *result = nullptr, *lresult = nullptr;
|
||||
strcpy(buffer,dirPath);
|
||||
ReadDir(id,result,lresult);
|
||||
strcpy(dirPath,buffer);
|
||||
if (dirSearch[id]) {
|
||||
dirSearch[id]->id = MAX_OPENDIRS;
|
||||
dirSearch[id] = 0;
|
||||
dirSearch[id] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -757,13 +757,13 @@ DOS_Drive_Cache::CFileInfo* DOS_Drive_Cache::FindDirInfo(const char* path, char*
|
||||
if (!IsCachedIn(curDir)) {
|
||||
if (OpenDir(curDir,expandedPath,id)) {
|
||||
char buffer[CROSS_LEN];
|
||||
char *result = 0, *lresult = 0;
|
||||
char *result = nullptr, *lresult = nullptr;
|
||||
strcpy(buffer,dirPath);
|
||||
ReadDir(id,result,lresult);
|
||||
strcpy(dirPath,buffer);
|
||||
if (dirSearch[id]) {
|
||||
dirSearch[id]->id = MAX_OPENDIRS;
|
||||
dirSearch[id] = 0;
|
||||
dirSearch[id] = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -818,7 +818,7 @@ bool DOS_Drive_Cache::OpenDir(CFileInfo* dir, const char* expand, uint16_t& id)
|
||||
}
|
||||
if (dirSearch[id]) {
|
||||
dirSearch[id]->id = MAX_OPENDIRS;
|
||||
dirSearch[id] = 0;
|
||||
dirSearch[id] = nullptr;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
@ -883,7 +883,7 @@ bool DOS_Drive_Cache::ReadDir(uint16_t id, char* &result, char * &lresult) {
|
||||
if (!dirp) {
|
||||
if (dirSearch[id]) {
|
||||
dirSearch[id]->id = MAX_OPENDIRS;
|
||||
dirSearch[id] = 0;
|
||||
dirSearch[id] = nullptr;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -913,7 +913,7 @@ bool DOS_Drive_Cache::ReadDir(uint16_t id, char* &result, char * &lresult) {
|
||||
if (SetResult(dirSearch[id], result, lresult, dirSearch[id]->nextEntry)) return true;
|
||||
if (dirSearch[id]) {
|
||||
dirSearch[id]->id = MAX_OPENDIRS;
|
||||
dirSearch[id] = 0;
|
||||
dirSearch[id] = nullptr;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -946,7 +946,7 @@ bool DOS_Drive_Cache::FindFirst(char* path, uint16_t& id) {
|
||||
//If the next one isn't free, move on to the next, if none is free => reset and assume the worst
|
||||
uint16_t local_findcounter = 0;
|
||||
while ( local_findcounter < MAX_OPENDIRS ) {
|
||||
if (dirFindFirst[this->nextFreeFindFirst] == 0) break;
|
||||
if (!dirFindFirst[this->nextFreeFindFirst]) break;
|
||||
if (++this->nextFreeFindFirst >= MAX_OPENDIRS) this->nextFreeFindFirst = 0; //Wrap around
|
||||
local_findcounter++;
|
||||
}
|
||||
@ -963,7 +963,7 @@ bool DOS_Drive_Cache::FindFirst(char* path, uint16_t& id) {
|
||||
for(Bitu n=0; n<MAX_OPENDIRS;n++) {
|
||||
// Clear and reuse slot
|
||||
DeleteFileInfo(dirFindFirst[n]);
|
||||
dirFindFirst[n]=0;
|
||||
dirFindFirst[n]=nullptr;
|
||||
}
|
||||
|
||||
}
|
||||
@ -997,7 +997,7 @@ bool DOS_Drive_Cache::FindNext(uint16_t id, char* &result, char* &lresult) {
|
||||
}
|
||||
if (!SetResult(dirFindFirst[id], result, lresult, dirFindFirst[id]->nextEntry)) {
|
||||
// free slot
|
||||
DeleteFileInfo(dirFindFirst[id]); dirFindFirst[id] = 0;
|
||||
DeleteFileInfo(dirFindFirst[id]); dirFindFirst[id] = nullptr;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -1009,7 +1009,7 @@ void DOS_Drive_Cache::ClearFileInfo(CFileInfo *dir) {
|
||||
ClearFileInfo(info);
|
||||
}
|
||||
if (dir->id != MAX_OPENDIRS) {
|
||||
dirSearch[dir->id] = 0;
|
||||
dirSearch[dir->id] = nullptr;
|
||||
dir->id = MAX_OPENDIRS;
|
||||
}
|
||||
}
|
||||
|
@ -1416,7 +1416,7 @@ fatDrive::fatDrive(const char* sysFilename, uint32_t bytesector, uint32_t cylsec
|
||||
}
|
||||
|
||||
fatDrive::fatDrive(imageDisk *sourceLoadedDisk, std::vector<std::string> &options) {
|
||||
if (sourceLoadedDisk == 0) {
|
||||
if (!sourceLoadedDisk) {
|
||||
created_successfully = false;
|
||||
return;
|
||||
}
|
||||
|
@ -1211,11 +1211,11 @@ void drivezRegister(std::string const& path, std::string const& dir, bool usecp)
|
||||
#else
|
||||
localtime
|
||||
#endif
|
||||
(&temp_stat.st_mtime))!=0) {
|
||||
(&temp_stat.st_mtime))!=nullptr) {
|
||||
fztime=DOS_PackTime((uint16_t)ltime->tm_hour,(uint16_t)ltime->tm_min,(uint16_t)ltime->tm_sec);
|
||||
fzdate=DOS_PackDate((uint16_t)(ltime->tm_year+1900),(uint16_t)(ltime->tm_mon+1),(uint16_t)ltime->tm_mday);
|
||||
}
|
||||
VFILE_Register(name.substr(0, name.size()-1).c_str(), 0, 0, dir.c_str());
|
||||
VFILE_Register(name.substr(0, name.size()-1).c_str(), nullptr, 0, dir.c_str());
|
||||
fztime = fzdate = 0;
|
||||
drivezRegister(path+CROSS_FILESPLIT+name.substr(0, name.size()-1), dir+name, usecp);
|
||||
continue;
|
||||
@ -1245,7 +1245,7 @@ void drivezRegister(std::string const& path, std::string const& dir, bool usecp)
|
||||
f_data = NULL;
|
||||
if (f != NULL) {
|
||||
res=fstat(fileno(f),&temp_stat);
|
||||
if (res==0&&(ltime=localtime(&temp_stat.st_mtime))!=0) {
|
||||
if (res==0&&(ltime=localtime(&temp_stat.st_mtime))!=nullptr) {
|
||||
fztime=DOS_PackTime((uint16_t)ltime->tm_hour,(uint16_t)ltime->tm_min,(uint16_t)ltime->tm_sec);
|
||||
fzdate=DOS_PackDate((uint16_t)(ltime->tm_year+1900),(uint16_t)(ltime->tm_mon+1),(uint16_t)ltime->tm_mday);
|
||||
}
|
||||
@ -1869,7 +1869,7 @@ again:
|
||||
#else
|
||||
localtime
|
||||
#endif
|
||||
(&stat_block.st_mtime))!=0){
|
||||
(&stat_block.st_mtime))!=nullptr){
|
||||
find_date=DOS_PackDate((uint16_t)(time->tm_year+1900),(uint16_t)(time->tm_mon+1),(uint16_t)time->tm_mday);
|
||||
find_time=DOS_PackTime((uint16_t)time->tm_hour,(uint16_t)time->tm_min,(uint16_t)time->tm_sec);
|
||||
} else {
|
||||
@ -2535,7 +2535,7 @@ bool localDrive::FileStat(const char* name, FileStat_Block * const stat_block) {
|
||||
#else
|
||||
localtime
|
||||
#endif
|
||||
(&temp_stat.st_mtime))!=0) {
|
||||
(&temp_stat.st_mtime))!=nullptr) {
|
||||
stat_block->time=DOS_PackTime((uint16_t)time->tm_hour,(uint16_t)time->tm_min,(uint16_t)time->tm_sec);
|
||||
stat_block->date=DOS_PackDate((uint16_t)(time->tm_year+1900),(uint16_t)(time->tm_mon+1),(uint16_t)time->tm_mday);
|
||||
}
|
||||
@ -3012,7 +3012,7 @@ bool LocalFile::Close() {
|
||||
// only close if one reference left
|
||||
if (refCtr==1) {
|
||||
if(fhandle) fclose(fhandle);
|
||||
fhandle = 0;
|
||||
fhandle = nullptr;
|
||||
open = false;
|
||||
}
|
||||
|
||||
@ -3037,7 +3037,7 @@ LocalFile::LocalFile(const char* _name, FILE* handle) : fhandle(handle) {
|
||||
attr=DOS_ATTR_ARCHIVE;
|
||||
last_action=NONE;
|
||||
|
||||
name=0;
|
||||
name=nullptr;
|
||||
SetName(_name);
|
||||
}
|
||||
|
||||
@ -3050,7 +3050,7 @@ bool LocalFile::UpdateDateTimeFromHost(void) {
|
||||
struct stat temp_stat;
|
||||
fstat(fileno(fhandle),&temp_stat);
|
||||
const struct tm* ltime;
|
||||
if((ltime=localtime(&temp_stat.st_mtime))!=0) {
|
||||
if((ltime=localtime(&temp_stat.st_mtime))!=nullptr) {
|
||||
time=DOS_PackTime((uint16_t)ltime->tm_hour,(uint16_t)ltime->tm_min,(uint16_t)ltime->tm_sec);
|
||||
date=DOS_PackDate((uint16_t)(ltime->tm_year+1900),(uint16_t)(ltime->tm_mon+1),(uint16_t)ltime->tm_mday);
|
||||
} else {
|
||||
|
@ -722,7 +722,7 @@ bool Overlay_Drive::Sync_leading_dirs(const char* dos_filename){
|
||||
if (!lastdir) return true;
|
||||
|
||||
const char* leaddir = dos_filename;
|
||||
while ( (leaddir=strchr_dbcs((char *)leaddir,'\\')) != 0) {
|
||||
while ((leaddir=strchr_dbcs((char *)leaddir,'\\'))) {
|
||||
char dirname[CROSS_LEN] = {0};
|
||||
strncpy(dirname,dos_filename,leaddir-dos_filename);
|
||||
|
||||
@ -1129,7 +1129,7 @@ again:
|
||||
#else
|
||||
localtime
|
||||
#endif
|
||||
(&stat_block.st_mtime))!=0){
|
||||
(&stat_block.st_mtime))!=nullptr){
|
||||
find_date=DOS_PackDate((uint16_t)(time->tm_year+1900),(uint16_t)(time->tm_mon+1),(uint16_t)time->tm_mday);
|
||||
find_time=DOS_PackTime((uint16_t)time->tm_hour,(uint16_t)time->tm_min,(uint16_t)time->tm_sec);
|
||||
} else {
|
||||
@ -2080,7 +2080,7 @@ bool Overlay_Drive::FileStat(const char* name, FileStat_Block * const stat_block
|
||||
#else
|
||||
localtime
|
||||
#endif
|
||||
(&temp_stat.st_mtime))!=0) {
|
||||
(&temp_stat.st_mtime))!=nullptr) {
|
||||
stat_block->time=DOS_PackTime((uint16_t)time->tm_hour,(uint16_t)time->tm_min,(uint16_t)time->tm_sec);
|
||||
stat_block->date=DOS_PackDate((uint16_t)(time->tm_year+1900),(uint16_t)(time->tm_mon+1),(uint16_t)time->tm_mday);
|
||||
} else {
|
||||
|
@ -198,7 +198,7 @@ bool physfsDrive::FileStat(const char* name, FileStat_Block * const stat_block)
|
||||
time_t mytime = statbuf.modtime;
|
||||
/* Convert the stat to a FileStat */
|
||||
struct tm *time;
|
||||
if((time=localtime(&mytime))!=0) {
|
||||
if((time=localtime(&mytime))!=nullptr) {
|
||||
stat_block->time=DOS_PackTime((uint16_t)time->tm_hour,(uint16_t)time->tm_min,(uint16_t)time->tm_sec);
|
||||
stat_block->date=DOS_PackDate((uint16_t)(time->tm_year+1900),(uint16_t)(time->tm_mon+1),(uint16_t)time->tm_mday);
|
||||
} else {
|
||||
@ -658,7 +658,7 @@ again:
|
||||
find_size=(uint32_t)PHYSFS_fileLength(lfull_name);
|
||||
time_t mytime = statbuf.modtime;
|
||||
struct tm *time;
|
||||
if((time=localtime(&mytime))!=0){
|
||||
if((time=localtime(&mytime))!=nullptr){
|
||||
find_date=DOS_PackDate((uint16_t)(time->tm_year+1900),(uint16_t)(time->tm_mon+1),(uint16_t)time->tm_mday);
|
||||
find_time=DOS_PackTime((uint16_t)time->tm_hour,(uint16_t)time->tm_min,(uint16_t)time->tm_sec);
|
||||
} else {
|
||||
@ -829,7 +829,7 @@ bool physfsFile::Close() {
|
||||
// only close if one reference left
|
||||
if (refCtr==1) {
|
||||
PHYSFS_close(fhandle);
|
||||
fhandle = 0;
|
||||
fhandle = nullptr;
|
||||
open = false;
|
||||
};
|
||||
return true;
|
||||
@ -848,7 +848,7 @@ physfsFile::physfsFile(const char* _name, PHYSFS_file * handle,uint16_t devinfo,
|
||||
time_t mytime = statbuf.modtime;
|
||||
/* Convert the stat to a FileStat */
|
||||
struct tm *time;
|
||||
if((time=localtime(&mytime))!=0) {
|
||||
if((time=localtime(&mytime))!=nullptr) {
|
||||
this->time=DOS_PackTime((uint16_t)time->tm_hour,(uint16_t)time->tm_min,(uint16_t)time->tm_sec);
|
||||
this->date=DOS_PackDate((uint16_t)(time->tm_year+1900),(uint16_t)(time->tm_mon+1),(uint16_t)time->tm_mday);
|
||||
} else {
|
||||
@ -860,7 +860,7 @@ physfsFile::physfsFile(const char* _name, PHYSFS_file * handle,uint16_t devinfo,
|
||||
last_action=(write?WRITE:READ);
|
||||
|
||||
open=true;
|
||||
name=0;
|
||||
name=nullptr;
|
||||
SetName(_name);
|
||||
}
|
||||
|
||||
@ -871,7 +871,7 @@ bool physfsFile::UpdateDateTimeFromHost(void) {
|
||||
time_t mytime = statbuf.modtime;
|
||||
/* Convert the stat to a FileStat */
|
||||
struct tm *time;
|
||||
if((time=localtime(&mytime))!=0) {
|
||||
if((time=localtime(&mytime))!=nullptr) {
|
||||
this->time=DOS_PackTime((uint16_t)time->tm_hour,(uint16_t)time->tm_min,(uint16_t)time->tm_sec);
|
||||
this->date=DOS_PackDate((uint16_t)(time->tm_year+1900),(uint16_t)(time->tm_mon+1),(uint16_t)time->tm_mday);
|
||||
} else {
|
||||
|
@ -179,7 +179,7 @@ char* VFILE_Generate_SFN(const char *name, unsigned int onpos) {
|
||||
if (!found) return sfn;
|
||||
k++;
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void VFILE_Shutdown(void) {
|
||||
@ -378,7 +378,7 @@ uint16_t Virtual_File::GetInformation(void) {
|
||||
|
||||
Virtual_Drive::Virtual_Drive() {
|
||||
strcpy(info,"Internal Virtual Drive");
|
||||
for (int i=0; i<256; i++) {lfn_id[i] = 0;lfn_search[i] = 0;}
|
||||
for (int i=0; i<256; i++) {lfn_id[i] = 0;lfn_search[i] = nullptr;}
|
||||
const Section_prop * section=static_cast<Section_prop *>(control->GetSection("dos"));
|
||||
hidefiles = section->Get_string("drive z hide files");
|
||||
if (parent_dir == NULL) parent_dir = new VFILE_Block;
|
||||
@ -570,7 +570,7 @@ bool Virtual_Drive::FindNext(DOS_DTA & dta) {
|
||||
}
|
||||
if (lfn_filefind_handle<LFN_FILEFIND_MAX) {
|
||||
lfn_id[lfn_filefind_handle]=0;
|
||||
lfn_search[lfn_filefind_handle]=0;
|
||||
lfn_search[lfn_filefind_handle]=nullptr;
|
||||
}
|
||||
DOS_SetError(DOSERR_NO_MORE_FILES);
|
||||
return false;
|
||||
|
@ -1178,7 +1178,7 @@ public:
|
||||
Bits UnMount(void) override;
|
||||
char const* GetLabel(void) override;
|
||||
private:
|
||||
VFILE_Block* search_file = 0;
|
||||
VFILE_Block* search_file = nullptr;
|
||||
};
|
||||
|
||||
class Overlay_Drive: public localDrive {
|
||||
|
180
src/dosbox.cpp
180
src/dosbox.cpp
@ -1260,92 +1260,92 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
Prop_multival_remain* Pmulti_remain;
|
||||
|
||||
// Some frequently used option sets
|
||||
const char* vsyncrate[] = { "%u", 0 };
|
||||
const char* force[] = { "", "forced", "prompt", 0 };
|
||||
const char* cyclest[] = { "auto","fixed","max","%u",0 };
|
||||
const char* mputypes[] = { "intelligent", "uart", "none", 0 };
|
||||
const char* vsyncmode[] = { "off", "on" ,"force", "host", 0 };
|
||||
const char* captureformats[] = { "default", "avi-zmbv", "mpegts-h264", 0 };
|
||||
const char* blocksizes[] = {"1024", "2048", "4096", "8192", "512", "256", 0};
|
||||
const char* capturechromaformats[] = { "auto", "4:4:4", "4:2:2", "4:2:0", 0};
|
||||
const char* controllertypes[] = { "auto", "at", "xt", "pcjr", "pc98", 0}; // Future work: Tandy(?) and USB
|
||||
const char* auxdevices[] = {"none","2button","3button","intellimouse","intellimouse45",0};
|
||||
const char* cputype_values[] = {"auto", "8086", "8086_prefetch", "80186", "80186_prefetch", "286", "286_prefetch", "386", "386_prefetch", "486old", "486old_prefetch", "486", "486_prefetch", "pentium", "pentium_mmx", "ppro_slow", "pentium_ii", "pentium_iii", "experimental", 0};
|
||||
const char* rates[] = { "49716", "48000", "44100", "32000","22050", "16000", "11025", "8000", 0 };
|
||||
const char* pcrates[] = { "65536", "49716", "48000", "44100", "32000","22050", "16000", "11025", "8000", 0 };
|
||||
const char* vsyncrate[] = { "%u", nullptr };
|
||||
const char* force[] = { "", "forced", "prompt", nullptr };
|
||||
const char* cyclest[] = { "auto","fixed","max","%u", nullptr };
|
||||
const char* mputypes[] = { "intelligent", "uart", "none", nullptr };
|
||||
const char* vsyncmode[] = { "off", "on" ,"force", "host", nullptr };
|
||||
const char* captureformats[] = { "default", "avi-zmbv", "mpegts-h264", nullptr };
|
||||
const char* blocksizes[] = {"1024", "2048", "4096", "8192", "512", "256", nullptr };
|
||||
const char* capturechromaformats[] = { "auto", "4:4:4", "4:2:2", "4:2:0", nullptr };
|
||||
const char* controllertypes[] = { "auto", "at", "xt", "pcjr", "pc98", nullptr }; // Future work: Tandy(?) and USB
|
||||
const char* auxdevices[] = {"none","2button","3button","intellimouse","intellimouse45",nullptr};
|
||||
const char* cputype_values[] = {"auto", "8086", "8086_prefetch", "80186", "80186_prefetch", "286", "286_prefetch", "386", "386_prefetch", "486old", "486old_prefetch", "486", "486_prefetch", "pentium", "pentium_mmx", "ppro_slow", "pentium_ii", "pentium_iii", "experimental", nullptr };
|
||||
const char* rates[] = { "49716", "48000", "44100", "32000","22050", "16000", "11025", "8000", nullptr };
|
||||
const char* pcrates[] = { "65536", "49716", "48000", "44100", "32000","22050", "16000", "11025", "8000", nullptr };
|
||||
#if C_FLUIDSYNTH || defined(WIN32) && !defined(HX_DOS)
|
||||
const char* devices[] = { "default", "win32", "alsa", "oss", "coreaudio", "coremidi", "mt32", "synth", "fluidsynth", "timidity", "none", 0};
|
||||
const char* devices[] = { "default", "win32", "alsa", "oss", "coreaudio", "coremidi", "mt32", "synth", "fluidsynth", "timidity", "none", nullptr };
|
||||
#else
|
||||
const char* devices[] = { "default", "win32", "alsa", "oss", "coreaudio", "coremidi", "mt32", "timidity", "none", 0}; // FIXME: add some way to offer the actually available choices.
|
||||
const char* devices[] = { "default", "win32", "alsa", "oss", "coreaudio", "coremidi", "mt32", "timidity", "none", nullptr }; // FIXME: add some way to offer the actually available choices.
|
||||
#endif
|
||||
const char* apmpowerbuttonevent[] = { "suspend", "standby", 0 };
|
||||
const char* apmbiosversions[] = { "auto", "1.0", "1.1", "1.2", 0 };
|
||||
const char* driveletters[] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", 0};
|
||||
const char *mt32models[] = {"cm32l", "mt32", "auto",0};
|
||||
const char *mt32partials[] = {"8", "9", "32", "255", "256",0};
|
||||
const char *mt32DACModes[] = {"0", "1", "2", "3",0};
|
||||
const char *mt32reverbModes[] = {"0", "1", "2", "3", "auto",0};
|
||||
const char *mt32reverbTimes[] = {"0", "1", "2", "3", "4", "5", "6", "7",0};
|
||||
const char *mt32reverbLevels[] = {"0", "1", "2", "3", "4", "5", "6", "7",0};
|
||||
const char* gustypes[] = { "classic", "classic37", "max", "interwave", 0 };
|
||||
const char* sbtypes[] = { "sb1", "sb2", "sbpro1", "sbpro2", "sb16", "sb16vibra", "gb", "ess688", "ess1688", "reveal_sc400", "none", 0 };
|
||||
const char* oplmodes[]={ "auto", "cms", "opl2", "dualopl2", "opl3", "opl3gold", "none", "hardware", "hardwaregb", "esfm", 0};
|
||||
const char* serials[] = { "dummy", "disabled", "modem", "nullmodem", "serialmouse", "directserial", "log", "file", 0 };
|
||||
const char* acpi_rsd_ptr_settings[] = { "auto", "bios", "ebda", 0 };
|
||||
const char* cpm_compat_modes[] = { "auto", "off", "msdos2", "msdos5", "direct", 0 };
|
||||
const char* dosv_settings[] = { "off", "jp", "ko", "chs", "cht", "cn", "tw", 0 };
|
||||
const char* j3100_settings[] = { "off", "on", "auto", "manual", "0", "1", "2", 0 };
|
||||
const char* j3100_types[] = { "default", "gt", "sgt", "gx", "gl", "sl", "sgx", "ss", "gs", "sx", "sxb", "sxw", "sxp", "ez", "zs", "zx", 0 };
|
||||
const char* acpisettings[] = { "off", "1.0", "1.0b", "2.0", "2.0a", "2.0b", "2.0c", "3.0", "3.0a", "3.0b", "4.0", "4.0a", "5.0", "5.0a", "6.0", 0 };
|
||||
const char* guspantables[] = { "old", "accurate", "default", 0 };
|
||||
const char *sidbaseno[] = { "240", "220", "260", "280", "2a0", "2c0", "2e0", "300", 0 };
|
||||
const char* joytypes[] = { "auto", "2axis", "4axis", "4axis_2", "fcs", "ch", "none",0};
|
||||
// const char* joydeadzone[] = { "0.26", 0 };
|
||||
// const char* joyresponse[] = { "1.0", 0 };
|
||||
const char* iosgus[] = { "240", "220", "260", "280", "2a0", "2c0", "2e0", "300", "210", "230", "250", 0 };
|
||||
const char* apmpowerbuttonevent[] = { "suspend", "standby", nullptr };
|
||||
const char* apmbiosversions[] = { "auto", "1.0", "1.1", "1.2", nullptr };
|
||||
const char* driveletters[] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", nullptr };
|
||||
const char *mt32models[] = {"cm32l", "mt32", "auto", nullptr};
|
||||
const char *mt32partials[] = {"8", "9", "32", "255", "256", nullptr};
|
||||
const char *mt32DACModes[] = {"0", "1", "2", "3", nullptr};
|
||||
const char *mt32reverbModes[] = {"0", "1", "2", "3", "auto", nullptr};
|
||||
const char *mt32reverbTimes[] = {"0", "1", "2", "3", "4", "5", "6", "7", nullptr};
|
||||
const char *mt32reverbLevels[] = {"0", "1", "2", "3", "4", "5", "6", "7", nullptr};
|
||||
const char* gustypes[] = { "classic", "classic37", "max", "interwave", nullptr };
|
||||
const char* sbtypes[] = { "sb1", "sb2", "sbpro1", "sbpro2", "sb16", "sb16vibra", "gb", "ess688", "ess1688", "reveal_sc400", "none", nullptr };
|
||||
const char* oplmodes[]={ "auto", "cms", "opl2", "dualopl2", "opl3", "opl3gold", "none", "hardware", "hardwaregb", "esfm", nullptr };
|
||||
const char* serials[] = { "dummy", "disabled", "modem", "nullmodem", "serialmouse", "directserial", "log", "file", nullptr };
|
||||
const char* acpi_rsd_ptr_settings[] = { "auto", "bios", "ebda", nullptr };
|
||||
const char* cpm_compat_modes[] = { "auto", "off", "msdos2", "msdos5", "direct", nullptr };
|
||||
const char* dosv_settings[] = { "off", "jp", "ko", "chs", "cht", "cn", "tw", nullptr };
|
||||
const char* j3100_settings[] = { "off", "on", "auto", "manual", "0", "1", "2", nullptr };
|
||||
const char* j3100_types[] = { "default", "gt", "sgt", "gx", "gl", "sl", "sgx", "ss", "gs", "sx", "sxb", "sxw", "sxp", "ez", "zs", "zx", nullptr };
|
||||
const char* acpisettings[] = { "off", "1.0", "1.0b", "2.0", "2.0a", "2.0b", "2.0c", "3.0", "3.0a", "3.0b", "4.0", "4.0a", "5.0", "5.0a", "6.0", nullptr };
|
||||
const char* guspantables[] = { "old", "accurate", "default", nullptr };
|
||||
const char *sidbaseno[] = { "240", "220", "260", "280", "2a0", "2c0", "2e0", "300", nullptr };
|
||||
const char* joytypes[] = { "auto", "2axis", "4axis", "4axis_2", "fcs", "ch", "none", nullptr};
|
||||
// const char* joydeadzone[] = { "0.26", nullptr };
|
||||
// const char* joyresponse[] = { "1.0", nullptr };
|
||||
const char* iosgus[] = { "240", "220", "260", "280", "2a0", "2c0", "2e0", "300", "210", "230", "250", nullptr };
|
||||
const char* mpubases[] = {
|
||||
"0", /* Auto */
|
||||
"300", "310", "320", "330", "332", "334", "336", "340", "360", /* IBM PC */
|
||||
"c0d0","c8d0","d0d0","d8d0","e0d0","e8d0","f0d0","f8d0", /* NEC PC-98 MPU98 */
|
||||
"80d2","80d4","80d6","80d8","80da","80dc","80de", /* NEC PC-98 SB16 */
|
||||
0 };
|
||||
nullptr };
|
||||
const char* ios[] = {
|
||||
"220", "240", "260", "280", "2a0", "2c0", "2e0", /* IBM PC (base+port i.e. 220h base, 22Ch is DSP) */
|
||||
"d2", "d4", "d6", "d8", "da", "dc", "de", /* NEC PC-98 (base+(port << 8) i.e. 00D2h base, 2CD2h is DSP) */
|
||||
0 };
|
||||
const char* ems_settings[] = { "true", "emsboard", "emm386", "false", "1", "0", 0};
|
||||
const char* lfn_settings[] = { "true", "false", "1", "0", "auto", "autostart", 0};
|
||||
const char* fat32setver_settings[] = { "ask", "auto", "manual", 0};
|
||||
const char* quit_settings[] = { "true", "false", "1", "0", "auto", "autofile", 0};
|
||||
const char* autofix_settings[] = { "true", "false", "1", "0", "both", "a20fix", "loadfix", "none", 0};
|
||||
const char* color_themes[] = { "default", "black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", 0};
|
||||
const char* irqsgus[] = { "5", "3", "7", "9", "10", "11", "12", 0 };
|
||||
const char* irqssb[] = { "7", "5", "3", "9", "10", "11", "12", "0", "-1", 0 };
|
||||
const char* dmasgus[] = { "3", "0", "1", "5", "6", "7", 0 };
|
||||
const char* dmassb[] = { "1", "5", "0", "3", "6", "7", "-1", 0 };
|
||||
const char* oplemus[] = { "default", "compat", "fast", "nuked", "mame", "opl2board", "opl3duoboard", "retrowave_opl3", "esfmu", 0 };
|
||||
const char *qualityno[] = { "0", "1", "2", "3", 0 };
|
||||
const char* tandys[] = { "auto", "on", "off", 0};
|
||||
const char* ps1opt[] = { "on", "off", 0};
|
||||
const char* numopt[] = { "on", "off", "", 0};
|
||||
const char* freesizeopt[] = {"true", "false", "fixed", "relative", "cap", "2", "1", "0", 0};
|
||||
const char* truefalseautoopt[] = { "true", "false", "1", "0", "auto", 0};
|
||||
const char* truefalsequietopts[] = { "true", "false", "1", "0", "quiet", 0 };
|
||||
const char* pc98fmboards[] = { "auto", "off", "false", "board14", "board26k", "board86", "board86c", 0};
|
||||
const char* pc98videomodeopt[] = { "", "24khz", "31khz", "15khz", 0};
|
||||
const char* aspectmodes[] = { "false", "true", "0", "1", "yes", "no", "nearest", "bilinear", 0};
|
||||
const char *vga_ac_mapping_settings[] = { "", "auto", "4x4", "4low", "first16", 0 };
|
||||
const char* fpu_settings[] = { "true", "false", "1", "0", "auto", "8087", "287", "387", 0};
|
||||
const char* sb_recording_sources[] = { "silence", "hiss", "1khz tone", 0};
|
||||
nullptr };
|
||||
const char* ems_settings[] = { "true", "emsboard", "emm386", "false", "1", "0", nullptr };
|
||||
const char* lfn_settings[] = { "true", "false", "1", "0", "auto", "autostart", nullptr };
|
||||
const char* fat32setver_settings[] = { "ask", "auto", "manual", nullptr };
|
||||
const char* quit_settings[] = { "true", "false", "1", "0", "auto", "autofile", nullptr };
|
||||
const char* autofix_settings[] = { "true", "false", "1", "0", "both", "a20fix", "loadfix", "none", nullptr };
|
||||
const char* color_themes[] = { "default", "black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", nullptr };
|
||||
const char* irqsgus[] = { "5", "3", "7", "9", "10", "11", "12", nullptr };
|
||||
const char* irqssb[] = { "7", "5", "3", "9", "10", "11", "12", "0", "-1", nullptr };
|
||||
const char* dmasgus[] = { "3", "0", "1", "5", "6", "7", nullptr };
|
||||
const char* dmassb[] = { "1", "5", "0", "3", "6", "7", "-1", nullptr };
|
||||
const char* oplemus[] = { "default", "compat", "fast", "nuked", "mame", "opl2board", "opl3duoboard", "retrowave_opl3", "esfmu", nullptr };
|
||||
const char *qualityno[] = { "0", "1", "2", "3", nullptr };
|
||||
const char* tandys[] = { "auto", "on", "off", nullptr };
|
||||
const char* ps1opt[] = { "on", "off", nullptr };
|
||||
const char* numopt[] = { "on", "off", "", nullptr };
|
||||
const char* freesizeopt[] = {"true", "false", "fixed", "relative", "cap", "2", "1", "0", nullptr };
|
||||
const char* truefalseautoopt[] = { "true", "false", "1", "0", "auto", nullptr };
|
||||
const char* truefalsequietopts[] = { "true", "false", "1", "0", "quiet", nullptr };
|
||||
const char* pc98fmboards[] = { "auto", "off", "false", "board14", "board26k", "board86", "board86c", nullptr };
|
||||
const char* pc98videomodeopt[] = { "", "24khz", "31khz", "15khz", nullptr };
|
||||
const char* aspectmodes[] = { "false", "true", "0", "1", "yes", "no", "nearest", "bilinear", nullptr };
|
||||
const char *vga_ac_mapping_settings[] = { "", "auto", "4x4", "4low", "first16", nullptr };
|
||||
const char* fpu_settings[] = { "true", "false", "1", "0", "auto", "8087", "287", "387", nullptr };
|
||||
const char* sb_recording_sources[] = { "silence", "hiss", "1khz tone", nullptr };
|
||||
|
||||
const char* hostkeys[] = {
|
||||
"ctrlalt", "ctrlshift", "altshift", "mapper", 0 };
|
||||
"ctrlalt", "ctrlshift", "altshift", "mapper", nullptr };
|
||||
|
||||
const char* sendkeys[] = {
|
||||
"winlogo", "winmenu", "alttab", "ctrlesc", "ctrlbreak", "ctrlaltdel", 0 };
|
||||
"winlogo", "winmenu", "alttab", "ctrlesc", "ctrlbreak", "ctrlaltdel", nullptr };
|
||||
|
||||
const char* irqhandler[] = {
|
||||
"", "simple", "cooperative_2nd", 0 };
|
||||
"", "simple", "cooperative_2nd", nullptr };
|
||||
|
||||
/* Setup all the different modules making up DOSBox-X */
|
||||
const char* machines[] = {
|
||||
@ -1380,19 +1380,19 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
"svga_ati_mach32",
|
||||
"svga_ati_mach64",
|
||||
"fm_towns", // STUB
|
||||
0 };
|
||||
nullptr };
|
||||
|
||||
const char* backendopts[] = {
|
||||
"pcap", "slirp", "nothing", "auto", "none",
|
||||
0 };
|
||||
nullptr };
|
||||
|
||||
const char* workdiropts[] = {
|
||||
"autoprompt", "config", "custom", "default", "force", "noprompt", "program", "prompt", "userconfig",
|
||||
0 };
|
||||
nullptr };
|
||||
|
||||
const char* resolveopts[] = {
|
||||
"true", "false", "dosvar", "tilde", "1", "0",
|
||||
0 };
|
||||
nullptr };
|
||||
|
||||
const char* switchoutputs[] = {
|
||||
"auto", "surface",
|
||||
@ -1400,7 +1400,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
"opengl", "openglnb", "openglhq", "openglpp",
|
||||
#endif
|
||||
"direct3d",
|
||||
0 };
|
||||
nullptr };
|
||||
|
||||
const char* scalers[] = {
|
||||
"none", "normal2x", "normal3x", "normal4x", "normal5x",
|
||||
@ -1414,7 +1414,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
#if C_XBRZ
|
||||
"xbrz", "xbrz_bilinear",
|
||||
#endif
|
||||
0 };
|
||||
nullptr };
|
||||
|
||||
const char* cores[] = { "auto",
|
||||
#if (C_DYNAMIC_X86)
|
||||
@ -1423,7 +1423,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
#if (C_DYNREC)
|
||||
"dynamic", "dynamic_rec",
|
||||
#endif
|
||||
"normal", "full", "simple", 0 };
|
||||
"normal", "full", "simple", nullptr };
|
||||
|
||||
const char* voodoo_settings[] = {
|
||||
"false",
|
||||
@ -1432,7 +1432,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
"opengl",
|
||||
#endif
|
||||
"auto",
|
||||
0
|
||||
nullptr
|
||||
};
|
||||
|
||||
#if defined(__SSE__) && !(defined(_M_AMD64) || defined(__e2k__)) && !defined(EMSCRIPTEN)
|
||||
@ -2087,10 +2087,10 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
"Append 'bright' for a brighter look.");
|
||||
Pmulti->SetBasic(true);
|
||||
Pstring = Pmulti->GetSection()->Add_string("color",Property::Changeable::Always,"green");
|
||||
const char* monochrome_pal_colors[]={"green","amber","gray","white",0};
|
||||
const char* monochrome_pal_colors[]={"green","amber","gray","white",nullptr};
|
||||
Pstring->Set_values(monochrome_pal_colors);
|
||||
Pstring = Pmulti->GetSection()->Add_string("bright",Property::Changeable::Always,"");
|
||||
const char* bright[] = { "", "bright", 0 };
|
||||
const char* bright[] = { "", "bright", nullptr };
|
||||
Pstring->Set_values(bright);
|
||||
|
||||
secprop=control->AddSection_prop("pc98",&Null_Init);
|
||||
@ -2318,13 +2318,13 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
Pbool = secprop->Add_bool("del",Property::Changeable::WhenIdle,true);
|
||||
Pbool->Set_help("Maps the undefined del symbol (0x7F) to the next character (0x80) for the Japanese DOS/V and other Japanese mode emulations.");
|
||||
|
||||
const char* fepcontrol_settings[] = { "ias", "mskanji", "both", 0};
|
||||
const char* fepcontrol_settings[] = { "ias", "mskanji", "both", nullptr };
|
||||
Pstring = secprop->Add_path("fepcontrol",Property::Changeable::OnlyAtStart,"both");
|
||||
Pstring->Set_values(fepcontrol_settings);
|
||||
Pstring->Set_help("FEP control API for the DOS/V emulation.");
|
||||
Pstring->SetBasic(true);
|
||||
|
||||
const char* vtext_settings[] = { "xga", "xga24", "sxga", "sxga24", "svga", 0};
|
||||
const char* vtext_settings[] = { "xga", "xga24", "sxga", "sxga24", "svga", nullptr };
|
||||
Pstring = secprop->Add_path("vtext1",Property::Changeable::WhenIdle,"svga");
|
||||
Pstring->Set_values(vtext_settings);
|
||||
Pstring->Set_help("V-text screen mode 1 for the DOS/V emulation. Enter command \"VTEXT 1\" for this mode. Note that XGA/SXGA mode is only supported by the svga_s3trio and svga_et4000 machine types.");
|
||||
@ -3132,7 +3132,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
Pbool->SetBasic(true);
|
||||
//Phex = secprop->Add_hex("grport",Property::Changeable::WhenIdle,0x600);
|
||||
//Phex->Set_help("I/O port to use for host communication.");
|
||||
const char *lfb[] = {"full","full_noaux","read","read_noaux","write","write_noaux","none",0};
|
||||
const char *lfb[] = {"full","full_noaux","read","read_noaux","write","write_noaux","none",nullptr};
|
||||
Pstring = secprop->Add_string("lfb",Property::Changeable::WhenIdle,"full_noaux");
|
||||
Pstring->Set_values(lfb);
|
||||
Pstring->Set_help("Enable LFB access for Glide. OpenGlide does not support locking aux buffer, please use _noaux modes.");
|
||||
@ -3234,7 +3234,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
Pbool = secprop->Add_bool("mt32.thread",Property::Changeable::WhenIdle,false);
|
||||
Pbool->Set_help("MT-32 rendering in separate thread");
|
||||
|
||||
const char *mt32chunk[] = {"2", "3", "16", "99", "100",0};
|
||||
const char *mt32chunk[] = {"2", "3", "16", "99", "100", nullptr };
|
||||
Pint = secprop->Add_int("mt32.chunk",Property::Changeable::WhenIdle,16);
|
||||
Pint->Set_values(mt32chunk);
|
||||
Pint->SetMinMax(2,100);
|
||||
@ -3242,7 +3242,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
"Increasing this value reduces rendering overhead which may improve performance but also increases audio lag.\n"
|
||||
"Valid for rendering in separate thread only.");
|
||||
|
||||
const char *mt32prebuffer[] = {"3", "4", "32", "199", "200",0};
|
||||
const char *mt32prebuffer[] = {"3", "4", "32", "199", "200", nullptr };
|
||||
Pint = secprop->Add_int("mt32.prebuffer",Property::Changeable::WhenIdle,32);
|
||||
Pint->Set_values(mt32prebuffer);
|
||||
Pint->SetMinMax(3,200);
|
||||
@ -3281,7 +3281,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
"Bit order at DAC (where each number represents the original LA32 output bit number):\n"
|
||||
"15 13 12 11 10 09 08 07 06 05 04 03 02 01 00 14");
|
||||
|
||||
const char *mt32analogModes[] = {"0", "1", "2", "3",0};
|
||||
const char *mt32analogModes[] = {"0", "1", "2", "3", nullptr };
|
||||
Pint = secprop->Add_int("mt32.analog",Property::Changeable::WhenIdle,2);
|
||||
Pint->Set_values(mt32analogModes);
|
||||
Pint->Set_help("MT-32 analogue output emulation mode\n"
|
||||
@ -3326,7 +3326,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
Pint->Set_values(rates);
|
||||
Pint->Set_help("Sample rate of MT-32 emulation.");
|
||||
|
||||
const char *mt32srcQuality[] = {"0", "1", "2", "3",0};
|
||||
const char *mt32srcQuality[] = {"0", "1", "2", "3", nullptr };
|
||||
Pint = secprop->Add_int("mt32.src.quality", Property::Changeable::WhenIdle, 2);
|
||||
Pint->Set_values(mt32srcQuality);
|
||||
Pint->Set_help("MT-32 sample rate conversion quality\n"
|
||||
@ -3346,7 +3346,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
"Default is false.");
|
||||
|
||||
#if C_FLUIDSYNTH || defined(WIN32) && !defined(HX_DOS)
|
||||
const char *fluiddrivers[] = {"pulseaudio", "alsa", "oss", "coreaudio", "dsound", "portaudio", "sndman", "jack", "file", "default",0};
|
||||
const char *fluiddrivers[] = {"pulseaudio", "alsa", "oss", "coreaudio", "dsound", "portaudio", "sndman", "jack", "file", "default", nullptr };
|
||||
Pstring = secprop->Add_string("fluid.driver",Property::Changeable::WhenIdle,"default");
|
||||
Pstring->Set_values(fluiddrivers);
|
||||
Pstring->Set_help("Driver to use with Fluidsynth, not needed under Windows. Available drivers depend on what Fluidsynth was compiled with.");
|
||||
@ -3374,12 +3374,12 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
Pstring = secprop->Add_string("fluid.periodsize",Property::Changeable::WhenIdle,"default");
|
||||
Pstring->Set_help("Fluidsynth period size, or default.");
|
||||
|
||||
const char *fluidreverb[] = {"no", "yes",0};
|
||||
const char *fluidreverb[] = {"no", "yes", nullptr };
|
||||
Pstring = secprop->Add_string("fluid.reverb",Property::Changeable::WhenIdle,"yes");
|
||||
Pstring->Set_values(fluidreverb);
|
||||
Pstring->Set_help("Fluidsynth use reverb.");
|
||||
|
||||
const char *fluidchorus[] = {"no", "yes",0};
|
||||
const char *fluidchorus[] = {"no", "yes", nullptr };
|
||||
Pstring = secprop->Add_string("fluid.chorus",Property::Changeable::WhenIdle,"yes");
|
||||
Pstring->Set_values(fluidchorus);
|
||||
Pstring->Set_help("Fluidsynth use chorus.");
|
||||
@ -3408,7 +3408,7 @@ void DOSBOX_SetupConfigSections(void) {
|
||||
Pstring = secprop->Add_string("fluid.chorus.depth",Property::Changeable::WhenIdle,"8.0");
|
||||
Pstring->Set_help("Fluidsynth chorus depth.");
|
||||
|
||||
const char *fluidchorustypes[] = {"0", "1",0};
|
||||
const char *fluidchorustypes[] = {"0", "1", nullptr };
|
||||
Pint = secprop->Add_int("fluid.chorus.type",Property::Changeable::WhenIdle,0);
|
||||
Pint->Set_values(fluidchorustypes);
|
||||
Pint->Set_help("Fluidsynth chorus type. 0 is sine wave, 1 is triangle wave.");
|
||||
|
@ -190,7 +190,7 @@ static int create_mutex( const char* p_name )
|
||||
#else // MACOSX
|
||||
LOG_MSG( "GAMELINK: Might need to manually tidy up in /dev/shm (or reboot system)." );
|
||||
#endif // MACOSX
|
||||
g_mutex_handle = 0;
|
||||
g_mutex_handle = nullptr;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -294,7 +294,7 @@ static int create_shared_memory()
|
||||
|
||||
// map to a pointer.
|
||||
g_p_shared_memory = reinterpret_cast< GameLink::sSharedMemoryMap_R4* >(
|
||||
mmap( 0, memory_map_size, PROT_READ | PROT_WRITE, MAP_SHARED, g_mmap_handle, 0 )
|
||||
mmap(nullptr, memory_map_size, PROT_READ | PROT_WRITE, MAP_SHARED, g_mmap_handle, 0)
|
||||
);
|
||||
|
||||
if ( g_p_shared_memory == MAP_FAILED )
|
||||
@ -415,7 +415,7 @@ uint8_t* GameLink::AllocRAM( const uint32_t size )
|
||||
{
|
||||
destroy_mutex( GAMELINK_MUTEX_NAME );
|
||||
// failed.
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// Initialise
|
||||
|
@ -197,7 +197,7 @@ static void proc_mech( Buffer* cmd, uint16_t payload )
|
||||
|
||||
void GameLink::InitTerminal()
|
||||
{
|
||||
g_p_outbuf = 0;
|
||||
g_p_outbuf = nullptr;
|
||||
}
|
||||
|
||||
void GameLink::ExecTerminalMech( Buffer* p_procbuf )
|
||||
|
@ -1805,7 +1805,7 @@ std::string MSCDEX_Output(int num) {
|
||||
case 4: return MSCDEX_MSG + MSCDEX_MSG_Failure + "Too many CDRom-drives (max: 5). MSCDEX Installation failed";
|
||||
case 5: return MSCDEX_MSG + "Mounted subdirectory: limited support.";
|
||||
case 6: return MSCDEX_MSG + MSCDEX_MSG_Failure + "Unknown error";
|
||||
default: return 0;
|
||||
default: return {};
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2593,8 +2593,8 @@ bool doublebuf_menu_callback(DOSBoxMenu * const menu, DOSBoxMenu::item * const m
|
||||
(void)menu;//UNUSED
|
||||
(void)menuitem;//UNUSED
|
||||
std::string doubleBufString = std::string("desktop.doublebuf");
|
||||
SetVal("sdl", "fulldouble", (GetSetSDLValue(1, doubleBufString, 0)) ? "false" : "true"); res_init();
|
||||
mainMenu.get_item("doublebuf").check(!!GetSetSDLValue(1, doubleBufString, 0)).refresh_item(mainMenu);
|
||||
SetVal("sdl", "fulldouble", (GetSetSDLValue(1, doubleBufString, nullptr)) ? "false" : "true"); res_init();
|
||||
mainMenu.get_item("doublebuf").check(!!GetSetSDLValue(1, doubleBufString, nullptr)).refresh_item(mainMenu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -3702,7 +3702,7 @@ void AllocCallback2() {
|
||||
mainMenu.alloc_item(DOSBoxMenu::item_type_id,"wheel_ctrlpageupdown").set_text("Convert to Ctrl+PgUp/PgDn keys").set_callback_function(wheel_move_menu_callback);
|
||||
mainMenu.alloc_item(DOSBoxMenu::item_type_id,"wheel_ctrlwz").set_text("Convert to Ctrl+W/Z keys").set_callback_function(wheel_move_menu_callback);
|
||||
mainMenu.alloc_item(DOSBoxMenu::item_type_id,"wheel_guest").set_text("Enable for guest systems also").set_callback_function(wheel_guest_menu_callback);
|
||||
mainMenu.alloc_item(DOSBoxMenu::item_type_id,"doublebuf").set_text("Double buffering (fullscreen)").set_callback_function(doublebuf_menu_callback).check(!!GetSetSDLValue(1, doubleBufString, 0));
|
||||
mainMenu.alloc_item(DOSBoxMenu::item_type_id,"doublebuf").set_text("Double buffering (fullscreen)").set_callback_function(doublebuf_menu_callback).check(!!GetSetSDLValue(1, doubleBufString, nullptr));
|
||||
mainMenu.alloc_item(DOSBoxMenu::item_type_id,"alwaysontop").set_text("Always on top").set_callback_function(alwaysontop_menu_callback).check(is_always_on_top());
|
||||
mainMenu.alloc_item(DOSBoxMenu::item_type_id,"highdpienable").set_text("High DPI enable").set_callback_function(highdpienable_menu_callback).check(dpi_aware_enable);
|
||||
mainMenu.alloc_item(DOSBoxMenu::item_type_id,"sync_host_datetime").set_text("Synchronize host date/time").set_callback_function(sync_host_datetime_menu_callback).check(sync_time);
|
||||
|
@ -61,7 +61,7 @@ uint8_t MIDI_evt_len[256] = {
|
||||
0,2,3,2, 0,0,1,0, 1,0,1,1, 1,0,1,0 // 0xf0
|
||||
};
|
||||
|
||||
MidiHandler * handler_list = 0;
|
||||
MidiHandler * handler_list = nullptr;
|
||||
|
||||
MidiHandler::MidiHandler(){
|
||||
next = handler_list;
|
||||
@ -661,7 +661,7 @@ public:
|
||||
}
|
||||
if(midi.available) midi.handler->Close();
|
||||
midi.available = false;
|
||||
midi.handler = 0;
|
||||
midi.handler = nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -337,7 +337,7 @@ bool RENDER_StartUpdate(void) {
|
||||
render.scale.inLine = 0;
|
||||
render.scale.outLine = 0;
|
||||
render.scale.cacheRead = (uint8_t*)&scalerSourceCache;
|
||||
render.scale.outWrite = 0;
|
||||
render.scale.outWrite = nullptr;
|
||||
render.scale.outPitch = 0;
|
||||
Scaler_ChangedLines[0] = 0;
|
||||
Scaler_ChangedLineIndex = 0;
|
||||
@ -369,7 +369,7 @@ bool RENDER_StartUpdate(void) {
|
||||
|
||||
static void RENDER_Halt( void ) {
|
||||
RENDER_DrawLine = RENDER_EmptyLineHandler;
|
||||
GFX_EndUpdate( 0 );
|
||||
GFX_EndUpdate(nullptr);
|
||||
render.updating=false;
|
||||
render.active=false;
|
||||
}
|
||||
@ -432,7 +432,7 @@ void RENDER_EndUpdate( bool abort ) {
|
||||
#endif
|
||||
// Force output to update the screen even if nothing changed...
|
||||
// works only with Direct3D output (GFX_StartUpdate() was probably not even called)
|
||||
if (RENDER_GetForceUpdate()) GFX_EndUpdate( 0 );
|
||||
if (RENDER_GetForceUpdate()) GFX_EndUpdate(nullptr);
|
||||
}
|
||||
render.frameskip.index = (render.frameskip.index + 1) & (RENDER_SKIP_CACHE - 1);
|
||||
render.updating=false;
|
||||
@ -486,7 +486,7 @@ void RENDER_Reset( void ) {
|
||||
|
||||
Bitu gfx_flags, xscale, yscale;
|
||||
ScalerSimpleBlock_t *simpleBlock = &ScaleNormal1x;
|
||||
ScalerComplexBlock_t *complexBlock = 0;
|
||||
ScalerComplexBlock_t *complexBlock = nullptr;
|
||||
gfx_scalew = 1;
|
||||
gfx_scaleh = 1;
|
||||
|
||||
@ -623,7 +623,7 @@ void RENDER_Reset( void ) {
|
||||
}
|
||||
if( simpleBlock == NULL && complexBlock == NULL ) {
|
||||
forcenormal:
|
||||
complexBlock = 0;
|
||||
complexBlock = nullptr;
|
||||
if(scalerOpGray==render.scale.op){
|
||||
simpleBlock = &ScaleGrayNormal;
|
||||
}else{
|
||||
@ -775,7 +775,7 @@ forcenormal:
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
render.scale.complexHandler = 0;
|
||||
render.scale.complexHandler = nullptr;
|
||||
lineBlock = &simpleBlock->Linear;
|
||||
}
|
||||
} else {
|
||||
@ -786,7 +786,7 @@ forcenormal:
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
render.scale.complexHandler = 0;
|
||||
render.scale.complexHandler = nullptr;
|
||||
lineBlock = &simpleBlock->Random;
|
||||
}
|
||||
}
|
||||
@ -799,19 +799,19 @@ forcenormal:
|
||||
break;
|
||||
case 15:
|
||||
render.scale.lineHandler = (*lineBlock)[1][render.scale.outMode];
|
||||
render.scale.linePalHandler = 0;
|
||||
render.scale.linePalHandler = nullptr;
|
||||
render.scale.inMode = scalerMode15;
|
||||
render.scale.cachePitch = render.src.width * 2;
|
||||
break;
|
||||
case 16:
|
||||
render.scale.lineHandler = (*lineBlock)[2][render.scale.outMode];
|
||||
render.scale.linePalHandler = 0;
|
||||
render.scale.linePalHandler = nullptr;
|
||||
render.scale.inMode = scalerMode16;
|
||||
render.scale.cachePitch = render.src.width * 2;
|
||||
break;
|
||||
case 32:
|
||||
render.scale.lineHandler = (*lineBlock)[3][render.scale.outMode];
|
||||
render.scale.linePalHandler = 0;
|
||||
render.scale.linePalHandler = nullptr;
|
||||
render.scale.inMode = scalerMode32;
|
||||
render.scale.cachePitch = render.src.width * 4;
|
||||
break;
|
||||
@ -834,7 +834,7 @@ forcenormal:
|
||||
memset(render.pal.modified, 0, sizeof(render.pal.modified));
|
||||
//Finish this frame using a copy only handler
|
||||
RENDER_DrawLine = RENDER_FinishLineHandler;
|
||||
render.scale.outWrite = 0;
|
||||
render.scale.outWrite = nullptr;
|
||||
/* Signal the next frame to first reinit the cache */
|
||||
render.scale.clearCache = true;
|
||||
|
||||
@ -865,7 +865,7 @@ void RENDER_CallBack( GFX_CallBackFunctions_t function ) {
|
||||
render.scale.clearCache = true;
|
||||
return;
|
||||
} else if ( function == GFX_CallBackReset) {
|
||||
GFX_EndUpdate( 0 );
|
||||
GFX_EndUpdate(nullptr);
|
||||
RENDER_Reset();
|
||||
} else {
|
||||
E_Exit("Unhandled GFX_CallBackReset %d", function );
|
||||
|
@ -179,9 +179,9 @@ static INLINE void ScalerAddLines( Bitu changed, Bitu count ) {
|
||||
#if RENDER_USE_ADVANCED_SCALERS>1
|
||||
ScalerLineBlock_t ScalerCache = {
|
||||
{ Cache_8_8, Cache_8_15 , Cache_8_16 , Cache_8_32 },
|
||||
{ 0, Cache_15_15, Cache_15_16, Cache_15_32},
|
||||
{ 0, Cache_16_15, Cache_16_16, Cache_16_32},
|
||||
{ 0, Cache_32_15, Cache_32_16, Cache_32_32},
|
||||
{ nullptr, Cache_15_15, Cache_15_16, Cache_15_32},
|
||||
{ nullptr, Cache_16_15, Cache_16_16, Cache_16_32},
|
||||
{ nullptr, Cache_32_15, Cache_32_16, Cache_32_32},
|
||||
{ Cache_8_8, Cache_9_15 , Cache_9_16 , Cache_9_32 }
|
||||
};
|
||||
#endif
|
||||
@ -191,15 +191,15 @@ ScalerSimpleBlock_t ScaleNormal1x = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
1,1,{
|
||||
{ Normal1x_8_8_L, Normal1x_8_15_L , Normal1x_8_16_L , Normal1x_8_32_L },
|
||||
{ 0, Normal1x_15_15_L, Normal1x_15_16_L, Normal1x_15_32_L},
|
||||
{ 0, Normal1x_16_15_L, Normal1x_16_16_L, Normal1x_16_32_L},
|
||||
{ 0, Normal1x_32_15_L, Normal1x_32_16_L, Normal1x_32_32_L},
|
||||
{ nullptr, Normal1x_15_15_L, Normal1x_15_16_L, Normal1x_15_32_L},
|
||||
{ nullptr, Normal1x_16_15_L, Normal1x_16_16_L, Normal1x_16_32_L},
|
||||
{ nullptr, Normal1x_32_15_L, Normal1x_32_16_L, Normal1x_32_32_L},
|
||||
{ Normal1x_8_8_L, Normal1x_9_15_L , Normal1x_9_16_L , Normal1x_9_32_L }
|
||||
},{
|
||||
{ Normal1x_8_8_R, Normal1x_8_15_R , Normal1x_8_16_R , Normal1x_8_32_R },
|
||||
{ 0, Normal1x_15_15_R, Normal1x_15_16_R, Normal1x_15_32_R},
|
||||
{ 0, Normal1x_16_15_R, Normal1x_16_16_R, Normal1x_16_32_R},
|
||||
{ 0, Normal1x_32_15_R, Normal1x_32_16_R, Normal1x_32_32_R},
|
||||
{ nullptr, Normal1x_15_15_R, Normal1x_15_16_R, Normal1x_15_32_R},
|
||||
{ nullptr, Normal1x_16_15_R, Normal1x_16_16_R, Normal1x_16_32_R},
|
||||
{ nullptr, Normal1x_32_15_R, Normal1x_32_16_R, Normal1x_32_32_R},
|
||||
{ Normal1x_8_8_R, Normal1x_9_15_R , Normal1x_9_16_R , Normal1x_9_32_R }
|
||||
}};
|
||||
|
||||
@ -208,15 +208,15 @@ ScalerSimpleBlock_t ScaleNormalDw = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
2,1,{
|
||||
{ NormalDw_8_8_L, NormalDw_8_15_L , NormalDw_8_16_L , NormalDw_8_32_L },
|
||||
{ 0, NormalDw_15_15_L, NormalDw_15_16_L, NormalDw_15_32_L},
|
||||
{ 0, NormalDw_16_15_L, NormalDw_16_16_L, NormalDw_16_32_L},
|
||||
{ 0, NormalDw_32_15_L, NormalDw_32_16_L, NormalDw_32_32_L},
|
||||
{ nullptr, NormalDw_15_15_L, NormalDw_15_16_L, NormalDw_15_32_L},
|
||||
{ nullptr, NormalDw_16_15_L, NormalDw_16_16_L, NormalDw_16_32_L},
|
||||
{ nullptr, NormalDw_32_15_L, NormalDw_32_16_L, NormalDw_32_32_L},
|
||||
{ NormalDw_8_8_L, NormalDw_9_15_L , NormalDw_9_16_L , NormalDw_9_32_L }
|
||||
},{
|
||||
{ NormalDw_8_8_R, NormalDw_8_15_R , NormalDw_8_16_R , NormalDw_8_32_R },
|
||||
{ 0, NormalDw_15_15_R, NormalDw_15_16_R, NormalDw_15_32_R},
|
||||
{ 0, NormalDw_16_15_R, NormalDw_16_16_R, NormalDw_16_32_R},
|
||||
{ 0, NormalDw_32_15_R, NormalDw_32_16_R, NormalDw_32_32_R},
|
||||
{ nullptr, NormalDw_15_15_R, NormalDw_15_16_R, NormalDw_15_32_R},
|
||||
{ nullptr, NormalDw_16_15_R, NormalDw_16_16_R, NormalDw_16_32_R},
|
||||
{ nullptr, NormalDw_32_15_R, NormalDw_32_16_R, NormalDw_32_32_R},
|
||||
{ NormalDw_8_8_R, NormalDw_9_15_R , NormalDw_9_16_R , NormalDw_9_32_R }
|
||||
}};
|
||||
|
||||
@ -225,15 +225,15 @@ ScalerSimpleBlock_t ScaleNormalDh = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
1,2,{
|
||||
{ NormalDh_8_8_L, NormalDh_8_15_L , NormalDh_8_16_L , NormalDh_8_32_L },
|
||||
{ 0, NormalDh_15_15_L, NormalDh_15_16_L, NormalDh_15_32_L},
|
||||
{ 0, NormalDh_16_15_L, NormalDh_16_16_L, NormalDh_16_32_L},
|
||||
{ 0, NormalDh_32_15_L, NormalDh_32_16_L, NormalDh_32_32_L},
|
||||
{ nullptr, NormalDh_15_15_L, NormalDh_15_16_L, NormalDh_15_32_L},
|
||||
{ nullptr, NormalDh_16_15_L, NormalDh_16_16_L, NormalDh_16_32_L},
|
||||
{ nullptr, NormalDh_32_15_L, NormalDh_32_16_L, NormalDh_32_32_L},
|
||||
{ NormalDh_8_8_L, NormalDh_9_15_L , NormalDh_9_16_L , NormalDh_9_32_L }
|
||||
},{
|
||||
{ NormalDh_8_8_R, NormalDh_8_15_R , NormalDh_8_16_R , NormalDh_8_32_R },
|
||||
{ 0, NormalDh_15_15_R, NormalDh_15_16_R, NormalDh_15_32_R},
|
||||
{ 0, NormalDh_16_15_R, NormalDh_16_16_R, NormalDh_16_32_R},
|
||||
{ 0, NormalDh_32_15_R, NormalDh_32_16_R, NormalDh_32_32_R},
|
||||
{ nullptr, NormalDh_15_15_R, NormalDh_15_16_R, NormalDh_15_32_R},
|
||||
{ nullptr, NormalDh_16_15_R, NormalDh_16_16_R, NormalDh_16_32_R},
|
||||
{ nullptr, NormalDh_32_15_R, NormalDh_32_16_R, NormalDh_32_32_R},
|
||||
{ NormalDh_8_8_R, NormalDh_9_15_R , NormalDh_9_16_R , NormalDh_9_32_R }
|
||||
}};
|
||||
|
||||
@ -242,15 +242,15 @@ ScalerSimpleBlock_t ScaleNormal2xDw = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
4,2,{
|
||||
{ Normal2xDw_8_8_L, Normal2xDw_8_15_L , Normal2xDw_8_16_L , Normal2xDw_8_32_L },
|
||||
{ 0, Normal2xDw_15_15_L, Normal2xDw_15_16_L, Normal2xDw_15_32_L},
|
||||
{ 0, Normal2xDw_16_15_L, Normal2xDw_16_16_L, Normal2xDw_16_32_L},
|
||||
{ 0, Normal2xDw_32_15_L, Normal2xDw_32_16_L, Normal2xDw_32_32_L},
|
||||
{ nullptr, Normal2xDw_15_15_L, Normal2xDw_15_16_L, Normal2xDw_15_32_L},
|
||||
{ nullptr, Normal2xDw_16_15_L, Normal2xDw_16_16_L, Normal2xDw_16_32_L},
|
||||
{ nullptr, Normal2xDw_32_15_L, Normal2xDw_32_16_L, Normal2xDw_32_32_L},
|
||||
{ Normal2xDw_8_8_L, Normal2xDw_9_15_L , Normal2xDw_9_16_L , Normal2xDw_9_32_L }
|
||||
},{
|
||||
{ Normal2xDw_8_8_R, Normal2xDw_8_15_R , Normal2xDw_8_16_R , Normal2xDw_8_32_R },
|
||||
{ 0, Normal2xDw_15_15_R, Normal2xDw_15_16_R, Normal2xDw_15_32_R},
|
||||
{ 0, Normal2xDw_16_15_R, Normal2xDw_16_16_R, Normal2xDw_16_32_R},
|
||||
{ 0, Normal2xDw_32_15_R, Normal2xDw_32_16_R, Normal2xDw_32_32_R},
|
||||
{ nullptr, Normal2xDw_15_15_R, Normal2xDw_15_16_R, Normal2xDw_15_32_R},
|
||||
{ nullptr, Normal2xDw_16_15_R, Normal2xDw_16_16_R, Normal2xDw_16_32_R},
|
||||
{ nullptr, Normal2xDw_32_15_R, Normal2xDw_32_16_R, Normal2xDw_32_32_R},
|
||||
{ Normal2xDw_8_8_R, Normal2xDw_9_15_R , Normal2xDw_9_16_R , Normal2xDw_9_32_R }
|
||||
}};
|
||||
|
||||
@ -259,15 +259,15 @@ ScalerSimpleBlock_t ScaleNormal2xDh = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
2,4,{
|
||||
{ Normal2xDh_8_8_L, Normal2xDh_8_15_L , Normal2xDh_8_16_L , Normal2xDh_8_32_L },
|
||||
{ 0, Normal2xDh_15_15_L, Normal2xDh_15_16_L, Normal2xDh_15_32_L},
|
||||
{ 0, Normal2xDh_16_15_L, Normal2xDh_16_16_L, Normal2xDh_16_32_L},
|
||||
{ 0, Normal2xDh_32_15_L, Normal2xDh_32_16_L, Normal2xDh_32_32_L},
|
||||
{ nullptr, Normal2xDh_15_15_L, Normal2xDh_15_16_L, Normal2xDh_15_32_L},
|
||||
{ nullptr, Normal2xDh_16_15_L, Normal2xDh_16_16_L, Normal2xDh_16_32_L},
|
||||
{ nullptr, Normal2xDh_32_15_L, Normal2xDh_32_16_L, Normal2xDh_32_32_L},
|
||||
{ Normal2xDh_8_8_L, Normal2xDh_9_15_L , Normal2xDh_9_16_L , Normal2xDh_9_32_L }
|
||||
},{
|
||||
{ Normal2xDh_8_8_R, Normal2xDh_8_15_R , Normal2xDh_8_16_R , Normal2xDh_8_32_R },
|
||||
{ 0, Normal2xDh_15_15_R, Normal2xDh_15_16_R, Normal2xDh_15_32_R},
|
||||
{ 0, Normal2xDh_16_15_R, Normal2xDh_16_16_R, Normal2xDh_16_32_R},
|
||||
{ 0, Normal2xDh_32_15_R, Normal2xDh_32_16_R, Normal2xDh_32_32_R},
|
||||
{ nullptr, Normal2xDh_15_15_R, Normal2xDh_15_16_R, Normal2xDh_15_32_R},
|
||||
{ nullptr, Normal2xDh_16_15_R, Normal2xDh_16_16_R, Normal2xDh_16_32_R},
|
||||
{ nullptr, Normal2xDh_32_15_R, Normal2xDh_32_16_R, Normal2xDh_32_32_R},
|
||||
{ Normal2xDh_8_8_R, Normal2xDh_9_15_R , Normal2xDh_9_16_R , Normal2xDh_9_32_R }
|
||||
}};
|
||||
|
||||
@ -276,15 +276,15 @@ ScalerSimpleBlock_t ScaleNormal2x = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
2,2,{
|
||||
{ Normal2x_8_8_L, Normal2x_8_15_L, Normal2x_8_16_L, Normal2x_8_32_L },
|
||||
{ 0, Normal2x_15_15_L, Normal2x_15_16_L, Normal2x_15_32_L},
|
||||
{ 0, Normal2x_16_15_L, Normal2x_16_16_L, Normal2x_16_32_L},
|
||||
{ 0, Normal2x_32_15_L, Normal2x_32_16_L, Normal2x_32_32_L},
|
||||
{ nullptr, Normal2x_15_15_L, Normal2x_15_16_L, Normal2x_15_32_L},
|
||||
{ nullptr, Normal2x_16_15_L, Normal2x_16_16_L, Normal2x_16_32_L},
|
||||
{ nullptr, Normal2x_32_15_L, Normal2x_32_16_L, Normal2x_32_32_L},
|
||||
{ Normal2x_8_8_L, Normal2x_9_15_L , Normal2x_9_16_L, Normal2x_9_32_L }
|
||||
},{
|
||||
{ Normal2x_8_8_R, Normal2x_8_15_R , Normal2x_8_16_R, Normal2x_8_32_R },
|
||||
{ 0, Normal2x_15_15_R, Normal2x_15_16_R, Normal2x_15_32_R},
|
||||
{ 0, Normal2x_16_15_R, Normal2x_16_16_R, Normal2x_16_32_R},
|
||||
{ 0, Normal2x_32_15_R, Normal2x_32_16_R, Normal2x_32_32_R},
|
||||
{ nullptr, Normal2x_15_15_R, Normal2x_15_16_R, Normal2x_15_32_R},
|
||||
{ nullptr, Normal2x_16_15_R, Normal2x_16_16_R, Normal2x_16_32_R},
|
||||
{ nullptr, Normal2x_32_15_R, Normal2x_32_16_R, Normal2x_32_32_R},
|
||||
{ Normal2x_8_8_R, Normal2x_9_15_R , Normal2x_9_16_R, Normal2x_9_32_R },
|
||||
}};
|
||||
|
||||
@ -293,15 +293,15 @@ ScalerSimpleBlock_t ScaleNormal3x = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
3,3,{
|
||||
{ Normal3x_8_8_L, Normal3x_8_15_L , Normal3x_8_16_L , Normal3x_8_32_L },
|
||||
{ 0, Normal3x_15_15_L, Normal3x_15_16_L, Normal3x_15_32_L},
|
||||
{ 0, Normal3x_16_15_L, Normal3x_16_16_L, Normal3x_16_32_L},
|
||||
{ 0, Normal3x_32_15_L, Normal3x_32_16_L, Normal3x_32_32_L},
|
||||
{ nullptr, Normal3x_15_15_L, Normal3x_15_16_L, Normal3x_15_32_L},
|
||||
{ nullptr, Normal3x_16_15_L, Normal3x_16_16_L, Normal3x_16_32_L},
|
||||
{ nullptr, Normal3x_32_15_L, Normal3x_32_16_L, Normal3x_32_32_L},
|
||||
{ Normal3x_8_8_L, Normal3x_9_15_L , Normal3x_9_16_L , Normal3x_9_32_L }
|
||||
},{
|
||||
{ Normal3x_8_8_R, Normal3x_8_15_R , Normal3x_8_16_R , Normal3x_8_32_R },
|
||||
{ 0, Normal3x_15_15_R, Normal3x_15_16_R, Normal3x_15_32_R},
|
||||
{ 0, Normal3x_16_15_R, Normal3x_16_16_R, Normal3x_16_32_R},
|
||||
{ 0, Normal3x_32_15_R, Normal3x_32_16_R, Normal3x_32_32_R},
|
||||
{ nullptr, Normal3x_15_15_R, Normal3x_15_16_R, Normal3x_15_32_R},
|
||||
{ nullptr, Normal3x_16_15_R, Normal3x_16_16_R, Normal3x_16_32_R},
|
||||
{ nullptr, Normal3x_32_15_R, Normal3x_32_16_R, Normal3x_32_32_R},
|
||||
{ Normal3x_8_8_R, Normal3x_9_15_R , Normal3x_9_16_R , Normal3x_9_32_R }
|
||||
}};
|
||||
|
||||
@ -310,15 +310,15 @@ ScalerSimpleBlock_t ScaleNormal4x = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
4,4,{
|
||||
{ Normal4x_8_8_L, Normal4x_8_15_L , Normal4x_8_16_L , Normal4x_8_32_L },
|
||||
{ 0, Normal4x_15_15_L, Normal4x_15_16_L, Normal4x_15_32_L},
|
||||
{ 0, Normal4x_16_15_L, Normal4x_16_16_L, Normal4x_16_32_L},
|
||||
{ 0, Normal4x_32_15_L, Normal4x_32_16_L, Normal4x_32_32_L},
|
||||
{ nullptr, Normal4x_15_15_L, Normal4x_15_16_L, Normal4x_15_32_L},
|
||||
{ nullptr, Normal4x_16_15_L, Normal4x_16_16_L, Normal4x_16_32_L},
|
||||
{ nullptr, Normal4x_32_15_L, Normal4x_32_16_L, Normal4x_32_32_L},
|
||||
{ Normal4x_8_8_L, Normal4x_9_15_L , Normal4x_9_16_L , Normal4x_9_32_L }
|
||||
},{
|
||||
{ Normal4x_8_8_R, Normal4x_8_15_R , Normal4x_8_16_R , Normal4x_8_32_R },
|
||||
{ 0, Normal4x_15_15_R, Normal4x_15_16_R, Normal4x_15_32_R},
|
||||
{ 0, Normal4x_16_15_R, Normal4x_16_16_R, Normal4x_16_32_R},
|
||||
{ 0, Normal4x_32_15_R, Normal4x_32_16_R, Normal4x_32_32_R},
|
||||
{ nullptr, Normal4x_15_15_R, Normal4x_15_16_R, Normal4x_15_32_R},
|
||||
{ nullptr, Normal4x_16_15_R, Normal4x_16_16_R, Normal4x_16_32_R},
|
||||
{ nullptr, Normal4x_32_15_R, Normal4x_32_16_R, Normal4x_32_32_R},
|
||||
{ Normal4x_8_8_R, Normal4x_9_15_R , Normal4x_9_16_R , Normal4x_9_32_R }
|
||||
}};
|
||||
|
||||
@ -327,15 +327,15 @@ ScalerSimpleBlock_t ScaleNormal5x = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
5,5,{
|
||||
{ Normal5x_8_8_L, Normal5x_8_15_L , Normal5x_8_16_L , Normal5x_8_32_L },
|
||||
{ 0, Normal5x_15_15_L, Normal5x_15_16_L, Normal5x_15_32_L},
|
||||
{ 0, Normal5x_16_15_L, Normal5x_16_16_L, Normal5x_16_32_L},
|
||||
{ 0, Normal5x_32_15_L, Normal5x_32_16_L, Normal5x_32_32_L},
|
||||
{ nullptr, Normal5x_15_15_L, Normal5x_15_16_L, Normal5x_15_32_L},
|
||||
{ nullptr, Normal5x_16_15_L, Normal5x_16_16_L, Normal5x_16_32_L},
|
||||
{ nullptr, Normal5x_32_15_L, Normal5x_32_16_L, Normal5x_32_32_L},
|
||||
{ Normal5x_8_8_L, Normal5x_9_15_L , Normal5x_9_16_L , Normal5x_9_32_L }
|
||||
},{
|
||||
{ Normal5x_8_8_R, Normal5x_8_15_R , Normal5x_8_16_R , Normal5x_8_32_R },
|
||||
{ 0, Normal5x_15_15_R, Normal5x_15_16_R, Normal5x_15_32_R},
|
||||
{ 0, Normal5x_16_15_R, Normal5x_16_16_R, Normal5x_16_32_R},
|
||||
{ 0, Normal5x_32_15_R, Normal5x_32_16_R, Normal5x_32_32_R},
|
||||
{ nullptr, Normal5x_15_15_R, Normal5x_15_16_R, Normal5x_15_32_R},
|
||||
{ nullptr, Normal5x_16_15_R, Normal5x_16_16_R, Normal5x_16_32_R},
|
||||
{ nullptr, Normal5x_32_15_R, Normal5x_32_16_R, Normal5x_32_32_R},
|
||||
{ Normal5x_8_8_R, Normal5x_9_15_R , Normal5x_9_16_R , Normal5x_9_32_R }
|
||||
}};
|
||||
|
||||
@ -344,15 +344,15 @@ ScalerSimpleBlock_t ScaleNormal5x = {
|
||||
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
|
||||
6,6,{
|
||||
{ Normal6x_8_8_L, Normal6x_8_15_L , Normal6x_8_16_L , Normal6x_8_32_L },
|
||||
{ 0, Normal6x_15_15_L, Normal6x_15_16_L, Normal6x_15_32_L},
|
||||
{ 0, Normal6x_16_15_L, Normal6x_16_16_L, Normal6x_16_32_L},
|
||||
{ 0, Normal6x_32_15_L, Normal6x_32_16_L, Normal6x_32_32_L},
|
||||
{ nullptr, Normal6x_15_15_L, Normal6x_15_16_L, Normal6x_15_32_L},
|
||||
{ nullptr, Normal6x_16_15_L, Normal6x_16_16_L, Normal6x_16_32_L},
|
||||
{ nullptr, Normal6x_32_15_L, Normal6x_32_16_L, Normal6x_32_32_L},
|
||||
{ Normal6x_8_8_L, Normal6x_9_15_L , Normal6x_9_16_L , Normal6x_9_32_L }
|
||||
},{
|
||||
{ Normal6x_8_8_R, Normal6x_8_15_R , Normal6x_8_16_R , Normal6x_8_32_R },
|
||||
{ 0, Normal6x_15_15_R, Normal6x_15_16_R, Normal6x_15_32_R},
|
||||
{ 0, Normal6x_16_15_R, Normal6x_16_16_R, Normal6x_16_32_R},
|
||||
{ 0, Normal6x_32_15_R, Normal6x_32_16_R, Normal6x_32_32_R},
|
||||
{ nullptr, Normal6x_15_15_R, Normal6x_15_16_R, Normal6x_15_32_R},
|
||||
{ nullptr, Normal6x_16_15_R, Normal6x_16_16_R, Normal6x_16_32_R},
|
||||
{ nullptr, Normal6x_32_15_R, Normal6x_32_16_R, Normal6x_32_32_R},
|
||||
{ Normal6x_8_8_R, Normal6x_9_15_R , Normal6x_9_16_R , Normal6x_9_32_R }
|
||||
}};*/
|
||||
|
||||
@ -361,204 +361,204 @@ ScalerSimpleBlock_t ScaleTV2x = {
|
||||
"TV2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,{
|
||||
{ 0, TV2x_8_15_L , TV2x_8_16_L , TV2x_8_32_L },
|
||||
{ 0, TV2x_15_15_L, TV2x_15_16_L, TV2x_15_32_L},
|
||||
{ 0, TV2x_16_15_L, TV2x_16_16_L, TV2x_16_32_L},
|
||||
{ 0, TV2x_32_15_L, TV2x_32_16_L, TV2x_32_32_L},
|
||||
{ 0, TV2x_9_15_L , TV2x_9_16_L , TV2x_9_32_L }
|
||||
{ nullptr, TV2x_8_15_L , TV2x_8_16_L , TV2x_8_32_L },
|
||||
{ nullptr, TV2x_15_15_L, TV2x_15_16_L, TV2x_15_32_L},
|
||||
{ nullptr, TV2x_16_15_L, TV2x_16_16_L, TV2x_16_32_L},
|
||||
{ nullptr, TV2x_32_15_L, TV2x_32_16_L, TV2x_32_32_L},
|
||||
{ nullptr, TV2x_9_15_L , TV2x_9_16_L , TV2x_9_32_L }
|
||||
},{
|
||||
{ 0, TV2x_8_15_R , TV2x_8_16_R , TV2x_8_32_R },
|
||||
{ 0, TV2x_15_15_R, TV2x_15_16_R, TV2x_15_32_R},
|
||||
{ 0, TV2x_16_15_R, TV2x_16_16_R, TV2x_16_32_R},
|
||||
{ 0, TV2x_32_15_R, TV2x_32_16_R, TV2x_32_32_R},
|
||||
{ 0, TV2x_9_15_R , TV2x_9_16_R , TV2x_9_32_R }
|
||||
{ nullptr, TV2x_8_15_R , TV2x_8_16_R , TV2x_8_32_R },
|
||||
{ nullptr, TV2x_15_15_R, TV2x_15_16_R, TV2x_15_32_R},
|
||||
{ nullptr, TV2x_16_15_R, TV2x_16_16_R, TV2x_16_32_R},
|
||||
{ nullptr, TV2x_32_15_R, TV2x_32_16_R, TV2x_32_32_R},
|
||||
{ nullptr, TV2x_9_15_R , TV2x_9_16_R , TV2x_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleTVDh = {
|
||||
"TV2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
1,2,{
|
||||
{ 0, TVDh_8_15_L , TVDh_8_16_L , TVDh_8_32_L },
|
||||
{ 0, TVDh_15_15_L, TVDh_15_16_L, TVDh_15_32_L},
|
||||
{ 0, TVDh_16_15_L, TVDh_16_16_L, TVDh_16_32_L},
|
||||
{ 0, TVDh_32_15_L, TVDh_32_16_L, TVDh_32_32_L},
|
||||
{ 0, TVDh_9_15_L , TVDh_9_16_L , TVDh_9_32_L }
|
||||
{ nullptr, TVDh_8_15_L , TVDh_8_16_L , TVDh_8_32_L },
|
||||
{ nullptr, TVDh_15_15_L, TVDh_15_16_L, TVDh_15_32_L},
|
||||
{ nullptr, TVDh_16_15_L, TVDh_16_16_L, TVDh_16_32_L},
|
||||
{ nullptr, TVDh_32_15_L, TVDh_32_16_L, TVDh_32_32_L},
|
||||
{ nullptr, TVDh_9_15_L , TVDh_9_16_L , TVDh_9_32_L }
|
||||
},{
|
||||
{ 0, TVDh_8_15_R , TVDh_8_16_R , TVDh_8_32_R },
|
||||
{ 0, TVDh_15_15_R, TVDh_15_16_R, TVDh_15_32_R},
|
||||
{ 0, TVDh_16_15_R, TVDh_16_16_R, TVDh_16_32_R},
|
||||
{ 0, TVDh_32_15_R, TVDh_32_16_R, TVDh_32_32_R},
|
||||
{ 0, TVDh_9_15_R , TVDh_9_16_R , TVDh_9_32_R }
|
||||
{ nullptr, TVDh_8_15_R , TVDh_8_16_R , TVDh_8_32_R },
|
||||
{ nullptr, TVDh_15_15_R, TVDh_15_16_R, TVDh_15_32_R},
|
||||
{ nullptr, TVDh_16_15_R, TVDh_16_16_R, TVDh_16_32_R},
|
||||
{ nullptr, TVDh_32_15_R, TVDh_32_16_R, TVDh_32_32_R},
|
||||
{ nullptr, TVDh_9_15_R , TVDh_9_16_R , TVDh_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleTV3x = {
|
||||
"TV3x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
3,3,{
|
||||
{ 0, TV3x_8_15_L , TV3x_8_16_L , TV3x_8_32_L },
|
||||
{ 0, TV3x_15_15_L, TV3x_15_16_L, TV3x_15_32_L},
|
||||
{ 0, TV3x_16_15_L, TV3x_16_16_L, TV3x_16_32_L},
|
||||
{ 0, TV3x_32_15_L, TV3x_32_16_L, TV3x_32_32_L},
|
||||
{ 0, TV3x_9_15_L , TV3x_9_16_L , TV3x_9_32_L }
|
||||
{ nullptr, TV3x_8_15_L , TV3x_8_16_L , TV3x_8_32_L },
|
||||
{ nullptr, TV3x_15_15_L, TV3x_15_16_L, TV3x_15_32_L},
|
||||
{ nullptr, TV3x_16_15_L, TV3x_16_16_L, TV3x_16_32_L},
|
||||
{ nullptr, TV3x_32_15_L, TV3x_32_16_L, TV3x_32_32_L},
|
||||
{ nullptr, TV3x_9_15_L , TV3x_9_16_L , TV3x_9_32_L }
|
||||
},{
|
||||
{ 0, TV3x_8_15_R , TV3x_8_16_R , TV3x_8_32_R },
|
||||
{ 0, TV3x_15_15_R, TV3x_15_16_R, TV3x_15_32_R},
|
||||
{ 0, TV3x_16_15_R, TV3x_16_16_R, TV3x_16_32_R},
|
||||
{ 0, TV3x_32_15_R, TV3x_32_16_R, TV3x_32_32_R},
|
||||
{ 0, TV3x_9_15_R , TV3x_9_16_R , TV3x_9_32_R }
|
||||
{ nullptr, TV3x_8_15_R , TV3x_8_16_R , TV3x_8_32_R },
|
||||
{ nullptr, TV3x_15_15_R, TV3x_15_16_R, TV3x_15_32_R},
|
||||
{ nullptr, TV3x_16_15_R, TV3x_16_16_R, TV3x_16_32_R},
|
||||
{ nullptr, TV3x_32_15_R, TV3x_32_16_R, TV3x_32_32_R},
|
||||
{ nullptr, TV3x_9_15_R , TV3x_9_16_R , TV3x_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleScan2x = {
|
||||
"Scan2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,{
|
||||
{ 0, Scan2x_8_15_L , Scan2x_8_16_L , Scan2x_8_32_L },
|
||||
{ 0, Scan2x_15_15_L, Scan2x_15_16_L, Scan2x_15_32_L},
|
||||
{ 0, Scan2x_16_15_L, Scan2x_16_16_L, Scan2x_16_32_L},
|
||||
{ 0, Scan2x_32_15_L, Scan2x_32_16_L, Scan2x_32_32_L},
|
||||
{ 0, Scan2x_9_15_L , Scan2x_9_16_L , Scan2x_9_32_L }
|
||||
{ nullptr, Scan2x_8_15_L , Scan2x_8_16_L , Scan2x_8_32_L },
|
||||
{ nullptr, Scan2x_15_15_L, Scan2x_15_16_L, Scan2x_15_32_L},
|
||||
{ nullptr, Scan2x_16_15_L, Scan2x_16_16_L, Scan2x_16_32_L},
|
||||
{ nullptr, Scan2x_32_15_L, Scan2x_32_16_L, Scan2x_32_32_L},
|
||||
{ nullptr, Scan2x_9_15_L , Scan2x_9_16_L , Scan2x_9_32_L }
|
||||
},{
|
||||
{ 0, Scan2x_8_15_R , Scan2x_8_16_R , Scan2x_8_32_R },
|
||||
{ 0, Scan2x_15_15_R, Scan2x_15_16_R, Scan2x_15_32_R},
|
||||
{ 0, Scan2x_16_15_R, Scan2x_16_16_R, Scan2x_16_32_R},
|
||||
{ 0, Scan2x_32_15_R, Scan2x_32_16_R, Scan2x_32_32_R},
|
||||
{ 0, Scan2x_9_15_R , Scan2x_9_16_R , Scan2x_9_32_R }
|
||||
{ nullptr, Scan2x_8_15_R , Scan2x_8_16_R , Scan2x_8_32_R },
|
||||
{ nullptr, Scan2x_15_15_R, Scan2x_15_16_R, Scan2x_15_32_R},
|
||||
{ nullptr, Scan2x_16_15_R, Scan2x_16_16_R, Scan2x_16_32_R},
|
||||
{ nullptr, Scan2x_32_15_R, Scan2x_32_16_R, Scan2x_32_32_R},
|
||||
{ nullptr, Scan2x_9_15_R , Scan2x_9_16_R , Scan2x_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleScanDh = {
|
||||
"Scan2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
1,2,{
|
||||
{ 0, ScanDh_8_15_L , ScanDh_8_16_L , ScanDh_8_32_L },
|
||||
{ 0, ScanDh_15_15_L, ScanDh_15_16_L, ScanDh_15_32_L},
|
||||
{ 0, ScanDh_16_15_L, ScanDh_16_16_L, ScanDh_16_32_L},
|
||||
{ 0, ScanDh_32_15_L, ScanDh_32_16_L, ScanDh_32_32_L},
|
||||
{ 0, ScanDh_9_15_L , ScanDh_9_16_L , ScanDh_9_32_L }
|
||||
{ nullptr, ScanDh_8_15_L , ScanDh_8_16_L , ScanDh_8_32_L },
|
||||
{ nullptr, ScanDh_15_15_L, ScanDh_15_16_L, ScanDh_15_32_L},
|
||||
{ nullptr, ScanDh_16_15_L, ScanDh_16_16_L, ScanDh_16_32_L},
|
||||
{ nullptr, ScanDh_32_15_L, ScanDh_32_16_L, ScanDh_32_32_L},
|
||||
{ nullptr, ScanDh_9_15_L , ScanDh_9_16_L , ScanDh_9_32_L }
|
||||
},{
|
||||
{ 0, ScanDh_8_15_R , ScanDh_8_16_R , ScanDh_8_32_R },
|
||||
{ 0, ScanDh_15_15_R, ScanDh_15_16_R, ScanDh_15_32_R},
|
||||
{ 0, ScanDh_16_15_R, ScanDh_16_16_R, ScanDh_16_32_R},
|
||||
{ 0, ScanDh_32_15_R, ScanDh_32_16_R, ScanDh_32_32_R},
|
||||
{ 0, ScanDh_9_15_R , ScanDh_9_16_R , ScanDh_9_32_R }
|
||||
{ nullptr, ScanDh_8_15_R , ScanDh_8_16_R , ScanDh_8_32_R },
|
||||
{ nullptr, ScanDh_15_15_R, ScanDh_15_16_R, ScanDh_15_32_R},
|
||||
{ nullptr, ScanDh_16_15_R, ScanDh_16_16_R, ScanDh_16_32_R},
|
||||
{ nullptr, ScanDh_32_15_R, ScanDh_32_16_R, ScanDh_32_32_R},
|
||||
{ nullptr, ScanDh_9_15_R , ScanDh_9_16_R , ScanDh_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleScan3x = {
|
||||
"Scan3x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
3,3,{
|
||||
{ 0, Scan3x_8_15_L , Scan3x_8_16_L , Scan3x_8_32_L },
|
||||
{ 0, Scan3x_15_15_L, Scan3x_15_16_L, Scan3x_15_32_L},
|
||||
{ 0, Scan3x_16_15_L, Scan3x_16_16_L, Scan3x_16_32_L},
|
||||
{ 0, Scan3x_32_15_L, Scan3x_32_16_L, Scan3x_32_32_L},
|
||||
{ 0, Scan3x_9_15_L , Scan3x_9_16_L , Scan3x_9_32_L },
|
||||
{ nullptr, Scan3x_8_15_L , Scan3x_8_16_L , Scan3x_8_32_L },
|
||||
{ nullptr, Scan3x_15_15_L, Scan3x_15_16_L, Scan3x_15_32_L},
|
||||
{ nullptr, Scan3x_16_15_L, Scan3x_16_16_L, Scan3x_16_32_L},
|
||||
{ nullptr, Scan3x_32_15_L, Scan3x_32_16_L, Scan3x_32_32_L},
|
||||
{ nullptr, Scan3x_9_15_L , Scan3x_9_16_L , Scan3x_9_32_L },
|
||||
},{
|
||||
{ 0, Scan3x_8_15_R , Scan3x_8_16_R , Scan3x_8_32_R },
|
||||
{ 0, Scan3x_15_15_R, Scan3x_15_16_R, Scan3x_15_32_R},
|
||||
{ 0, Scan3x_16_15_R, Scan3x_16_16_R, Scan3x_16_32_R},
|
||||
{ 0, Scan3x_32_15_R, Scan3x_32_16_R, Scan3x_32_32_R},
|
||||
{ 0, Scan3x_9_15_R , Scan3x_9_16_R , Scan3x_9_32_R }
|
||||
{ nullptr, Scan3x_8_15_R , Scan3x_8_16_R , Scan3x_8_32_R },
|
||||
{ nullptr, Scan3x_15_15_R, Scan3x_15_16_R, Scan3x_15_32_R},
|
||||
{ nullptr, Scan3x_16_15_R, Scan3x_16_16_R, Scan3x_16_32_R},
|
||||
{ nullptr, Scan3x_32_15_R, Scan3x_32_16_R, Scan3x_32_32_R},
|
||||
{ nullptr, Scan3x_9_15_R , Scan3x_9_16_R , Scan3x_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleRGB2x = {
|
||||
"RGB2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,{
|
||||
{ 0, RGB2x_8_15_L , RGB2x_8_16_L , RGB2x_8_32_L },
|
||||
{ 0, RGB2x_15_15_L, RGB2x_15_16_L, RGB2x_15_32_L},
|
||||
{ 0, RGB2x_16_15_L, RGB2x_16_16_L, RGB2x_16_32_L},
|
||||
{ 0, RGB2x_32_15_L, RGB2x_32_16_L, RGB2x_32_32_L},
|
||||
{ 0, RGB2x_9_15_L , RGB2x_9_16_L , RGB2x_9_32_L }
|
||||
{ nullptr, RGB2x_8_15_L , RGB2x_8_16_L , RGB2x_8_32_L },
|
||||
{ nullptr, RGB2x_15_15_L, RGB2x_15_16_L, RGB2x_15_32_L},
|
||||
{ nullptr, RGB2x_16_15_L, RGB2x_16_16_L, RGB2x_16_32_L},
|
||||
{ nullptr, RGB2x_32_15_L, RGB2x_32_16_L, RGB2x_32_32_L},
|
||||
{ nullptr, RGB2x_9_15_L , RGB2x_9_16_L , RGB2x_9_32_L }
|
||||
},{
|
||||
{ 0, RGB2x_8_15_R , RGB2x_8_16_R , RGB2x_8_32_R },
|
||||
{ 0, RGB2x_15_15_R, RGB2x_15_16_R, RGB2x_15_32_R},
|
||||
{ 0, RGB2x_16_15_R, RGB2x_16_16_R, RGB2x_16_32_R},
|
||||
{ 0, RGB2x_32_15_R, RGB2x_32_16_R, RGB2x_32_32_R},
|
||||
{ 0, RGB2x_9_15_R , RGB2x_9_16_R , RGB2x_9_32_R }
|
||||
{ nullptr, RGB2x_8_15_R , RGB2x_8_16_R , RGB2x_8_32_R },
|
||||
{ nullptr, RGB2x_15_15_R, RGB2x_15_16_R, RGB2x_15_32_R},
|
||||
{ nullptr, RGB2x_16_15_R, RGB2x_16_16_R, RGB2x_16_32_R},
|
||||
{ nullptr, RGB2x_32_15_R, RGB2x_32_16_R, RGB2x_32_32_R},
|
||||
{ nullptr, RGB2x_9_15_R , RGB2x_9_16_R , RGB2x_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleRGB3x = {
|
||||
"RGB3x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
3,3,{
|
||||
{ 0, RGB3x_8_15_L , RGB3x_8_16_L , RGB3x_8_32_L },
|
||||
{ 0, RGB3x_15_15_L, RGB3x_15_16_L, RGB3x_15_32_L},
|
||||
{ 0, RGB3x_16_15_L, RGB3x_16_16_L, RGB3x_16_32_L},
|
||||
{ 0, RGB3x_32_15_L, RGB3x_32_16_L, RGB3x_32_32_L},
|
||||
{ 0, RGB3x_9_15_L , RGB3x_9_16_L , RGB3x_9_32_L }
|
||||
{ nullptr, RGB3x_8_15_L , RGB3x_8_16_L , RGB3x_8_32_L },
|
||||
{ nullptr, RGB3x_15_15_L, RGB3x_15_16_L, RGB3x_15_32_L},
|
||||
{ nullptr, RGB3x_16_15_L, RGB3x_16_16_L, RGB3x_16_32_L},
|
||||
{ nullptr, RGB3x_32_15_L, RGB3x_32_16_L, RGB3x_32_32_L},
|
||||
{ nullptr, RGB3x_9_15_L , RGB3x_9_16_L , RGB3x_9_32_L }
|
||||
},{
|
||||
{ 0, RGB3x_8_15_R , RGB3x_8_16_R , RGB3x_8_32_R },
|
||||
{ 0, RGB3x_15_15_R, RGB3x_15_16_R, RGB3x_15_32_R},
|
||||
{ 0, RGB3x_16_15_R, RGB3x_16_16_R, RGB3x_16_32_R},
|
||||
{ 0, RGB3x_32_15_R, RGB3x_32_16_R, RGB3x_32_32_R},
|
||||
{ 0, RGB3x_9_15_R , RGB3x_9_16_R , RGB3x_9_32_R }
|
||||
{ nullptr, RGB3x_8_15_R , RGB3x_8_16_R , RGB3x_8_32_R },
|
||||
{ nullptr, RGB3x_15_15_R, RGB3x_15_16_R, RGB3x_15_32_R},
|
||||
{ nullptr, RGB3x_16_15_R, RGB3x_16_16_R, RGB3x_16_32_R},
|
||||
{ nullptr, RGB3x_32_15_R, RGB3x_32_16_R, RGB3x_32_32_R},
|
||||
{ nullptr, RGB3x_9_15_R , RGB3x_9_16_R , RGB3x_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleGrayNormal = {
|
||||
"Gray2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
1,1,{
|
||||
{ 0, GrayNormal_8_15_L , GrayNormal_8_16_L , GrayNormal_8_32_L },
|
||||
{ 0, GrayNormal_15_15_L, GrayNormal_15_16_L, GrayNormal_15_32_L},
|
||||
{ 0, GrayNormal_16_15_L, GrayNormal_16_16_L, GrayNormal_16_32_L},
|
||||
{ 0, GrayNormal_32_15_L, GrayNormal_32_16_L, GrayNormal_32_32_L},
|
||||
{ 0, GrayNormal_9_15_L , GrayNormal_9_16_L , GrayNormal_9_32_L }
|
||||
{ nullptr, GrayNormal_8_15_L , GrayNormal_8_16_L , GrayNormal_8_32_L },
|
||||
{ nullptr, GrayNormal_15_15_L, GrayNormal_15_16_L, GrayNormal_15_32_L},
|
||||
{ nullptr, GrayNormal_16_15_L, GrayNormal_16_16_L, GrayNormal_16_32_L},
|
||||
{ nullptr, GrayNormal_32_15_L, GrayNormal_32_16_L, GrayNormal_32_32_L},
|
||||
{ nullptr, GrayNormal_9_15_L , GrayNormal_9_16_L , GrayNormal_9_32_L }
|
||||
},{
|
||||
{ 0, GrayNormal_8_15_R , GrayNormal_8_16_R , GrayNormal_8_32_R },
|
||||
{ 0, GrayNormal_15_15_R, GrayNormal_15_16_R, GrayNormal_15_32_R},
|
||||
{ 0, GrayNormal_16_15_R, GrayNormal_16_16_R, GrayNormal_16_32_R},
|
||||
{ 0, GrayNormal_32_15_R, GrayNormal_32_16_R, GrayNormal_32_32_R},
|
||||
{ 0, GrayNormal_9_15_R , GrayNormal_9_16_R , GrayNormal_9_32_R }
|
||||
{ nullptr, GrayNormal_8_15_R , GrayNormal_8_16_R , GrayNormal_8_32_R },
|
||||
{ nullptr, GrayNormal_15_15_R, GrayNormal_15_16_R, GrayNormal_15_32_R},
|
||||
{ nullptr, GrayNormal_16_15_R, GrayNormal_16_16_R, GrayNormal_16_32_R},
|
||||
{ nullptr, GrayNormal_32_15_R, GrayNormal_32_16_R, GrayNormal_32_32_R},
|
||||
{ nullptr, GrayNormal_9_15_R , GrayNormal_9_16_R , GrayNormal_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleGrayDw = {
|
||||
"Gray2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,1,{
|
||||
{ 0, GrayDw_8_15_L , GrayDw_8_16_L , GrayDw_8_32_L },
|
||||
{ 0, GrayDw_15_15_L, GrayDw_15_16_L, GrayDw_15_32_L},
|
||||
{ 0, GrayDw_16_15_L, GrayDw_16_16_L, GrayDw_16_32_L},
|
||||
{ 0, GrayDw_32_15_L, GrayDw_32_16_L, GrayDw_32_32_L},
|
||||
{ 0, GrayDw_9_15_L , GrayDw_9_16_L , GrayDw_9_32_L }
|
||||
{ nullptr, GrayDw_8_15_L , GrayDw_8_16_L , GrayDw_8_32_L },
|
||||
{ nullptr, GrayDw_15_15_L, GrayDw_15_16_L, GrayDw_15_32_L},
|
||||
{ nullptr, GrayDw_16_15_L, GrayDw_16_16_L, GrayDw_16_32_L},
|
||||
{ nullptr, GrayDw_32_15_L, GrayDw_32_16_L, GrayDw_32_32_L},
|
||||
{ nullptr, GrayDw_9_15_L , GrayDw_9_16_L , GrayDw_9_32_L }
|
||||
},{
|
||||
{ 0, GrayDw_8_15_R , GrayDw_8_16_R , GrayDw_8_32_R },
|
||||
{ 0, GrayDw_15_15_R, GrayDw_15_16_R, GrayDw_15_32_R},
|
||||
{ 0, GrayDw_16_15_R, GrayDw_16_16_R, GrayDw_16_32_R},
|
||||
{ 0, GrayDw_32_15_R, GrayDw_32_16_R, GrayDw_32_32_R},
|
||||
{ 0, GrayDw_9_15_R , GrayDw_9_16_R , GrayDw_9_32_R }
|
||||
{ nullptr, GrayDw_8_15_R , GrayDw_8_16_R , GrayDw_8_32_R },
|
||||
{ nullptr, GrayDw_15_15_R, GrayDw_15_16_R, GrayDw_15_32_R},
|
||||
{ nullptr, GrayDw_16_15_R, GrayDw_16_16_R, GrayDw_16_32_R},
|
||||
{ nullptr, GrayDw_32_15_R, GrayDw_32_16_R, GrayDw_32_32_R},
|
||||
{ nullptr, GrayDw_9_15_R , GrayDw_9_16_R , GrayDw_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleGrayDh = {
|
||||
"Gray2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
1,2,{
|
||||
{ 0, GrayDh_8_15_L , GrayDh_8_16_L , GrayDh_8_32_L },
|
||||
{ 0, GrayDh_15_15_L, GrayDh_15_16_L, GrayDh_15_32_L},
|
||||
{ 0, GrayDh_16_15_L, GrayDh_16_16_L, GrayDh_16_32_L},
|
||||
{ 0, GrayDh_32_15_L, GrayDh_32_16_L, GrayDh_32_32_L},
|
||||
{ 0, GrayDh_9_15_L , GrayDh_9_16_L , GrayDh_9_32_L }
|
||||
{ nullptr, GrayDh_8_15_L , GrayDh_8_16_L , GrayDh_8_32_L },
|
||||
{ nullptr, GrayDh_15_15_L, GrayDh_15_16_L, GrayDh_15_32_L},
|
||||
{ nullptr, GrayDh_16_15_L, GrayDh_16_16_L, GrayDh_16_32_L},
|
||||
{ nullptr, GrayDh_32_15_L, GrayDh_32_16_L, GrayDh_32_32_L},
|
||||
{ nullptr, GrayDh_9_15_L , GrayDh_9_16_L , GrayDh_9_32_L }
|
||||
},{
|
||||
{ 0, GrayDh_8_15_R , GrayDh_8_16_R , GrayDh_8_32_R },
|
||||
{ 0, GrayDh_15_15_R, GrayDh_15_16_R, GrayDh_15_32_R},
|
||||
{ 0, GrayDh_16_15_R, GrayDh_16_16_R, GrayDh_16_32_R},
|
||||
{ 0, GrayDh_32_15_R, GrayDh_32_16_R, GrayDh_32_32_R},
|
||||
{ 0, GrayDh_9_15_R , GrayDh_9_16_R , GrayDh_9_32_R }
|
||||
{ nullptr, GrayDh_8_15_R , GrayDh_8_16_R , GrayDh_8_32_R },
|
||||
{ nullptr, GrayDh_15_15_R, GrayDh_15_16_R, GrayDh_15_32_R},
|
||||
{ nullptr, GrayDh_16_15_R, GrayDh_16_16_R, GrayDh_16_32_R},
|
||||
{ nullptr, GrayDh_32_15_R, GrayDh_32_16_R, GrayDh_32_32_R},
|
||||
{ nullptr, GrayDh_9_15_R , GrayDh_9_16_R , GrayDh_9_32_R }
|
||||
}};
|
||||
|
||||
ScalerSimpleBlock_t ScaleGray2x = {
|
||||
"Gray2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,{
|
||||
{ 0, Gray2x_8_15_L , Gray2x_8_16_L , Gray2x_8_32_L },
|
||||
{ 0, Gray2x_15_15_L, Gray2x_15_16_L, Gray2x_15_32_L},
|
||||
{ 0, Gray2x_16_15_L, Gray2x_16_16_L, Gray2x_16_32_L},
|
||||
{ 0, Gray2x_32_15_L, Gray2x_32_16_L, Gray2x_32_32_L},
|
||||
{ 0, Gray2x_9_15_L , Gray2x_9_16_L , Gray2x_9_32_L }
|
||||
{ nullptr, Gray2x_8_15_L , Gray2x_8_16_L , Gray2x_8_32_L },
|
||||
{ nullptr, Gray2x_15_15_L, Gray2x_15_16_L, Gray2x_15_32_L},
|
||||
{ nullptr, Gray2x_16_15_L, Gray2x_16_16_L, Gray2x_16_32_L},
|
||||
{ nullptr, Gray2x_32_15_L, Gray2x_32_16_L, Gray2x_32_32_L},
|
||||
{ nullptr, Gray2x_9_15_L , Gray2x_9_16_L , Gray2x_9_32_L }
|
||||
},{
|
||||
{ 0, Gray2x_8_15_R , Gray2x_8_16_R , Gray2x_8_32_R },
|
||||
{ 0, Gray2x_15_15_R, Gray2x_15_16_R, Gray2x_15_32_R},
|
||||
{ 0, Gray2x_16_15_R, Gray2x_16_16_R, Gray2x_16_32_R},
|
||||
{ 0, Gray2x_32_15_R, Gray2x_32_16_R, Gray2x_32_32_R},
|
||||
{ 0, Gray2x_9_15_R , Gray2x_9_16_R , Gray2x_9_32_R }
|
||||
{ nullptr, Gray2x_8_15_R , Gray2x_8_16_R , Gray2x_8_32_R },
|
||||
{ nullptr, Gray2x_15_15_R, Gray2x_15_16_R, Gray2x_15_32_R},
|
||||
{ nullptr, Gray2x_16_15_R, Gray2x_16_16_R, Gray2x_16_32_R},
|
||||
{ nullptr, Gray2x_32_15_R, Gray2x_32_16_R, Gray2x_32_32_R},
|
||||
{ nullptr, Gray2x_9_15_R , Gray2x_9_16_R , Gray2x_9_32_R }
|
||||
}};
|
||||
#endif
|
||||
|
||||
@ -587,56 +587,56 @@ ScalerComplexBlock_t ScaleHQ2x ={
|
||||
"HQ2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,
|
||||
{ 0,HQ2x_16_L,HQ2x_16_L,HQ2x_32_L},
|
||||
{ 0,HQ2x_16_R,HQ2x_16_R,HQ2x_32_R}
|
||||
{ nullptr,HQ2x_16_L,HQ2x_16_L,HQ2x_32_L},
|
||||
{ nullptr,HQ2x_16_R,HQ2x_16_R,HQ2x_32_R}
|
||||
};
|
||||
|
||||
ScalerComplexBlock_t ScaleHQ3x ={
|
||||
"HQ3x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
3,3,
|
||||
{ 0,HQ3x_16_L,HQ3x_16_L,HQ3x_32_L},
|
||||
{ 0,HQ3x_16_R,HQ3x_16_R,HQ3x_32_R}
|
||||
{ nullptr,HQ3x_16_L,HQ3x_16_L,HQ3x_32_L},
|
||||
{ nullptr,HQ3x_16_R,HQ3x_16_R,HQ3x_32_R}
|
||||
};
|
||||
|
||||
ScalerComplexBlock_t ScaleSuper2xSaI ={
|
||||
"Super2xSaI",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,
|
||||
{ 0,Super2xSaI_16_L,Super2xSaI_16_L,Super2xSaI_32_L},
|
||||
{ 0,Super2xSaI_16_R,Super2xSaI_16_R,Super2xSaI_32_R}
|
||||
{ nullptr,Super2xSaI_16_L,Super2xSaI_16_L,Super2xSaI_32_L},
|
||||
{ nullptr,Super2xSaI_16_R,Super2xSaI_16_R,Super2xSaI_32_R}
|
||||
};
|
||||
|
||||
ScalerComplexBlock_t Scale2xSaI ={
|
||||
"2xSaI",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,
|
||||
{ 0,_2xSaI_16_L,_2xSaI_16_L,_2xSaI_32_L},
|
||||
{ 0,_2xSaI_16_R,_2xSaI_16_R,_2xSaI_32_R}
|
||||
{ nullptr,_2xSaI_16_L,_2xSaI_16_L,_2xSaI_32_L},
|
||||
{ nullptr,_2xSaI_16_R,_2xSaI_16_R,_2xSaI_32_R}
|
||||
};
|
||||
|
||||
ScalerComplexBlock_t ScaleSuperEagle ={
|
||||
"SuperEagle",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,
|
||||
{ 0,SuperEagle_16_L,SuperEagle_16_L,SuperEagle_32_L},
|
||||
{ 0,SuperEagle_16_R,SuperEagle_16_R,SuperEagle_32_R}
|
||||
{ nullptr,SuperEagle_16_L,SuperEagle_16_L,SuperEagle_32_L},
|
||||
{ nullptr,SuperEagle_16_R,SuperEagle_16_R,SuperEagle_32_R}
|
||||
};
|
||||
|
||||
ScalerComplexBlock_t ScaleAdvInterp2x = {
|
||||
"AdvInterp2x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
2,2,
|
||||
{ 0,AdvInterp2x_15_L,AdvInterp2x_16_L,AdvInterp2x_32_L},
|
||||
{ 0,AdvInterp2x_15_R,AdvInterp2x_16_R,AdvInterp2x_32_R}
|
||||
{ nullptr,AdvInterp2x_15_L,AdvInterp2x_16_L,AdvInterp2x_32_L},
|
||||
{ nullptr,AdvInterp2x_15_R,AdvInterp2x_16_R,AdvInterp2x_32_R}
|
||||
};
|
||||
|
||||
ScalerComplexBlock_t ScaleAdvInterp3x = {
|
||||
"AdvInterp3x",
|
||||
GFX_CAN_15|GFX_CAN_16|GFX_CAN_32|GFX_RGBONLY,
|
||||
3,3,
|
||||
{ 0,AdvInterp3x_15_L,AdvInterp3x_16_L,AdvInterp3x_32_L},
|
||||
{ 0,AdvInterp3x_15_R,AdvInterp3x_16_R,AdvInterp3x_32_R}
|
||||
{ nullptr,AdvInterp3x_15_L,AdvInterp3x_16_L,AdvInterp3x_32_L},
|
||||
{ nullptr,AdvInterp3x_15_R,AdvInterp3x_16_R,AdvInterp3x_32_R}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -27,7 +27,7 @@
|
||||
#ifndef RENDER_TEMPLATES_HQNX_TABLE_H
|
||||
#define RENDER_TEMPLATES_HQNX_TABLE_H
|
||||
|
||||
static uint32_t *_RGBtoYUV = 0;
|
||||
static uint32_t *_RGBtoYUV = nullptr;
|
||||
static inline bool diffYUV(uint32_t yuv1, uint32_t yuv2)
|
||||
{
|
||||
static const uint32_t Ymask = 0x00FF0000;
|
||||
|
@ -91,7 +91,7 @@ inline void conc2d(Hq2x,SBPP)(PTYPE * line0, PTYPE * line1, const PTYPE * fc)
|
||||
(void)conc2d(Hq2x,SBPP);
|
||||
# endif
|
||||
|
||||
if (_RGBtoYUV == 0) conc2d(InitLUTs,SBPP)();
|
||||
if (!_RGBtoYUV) conc2d(InitLUTs,SBPP)();
|
||||
|
||||
uint32_t pattern = 0;
|
||||
const uint32_t YUV4 = RGBtoYUV(C4);
|
||||
|
@ -93,7 +93,7 @@ inline void conc2d(Hq3x,SBPP)(PTYPE * line0, PTYPE * line1, PTYPE * line2, const
|
||||
(void)conc2d(Hq3x,SBPP);
|
||||
# endif
|
||||
|
||||
if (_RGBtoYUV == 0) conc2d(InitLUTs,SBPP)();
|
||||
if (_RGBtoYUV == nullptr) conc2d(InitLUTs,SBPP)();
|
||||
|
||||
uint32_t pattern = 0;
|
||||
const uint32_t YUV4 = RGBtoYUV(C4);
|
||||
|
@ -234,7 +234,7 @@ extern const char* RunningProgram;
|
||||
static GUI::ScreenSDL *UI_Startup(GUI::ScreenSDL *screen) {
|
||||
in_gui = true;
|
||||
|
||||
GFX_EndUpdate(0);
|
||||
GFX_EndUpdate(nullptr);
|
||||
GFX_SetTitle(-1,-1,-1,true);
|
||||
if(!screen) { //Coming from DOSBox. Clean up the keyboard buffer.
|
||||
KEYBOARD_ClrBuffer();//Clear buffer
|
||||
@ -308,7 +308,7 @@ static GUI::ScreenSDL *UI_Startup(GUI::ScreenSDL *screen) {
|
||||
|
||||
if (sw_draw > 0 && sh_draw > 0) {
|
||||
screenshot = SDL_CreateRGBSurface(SDL_SWSURFACE, dw, dh, 32, GUI::Color::RedMask, GUI::Color::GreenMask, GUI::Color::BlueMask, 0);
|
||||
SDL_FillRect(screenshot,0,0);
|
||||
SDL_FillRect(screenshot, nullptr, 0);
|
||||
|
||||
unsigned int rs = screenshot->format->Rshift, gs = screenshot->format->Gshift, bs = screenshot->format->Bshift;
|
||||
|
||||
@ -327,7 +327,7 @@ static GUI::ScreenSDL *UI_Startup(GUI::ScreenSDL *screen) {
|
||||
}
|
||||
|
||||
background = SDL_CreateRGBSurface(SDL_SWSURFACE, dw, dh, 32, GUI::Color::RedMask, GUI::Color::GreenMask, GUI::Color::BlueMask, 0);
|
||||
SDL_FillRect(background,0,0);
|
||||
SDL_FillRect(background, nullptr, 0);
|
||||
for (int y = 0; y < sh_draw; y++) {
|
||||
uint32_t *bg = (uint32_t*)((unsigned int)(y+sy)*(unsigned int)background->pitch + (char*)background->pixels) + sx;
|
||||
for (int x = 0; x < sw_draw; x++) {
|
||||
@ -3340,7 +3340,7 @@ static void UI_Execute(GUI::ScreenSDL *screen) {
|
||||
if (background)
|
||||
SDL_BlitSurface(background, NULL, sdlscreen, NULL);
|
||||
else
|
||||
SDL_FillRect(sdlscreen,0,0);
|
||||
SDL_FillRect(sdlscreen, nullptr, 0);
|
||||
|
||||
screen->update(screen->getTime());
|
||||
|
||||
@ -3603,7 +3603,7 @@ static void UI_Select(GUI::ScreenSDL *screen, int select) {
|
||||
if (background)
|
||||
SDL_BlitSurface(background, NULL, sdlscreen, NULL);
|
||||
else
|
||||
SDL_FillRect(sdlscreen,0,0);
|
||||
SDL_FillRect(sdlscreen, nullptr, 0);
|
||||
|
||||
screen->update(4);
|
||||
#if defined(C_SDL2)
|
||||
@ -3666,7 +3666,7 @@ void GUI_Shortcut(int select) {
|
||||
#if defined(USE_TTF)
|
||||
if (ttf.inUse && !confres) {
|
||||
ttf_switch_off();
|
||||
GFX_EndUpdate(0);
|
||||
GFX_EndUpdate(nullptr);
|
||||
switchttf = true;
|
||||
PIC_AddEvent(RunCfgTool, 100);
|
||||
} else
|
||||
@ -3681,7 +3681,7 @@ void GUI_Run(bool pressed) {
|
||||
#if defined(USE_TTF)
|
||||
if (ttf.inUse) {
|
||||
ttf_switch_off();
|
||||
GFX_EndUpdate(0);
|
||||
GFX_EndUpdate(nullptr);
|
||||
switchttf = true;
|
||||
PIC_AddEvent(RunCfgTool, 100);
|
||||
} else
|
||||
|
@ -552,7 +552,7 @@ public:
|
||||
list=_list;
|
||||
_list->push_back(this);
|
||||
mods=flags=0;
|
||||
event=0;
|
||||
event = nullptr;
|
||||
active=holding=false;
|
||||
type = _type;
|
||||
value = 0;
|
||||
@ -1538,7 +1538,7 @@ public:
|
||||
}
|
||||
virtual ~CKeyBindGroup() { delete[] lists; }
|
||||
CBind * CreateConfigBind(char *& buf) override {
|
||||
if (strncasecmp(buf,configname,strlen(configname))) return 0;
|
||||
if (strncasecmp(buf,configname,strlen(configname))) return nullptr;
|
||||
StripWord(buf);char * num=StripWord(buf);
|
||||
Bitu code=(Bitu)ConvDecWord(num);
|
||||
#if defined(C_SDL2)
|
||||
@ -1553,7 +1553,7 @@ public:
|
||||
return bind;
|
||||
}
|
||||
CBind * CreateEventBind(SDL_Event * event) override {
|
||||
if (event->type!=SDL_KEYDOWN) return 0;
|
||||
if (event->type!=SDL_KEYDOWN) return nullptr;
|
||||
#if defined(C_SDL2)
|
||||
SDL_Scancode key = event->key.keysym.scancode;
|
||||
#if defined(WIN32)
|
||||
@ -1871,10 +1871,10 @@ public:
|
||||
}
|
||||
|
||||
CBind * CreateConfigBind(char *& buf) override {
|
||||
if (is_dummy) return 0;
|
||||
if (strncasecmp(configname,buf,strlen(configname))) return 0;
|
||||
if (is_dummy) return nullptr;
|
||||
if (strncasecmp(configname,buf,strlen(configname))) return nullptr;
|
||||
StripWord(buf);char * type=StripWord(buf);
|
||||
CBind * bind=0;
|
||||
CBind * bind = nullptr;
|
||||
if (!strcasecmp(type,"axis")) {
|
||||
Bitu ax=(Bitu)ConvDecWord(StripWord(buf));
|
||||
bool pos=ConvDecWord(StripWord(buf)) > 0;
|
||||
@ -1891,25 +1891,25 @@ public:
|
||||
}
|
||||
CBind * CreateEventBind(SDL_Event * event) override {
|
||||
if (event->type==SDL_JOYAXISMOTION) {
|
||||
if ((unsigned int)event->jaxis.which!=(unsigned int)stick) return 0;
|
||||
if ((unsigned int)event->jaxis.which!=(unsigned int)stick) return nullptr;
|
||||
#if defined (REDUCE_JOYSTICK_POLLING)
|
||||
if (event->jaxis.axis>=axes) return 0;
|
||||
if (event->jaxis.axis>=axes) return nullptr;
|
||||
#endif
|
||||
if (abs(event->jaxis.value)<25000) return 0;
|
||||
if (abs(event->jaxis.value)<25000) return nullptr;
|
||||
return CreateAxisBind(event->jaxis.axis,event->jaxis.value>0);
|
||||
} else if (event->type==SDL_JOYBUTTONDOWN) {
|
||||
if ((unsigned int)event->jbutton.which!=(unsigned int)stick) return 0;
|
||||
if ((unsigned int)event->jbutton.which!=(unsigned int)stick) return nullptr;
|
||||
#if defined (REDUCE_JOYSTICK_POLLING)
|
||||
return CreateButtonBind(event->jbutton.button%button_wrap);
|
||||
#else
|
||||
return CreateButtonBind(event->jbutton.button);
|
||||
#endif
|
||||
} else if (event->type==SDL_JOYHATMOTION) {
|
||||
if ((unsigned int)event->jhat.which!=(unsigned int)stick) return 0;
|
||||
if (event->jhat.value==0) return 0;
|
||||
if (event->jhat.value>(SDL_HAT_UP|SDL_HAT_RIGHT|SDL_HAT_DOWN|SDL_HAT_LEFT)) return 0;
|
||||
if ((unsigned int)event->jhat.which!=(unsigned int)stick) return nullptr;
|
||||
if (event->jhat.value==0) return nullptr;
|
||||
if (event->jhat.value>(SDL_HAT_UP|SDL_HAT_RIGHT|SDL_HAT_DOWN|SDL_HAT_LEFT)) return nullptr;
|
||||
return CreateHatBind(event->jhat.hat,event->jhat.value);
|
||||
} else return 0;
|
||||
} else return nullptr;
|
||||
}
|
||||
|
||||
bool CheckEvent(SDL_Event * event) override {
|
||||
@ -2818,7 +2818,7 @@ public:
|
||||
switch (type) {
|
||||
case BB_Add:
|
||||
mapper.addbind=true;
|
||||
SetActiveBind(0);
|
||||
SetActiveBind(nullptr);
|
||||
change_action_text(MSG_Get("PRESS_JOYSTICK_KEY"),CLR_RED);
|
||||
break;
|
||||
case BB_Del:
|
||||
@ -2830,7 +2830,7 @@ public:
|
||||
mapper.abindit=mapper.aevent->bindlist.begin();
|
||||
}
|
||||
if (mapper.abindit!=mapper.aevent->bindlist.end()) SetActiveBind(*(mapper.abindit));
|
||||
else SetActiveBind(0);
|
||||
else SetActiveBind(nullptr);
|
||||
RedrawMapperBindButton(mapper.aevent);
|
||||
break;
|
||||
case BB_Next:
|
||||
@ -3856,13 +3856,13 @@ static void SetActiveEvent(CEvent * event) {
|
||||
if (!event) {
|
||||
change_action_text(MSG_Get("SELECT_EVENT"),CLR_WHITE);
|
||||
bind_but.add->Enable(false);
|
||||
SetActiveBind(0);
|
||||
SetActiveBind(nullptr);
|
||||
} else {
|
||||
change_action_text(MSG_Get("SELECT_DIFFERENT_EVENT"),CLR_WHITE);
|
||||
mapper.abindit=event->bindlist.begin();
|
||||
if (mapper.abindit!=event->bindlist.end()) {
|
||||
SetActiveBind(*(mapper.abindit));
|
||||
} else SetActiveBind(0);
|
||||
} else SetActiveBind(nullptr);
|
||||
bind_but.add->Enable(true);
|
||||
}
|
||||
|
||||
@ -3877,7 +3877,7 @@ extern void GFX_UpdateDisplayDimensions(int width, int height);
|
||||
|
||||
static void DrawButtons(void) {
|
||||
#if defined(C_SDL2)
|
||||
SDL_FillRect(mapper.draw_surface,0,0);
|
||||
SDL_FillRect(mapper.draw_surface, nullptr, 0);
|
||||
#else
|
||||
SDL_FillRect(mapper.surface,0,CLR_BLACK);
|
||||
SDL_LockSurface(mapper.surface);
|
||||
@ -4541,7 +4541,7 @@ static struct {
|
||||
{"caret", SDLK_CARET },
|
||||
{"atsign", SDLK_AT },
|
||||
#endif
|
||||
{0,0}
|
||||
{nullptr, 0}
|
||||
};
|
||||
#else
|
||||
|
||||
@ -5344,7 +5344,7 @@ void MAPPER_RunInternal() {
|
||||
}
|
||||
|
||||
/* Be sure that there is no update in progress */
|
||||
GFX_EndUpdate( 0 );
|
||||
GFX_EndUpdate(nullptr);
|
||||
#if defined(C_SDL2)
|
||||
void GFX_SetResizeable(bool enable);
|
||||
GFX_SetResizeable(false);
|
||||
@ -5391,7 +5391,7 @@ void MAPPER_RunInternal() {
|
||||
/* Go in the event loop */
|
||||
mapper.exit=false;
|
||||
mapper.redraw=true;
|
||||
SetActiveEvent(0);
|
||||
SetActiveEvent(nullptr);
|
||||
#if defined (REDUCE_JOYSTICK_POLLING)
|
||||
SDL_JoystickEventState(SDL_ENABLE);
|
||||
#endif
|
||||
|
@ -1139,7 +1139,7 @@ void BlankDisplay(void) {
|
||||
LOG_MSG("FIXME: BlankDisplay() not implemented for OpenGL mode");
|
||||
}
|
||||
else {
|
||||
SDL_FillRect(sdl.surface,0,0);
|
||||
SDL_FillRect(sdl.surface, nullptr, 0);
|
||||
#if defined(C_SDL2)
|
||||
SDL_UpdateWindowSurface(sdl.window);
|
||||
#else
|
||||
@ -1495,15 +1495,15 @@ SDL_Window* GFX_SetSDLWindowMode(uint16_t width, uint16_t height, SCREEN_TYPES s
|
||||
static SCREEN_TYPES lastType = SCREEN_SURFACE;
|
||||
if (sdl.renderer) {
|
||||
SDL_DestroyRenderer(sdl.renderer);
|
||||
sdl.renderer=0;
|
||||
sdl.renderer = nullptr;
|
||||
}
|
||||
if (sdl.texture.pixelFormat) {
|
||||
SDL_FreeFormat(sdl.texture.pixelFormat);
|
||||
sdl.texture.pixelFormat = 0;
|
||||
sdl.texture.pixelFormat = nullptr;
|
||||
}
|
||||
if (sdl.texture.texture) {
|
||||
SDL_DestroyTexture(sdl.texture.texture);
|
||||
sdl.texture.texture=0;
|
||||
sdl.texture.texture = nullptr;
|
||||
}
|
||||
sdl.window_desired_width = width;
|
||||
sdl.window_desired_height = height;
|
||||
@ -1524,7 +1524,7 @@ SDL_Window* GFX_SetSDLWindowMode(uint16_t width, uint16_t height, SCREEN_TYPES s
|
||||
#if C_OPENGL
|
||||
if (sdl_opengl.context) {
|
||||
SDL_GL_DeleteContext(sdl_opengl.context);
|
||||
sdl_opengl.context=0;
|
||||
sdl_opengl.context = nullptr;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -1807,11 +1807,11 @@ void GFX_LogSDLState(void)
|
||||
|
||||
void GFX_TearDown(void) {
|
||||
if (sdl.updating)
|
||||
GFX_EndUpdate( 0 );
|
||||
GFX_EndUpdate(nullptr);
|
||||
|
||||
if (sdl.blit.surface) {
|
||||
SDL_FreeSurface(sdl.blit.surface);
|
||||
sdl.blit.surface=0;
|
||||
sdl.blit.surface = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1881,7 +1881,7 @@ Bitu GFX_SetSize(Bitu width, Bitu height, Bitu flags, double scalex, double scal
|
||||
bool diff = width != sdl.draw.width || height != sdl.draw.height;
|
||||
|
||||
if (sdl.updating)
|
||||
GFX_EndUpdate( 0 );
|
||||
GFX_EndUpdate(nullptr);
|
||||
|
||||
sdl.must_redraw_all = true;
|
||||
|
||||
@ -1913,7 +1913,7 @@ Bitu GFX_SetSize(Bitu width, Bitu height, Bitu flags, double scalex, double scal
|
||||
|
||||
if (sdl.blit.surface) {
|
||||
SDL_FreeSurface(sdl.blit.surface);
|
||||
sdl.blit.surface=0;
|
||||
sdl.blit.surface = nullptr;
|
||||
}
|
||||
|
||||
switch (sdl.desktop.want_type) {
|
||||
@ -3073,7 +3073,7 @@ Bitu GFX_GetRGB(uint8_t red, uint8_t green, uint8_t blue) {
|
||||
|
||||
void GFX_Stop() {
|
||||
if (sdl.updating)
|
||||
GFX_EndUpdate( 0 );
|
||||
GFX_EndUpdate(nullptr);
|
||||
sdl.active=false;
|
||||
}
|
||||
|
||||
@ -6319,7 +6319,7 @@ void SDL_SetupConfigSection() {
|
||||
"gamelink",
|
||||
#endif
|
||||
"ddraw", "direct3d",
|
||||
0 };
|
||||
nullptr };
|
||||
|
||||
Pint = sdl_sec->Add_int("display", Property::Changeable::Always, 0);
|
||||
Pint->Set_help("Specify a screen/display number to use for a multi-screen setup (0 = default).");
|
||||
@ -6361,7 +6361,7 @@ void SDL_SetupConfigSection() {
|
||||
Pstring->Set_values(unlocks);
|
||||
Pstring->SetBasic(true);
|
||||
|
||||
const char* clipboardbutton[] = { "none", "middle", "right", "arrows", 0};
|
||||
const char* clipboardbutton[] = { "none", "middle", "right", "arrows", nullptr };
|
||||
Pstring = sdl_sec->Add_string("clip_mouse_button",Property::Changeable::Always, "right");
|
||||
Pstring->Set_values(clipboardbutton);
|
||||
Pstring->Set_help("Select the mouse button or use arrow keys for the shared clipboard copy/paste function.\n"
|
||||
@ -6370,14 +6370,14 @@ void SDL_SetupConfigSection() {
|
||||
"For \"arrows\", press Home key (or Fn+Shift+Left on Mac laptops) to start selection, and End key (or Fn+Shift+Right on Mac laptops) to end selection.");
|
||||
Pstring->SetBasic(true);
|
||||
|
||||
const char* clipboardmodifier[] = { "none", "ctrl", "lctrl", "rctrl", "alt", "lalt", "ralt", "shift", "lshift", "rshift", "ctrlalt", "ctrlshift", "altshift", "lctrlalt", "lctrlshift", "laltshift", "rctrlalt", "rctrlshift", "raltshift", 0};
|
||||
const char* clipboardmodifier[] = { "none", "ctrl", "lctrl", "rctrl", "alt", "lalt", "ralt", "shift", "lshift", "rshift", "ctrlalt", "ctrlshift", "altshift", "lctrlalt", "lctrlshift", "laltshift", "rctrlalt", "rctrlshift", "raltshift", nullptr };
|
||||
Pstring = sdl_sec->Add_string("clip_key_modifier",Property::Changeable::Always, "shift");
|
||||
Pstring->Set_values(clipboardmodifier);
|
||||
Pstring->Set_help("Change the keyboard modifier for the shared clipboard copy/paste function using a mouse button or arrow keys.\n"
|
||||
"The default modifier is \"shift\" (both left and right shift keys). Set to \"none\" if no modifier is desired.");
|
||||
Pstring->SetBasic(true);
|
||||
|
||||
const char* truefalsedefaultopt[] = { "true", "false", "1", "0", "default", 0};
|
||||
const char* truefalsedefaultopt[] = { "true", "false", "1", "0", "default", nullptr };
|
||||
Pstring = sdl_sec->Add_string("clip_paste_bios",Property::Changeable::WhenIdle, "default");
|
||||
Pstring->Set_values(truefalsedefaultopt);
|
||||
Pstring->Set_help("Specify whether to use BIOS keyboard functions for the clipboard pasting instead of the keystroke method.\n"
|
||||
@ -6442,11 +6442,11 @@ void SDL_SetupConfigSection() {
|
||||
" pause is only valid for the second entry.");
|
||||
Pmulti->SetBasic(true);
|
||||
|
||||
const char* actt[] = { "lowest", "lower", "normal", "higher", "highest", "pause", 0};
|
||||
const char* actt[] = { "lowest", "lower", "normal", "higher", "highest", "pause", nullptr };
|
||||
Pstring = Pmulti->GetSection()->Add_string("active",Property::Changeable::Always,"higher");
|
||||
Pstring->Set_values(actt);
|
||||
|
||||
const char* inactt[] = { "lowest", "lower", "normal", "higher", "highest", "pause", 0};
|
||||
const char* inactt[] = { "lowest", "lower", "normal", "higher", "highest", "pause", nullptr };
|
||||
Pstring = Pmulti->GetSection()->Add_string("inactive",Property::Changeable::Always,"normal");
|
||||
Pstring->Set_values(inactt);
|
||||
|
||||
@ -6463,7 +6463,7 @@ void SDL_SetupConfigSection() {
|
||||
Pbool = sdl_sec->Add_bool("forcesquarecorner", Property::Changeable::OnlyAtStart, true);
|
||||
Pbool->Set_help("If set, DOSBox-X will force square corners (instead of round corners) for the DOSBox-X window when running in Windows 11.");
|
||||
|
||||
const char* truefalseautoopt[] = { "true", "false", "1", "0", "auto", 0};
|
||||
const char* truefalseautoopt[] = { "true", "false", "1", "0", "auto", nullptr };
|
||||
Pstring = sdl_sec->Add_string("usescancodes",Property::Changeable::OnlyAtStart,"auto");
|
||||
Pstring->Set_values(truefalseautoopt);
|
||||
Pstring->Set_help("Avoid usage of symkeys, in favor of scancodes. Might not work on all operating systems.\n"
|
||||
|
@ -254,7 +254,7 @@ unsigned int Linux_GetKeyboardLayout(void) {
|
||||
# if C_X11_XKB
|
||||
# if C_X11_EXT_XKBRULES
|
||||
if (wminfo.subsystem == SDL_SYSWM_X11 && wminfo.info.x11.display != NULL) {
|
||||
XkbRF_VarDefsRec vd = {0};
|
||||
XkbRF_VarDefsRec vd = { nullptr };
|
||||
XkbStateRec state = {0};
|
||||
|
||||
XkbGetState(wminfo.info.x11.display, XkbUseCoreKbd, &state);
|
||||
|
@ -340,7 +340,7 @@ struct Handler : public Adlib::Handler {
|
||||
}
|
||||
}
|
||||
void Init(Bitu rate) override {
|
||||
chip = ym3812_init(0, OPL2_INTERNAL_FREQ, (uint32_t)rate);
|
||||
chip = ym3812_init(nullptr, OPL2_INTERNAL_FREQ, (uint32_t)rate);
|
||||
}
|
||||
void SaveState( std::ostream& stream ) override {
|
||||
const char pod_name[32] = "MAMEOPL2";
|
||||
@ -415,7 +415,7 @@ struct Handler : public Adlib::Handler {
|
||||
}
|
||||
}
|
||||
void Init(Bitu rate) override {
|
||||
chip = ymf262_init(0, OPL3_INTERNAL_FREQ, (int)rate);
|
||||
chip = ymf262_init(nullptr, OPL3_INTERNAL_FREQ, (int)rate);
|
||||
}
|
||||
void SaveState( std::ostream& stream ) override {
|
||||
const char pod_name[32] = "MAMEOPL3";
|
||||
@ -775,7 +775,7 @@ class Capture {
|
||||
fseek( handle, 0, SEEK_SET );
|
||||
fwrite( &header, 1, sizeof( header ), handle );
|
||||
fclose( handle );
|
||||
handle = 0;
|
||||
handle = nullptr;
|
||||
}
|
||||
}
|
||||
public:
|
||||
@ -850,7 +850,7 @@ skipWrite:
|
||||
}
|
||||
Capture( RegisterCache* _cache ) {
|
||||
cache = _cache;
|
||||
handle = 0;
|
||||
handle = nullptr;
|
||||
bufUsed = 0;
|
||||
startTicks = 0;
|
||||
lastTicks = 0;
|
||||
@ -1252,7 +1252,7 @@ void Module::Init( Mode m ) {
|
||||
|
||||
|
||||
|
||||
static Adlib::Module* module = 0;
|
||||
static Adlib::Module * module = nullptr;
|
||||
|
||||
static void OPL_CallBack(Bitu len) {
|
||||
module->handler->Generate( module->mixerChan, len );
|
||||
@ -1339,7 +1339,7 @@ void OPL_SaveRawEvent(bool pressed) {
|
||||
/* Check for previously opened wave file */
|
||||
if ( module->capture ) {
|
||||
delete module->capture;
|
||||
module->capture = 0;
|
||||
module->capture = nullptr;
|
||||
LOG_MSG("Stopped Raw OPL capturing.");
|
||||
if (show_recorded_filename && pathopl.size()) systemmessagebox("Recording completed",("Saved Raw OPL output to the file:\n\n"+pathopl).c_str(),"ok", "info", 1);
|
||||
} else {
|
||||
@ -1384,8 +1384,8 @@ Module::Module( Section* configuration ) : Module_base(configuration) {
|
||||
ctrl.index = 0;
|
||||
ctrl.lvol = 0xff;
|
||||
ctrl.rvol = 0xff;
|
||||
handler = 0;
|
||||
capture = 0;
|
||||
handler = nullptr;
|
||||
capture = nullptr;
|
||||
esfm_nativemode = false;
|
||||
|
||||
Section_prop * section=static_cast<Section_prop *>(configuration);
|
||||
@ -1572,7 +1572,7 @@ void OPL_Init(Section* sec,OPL_Mode oplmode) {
|
||||
void OPL_ShutDown(Section* sec){
|
||||
(void)sec;//UNUSED
|
||||
delete module;
|
||||
module = 0;
|
||||
module = nullptr;
|
||||
}
|
||||
|
||||
// savestate support
|
||||
|
@ -613,7 +613,7 @@ Operator::Operator() {
|
||||
reg60 = 0;
|
||||
reg80 = 0;
|
||||
regE0 = 0;
|
||||
waveBase = 0;
|
||||
waveBase = nullptr;
|
||||
waveMask = 0;
|
||||
waveStart = 0;
|
||||
vibrato = 0;
|
||||
@ -978,7 +978,7 @@ Channel* Channel::BlockTemplate( Chip* chip, uint32_t samples, int32_t* output )
|
||||
case sm3Percussion:
|
||||
return( this + 3 );
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -77,7 +77,7 @@ static void DISNEY_disable(Bitu) {
|
||||
disney.chan->AddSilence();
|
||||
disney.chan->Enable(false);
|
||||
}
|
||||
disney.leader = 0;
|
||||
disney.leader = nullptr;
|
||||
disney.last_used = 0;
|
||||
disney.state = DS_IDLE;
|
||||
disney.interface_det = 0;
|
||||
|
@ -767,7 +767,7 @@ void FloppyController::on_fdc_in_command() {
|
||||
}
|
||||
|
||||
/* DMA transfer */
|
||||
dma->Register_Callback(0);
|
||||
dma->Register_Callback(nullptr);
|
||||
if (dma->Read(sector_size_bytes,sector) != sector_size_bytes) {
|
||||
LOG(LOG_MISC,LOG_DEBUG)("FDC: DMA read failed");
|
||||
fail = true;
|
||||
@ -889,7 +889,7 @@ void FloppyController::on_fdc_in_command() {
|
||||
}
|
||||
|
||||
/* DMA transfer */
|
||||
dma->Register_Callback(0);
|
||||
dma->Register_Callback(nullptr);
|
||||
if (dma->Write(sector_size_bytes,sector) != sector_size_bytes) {
|
||||
LOG(LOG_MISC,LOG_DEBUG)("FDC: DMA write failed during read");
|
||||
fail = true;
|
||||
|
@ -77,12 +77,12 @@ static void CMS_CallBack(Bitu len) {
|
||||
int16_t work[2][BUFFER_SIZE];
|
||||
int16_t* buffers[2] = { work[0], work[1] };
|
||||
device_sound_interface::sound_stream stream;
|
||||
device[0]->sound_stream_update(stream, 0, buffers, (int)len);
|
||||
device[0]->sound_stream_update(stream, nullptr, buffers, (int)len);
|
||||
for (Bitu i = 0; i < len; i++) {
|
||||
result[i][0] = work[0][i];
|
||||
result[i][1] = work[1][i];
|
||||
}
|
||||
device[1]->sound_stream_update(stream, 0, buffers, (int)len);
|
||||
device[1]->sound_stream_update(stream, nullptr, buffers, (int)len);
|
||||
for (Bitu i = 0; i < len; i++) {
|
||||
result[i][0] += work[0][i];
|
||||
result[i][1] += work[1][i];
|
||||
@ -142,12 +142,12 @@ public:
|
||||
|
||||
/* Register the Mixer CallBack */
|
||||
cms_chan = MixerChan.Install(CMS_CallBack,sampleRate,"CMS");
|
||||
|
||||
|
||||
lastWriteTicks = (uint32_t)PIC_Ticks;
|
||||
|
||||
machine_config config;
|
||||
device[0] = new saa1099_device(config, "", 0, MASTER_CLOCK);
|
||||
device[1] = new saa1099_device(config, "", 0, MASTER_CLOCK);
|
||||
device[0] = new saa1099_device(config, "", nullptr, MASTER_CLOCK);
|
||||
device[1] = new saa1099_device(config, "", nullptr, MASTER_CLOCK);
|
||||
|
||||
// Necessary for correct pitch, reevaluate if MAME sound source is updated.
|
||||
device[0]->sample_rate = sampleRate;
|
||||
@ -158,7 +158,7 @@ public:
|
||||
}
|
||||
|
||||
~CMS() {
|
||||
cms_chan = 0;
|
||||
cms_chan = nullptr;
|
||||
delete device[0];
|
||||
delete device[1];
|
||||
}
|
||||
|
@ -1721,7 +1721,7 @@ static void write_gus(Bitu port,Bitu val,Bitu iolen) {
|
||||
// NTS: This emulation does not use the second DMA channel... yet... which is why we do not bother
|
||||
// unregistering and reregistering the second DMA channel.
|
||||
|
||||
GetDMAChannel(myGUS.dma1)->Register_Callback(0); // FIXME: On DMA conflict this could mean kicking other devices off!
|
||||
GetDMAChannel(myGUS.dma1)->Register_Callback(nullptr); // FIXME: On DMA conflict this could mean kicking other devices off!
|
||||
|
||||
// NTS: Contrary to an earlier commit, DMA channel 0 is not a valid choice
|
||||
if (dmatable[val & 0x7] != 0)
|
||||
|
@ -543,7 +543,7 @@ std::string GetCaptureFilePath(const char * type,const char * ext) {
|
||||
dir=open_directory(capturedir.c_str());
|
||||
if(!dir) {
|
||||
LOG_MSG("Can't open dir %s for capturing %s",capturedir.c_str(),type);
|
||||
return 0;
|
||||
return {};
|
||||
}
|
||||
}
|
||||
strcpy(file_start,RunningProgram);
|
||||
@ -574,7 +574,7 @@ FILE * OpenCaptureFile(const char * type,const char * ext) {
|
||||
if (!strcmp(type, "Parallel Port Stream")) pathprt = "";
|
||||
if(capturedir.empty()) {
|
||||
LOG_MSG("Please specify a capture directory");
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Bitu last=0;
|
||||
@ -588,7 +588,7 @@ FILE * OpenCaptureFile(const char * type,const char * ext) {
|
||||
dir=open_directory(capturedir.c_str());
|
||||
if(!dir) {
|
||||
LOG_MSG("Can't open dir %s for capturing %s",capturedir.c_str(),type);
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
strcpy(file_start,RunningProgram);
|
||||
@ -962,7 +962,7 @@ void CAPTURE_AddImage(Bitu width, Bitu height, Bitu bpp, Bitu pitch, Bitu flags,
|
||||
png_write_row(png_ptr, (png_bytep)rowPointer);
|
||||
}
|
||||
/* Finish writing */
|
||||
png_write_end(png_ptr, 0);
|
||||
png_write_end(png_ptr, nullptr);
|
||||
/*Destroy PNG structs*/
|
||||
png_destroy_write_struct(&png_ptr, &info_ptr);
|
||||
/*close file*/
|
||||
@ -2050,7 +2050,7 @@ void CAPTURE_MidiEvent(bool pressed) {
|
||||
fwrite(&size,1,4,capture.midi.handle);
|
||||
fclose(capture.midi.handle);
|
||||
if (show_recorded_filename && pathmid.size()) systemmessagebox("Recording completed",("Saved MIDI output to the file:\n\n"+pathmid).c_str(),"ok", "info", 1);
|
||||
capture.midi.handle=0;
|
||||
capture.midi.handle = nullptr;
|
||||
CaptureState &= ~((unsigned int)CAPTURE_MIDI);
|
||||
mainMenu.get_item("mapper_caprawmidi").check(false).refresh_item(mainMenu);
|
||||
return;
|
||||
@ -2061,7 +2061,7 @@ void CAPTURE_MidiEvent(bool pressed) {
|
||||
LOG_MSG("Preparing for raw midi capture, will start with first data.");
|
||||
capture.midi.used=0;
|
||||
capture.midi.done=0;
|
||||
capture.midi.handle=0;
|
||||
capture.midi.handle = nullptr;
|
||||
} else {
|
||||
LOG_MSG("Stopped capturing raw midi before any data arrived.");
|
||||
}
|
||||
|
@ -101,8 +101,8 @@ ECBClass::ECBClass(uint16_t segment, uint16_t offset) {
|
||||
assert(!dos_kernel_disabled);//Do NOT touch guest memory if the DOSBox kernel is not running!
|
||||
|
||||
ECBAddr = RealMake(segment, offset);
|
||||
databuffer = 0;
|
||||
|
||||
databuffer = nullptr;
|
||||
|
||||
#ifdef IPX_DEBUGMSG
|
||||
SerialNumber = ECBSerialNumber;
|
||||
ECBSerialNumber++;
|
||||
@ -137,7 +137,7 @@ ECBClass::ECBClass(uint16_t segment, uint16_t offset) {
|
||||
}
|
||||
void ECBClass::writeDataBuffer(uint8_t* buffer, uint16_t length) {
|
||||
assert(!dos_kernel_disabled);//Do NOT touch guest memory if the DOSBox kernel is not running!
|
||||
if(databuffer!=0) delete [] databuffer;
|
||||
if (databuffer) delete[] databuffer;
|
||||
databuffer = new uint8_t[length];
|
||||
memcpy(databuffer,buffer,length);
|
||||
buflen=length;
|
||||
@ -279,7 +279,7 @@ ECBClass::~ECBClass() {
|
||||
if(nextECB != NULL) nextECB->prevECB = prevECB;
|
||||
}
|
||||
}
|
||||
if(databuffer!=0) delete [] databuffer;
|
||||
if (databuffer) delete[] databuffer;
|
||||
}
|
||||
|
||||
|
||||
@ -333,7 +333,7 @@ static void DumpAllSockets(void) {
|
||||
assert(!dos_kernel_disabled);//Do NOT touch guest memory if the DOSBox kernel is not running!
|
||||
|
||||
LOG(LOG_MISC,LOG_DEBUG)("IPX: Dumping all active sockets");
|
||||
while(tmpECB!=0) {
|
||||
while (tmpECB) {
|
||||
tmp2ECB = tmpECB->nextECB;
|
||||
tmpECB->setCompletionFlag(COMP_CANCELLED);
|
||||
tmpECB->setInUseFlag(USEFLAG_AVAILABLE);
|
||||
@ -364,7 +364,7 @@ static void CloseSocket(void) {
|
||||
--socketCount;
|
||||
|
||||
// delete all ECBs of that socket
|
||||
while(tmpECB!=0) {
|
||||
while (tmpECB) {
|
||||
tmp2ECB = tmpECB->nextECB;
|
||||
if(tmpECB->getSocket()==sockNum) {
|
||||
tmpECB->setCompletionFlag(COMP_CANCELLED);
|
||||
@ -399,7 +399,7 @@ static void IPX_AES_EventHandler(Bitu param)
|
||||
assert(!dos_kernel_disabled);//Do NOT touch guest memory if the DOSBox kernel is not running!
|
||||
ECBClass* tmpECB = ECBList;
|
||||
ECBClass* tmp2ECB;
|
||||
while(tmpECB!=0) {
|
||||
while (tmpECB) {
|
||||
tmp2ECB = tmpECB->nextECB;
|
||||
if(tmpECB->iuflag==USEFLAG_AESCOUNT && param==(Bitu)tmpECB->ECBAddr) {
|
||||
tmpECB->setCompletionFlag(COMP_SUCCESS);
|
||||
|
@ -1964,7 +1964,7 @@ static FM_OPL *OPLCreate(device_t *device, uint32_t clock, uint32_t rate, int ty
|
||||
FM_OPL *OPL;
|
||||
int state_size;
|
||||
|
||||
if (FM_OPL::LockTable(device) == -1) return 0;
|
||||
if (FM_OPL::LockTable(device) == -1) return nullptr;
|
||||
|
||||
/* calculate OPL state size */
|
||||
state_size = sizeof(FM_OPL);
|
||||
|
@ -141,7 +141,7 @@ static const uint8_t envelope[8][64] = {
|
||||
saa1099_device::saa1099_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, SAA1099, tag, owner, clock)
|
||||
, device_sound_interface(mconfig, *this)
|
||||
, m_stream(0)
|
||||
, m_stream(nullptr)
|
||||
#if 0
|
||||
, m_noise_params{ 0, 0 }
|
||||
, m_env_enable{ 0, 0 }
|
||||
|
@ -398,7 +398,7 @@ void sn76496_base_device::sound_stream_update(sound_stream &stream, stream_sampl
|
||||
(void)inputs;
|
||||
int i;
|
||||
stream_sample_t *lbuffer = outputs[0];
|
||||
stream_sample_t *rbuffer = (m_stereo)? outputs[1] : 0;//nullptr;
|
||||
stream_sample_t *rbuffer = (m_stereo)? outputs[1] : nullptr;
|
||||
|
||||
int16_t out;
|
||||
int16_t out2 = 0;
|
||||
|
@ -628,7 +628,7 @@ static int num_lock = 0;
|
||||
|
||||
static inline void OPL3_SLOT_CONNECT(OPL3 *chip, OPL3_SLOT *slot) {
|
||||
if (slot->conn_enum == CONN_NULL) {
|
||||
slot->connect = 0;
|
||||
slot->connect = nullptr;
|
||||
} else if (slot->conn_enum >= CONN_CHAN0 && slot->conn_enum < CONN_PHASEMOD) {
|
||||
slot->connect = &chip->chanout[slot->conn_enum];
|
||||
} else if (slot->conn_enum == CONN_PHASEMOD) {
|
||||
@ -2357,7 +2357,7 @@ static OPL3 *OPL3Create(device_t *device, int clock, int rate, int type)
|
||||
{
|
||||
OPL3 *chip;
|
||||
|
||||
if (OPL3_LockTable(device) == -1) return 0;
|
||||
if (OPL3_LockTable(device) == -1) return nullptr;
|
||||
|
||||
/* allocate memory block */
|
||||
chip = auto_alloc_clear(device->machine(), OPL3 );
|
||||
|
@ -1074,7 +1074,7 @@ MixerChannel* MixerObject::Install(MIXER_Handler handler,Bitu freq,const char *
|
||||
return MIXER_AddChannel(handler,freq,name);
|
||||
} else {
|
||||
E_Exit("already added mixer channel.");
|
||||
return 0; //Compiler happy
|
||||
return nullptr; //Compiler happy
|
||||
}
|
||||
}
|
||||
|
||||
@ -1188,7 +1188,7 @@ void MIXER_Init() {
|
||||
/* Initialize the internal stuff */
|
||||
mixer.prebuffer_samples=0;
|
||||
mixer.prebuffer_wait=true;
|
||||
mixer.channels=0;
|
||||
mixer.channels = nullptr;
|
||||
mixer.pos=0;
|
||||
mixer.done=0;
|
||||
memset(mixer.work,0,sizeof(mixer.work));
|
||||
|
@ -1672,10 +1672,10 @@ public:
|
||||
}
|
||||
|
||||
~NE2K() {
|
||||
if(ethernet != 0) delete ethernet;
|
||||
ethernet=0;
|
||||
if(theNE2kDevice != 0) delete theNE2kDevice;
|
||||
theNE2kDevice=0;
|
||||
if (ethernet) delete ethernet;
|
||||
ethernet = nullptr;
|
||||
if (theNE2kDevice) delete theNE2kDevice;
|
||||
theNE2kDevice = nullptr;
|
||||
TIMER_DelTickHandler(NE2000_Poller);
|
||||
PIC_RemoveEvents(NE2000_TX_Event);
|
||||
if (addne2k) VFILE_Remove("NE2000.COM","SYSTEM");
|
||||
|
@ -15,7 +15,7 @@ Opl3DuoBoard::Opl3DuoBoard() {
|
||||
void Opl3DuoBoard::connect(const char* port) {
|
||||
printf("OPL3 Duo! Board: Connecting to port %s... \n", port);
|
||||
|
||||
comport = 0;
|
||||
comport = nullptr;
|
||||
if (SERIAL_open(port, &comport)) {
|
||||
SERIAL_setCommParameters(comport, 115200, 'n', SERIAL_1STOP, 8);
|
||||
#if !defined(HX_DOS) && !(defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR))
|
||||
|
@ -95,7 +95,7 @@ device_LPT::~device_LPT() {
|
||||
|
||||
static void Parallel_EventHandler(Bitu val) {
|
||||
Bitu serclassid=val&0xf;
|
||||
if(parallelPortObjects[serclassid]!=0)
|
||||
if (parallelPortObjects[serclassid])
|
||||
parallelPortObjects[serclassid]->handleEvent((uint16_t)(val>>4ul));
|
||||
}
|
||||
|
||||
@ -119,7 +119,7 @@ static Bitu PARALLEL_Read (Bitu port, Bitu iolen) {
|
||||
* EPP ports assign ports 3-4 with possible vendor extensions in 5-6, while ECP assigns
|
||||
* ports 0x400-0x402 relative to base and leave 3-7 undefined. */
|
||||
// 0x3bc is a valid port
|
||||
if(parallel_baseaddr[i]==(port&0xfffc) && parallelPortObjects[i]!=0) {
|
||||
if(parallel_baseaddr[i]==(port&0xfffc) && parallelPortObjects[i]) {
|
||||
Bitu retval=0xff;
|
||||
switch (port & 0x3) {
|
||||
case 0:
|
||||
@ -150,7 +150,7 @@ static void PARALLEL_Write (Bitu port, Bitu val, Bitu) {
|
||||
* EPP ports assign ports 3-4 with possible vendor extensions in 5-6, while ECP assigns
|
||||
* ports 0x400-0x402 relative to base and leave 3-7 undefined. */
|
||||
// 0x3bc is a valid port
|
||||
if(parallel_baseaddr[i]==(port&0xfffc) && parallelPortObjects[i]!=0) {
|
||||
if(parallel_baseaddr[i]==(port&0xfffc) && parallelPortObjects[i]) {
|
||||
#if PARALLEL_DEBUG
|
||||
const char* const dbgtext[]={"DAT","IOS","CON","???"};
|
||||
parallelPortObjects[i]->log_par(parallelPortObjects[i]->dbg_cregs,
|
||||
@ -362,8 +362,8 @@ class PARPORTS:public Module_base {
|
||||
// iterate through all 3 lpt ports
|
||||
for (Bitu i = 0; i < 9; i++) {
|
||||
pname[8] = '1' + (char)i;
|
||||
CommandLine cmd(0,section->Get_string(pname));
|
||||
CommandLine tmp(0,section->Get_string(pname), CommandLine::either, true);
|
||||
CommandLine cmd(nullptr, section->Get_string(pname));
|
||||
CommandLine tmp(nullptr, section->Get_string(pname), CommandLine::either, true);
|
||||
|
||||
std::string str;
|
||||
bool squote = false;
|
||||
@ -393,7 +393,7 @@ class PARPORTS:public Module_base {
|
||||
cmd.GetStringRemain(parallelPortObjects[i]->commandLineString);
|
||||
} else {
|
||||
delete cdlpt;
|
||||
parallelPortObjects[i]=0;
|
||||
parallelPortObjects[i] = nullptr;
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
@ -406,7 +406,7 @@ class PARPORTS:public Module_base {
|
||||
cmd.GetStringRemain(parallelPortObjects[i]->commandLineString);
|
||||
} else {
|
||||
delete cflpt;
|
||||
parallelPortObjects[i]=0;
|
||||
parallelPortObjects[i] = nullptr;
|
||||
}
|
||||
} else
|
||||
#if C_PRINTER
|
||||
@ -426,14 +426,14 @@ class PARPORTS:public Module_base {
|
||||
{
|
||||
LOG_MSG("Error: printer is not enabled.");
|
||||
delete cprd;
|
||||
parallelPortObjects[i] = 0;
|
||||
parallelPortObjects[i] = nullptr;
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
if(str=="disabled") {
|
||||
parallelPortObjects[i] = 0;
|
||||
parallelPortObjects[i] = nullptr;
|
||||
} else if (str == "disney") {
|
||||
parallelPortObjects[i] = 0;
|
||||
parallelPortObjects[i] = nullptr;
|
||||
if (!DISNEY_HasInit()) {
|
||||
LOG_MSG("LPT%d: User explicitly assigned Disney Sound Source to this port",(int)i+1);
|
||||
DISNEY_Init(parallel_baseaddr[i]);
|
||||
@ -444,7 +444,7 @@ class PARPORTS:public Module_base {
|
||||
}
|
||||
} else {
|
||||
LOG_MSG ("Invalid type for LPT%d.",(int)i + 1);
|
||||
parallelPortObjects[i] = 0;
|
||||
parallelPortObjects[i] = nullptr;
|
||||
}
|
||||
} // for lpt 1-9
|
||||
#if HAS_CDIRECTLPT && (defined __i386__ || defined __x86_64__) && (defined BSD || defined LINUX)
|
||||
@ -464,7 +464,7 @@ class PARPORTS:public Module_base {
|
||||
for (Bitu i = 0; i < 9; i++) {
|
||||
if (parallelPortObjects[i]) {
|
||||
delete parallelPortObjects[i];
|
||||
parallelPortObjects[i] = 0;
|
||||
parallelPortObjects[i] = nullptr;
|
||||
}
|
||||
}
|
||||
#if C_PRINTER
|
||||
@ -601,7 +601,7 @@ void PARALLEL::Run()
|
||||
curpsp.CloseFile(name);
|
||||
}
|
||||
delete parallelPortObjects[port-1];
|
||||
parallelPortObjects[port-1] = 0;
|
||||
parallelPortObjects[port - 1] = nullptr;
|
||||
#if C_PRINTER
|
||||
} else if (mode==PARALLEL_TYPE_PRINTER&&testParallelPortsBaseclass->printer_used) {
|
||||
WriteOut("Printer is already assigned to a different port.\n");
|
||||
@ -622,7 +622,7 @@ void PARALLEL::Run()
|
||||
// Recreate the port with the new mode.
|
||||
switch (mode) {
|
||||
case PARALLEL_TYPE_DISABLED:
|
||||
parallelPortObjects[port-1] = 0;
|
||||
parallelPortObjects[port - 1] = nullptr;
|
||||
break;
|
||||
#if HAS_CDIRECTLPT
|
||||
case PARALLEL_TYPE_REALLPT:
|
||||
|
@ -538,7 +538,7 @@ void CPrinter::updateFont()
|
||||
matrix.xy = (FT_Fixed)(0.20 * 0x10000L);
|
||||
matrix.yx = 0;
|
||||
matrix.yy = 0x10000L;
|
||||
FT_Set_Transform(curFont, &matrix, 0);
|
||||
FT_Set_Transform(curFont, &matrix, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -705,7 +705,7 @@ private:
|
||||
MixerObject MixerChan;
|
||||
public:
|
||||
PCSPEAKER(Section* configuration):Module_base(configuration){
|
||||
spkr.chan=0;
|
||||
spkr.chan = nullptr;
|
||||
Section_prop * section=static_cast<Section_prop *>(configuration);
|
||||
if(!section->Get_bool("pcspeaker")||control->opt_silent) return;
|
||||
spkr.pit_output_enabled = 0;
|
||||
|
@ -595,8 +595,8 @@ void DEBUG_PICMask(int irq,bool mask) {
|
||||
|
||||
static void AddEntry(PICEntry * entry) {
|
||||
PICEntry * find_entry=pic_queue.next_entry;
|
||||
if (GCC_UNLIKELY(find_entry ==0)) {
|
||||
entry->next=0;
|
||||
if (GCC_UNLIKELY(!find_entry)) {
|
||||
entry->next = nullptr;
|
||||
pic_queue.next_entry=entry;
|
||||
} else if (find_entry->index>entry->index) {
|
||||
pic_queue.next_entry=entry;
|
||||
@ -651,8 +651,7 @@ void PIC_AddEvent(PIC_EventHandler handler,pic_tickindex_t delay,Bitu val) {
|
||||
|
||||
void PIC_RemoveSpecificEvents(PIC_EventHandler handler, Bitu val) {
|
||||
PICEntry * entry=pic_queue.next_entry;
|
||||
PICEntry * prev_entry;
|
||||
prev_entry = 0;
|
||||
PICEntry * prev_entry = nullptr;
|
||||
while (entry) {
|
||||
if (GCC_UNLIKELY((entry->pic_event == handler)) && (entry->value == val)) {
|
||||
if (prev_entry) {
|
||||
@ -676,8 +675,7 @@ void PIC_RemoveSpecificEvents(PIC_EventHandler handler, Bitu val) {
|
||||
|
||||
void PIC_RemoveEvents(PIC_EventHandler handler) {
|
||||
PICEntry * entry=pic_queue.next_entry;
|
||||
PICEntry * prev_entry;
|
||||
prev_entry=0;
|
||||
PICEntry * prev_entry = nullptr;
|
||||
while (entry) {
|
||||
if (GCC_UNLIKELY(entry->pic_event==handler)) {
|
||||
if (prev_entry) {
|
||||
@ -782,7 +780,7 @@ struct TickerBlock {
|
||||
TickerBlock * next;
|
||||
};
|
||||
|
||||
static TickerBlock * firstticker=0;
|
||||
static TickerBlock * firstticker = nullptr;
|
||||
|
||||
void TIMER_ShutdownTickHandlers() {
|
||||
unsigned int leftovers = 0;
|
||||
@ -1026,11 +1024,11 @@ void Init_PIC() {
|
||||
pic_queue.entries[i].next=&pic_queue.entries[i+1];
|
||||
|
||||
// savestate compatibility
|
||||
pic_queue.entries[i].pic_event = 0;
|
||||
pic_queue.entries[i].pic_event = nullptr;
|
||||
}
|
||||
pic_queue.entries[PIC_QUEUESIZE-1].next=0;
|
||||
pic_queue.entries[PIC_QUEUESIZE-1].next = nullptr;
|
||||
pic_queue.free_entry=&pic_queue.entries[0];
|
||||
pic_queue.next_entry=0;
|
||||
pic_queue.next_entry = nullptr;
|
||||
|
||||
AddExitFunction(AddExitFunctionFuncPair(PIC_Destroy));
|
||||
AddVMEventFunction(VM_EVENT_RESET,AddVMEventFunctionFuncPair(PIC_Reset));
|
||||
|
@ -26,8 +26,8 @@
|
||||
SID2::SID2()
|
||||
{
|
||||
// Initialize pointers.
|
||||
sample = 0;
|
||||
fir = 0;
|
||||
sample = nullptr;
|
||||
fir = nullptr;
|
||||
|
||||
voice[0].set_sync_source(&voice[2]);
|
||||
voice[1].set_sync_source(&voice[0]);
|
||||
@ -479,8 +479,8 @@ bool SID2::set_sampling_parameters(double clock_freq, sampling_method method,
|
||||
{
|
||||
delete[] sample;
|
||||
delete[] fir;
|
||||
sample = 0;
|
||||
fir = 0;
|
||||
sample = nullptr;
|
||||
fir = nullptr;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1488,7 +1488,7 @@ static void DSP_E2_DMA_CallBack(DmaChannel * /*chan*/, DMAEvent event) {
|
||||
if (event==DMA_UNMASKED) {
|
||||
uint8_t val = sb.e2.valadd;
|
||||
DmaChannel * chan=GetDMAChannel(sb.hw.dma8);
|
||||
chan->Register_Callback(0);
|
||||
chan->Register_Callback(nullptr);
|
||||
chan->Write(1,&val);
|
||||
}
|
||||
}
|
||||
@ -1500,7 +1500,7 @@ static void DSP_SC400_E6_DMA_CallBack(DmaChannel * /*chan*/, DMAEvent event) {
|
||||
static const char *string = "\x01\x02\x04\x08\x10\x20\x40\x80"; /* Confirmed response via DMA from actual Reveal SC400 card */
|
||||
DmaChannel * chan=GetDMAChannel(sb.hw.dma8);
|
||||
LOG(LOG_SB,LOG_DEBUG)("SC400 returning DMA test pattern on DMA channel=%u",sb.hw.dma8);
|
||||
chan->Register_Callback(0);
|
||||
chan->Register_Callback(nullptr);
|
||||
chan->Write(8,(uint8_t*)string);
|
||||
chan->Clear_Request();
|
||||
if (!chan->tcount) LOG(LOG_SB,LOG_DEBUG)("SC400 warning: DMA did not reach terminal count");
|
||||
@ -1516,7 +1516,7 @@ static void DSP_ADC_CallBack(DmaChannel * /*chan*/, DMAEvent event) {
|
||||
ch->Write(1,&val);
|
||||
}
|
||||
SB_RaiseIRQ(SB_IRQ_8);
|
||||
ch->Register_Callback(0);
|
||||
ch->Register_Callback(nullptr);
|
||||
}
|
||||
|
||||
static void DSP_ChangeRate(Bitu freq) {
|
||||
|
@ -35,7 +35,7 @@
|
||||
CDirectSerial::CDirectSerial (Bitu id, CommandLine* cmd)
|
||||
:CSerial (id, cmd) {
|
||||
InstallationSuccessful = false;
|
||||
comport = 0;
|
||||
comport = nullptr;
|
||||
|
||||
rx_retry = 0;
|
||||
rx_retry_max = 0;
|
||||
|
@ -629,7 +629,7 @@ TCPClientSocket::TCPClientSocket(TCPsocket source)
|
||||
if (!NetWrapper_InitializeSDLNet())
|
||||
return;
|
||||
|
||||
if(source!=0) {
|
||||
if (source) {
|
||||
mysock = source;
|
||||
listensocketset = SDLNet_AllocSocketSet(1);
|
||||
if(!listensocketset) return;
|
||||
@ -771,7 +771,7 @@ NETClientSocket *TCPServerSocket::Accept()
|
||||
new_tcpsock=SDLNet_TCP_Accept(mysock);
|
||||
if(!new_tcpsock) {
|
||||
//printf("SDLNet_TCP_Accept: %s\n", SDLNet_GetError());
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return new TCPClientSocket(new_tcpsock);
|
||||
|
@ -33,8 +33,8 @@ CNullModem::CNullModem(Bitu id, CommandLine* cmd):CSerial (id, cmd) {
|
||||
Bitu temptcpport=23;
|
||||
memset(&telClient, 0, sizeof(telClient));
|
||||
InstallationSuccessful = false;
|
||||
serversocket = 0;
|
||||
clientsocket = 0;
|
||||
serversocket = nullptr;
|
||||
clientsocket = nullptr;
|
||||
serverport = 0;
|
||||
clientport = 0;
|
||||
|
||||
@ -163,7 +163,7 @@ CNullModem::CNullModem(Bitu id, CommandLine* cmd):CSerial (id, cmd) {
|
||||
setCTS(dtrrespect||transparent);
|
||||
setDSR(dtrrespect||transparent);
|
||||
setRI(false);
|
||||
setCD(clientsocket != 0); // CD on if connection established
|
||||
setCD(!!clientsocket); // CD on if connection established
|
||||
}
|
||||
|
||||
CNullModem::~CNullModem() {
|
||||
@ -214,7 +214,7 @@ bool CNullModem::ClientConnect(NETClientSocket *newsocket) {
|
||||
if (!clientsocket->isopen) {
|
||||
LOG_MSG("Serial%d: Connection failed.",(int)COMNUMBER);
|
||||
delete clientsocket;
|
||||
clientsocket=0;
|
||||
clientsocket = nullptr;
|
||||
setCD(false);
|
||||
return false;
|
||||
}
|
||||
@ -267,7 +267,7 @@ bool CNullModem::ServerConnect() {
|
||||
|
||||
// we don't accept further connections
|
||||
delete serversocket;
|
||||
serversocket=0;
|
||||
serversocket = nullptr;
|
||||
|
||||
// transmit the line status
|
||||
setRTSDTR(getRTS(), getDTR());
|
||||
@ -281,14 +281,14 @@ void CNullModem::Disconnect() {
|
||||
// it was disconnected; free the socket and restart the server socket
|
||||
LOG_MSG("Serial%d: Disconnected.",(int)COMNUMBER);
|
||||
delete clientsocket;
|
||||
clientsocket=0;
|
||||
clientsocket = nullptr;
|
||||
setDSR(false);
|
||||
setCTS(false);
|
||||
setCD(false);
|
||||
|
||||
if (serverport) {
|
||||
serversocket = NETServerSocket::NETServerFactory(socketType,serverport);
|
||||
if (serversocket->isopen)
|
||||
if (serversocket->isopen)
|
||||
setEvent(SERIAL_SERVER_POLLING_EVENT, 50);
|
||||
else delete serversocket;
|
||||
} else if (dtrrespect) {
|
||||
|
@ -101,7 +101,10 @@ device_COM::~device_COM() {
|
||||
}
|
||||
|
||||
// COM1 - COM9 objects
|
||||
CSerial* serialports[9] ={0,0,0,0,0,0,0,0,0};
|
||||
CSerial * serialports[9] = {
|
||||
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr,
|
||||
nullptr
|
||||
};
|
||||
uint16_t serial_baseaddr[9] = {0,0,0,0,0,0,0,0,0};
|
||||
bool serialMouseEmulated = false;
|
||||
|
||||
@ -117,7 +120,7 @@ static Bitu SERIAL_Read (Bitu port, Bitu iolen) {
|
||||
break;
|
||||
}
|
||||
if (i==10) return 0xff;
|
||||
if(serialports[i]==0) return 0xff;
|
||||
if (!serialports[i]) return 0xff;
|
||||
|
||||
switch (index) {
|
||||
case RHR_OFFSET:
|
||||
@ -168,8 +171,8 @@ static void SERIAL_Write (Bitu port, Bitu val, Bitu) {
|
||||
break;
|
||||
}
|
||||
if (i==10) return;
|
||||
if(serialports[i]==0) return;
|
||||
|
||||
if (!serialports[i]) return;
|
||||
|
||||
#if SERIAL_DEBUG
|
||||
const char* const dbgtext[]={"THR","IER","FCR",
|
||||
"LCR","MCR","!LSR","MSR","SPR","DLL","DLM"};
|
||||
@ -247,7 +250,7 @@ void CSerial::changeLineProperties() {
|
||||
|
||||
static void Serial_EventHandler(Bitu val) {
|
||||
Bitu serclassid=val&0xf;
|
||||
if(serialports[serclassid]!=0)
|
||||
if(serialports[serclassid])
|
||||
serialports[serclassid]->handleEvent((uint16_t)(val>>4));
|
||||
}
|
||||
|
||||
@ -1149,9 +1152,9 @@ CSerial::CSerial(Bitu id, CommandLine* cmd) {
|
||||
|
||||
if(dbg_serialtraffic|dbg_modemcontrol|dbg_register|dbg_interrupt|dbg_aux)
|
||||
debugfp=OpenCaptureFile("serlog",".serlog.txt");
|
||||
else debugfp=0;
|
||||
else debugfp = nullptr;
|
||||
|
||||
if(debugfp == 0) {
|
||||
if (!debugfp) {
|
||||
dbg_serialtraffic=
|
||||
dbg_modemcontrol=
|
||||
dbg_register=
|
||||
@ -1358,8 +1361,8 @@ public:
|
||||
s_property[6] = '1' + i;
|
||||
Prop_multival* p = section->Get_multival(s_property);
|
||||
std::string type = p->GetSection()->Get_string("type");
|
||||
CommandLine cmd(0,p->GetSection()->Get_string("parameters"));
|
||||
CommandLine tmp(0,p->GetSection()->Get_string("parameters"), CommandLine::either, true);
|
||||
CommandLine cmd(nullptr, p->GetSection()->Get_string("parameters"));
|
||||
CommandLine tmp(nullptr, p->GetSection()->Get_string("parameters"), CommandLine::either, true);
|
||||
double multiplier = 1;
|
||||
std::string str;
|
||||
bool squote = false;
|
||||
@ -1449,7 +1452,7 @@ public:
|
||||
for (Bitu i = 0; i < 9; i++)
|
||||
if (serialports[i]) {
|
||||
delete serialports[i];
|
||||
serialports[i] = 0;
|
||||
serialports[i] = nullptr;
|
||||
}
|
||||
#if C_MODEM
|
||||
MODEM_ClearPhonebook();
|
||||
|
@ -129,9 +129,9 @@ CSerialModem::CSerialModem(Bitu id, CommandLine* cmd):CSerial(id, cmd) {
|
||||
|
||||
// Initialize the sockets and setup the listening port
|
||||
listenport = 23;
|
||||
waitingclientsocket=0;
|
||||
clientsocket = 0;
|
||||
serversocket = 0;
|
||||
waitingclientsocket = nullptr;
|
||||
clientsocket = nullptr;
|
||||
serversocket = nullptr;
|
||||
getBituSubstring("listenport:", &listenport, cmd);
|
||||
|
||||
// TODO: Fix dialtones if requested
|
||||
@ -280,7 +280,7 @@ bool CSerialModem::Dial(const char *host) {
|
||||
clientsocket = NETClientSocket::NETClientFactory(socketType, destination, port);
|
||||
if(!clientsocket->isopen) {
|
||||
delete clientsocket;
|
||||
clientsocket=0;
|
||||
clientsocket = nullptr;
|
||||
LOG_MSG("Failed to connect.");
|
||||
SendRes(ResNOCARRIER);
|
||||
EnterIdleState();
|
||||
@ -294,7 +294,7 @@ bool CSerialModem::Dial(const char *host) {
|
||||
void CSerialModem::AcceptIncomingCall(void) {
|
||||
if(waitingclientsocket) {
|
||||
clientsocket=waitingclientsocket;
|
||||
waitingclientsocket=0;
|
||||
waitingclientsocket = nullptr;
|
||||
EnterConnectedState();
|
||||
} else {
|
||||
EnterIdleState();
|
||||
@ -329,7 +329,7 @@ void CSerialModem::Reset(){
|
||||
dtrmode = 2;
|
||||
if(clientsocket) {
|
||||
delete clientsocket;
|
||||
clientsocket = 0;
|
||||
clientsocket = nullptr;
|
||||
}
|
||||
memset(®,0,sizeof(reg));
|
||||
reg[MREG_AUTOANSWER_COUNT] = 0; // no autoanswer
|
||||
@ -357,12 +357,12 @@ void CSerialModem::EnterIdleState(void){
|
||||
|
||||
if(clientsocket) {
|
||||
delete clientsocket;
|
||||
clientsocket=0;
|
||||
clientsocket = nullptr;
|
||||
}
|
||||
|
||||
if(waitingclientsocket) { // clear current incoming socket
|
||||
delete waitingclientsocket;
|
||||
waitingclientsocket = 0;
|
||||
waitingclientsocket = nullptr;
|
||||
}
|
||||
// get rid of everything
|
||||
if(serversocket) {
|
||||
@ -376,13 +376,13 @@ void CSerialModem::EnterIdleState(void){
|
||||
static_cast<uint32_t>(COMNUMBER), socketType ? "ENet" : "TCP",
|
||||
static_cast<uint32_t>(listenport));
|
||||
delete serversocket;
|
||||
serversocket = 0;
|
||||
serversocket = nullptr;
|
||||
} else
|
||||
LOG_MSG("Serial%u: Modem listening on %s port %u...",
|
||||
static_cast<uint32_t>(COMNUMBER), socketType ? "ENet" : "TCP",
|
||||
static_cast<uint32_t>(listenport));
|
||||
}
|
||||
waitingclientsocket = 0;
|
||||
waitingclientsocket = nullptr;
|
||||
|
||||
commandmode = true;
|
||||
CSerial::setCD(false);
|
||||
@ -396,7 +396,7 @@ void CSerialModem::EnterConnectedState(void) {
|
||||
if(serversocket) {
|
||||
// we don't accept further calls
|
||||
delete serversocket;
|
||||
serversocket = 0;
|
||||
serversocket = nullptr;
|
||||
}
|
||||
SendRes(ResCONNECT);
|
||||
commandmode = false;
|
||||
|
@ -65,8 +65,8 @@ static struct {
|
||||
} dac;
|
||||
} tandy;
|
||||
|
||||
static sn76496_device device_sn76496(machine_config(), 0, 0, SOUND_CLOCK );
|
||||
static ncr8496_device device_ncr8496(machine_config(), 0, 0, SOUND_CLOCK);
|
||||
static sn76496_device device_sn76496(machine_config(), nullptr, nullptr, SOUND_CLOCK );
|
||||
static ncr8496_device device_ncr8496(machine_config(), nullptr, nullptr, SOUND_CLOCK);
|
||||
|
||||
static sn76496_base_device* activeDevice = &device_ncr8496;
|
||||
#define device (*activeDevice)
|
||||
@ -101,7 +101,7 @@ static void SN76496Update(Bitu length) {
|
||||
int16_t* outputs = buffer;
|
||||
|
||||
device_sound_interface::sound_stream stream;
|
||||
static_cast<device_sound_interface&>(device).sound_stream_update(stream, 0, &outputs, (int)length);
|
||||
static_cast<device_sound_interface&>(device).sound_stream_update(stream, nullptr, &outputs, (int)length);
|
||||
tandy.chan->AddSamples_m16(length, buffer);
|
||||
}
|
||||
|
||||
|
@ -5560,7 +5560,7 @@ void WriteARawImage(rawscreenshot &rawimg,rawscreenshot &rawpal,const char *ext)
|
||||
}
|
||||
}
|
||||
/* Finish writing */
|
||||
png_write_end(png_ptr, 0);
|
||||
png_write_end(png_ptr, nullptr);
|
||||
/* If a second palette was provided, write it */
|
||||
if (rawpal.image_palette2 != NULL) png_write_chunk(png_ptr, (png_const_bytep)("rPAL"), rawpal.image_palette2, rawpal.image_palette2_size*3);
|
||||
/*Destroy PNG structs*/
|
||||
|
@ -691,12 +691,12 @@ void SVGA_Setup_S3Trio(void) {
|
||||
svga.read_p3d5 = &SVGA_S3_ReadCRTC;
|
||||
svga.write_p3c5 = &SVGA_S3_WriteSEQ;
|
||||
svga.read_p3c5 = &SVGA_S3_ReadSEQ;
|
||||
svga.write_p3c0 = 0; /* no S3-specific functionality */
|
||||
svga.read_p3c1 = 0; /* no S3-specific functionality */
|
||||
svga.write_p3c0 = nullptr; /* no S3-specific functionality */
|
||||
svga.read_p3c1 = nullptr; /* no S3-specific functionality */
|
||||
|
||||
svga.set_video_mode = 0; /* implemented in core */
|
||||
svga.determine_mode = 0; /* implemented in core */
|
||||
svga.set_clock = 0; /* implemented in core */
|
||||
svga.set_video_mode = nullptr; /* implemented in core */
|
||||
svga.determine_mode = nullptr; /* implemented in core */
|
||||
svga.set_clock = nullptr; /* implemented in core */
|
||||
svga.get_clock = &SVGA_S3_GetClock;
|
||||
svga.hardware_cursor_active = &SVGA_S3_HWCursorActive;
|
||||
svga.accepts_mode = &SVGA_S3_AcceptsMode;
|
||||
|
@ -3659,7 +3659,7 @@ static raster_info *find_rasterizer(voodoo_state *v, int texcount)
|
||||
curinfo.display = 0;
|
||||
curinfo.polys = 0;
|
||||
curinfo.hits = 0;
|
||||
curinfo.next = 0;
|
||||
curinfo.next = nullptr;
|
||||
curinfo.shader_ready = false;
|
||||
|
||||
return add_rasterizer(v, &curinfo);
|
||||
|
@ -282,7 +282,7 @@ void Voodoo_Initialize(Bits emulation_type, Bits card_type, bool max_voodoomem)
|
||||
break;
|
||||
}
|
||||
|
||||
voodoo_pagehandler = new Voodoo_PageHandler(0);
|
||||
voodoo_pagehandler = new Voodoo_PageHandler(nullptr);
|
||||
|
||||
v = new voodoo_state;
|
||||
v->ogl = false;
|
||||
|
@ -6271,20 +6271,20 @@ static Bitu INT17_Handler(void) {
|
||||
|
||||
switch(reg_ah) {
|
||||
case 0x00: // PRINTER: Write Character
|
||||
if(parallelPortObjects[reg_dx]!=0) {
|
||||
if(parallelPortObjects[reg_dx]) {
|
||||
if(parallelPortObjects[reg_dx]->Putchar(reg_al))
|
||||
reg_ah=parallelPortObjects[reg_dx]->getPrinterStatus();
|
||||
else reg_ah=1;
|
||||
}
|
||||
break;
|
||||
case 0x01: // PRINTER: Initialize port
|
||||
if(parallelPortObjects[reg_dx]!= 0) {
|
||||
if(parallelPortObjects[reg_dx]) {
|
||||
parallelPortObjects[reg_dx]->initialize();
|
||||
reg_ah=parallelPortObjects[reg_dx]->getPrinterStatus();
|
||||
}
|
||||
break;
|
||||
case 0x02: // PRINTER: Get Status
|
||||
if(parallelPortObjects[reg_dx] != 0)
|
||||
if(parallelPortObjects[reg_dx])
|
||||
reg_ah=parallelPortObjects[reg_dx]->getPrinterStatus();
|
||||
//LOG_MSG("printer status: %x",reg_ah);
|
||||
break;
|
||||
|
@ -2146,7 +2146,7 @@ static Bitu INT13_DiskHandler(void) {
|
||||
}
|
||||
CALLBACK_SCF(false);
|
||||
} else {
|
||||
if (drivenum <DOS_DRIVES && (Drives[drivenum] != 0 || drivenum <2)) {
|
||||
if (drivenum <DOS_DRIVES && (Drives[drivenum] || drivenum <2)) {
|
||||
if (drivenum <2) {
|
||||
//TODO use actual size (using 1.44 for now).
|
||||
reg_ah = (int13_disk_change_detect_enable?2:1); // type
|
||||
|
@ -109,12 +109,12 @@ imageDiskMemory::imageDiskMemory(uint32_t imgSizeK) : imageDisk(ID_MEMORY) {
|
||||
diskParams.rootentries = 512;
|
||||
diskParams.biosval = 0;
|
||||
diskParams.sectcluster = 1;
|
||||
init(diskParams, true, 0);
|
||||
init(diskParams, true, nullptr);
|
||||
}
|
||||
|
||||
// Create a floppy image of a specified geometry
|
||||
imageDiskMemory::imageDiskMemory(const diskGeo& floppyGeometry) : imageDisk(ID_MEMORY) {
|
||||
init(floppyGeometry, false, 0);
|
||||
init(floppyGeometry, false, nullptr);
|
||||
}
|
||||
|
||||
// Create a hard drive image of a specified geometry
|
||||
@ -130,7 +130,7 @@ imageDiskMemory::imageDiskMemory(uint16_t cylinders, uint16_t heads, uint16_t se
|
||||
diskParams.rootentries = 512;
|
||||
diskParams.biosval = 0;
|
||||
diskParams.sectcluster = 1;
|
||||
init(diskParams, true, 0);
|
||||
init(diskParams, true, nullptr);
|
||||
}
|
||||
|
||||
// Create a copy-on-write memory image of an existing image
|
||||
@ -229,7 +229,7 @@ imageDiskMemory::~imageDiskMemory() {
|
||||
//release the memory map
|
||||
free(ChunkMap);
|
||||
//reset internal variables
|
||||
ChunkMap = 0;
|
||||
ChunkMap = nullptr;
|
||||
total_sectors = 0;
|
||||
active = false;
|
||||
}
|
||||
@ -266,7 +266,7 @@ uint8_t imageDiskMemory::Read_AbsoluteSector(uint32_t sectnum, void * data) {
|
||||
datalocation = ChunkMap[chunknum];
|
||||
|
||||
//if the chunk has not yet been allocated, return underlying image if any, or else zeros
|
||||
if (datalocation == 0) {
|
||||
if (!datalocation) {
|
||||
if (this->underlyingImage) {
|
||||
return this->underlyingImage->Read_AbsoluteSector(sectnum, data);
|
||||
}
|
||||
|
@ -50,7 +50,7 @@
|
||||
*/
|
||||
|
||||
imageDiskVHD::ErrorCodes imageDiskVHD::Open(const char* fileName, const bool readOnly, imageDisk** disk) {
|
||||
return Open(fileName, readOnly, disk, 0);
|
||||
return Open(fileName, readOnly, disk, nullptr);
|
||||
}
|
||||
|
||||
FILE * fopen_lock(const char * fname, const char * mode, bool &readonly);
|
||||
@ -160,11 +160,11 @@ imageDiskVHD::ErrorCodes imageDiskVHD::Open(const char* fileName, const bool rea
|
||||
//load the platform data, if there is any
|
||||
uint64_t dataOffset = dynHeader.parentLocatorEntry[i].platformDataOffset;
|
||||
uint32_t dataLength = dynHeader.parentLocatorEntry[i].platformDataLength;
|
||||
uint8_t* buffer = 0;
|
||||
uint8_t * buffer = nullptr;
|
||||
if (dataOffset && dataLength && ((uint64_t)dataOffset + dataLength) <= footerPosition) {
|
||||
if (fseeko64(file, (off_t)dataOffset, SEEK_SET)) { delete vhd; return INVALID_DATA; }
|
||||
buffer = (uint8_t*)malloc(dataLength + 2);
|
||||
if (buffer == 0) { delete vhd; return INVALID_DATA; }
|
||||
if (!buffer) { delete vhd; return INVALID_DATA; }
|
||||
if (fread(buffer, sizeof(uint8_t), dataLength, file) != dataLength) { free(buffer); delete vhd; return INVALID_DATA; }
|
||||
buffer[dataLength] = 0; //append null character, just in case
|
||||
buffer[dataLength + 1] = 0; //two bytes, because this might be UTF-16
|
||||
@ -182,7 +182,7 @@ imageDiskVHD::ErrorCodes imageDiskVHD::Open(const char* fileName, const bool rea
|
||||
}
|
||||
}
|
||||
//check and see if we were successful in opening a file
|
||||
if (vhd->parentDisk == 0) { delete vhd; return ERROR_OPENING_PARENT; }
|
||||
if (!vhd->parentDisk) { delete vhd; return ERROR_OPENING_PARENT; }
|
||||
}
|
||||
|
||||
//calculate sectors per block
|
||||
@ -204,12 +204,12 @@ imageDiskVHD::ErrorCodes imageDiskVHD::Open(const char* fileName, const bool rea
|
||||
vhd->blockMapSize = blockMapSectors * 512;
|
||||
vhd->sectorsPerBlock = sectorsPerBlock;
|
||||
vhd->currentBlockDirtyMap = (uint8_t*)malloc(vhd->blockMapSize);
|
||||
if (vhd->currentBlockDirtyMap == 0) { delete vhd; return INVALID_DATA; }
|
||||
if (!vhd->currentBlockDirtyMap) { delete vhd; return INVALID_DATA; }
|
||||
|
||||
//try loading the first block
|
||||
if (!vhd->loadBlock(0)) {
|
||||
delete vhd;
|
||||
return INVALID_DATA;
|
||||
if (!vhd->loadBlock(0)) {
|
||||
delete vhd;
|
||||
return INVALID_DATA;
|
||||
}
|
||||
|
||||
//detect real DOS geometry (MBR, BPB or default X-255-63)
|
||||
@ -461,15 +461,15 @@ bool imageDiskVHD::loadBlock(const uint32_t blockNumber) {
|
||||
imageDiskVHD::~imageDiskVHD() {
|
||||
if (currentBlockDirtyMap) {
|
||||
free(currentBlockDirtyMap);
|
||||
currentBlockDirtyMap = 0;
|
||||
currentBlockDirtyMap = nullptr;
|
||||
}
|
||||
if (parentDisk) {
|
||||
parentDisk->Release();
|
||||
parentDisk = 0;
|
||||
parentDisk = nullptr;
|
||||
}
|
||||
if(fixedDisk) {
|
||||
delete fixedDisk;
|
||||
fixedDisk = 0;
|
||||
fixedDisk = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1438,7 +1438,7 @@ void InitFontHandle()
|
||||
if(!font_window) {
|
||||
font_window = XCreateSimpleWindow(font_display, DefaultRootWindow(font_display), 0, 0, 32, 32, 0, BlackPixel(font_display, DefaultScreen(font_display)), WhitePixel(font_display, DefaultScreen(font_display)));
|
||||
font_pixmap = XCreatePixmap(font_display, font_window, 32, 32, DefaultDepth(font_display, 0));
|
||||
font_gc = XCreateGC(font_display, font_pixmap, 0, 0);
|
||||
font_gc = XCreateGC(font_display, font_pixmap, 0, nullptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -3378,9 +3378,9 @@ static int * getMajorMinorPatch( char const * aExecutable )
|
||||
lTmp = (char *) getVersion(aExecutable);
|
||||
lArray[0] = atoi( strtok(lTmp," ,.-") ) ;
|
||||
/* printf("lArray0 %d\n", lArray[0]); */
|
||||
lArray[1] = atoi( strtok(0," ,.-") ) ;
|
||||
lArray[1] = atoi( strtok(NULL," ,.-") ) ;
|
||||
/* printf("lArray1 %d\n", lArray[1]); */
|
||||
lArray[2] = atoi( strtok(0," ,.-") ) ;
|
||||
lArray[2] = atoi( strtok(NULL," ,.-") ) ;
|
||||
/* printf("lArray2 %d\n", lArray[2]); */
|
||||
|
||||
if ( !lArray[0] && !lArray[1] && !lArray[2] ) return NULL;
|
||||
@ -3465,10 +3465,10 @@ int isDialogVersionBetter09b(void)
|
||||
strcpy(lBuff,lVersion);
|
||||
lMajor = atoi( strtok(lVersion," ,.-") ) ;
|
||||
/*printf("lMajor %d\n", lMajor);*/
|
||||
lMinorP = strtok(0," ,.-abcdefghijklmnopqrstuvxyz");
|
||||
lMinorP = strtok(NULL," ,.-abcdefghijklmnopqrstuvxyz");
|
||||
lMinor = atoi( lMinorP ) ;
|
||||
/*printf("lMinor %d\n", lMinor );*/
|
||||
lDate = atoi( strtok(0," ,.-") ) ;
|
||||
lDate = atoi( strtok(NULL," ,.-") ) ;
|
||||
if (lDate<0) lDate = - lDate;
|
||||
/*printf("lDate %d\n", lDate);*/
|
||||
lLetter = lMinorP + strlen(lMinorP) ;
|
||||
|
@ -537,26 +537,30 @@ void VideoCodec::Output_UpsideDown_24(void *output) {
|
||||
|
||||
void VideoCodec::FreeBuffers(void) {
|
||||
if (blocks) {
|
||||
delete[] blocks;blocks=0;
|
||||
delete[] blocks;
|
||||
blocks = nullptr;
|
||||
}
|
||||
if (buf1) {
|
||||
delete[] buf1;buf1=0;
|
||||
delete[] buf1;
|
||||
buf1 = nullptr;
|
||||
}
|
||||
if (buf2) {
|
||||
delete[] buf2;buf2=0;
|
||||
delete[] buf2;
|
||||
buf2 = nullptr;
|
||||
}
|
||||
if (work) {
|
||||
delete[] work;work=0;
|
||||
delete[] work;
|
||||
work = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
VideoCodec::VideoCodec() {
|
||||
CreateVectorTable();
|
||||
blocks = 0;
|
||||
buf1 = 0;
|
||||
buf2 = 0;
|
||||
work = 0;
|
||||
blocks = nullptr;
|
||||
buf1 = nullptr;
|
||||
buf2 = nullptr;
|
||||
work = nullptr;
|
||||
memset( &zstream, 0, sizeof(zstream));
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ void (*PacketFreealldevs)(pcap_if_t *) = 0;
|
||||
pcap_t* (*PacketOpen)(char const *,int,int,int,struct pcap_rmtauth *,char *) = 0;
|
||||
int (*PacketNextEx)(pcap_t *, struct pcap_pkthdr **, const u_char **) = 0;
|
||||
int (*PacketFindALlDevsEx)(char *, struct pcap_rmtauth *, pcap_if_t **, char *) = 0;
|
||||
char* (*PacketGetError)(pcap_t *) = 0;
|
||||
char* (*PacketGetError)(pcap_t *) = nullptr;
|
||||
|
||||
char pcap_src_if_string[] = PCAP_SRC_IF_STRING;
|
||||
|
||||
|
@ -47,7 +47,7 @@ class PcapEthernetConnection : public EthernetConnection {
|
||||
void GetPackets(std::function<void(const uint8_t*, int)> callback) override;
|
||||
|
||||
private:
|
||||
pcap_t* adhandle = 0; /*!< The pcap handle used for this device */
|
||||
pcap_t* adhandle = nullptr; /*!< The pcap handle used for this device */
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -95,9 +95,9 @@ class SlirpEthernetConnection : public EthernetConnection {
|
||||
|
||||
Slirp* slirp = nullptr; /*!< Handle to libslirp */
|
||||
SlirpConfig config = { 0 }; /*!< Configuration passed to libslirp */
|
||||
SlirpCb slirp_callbacks = { 0 }; /*!< Callbacks used by libslirp */
|
||||
SlirpCb slirp_callbacks = { nullptr }; /*!< Callbacks used by libslirp */
|
||||
std::list<struct slirp_timer*> timers; /*!< Stored timers */
|
||||
|
||||
|
||||
/** The GetPacket callback
|
||||
* When libslirp has a new packet for us it calls ReceivePacket,
|
||||
* but the EthernetConnection interface requires users to poll
|
||||
|
@ -290,7 +290,7 @@ void LoadMessageFile(const char * fname) {
|
||||
bool res=true;
|
||||
int cp=dos.loaded_codepage;
|
||||
if (!dos.loaded_codepage) res=InitCodePage();
|
||||
while(fgets(linein, LINE_IN_MAXLEN+1024, mfile)!=0) {
|
||||
while(fgets(linein, LINE_IN_MAXLEN+1024, mfile)) {
|
||||
/* Parse the read line */
|
||||
/* First remove characters 10 and 13 from the line */
|
||||
char * parser=linein;
|
||||
|
@ -1023,7 +1023,7 @@ int my_minizip(char ** savefile, char ** savefile2, char* savename=NULL) {
|
||||
if( opt_exclude_path )
|
||||
{
|
||||
const char *tmpptr;
|
||||
const char *lastslash = 0;
|
||||
const char * lastslash = nullptr;
|
||||
for( tmpptr = savefilenameinzip; *tmpptr; tmpptr++)
|
||||
{
|
||||
if( *tmpptr == '\\' || *tmpptr == '/')
|
||||
|
@ -1142,7 +1142,7 @@ bool Config::ParseConfigFile(char const * const configfilename) {
|
||||
}
|
||||
}
|
||||
} catch(const char* message) {
|
||||
message=0;
|
||||
message = nullptr;
|
||||
//EXIT with message
|
||||
}
|
||||
break;
|
||||
|
@ -224,7 +224,7 @@ char * ScanCMDRemain(char * cmd) {
|
||||
while ( *scan && !isspace(*reinterpret_cast<unsigned char*>(scan)) ) scan++;
|
||||
*scan=0;
|
||||
return found;
|
||||
} else return 0;
|
||||
} else return nullptr;
|
||||
}
|
||||
|
||||
char * StripWord(char *&line) {
|
||||
|
@ -168,13 +168,13 @@ Bitu OUTPUT_GAMELINK_SetSize()
|
||||
|
||||
if (sdl.desktop.fullscreen) GFX_ForceFullscreenExit();
|
||||
|
||||
sdl.surface = 0;
|
||||
sdl.surface = nullptr;
|
||||
sdl.clip.w = sdl.draw.width;
|
||||
sdl.clip.h = sdl.draw.height;
|
||||
sdl.clip.x = 0;
|
||||
sdl.clip.y = 0;
|
||||
|
||||
if (sdl.gamelink.framebuf == 0 ) {
|
||||
if (!sdl.gamelink.framebuf) {
|
||||
sdl.gamelink.framebuf = malloc(SCALER_MAXWIDTH * SCALER_MAXHEIGHT * 4); // 32 bit color frame buffer
|
||||
}
|
||||
sdl.gamelink.pitch = sdl.draw.width*4;
|
||||
|
@ -349,7 +349,7 @@ void OUTPUT_OPENGL_Select( GLKind kind )
|
||||
if (sdl.window) {
|
||||
if(sdl_opengl.context) {
|
||||
SDL_GL_DeleteContext(sdl_opengl.context);
|
||||
sdl_opengl.context=0;
|
||||
sdl_opengl.context = nullptr;
|
||||
}
|
||||
sdl_opengl.context = SDL_GL_CreateContext(sdl.window);
|
||||
sdl.surface = SDL_GetWindowSurface(sdl.window);
|
||||
@ -391,7 +391,7 @@ void OUTPUT_OPENGL_Select( GLKind kind )
|
||||
glUniform2f && glUniform1i && glUseProgram && glVertexAttribPointer);
|
||||
if (sdl_opengl.use_shader) initgl = 2;
|
||||
sdl_opengl.buffer=0;
|
||||
sdl_opengl.framebuf=0;
|
||||
sdl_opengl.framebuf = nullptr;
|
||||
sdl_opengl.texture=0;
|
||||
sdl_opengl.displaylist=0;
|
||||
glGetIntegerv (GL_MAX_TEXTURE_SIZE, &sdl_opengl.max_texsize);
|
||||
@ -509,7 +509,7 @@ void UpdateSDLDrawTexture() {
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, (int)SDLDrawGenFontTextureWidth, (int)SDLDrawGenFontTextureHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, 0);
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, (int)SDLDrawGenFontTextureWidth, (int)SDLDrawGenFontTextureHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, nullptr);
|
||||
|
||||
/* load the font */
|
||||
{
|
||||
@ -551,7 +551,7 @@ void UpdateSDLDrawDBCSTexture(Bitu code) {
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, (int)SDLDrawGenFontTextureWidth, (int)SDLDrawGenFontTextureHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, 0);
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, (int)SDLDrawGenFontTextureWidth, (int)SDLDrawGenFontTextureHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, nullptr);
|
||||
|
||||
/* load the font */
|
||||
{
|
||||
@ -799,7 +799,7 @@ Bitu OUTPUT_OPENGL_SetSize()
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, interp );
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, interp );
|
||||
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, texsize, texsize, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, 0);
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, texsize, texsize, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, nullptr);
|
||||
|
||||
// NTS: I'm told that nVidia hardware seems to triple buffer despite our
|
||||
// request to double buffer (according to @pixelmusement), therefore
|
||||
@ -999,7 +999,7 @@ void OUTPUT_OPENGL_EndUpdate(const uint16_t *changedLines)
|
||||
#else
|
||||
GL_UNSIGNED_INT_8_8_8_8_REV,
|
||||
#endif
|
||||
0);
|
||||
nullptr);
|
||||
glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_EXT, 0);
|
||||
}
|
||||
else
|
||||
|
@ -722,7 +722,7 @@ void OUTPUT_SURFACE_EndUpdate(const uint16_t *changedLines)
|
||||
if (SDL_MUSTLOCK(sdl.surface)) {
|
||||
if (sdl.blit.surface) {
|
||||
SDL_UnlockSurface(sdl.blit.surface);
|
||||
int Blit = SDL_BlitSurface(sdl.blit.surface, 0, sdl.surface, &sdl.clip);
|
||||
int Blit = SDL_BlitSurface(sdl.blit.surface, nullptr, sdl.surface, &sdl.clip);
|
||||
LOG(LOG_MISC, LOG_WARN)("BlitSurface returned %d", Blit);
|
||||
}
|
||||
else {
|
||||
|
@ -559,13 +559,13 @@ int setTTFCodePage() {
|
||||
|
||||
void GFX_SelectFontByPoints(int ptsize) {
|
||||
bool initCP = true;
|
||||
if (ttf.SDL_font != 0) {
|
||||
if (ttf.SDL_font) {
|
||||
TTF_CloseFont(ttf.SDL_font);
|
||||
initCP = false;
|
||||
}
|
||||
if (ttf.SDL_fontb != 0) TTF_CloseFont(ttf.SDL_fontb);
|
||||
if (ttf.SDL_fonti != 0) TTF_CloseFont(ttf.SDL_fonti);
|
||||
if (ttf.SDL_fontbi != 0) TTF_CloseFont(ttf.SDL_fontbi);
|
||||
if (ttf.SDL_fontb) TTF_CloseFont(ttf.SDL_fontb);
|
||||
if (ttf.SDL_fonti) TTF_CloseFont(ttf.SDL_fonti);
|
||||
if (ttf.SDL_fontbi) TTF_CloseFont(ttf.SDL_fontbi);
|
||||
SDL_RWops *rwfont = SDL_RWFromConstMem(ttfFont, (int)ttfSize);
|
||||
ttf.SDL_font = TTF_OpenFontRW(rwfont, 1, ptsize);
|
||||
if (ttfSizeb>0) {
|
||||
@ -989,8 +989,8 @@ void processWP(uint8_t *pcolorBG, uint8_t *pcolorFG) {
|
||||
}
|
||||
}
|
||||
if (showbold && (colorFG == wpFG+8 || (wpType == 1 && (wpVersion < 1 || wpVersion > 5 ) && colorFG == 3 && (colorBG&15) == (wpBG > -1 ? wpBG : 1)))) {
|
||||
if (ttf.SDL_fontbi != 0 || !(style&TTF_STYLE_ITALIC) || wpType == 4) style |= TTF_STYLE_BOLD;
|
||||
if ((ttf.SDL_fontbi != 0 && (style&TTF_STYLE_ITALIC)) || (ttf.SDL_fontb != 0 && !(style&TTF_STYLE_ITALIC)) || wpType == 4) colorFG = wpFG;
|
||||
if (ttf.SDL_fontbi || !(style&TTF_STYLE_ITALIC) || wpType == 4) style |= TTF_STYLE_BOLD;
|
||||
if ((ttf.SDL_fontbi && (style&TTF_STYLE_ITALIC)) || (ttf.SDL_fontb && !(style&TTF_STYLE_ITALIC)) || wpType == 4) colorFG = wpFG;
|
||||
}
|
||||
if (style)
|
||||
TTF_SetFontStyle(ttf.SDL_font, style);
|
||||
|
@ -85,7 +85,7 @@ bool isDBCSCP(), InitCodePage(), isKanji1(uint8_t chr), shiftjis_lead_byte(int c
|
||||
Bitu call_shellstop = 0;
|
||||
/* Larger scope so shell_del autoexec can use it to
|
||||
* remove things from the environment */
|
||||
DOS_Shell * first_shell = 0;
|
||||
DOS_Shell * first_shell = nullptr;
|
||||
|
||||
static Bitu shellstop_handler(void) {
|
||||
return CBRET_STOP;
|
||||
@ -275,7 +275,7 @@ DOS_Shell::DOS_Shell():Program(){
|
||||
echo=true;
|
||||
exit=false;
|
||||
perm = false;
|
||||
bf=0;
|
||||
bf = nullptr;
|
||||
call=false;
|
||||
exec=false;
|
||||
lfnfor = uselfn;
|
||||
@ -426,10 +426,10 @@ void DOS_Shell::ParseLine(char * line) {
|
||||
line = trim(line);
|
||||
|
||||
/* Do redirection and pipe checks */
|
||||
|
||||
char * in = 0;
|
||||
char * out = 0;
|
||||
char * toc = 0;
|
||||
|
||||
char * in = nullptr;
|
||||
char * out = nullptr;
|
||||
char * toc = nullptr;
|
||||
|
||||
uint16_t dummy,dummy2;
|
||||
uint32_t bigdummy = 0;
|
||||
@ -450,7 +450,7 @@ void DOS_Shell::ParseLine(char * line) {
|
||||
DOS_OpenFile(in,OPEN_READ,&dummy); //Open new stdin
|
||||
} else {
|
||||
WriteOut(!*in?"File open error\n":(dos.errorcode==DOSERR_ACCESS_DENIED?MSG_Get("SHELL_CMD_FILE_ACCESS_DENIED"):"File open error - %s\n"), in);
|
||||
in = 0;
|
||||
in = nullptr;
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1297,7 +1297,7 @@ static void AUTOEXEC_ShutDown(Section * sec) {
|
||||
}
|
||||
if (first_shell != NULL) {
|
||||
delete first_shell;
|
||||
first_shell = 0;//Make clear that it shouldn't be used anymore
|
||||
first_shell = nullptr;//Make clear that it shouldn't be used anymore
|
||||
}
|
||||
if (call_shellstop != 0) {
|
||||
CALLBACK_DeAllocate(call_shellstop);
|
||||
@ -1970,7 +1970,7 @@ void SHELL_Run() {
|
||||
try {
|
||||
first_shell->Run();
|
||||
delete first_shell;
|
||||
first_shell = 0;//Make clear that it shouldn't be used anymore
|
||||
first_shell = nullptr;//Make clear that it shouldn't be used anymore
|
||||
prepared = false;
|
||||
dos_shell_running_program = false;
|
||||
#if DOSBOXMENU_TYPE == DOSBOXMENU_HMENU
|
||||
@ -1979,7 +1979,7 @@ void SHELL_Run() {
|
||||
}
|
||||
catch (...) {
|
||||
delete first_shell;
|
||||
first_shell = 0;//Make clear that it shouldn't be used anymore
|
||||
first_shell = nullptr;//Make clear that it shouldn't be used anymore
|
||||
prepared = false;
|
||||
dos_shell_running_program = false;
|
||||
#if DOSBOXMENU_TYPE == DOSBOXMENU_HMENU
|
||||
|
@ -119,7 +119,7 @@ SHELL_Cmd cmd_list[]={
|
||||
// Advanced commands specific to DOSBox-X
|
||||
//{ "ADDKEY", 1, &DOS_Shell::CMD_ADDKEY, "SHELL_CMD_ADDKEY_HELP"}, // ADDKEY as a program (Z:\BIN\ADDKEY.COM) instead of shell command
|
||||
{ "DX-CAPTURE", 1, &DOS_Shell::CMD_DXCAPTURE, "SHELL_CMD_DXCAPTURE_HELP"},
|
||||
{0,0,0,0}
|
||||
{ nullptr, 0, nullptr, nullptr }
|
||||
};
|
||||
|
||||
const char *GetCmdName(int i) {
|
||||
@ -2477,7 +2477,7 @@ void DOS_Shell::CMD_COPY(char * args) {
|
||||
size_t pathTargetLen = strlen(pathTarget);
|
||||
|
||||
// See if we have to substitute filename or extension
|
||||
char *ext = 0;
|
||||
char * ext = nullptr;
|
||||
size_t replacementOffset = 0;
|
||||
if (pathTarget[pathTargetLen-1]!='\\') {
|
||||
// only if it's not a directory
|
||||
@ -2519,7 +2519,7 @@ void DOS_Shell::CMD_COPY(char * args) {
|
||||
*ext = 0;
|
||||
} else if (ext[-1]) {
|
||||
// we don't substitute anything, clear up
|
||||
ext = 0;
|
||||
ext = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3271,7 +3271,7 @@ void DOS_Shell::CMD_SUBST(char * args) {
|
||||
strcpy(mountstring,"MOUNT ");
|
||||
StripSpaces(args);
|
||||
std::string arg;
|
||||
CommandLine command(0,args);
|
||||
CommandLine command(nullptr, args);
|
||||
if (!command.GetCount()) {
|
||||
char name[DOS_NAMELENGTH_ASCII],lname[LFN_NAMELENGTH];
|
||||
uint32_t size,hsize;uint16_t date;uint16_t time;uint8_t attr;
|
||||
@ -3335,8 +3335,8 @@ void DOS_Shell::CMD_SUBST(char * args) {
|
||||
else strcpy(dir,arg.c_str());
|
||||
if (!DOS_MakeName(dir,fulldir,&drive)) throw 3;
|
||||
|
||||
localDrive* ldp=0;
|
||||
if( ( ldp=dynamic_cast<localDrive*>(Drives[drive])) == 0 ) throw 4;
|
||||
localDrive * const ldp = dynamic_cast<localDrive*>(Drives[drive]);
|
||||
if (!ldp) throw 4;
|
||||
char newname[CROSS_LEN];
|
||||
strcpy(newname, ldp->basedir);
|
||||
strcat(newname,fulldir);
|
||||
@ -4207,10 +4207,9 @@ void DOS_Shell::CMD_ALIAS(char* args) {
|
||||
}
|
||||
} else {
|
||||
char alias_name[256] = { 0 };
|
||||
char* cmd = 0;
|
||||
for (unsigned int offset = 0; *args && offset < sizeof(alias_name)-1; ++offset, ++args) {
|
||||
if (*args == '=') {
|
||||
cmd = trim(alias_name);
|
||||
char * const cmd = trim(alias_name);
|
||||
++args;
|
||||
args = trim(args);
|
||||
size_t args_len = strlen(args);
|
||||
@ -4243,10 +4242,9 @@ void DOS_Shell::CMD_ASSOC(char* args) {
|
||||
}
|
||||
} else {
|
||||
char assoc_name[256] = { 0 };
|
||||
char* cmd = 0;
|
||||
for (unsigned int offset = 0; *args && offset < sizeof(assoc_name)-1; ++offset, ++args) {
|
||||
if (*args == '=') {
|
||||
cmd = trim(assoc_name);
|
||||
char * const cmd = trim(assoc_name);
|
||||
if (!*cmd || cmd[0] != '.') {
|
||||
WriteOut(MSG_Get("SHELL_INVALID_PARAMETER"), cmd);
|
||||
break;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user