diff --git a/bsnes/Makefile b/bsnes/Makefile index d090f05a7..b6b1a8f4c 100755 --- a/bsnes/Makefile +++ b/bsnes/Makefile @@ -4,14 +4,14 @@ nes := nes snes := snes gameboy := gameboy profile := accuracy -ui := ui +target := ui # options += console # compiler c := $(compiler) -std=gnu99 cpp := $(subst cc,++,$(compiler)) -std=gnu++0x -flags := -I. -march=native -O3 -fomit-frame-pointer +flags := -I. -O3 -fomit-frame-pointer link := objects := libco @@ -38,6 +38,8 @@ else unknown_platform: help; endif +ui := target-$(target) + # implicit rules compile = \ $(strip \ @@ -89,6 +91,6 @@ sync: rm -r phoenix/test archive-all: - tar -cjf bsnes.tar.bz2 base data gameboy libco nall nes obj out phoenix ruby snes ui ui-debugger ui-libsnes Makefile cc.bat purge.bat + tar -cjf bsnes.tar.bz2 base data gameboy libco nall nes obj out phoenix ruby snes target-debugger target-libsnes target-ui Makefile cc.bat purge.bat help:; diff --git a/bsnes/base/base.hpp b/bsnes/base/base.hpp index fddac7208..940eba20e 100755 --- a/bsnes/base/base.hpp +++ b/bsnes/base/base.hpp @@ -1,7 +1,7 @@ #ifndef BASE_HPP #define BASE_HPP -const char Version[] = "086.16"; +const char Version[] = "087"; #include #include diff --git a/bsnes/nall/bit.hpp b/bsnes/nall/bit.hpp index 78b75493f..0ceb2b8a8 100755 --- a/bsnes/nall/bit.hpp +++ b/bsnes/nall/bit.hpp @@ -1,64 +1,49 @@ #ifndef NALL_BIT_HPP #define NALL_BIT_HPP -#include - namespace nall { - template - constexpr inline - typename type_if::type - uclamp(const type_t x) { - enum : type_t { b = 1ull << (bits - 1), y = b * 2 - 1 }; + template + constexpr inline uintmax_t uclamp(const uintmax_t x) { + enum : uintmax_t { b = 1ull << (bits - 1), y = b * 2 - 1 }; return y + ((x - y) & -(x < y)); //min(x, y); } - template - constexpr inline - typename type_if::type - uclip(const type_t x) { - enum : type_t { b = 1ull << (bits - 1), m = b * 2 - 1 }; + template + constexpr inline uintmax_t uclip(const uintmax_t x) { + enum : uintmax_t { b = 1ull << (bits - 1), m = b * 2 - 1 }; return (x & m); } - template - constexpr inline - typename type_if::type - sclamp(const type_t x) { - enum : type_t { b = 1ull << (bits - 1), m = b - 1 }; + template + constexpr inline intmax_t sclamp(const intmax_t x) { + enum : intmax_t { b = 1ull << (bits - 1), m = b - 1 }; return (x > m) ? m : (x < -b) ? -b : x; } - template - constexpr inline - typename type_if::type - sclip(const type_t x) { - typedef typename type_if::type cast_t; - enum : cast_t { b = 1ull << (bits - 1), m = b * 2 - 1 }; + template + constexpr inline intmax_t sclip(const intmax_t x) { + enum : uintmax_t { b = 1ull << (bits - 1), m = b * 2 - 1 }; return ((x & m) ^ b) - b; } namespace bit { //lowest(0b1110) == 0b0010 - template - constexpr inline T lowest(const T x) { + constexpr inline uintmax_t lowest(const uintmax_t x) { return x & -x; } //clear_lowest(0b1110) == 0b1100 - template - constexpr inline T clear_lowest(const T x) { + constexpr inline uintmax_t clear_lowest(const uintmax_t x) { return x & (x - 1); } //set_lowest(0b0101) == 0b0111 - template - constexpr inline T set_lowest(const T x) { + constexpr inline uintmax_t set_lowest(const uintmax_t x) { return x | (x + 1); } //count number of bits set in a byte - template - inline unsigned count(T x) { + inline unsigned count(uintmax_t x) { unsigned count = 0; do count += x & 1; while(x >>= 1); return count; @@ -66,8 +51,7 @@ namespace nall { //round up to next highest single bit: //round(15) == 16, round(16) == 16, round(17) == 32 - template - inline T round(T x) { + inline uintmax_t round(uintmax_t x) { if((x & (x - 1)) == 0) return x; while(x & (x - 1)) x &= x - 1; return x << 1; diff --git a/bsnes/nall/snes/cartridge.hpp b/bsnes/nall/snes/cartridge.hpp index 95dadc927..5596f69b5 100755 --- a/bsnes/nall/snes/cartridge.hpp +++ b/bsnes/nall/snes/cartridge.hpp @@ -420,7 +420,8 @@ SnesCartridge::SnesCartridge(const uint8_t *data, unsigned size) { ); if(has_dsp1) { - markup.append(" \n"); + //91e87d11e1c30d172556bed2211cce2efa94ba595f58c5d264809ef4d363a97b dsp1.rom + markup.append(" \n"); if(dsp1_mapper == DSP1LoROM1MB) markup.append( " \n" " \n" @@ -455,7 +456,7 @@ SnesCartridge::SnesCartridge(const uint8_t *data, unsigned size) { } if(has_dsp2) markup.append( - " \n" + " \n" " \n" " \n" " \n" @@ -468,7 +469,7 @@ SnesCartridge::SnesCartridge(const uint8_t *data, unsigned size) { ); if(has_dsp3) markup.append( - " \n" + " \n" " \n" " \n" " \n" @@ -481,7 +482,7 @@ SnesCartridge::SnesCartridge(const uint8_t *data, unsigned size) { ); if(has_dsp4) markup.append( - " \n" + " \n" " \n" " \n" " \n" @@ -494,7 +495,7 @@ SnesCartridge::SnesCartridge(const uint8_t *data, unsigned size) { ); if(has_st010) markup.append( - " \n" + " \n" " \n" " \n" " \n" @@ -511,7 +512,7 @@ SnesCartridge::SnesCartridge(const uint8_t *data, unsigned size) { ); if(has_st011) markup.append( - " \n" + " \n" " \n" " \n" " \n" @@ -528,7 +529,7 @@ SnesCartridge::SnesCartridge(const uint8_t *data, unsigned size) { ); if(has_st018) markup.append( - " \n" + " \n" " \n" " \n" " \n" diff --git a/bsnes/nall/varint.hpp b/bsnes/nall/varint.hpp index 20f579b6a..439d3c6b0 100755 --- a/bsnes/nall/varint.hpp +++ b/bsnes/nall/varint.hpp @@ -12,27 +12,27 @@ namespace nall { public: inline operator type_t() const { return data; } - inline type_t operator ++(int) { type_t r = data; data = uclip(data + 1); return r; } - inline type_t operator --(int) { type_t r = data; data = uclip(data - 1); return r; } - inline type_t operator ++() { return data = uclip(data + 1); } - inline type_t operator --() { return data = uclip(data - 1); } - inline type_t operator =(const type_t i) { return data = uclip(i); } - inline type_t operator |=(const type_t i) { return data = uclip(data | i); } - inline type_t operator ^=(const type_t i) { return data = uclip(data ^ i); } - inline type_t operator &=(const type_t i) { return data = uclip(data & i); } - inline type_t operator<<=(const type_t i) { return data = uclip(data << i); } - inline type_t operator>>=(const type_t i) { return data = uclip(data >> i); } - inline type_t operator +=(const type_t i) { return data = uclip(data + i); } - inline type_t operator -=(const type_t i) { return data = uclip(data - i); } - inline type_t operator *=(const type_t i) { return data = uclip(data * i); } - inline type_t operator /=(const type_t i) { return data = uclip(data / i); } - inline type_t operator %=(const type_t i) { return data = uclip(data % i); } + inline type_t operator ++(int) { type_t r = data; data = uclip(data + 1); return r; } + inline type_t operator --(int) { type_t r = data; data = uclip(data - 1); return r; } + inline type_t operator ++() { return data = uclip(data + 1); } + inline type_t operator --() { return data = uclip(data - 1); } + inline type_t operator =(const type_t i) { return data = uclip(i); } + inline type_t operator |=(const type_t i) { return data = uclip(data | i); } + inline type_t operator ^=(const type_t i) { return data = uclip(data ^ i); } + inline type_t operator &=(const type_t i) { return data = uclip(data & i); } + inline type_t operator<<=(const type_t i) { return data = uclip(data << i); } + inline type_t operator>>=(const type_t i) { return data = uclip(data >> i); } + inline type_t operator +=(const type_t i) { return data = uclip(data + i); } + inline type_t operator -=(const type_t i) { return data = uclip(data - i); } + inline type_t operator *=(const type_t i) { return data = uclip(data * i); } + inline type_t operator /=(const type_t i) { return data = uclip(data / i); } + inline type_t operator %=(const type_t i) { return data = uclip(data % i); } inline uint_t() : data(0) {} - inline uint_t(const type_t i) : data(uclip(i)) {} + inline uint_t(const type_t i) : data(uclip(i)) {} - template inline type_t operator=(const uint_t &i) { return data = uclip((type_t)i); } - template inline uint_t(const uint_t &i) : data(uclip(i)) {} + template inline type_t operator=(const uint_t &i) { return data = uclip((type_t)i); } + template inline uint_t(const uint_t &i) : data(uclip(i)) {} }; template class int_t { @@ -42,27 +42,27 @@ namespace nall { public: inline operator type_t() const { return data; } - inline type_t operator ++(int) { type_t r = data; data = sclip(data + 1); return r; } - inline type_t operator --(int) { type_t r = data; data = sclip(data - 1); return r; } - inline type_t operator ++() { return data = sclip(data + 1); } - inline type_t operator --() { return data = sclip(data - 1); } - inline type_t operator =(const type_t i) { return data = sclip(i); } - inline type_t operator |=(const type_t i) { return data = sclip(data | i); } - inline type_t operator ^=(const type_t i) { return data = sclip(data ^ i); } - inline type_t operator &=(const type_t i) { return data = sclip(data & i); } - inline type_t operator<<=(const type_t i) { return data = sclip(data << i); } - inline type_t operator>>=(const type_t i) { return data = sclip(data >> i); } - inline type_t operator +=(const type_t i) { return data = sclip(data + i); } - inline type_t operator -=(const type_t i) { return data = sclip(data - i); } - inline type_t operator *=(const type_t i) { return data = sclip(data * i); } - inline type_t operator /=(const type_t i) { return data = sclip(data / i); } - inline type_t operator %=(const type_t i) { return data = sclip(data % i); } + inline type_t operator ++(int) { type_t r = data; data = sclip(data + 1); return r; } + inline type_t operator --(int) { type_t r = data; data = sclip(data - 1); return r; } + inline type_t operator ++() { return data = sclip(data + 1); } + inline type_t operator --() { return data = sclip(data - 1); } + inline type_t operator =(const type_t i) { return data = sclip(i); } + inline type_t operator |=(const type_t i) { return data = sclip(data | i); } + inline type_t operator ^=(const type_t i) { return data = sclip(data ^ i); } + inline type_t operator &=(const type_t i) { return data = sclip(data & i); } + inline type_t operator<<=(const type_t i) { return data = sclip(data << i); } + inline type_t operator>>=(const type_t i) { return data = sclip(data >> i); } + inline type_t operator +=(const type_t i) { return data = sclip(data + i); } + inline type_t operator -=(const type_t i) { return data = sclip(data - i); } + inline type_t operator *=(const type_t i) { return data = sclip(data * i); } + inline type_t operator /=(const type_t i) { return data = sclip(data / i); } + inline type_t operator %=(const type_t i) { return data = sclip(data % i); } inline int_t() : data(0) {} - inline int_t(const type_t i) : data(sclip(i)) {} + inline int_t(const type_t i) : data(sclip(i)) {} - template inline type_t operator=(const int_t &i) { return data = sclip((type_t)i); } - template inline int_t(const int_t &i) : data(sclip(i)) {} + template inline type_t operator=(const int_t &i) { return data = sclip((type_t)i); } + template inline int_t(const int_t &i) : data(sclip(i)) {} }; class varuint_t { diff --git a/bsnes/snes/Makefile b/bsnes/snes/Makefile index 28a1c96c4..7d19c4a99 100755 --- a/bsnes/snes/Makefile +++ b/bsnes/snes/Makefile @@ -5,7 +5,7 @@ snes_objects += snes-cpu snes-smp snes-dsp snes-ppu snes_objects += snes-icd2 snes-nss snes-superfx snes-sa1 snes_objects += snes-necdsp snes-hitachidsp snes-armdsp snes_objects += snes-bsx snes-srtc snes-sdd1 snes-spc7110 -snes_objects += snes-obc1 snes-st0018 snes-sufamiturbo +snes_objects += snes-obc1 snes-sufamiturbo snes_objects += snes-msu1 snes-link objects += $(snes_objects) @@ -54,7 +54,6 @@ obj/snes-srtc.o : $(snes)/chip/srtc/srtc.cpp $(snes)/chip/srtc/* obj/snes-sdd1.o : $(snes)/chip/sdd1/sdd1.cpp $(snes)/chip/sdd1/* obj/snes-spc7110.o : $(snes)/chip/spc7110/spc7110.cpp $(snes)/chip/spc7110/* obj/snes-obc1.o : $(snes)/chip/obc1/obc1.cpp $(snes)/chip/obc1/* -obj/snes-st0018.o : $(snes)/chip/st0018/st0018.cpp $(snes)/chip/st0018/* obj/snes-sufamiturbo.o: $(snes)/chip/sufamiturbo/sufamiturbo.cpp $(snes)/chip/sufamiturbo/* obj/snes-msu1.o : $(snes)/chip/msu1/msu1.cpp $(snes)/chip/msu1/* obj/snes-link.o : $(snes)/chip/link/link.cpp $(snes)/chip/link/* diff --git a/bsnes/snes/cartridge/cartridge.cpp b/bsnes/snes/cartridge/cartridge.cpp index fc20832b6..bc155f60f 100755 --- a/bsnes/snes/cartridge/cartridge.cpp +++ b/bsnes/snes/cartridge/cartridge.cpp @@ -28,7 +28,6 @@ void Cartridge::load(Mode cartridge_mode, const char *markup) { has_spc7110 = false; has_spc7110rtc = false; has_obc1 = false; - has_st0018 = false; has_msu1 = false; has_link = false; diff --git a/bsnes/snes/cartridge/cartridge.hpp b/bsnes/snes/cartridge/cartridge.hpp index 50844ac5b..a108d8ba7 100755 --- a/bsnes/snes/cartridge/cartridge.hpp +++ b/bsnes/snes/cartridge/cartridge.hpp @@ -44,7 +44,6 @@ struct Cartridge : property { readonly has_spc7110; readonly has_spc7110rtc; readonly has_obc1; - readonly has_st0018; readonly has_msu1; readonly has_link; @@ -109,7 +108,6 @@ private: void parse_markup_sdd1(XML::Node&); void parse_markup_spc7110(XML::Node&); void parse_markup_obc1(XML::Node&); - void parse_markup_setarisc(XML::Node&); void parse_markup_msu1(XML::Node&); void parse_markup_link(XML::Node&); }; diff --git a/bsnes/snes/cartridge/markup.cpp b/bsnes/snes/cartridge/markup.cpp index e03da18cd..6fc3b43ad 100755 --- a/bsnes/snes/cartridge/markup.cpp +++ b/bsnes/snes/cartridge/markup.cpp @@ -23,7 +23,6 @@ void Cartridge::parse_markup(const char *markup) { parse_markup_sdd1(cartridge["sdd1"]); parse_markup_spc7110(cartridge["spc7110"]); parse_markup_obc1(cartridge["obc1"]); - parse_markup_setarisc(cartridge["setarisc"]); parse_markup_msu1(cartridge["msu1"]); parse_markup_link(cartridge["link"]); } @@ -236,8 +235,8 @@ void Cartridge::parse_markup_necdsp(XML::Node &root) { interface->message({ "Warning: NEC DSP firmware ", firmware, " is of the wrong file size." }); fp.close(); } else { - for(unsigned n = 0; n < promsize; n++) necdsp.programROM[n] = fp.readm(3); - for(unsigned n = 0; n < dromsize; n++) necdsp.dataROM[n] = fp.readm(2); + for(unsigned n = 0; n < promsize; n++) necdsp.programROM[n] = fp.readl(3); + for(unsigned n = 0; n < dromsize; n++) necdsp.dataROM[n] = fp.readl(2); if(!sha256.empty()) { //XML file specified SHA256 sum for program. Verify file matches the hash. @@ -460,6 +459,7 @@ void Cartridge::parse_markup_sdd1(XML::Node &root) { void Cartridge::parse_markup_spc7110(XML::Node &root) { if(root.exists() == false) return; has_spc7110 = true; + has_spc7110rtc = root["rtc"].exists(); auto &ram = root["ram"]; auto &mmio = root["mmio"]; @@ -518,18 +518,6 @@ void Cartridge::parse_markup_obc1(XML::Node &root) { } } -void Cartridge::parse_markup_setarisc(XML::Node &root) { - if(root.exists() == false) return; - has_st0018 = true; - - for(auto &node : root) { - if(node.name != "map") continue; - Mapping m({ &ST0018::mmio_read, &st0018 }, { &ST0018::mmio_write, &st0018 }); - parse_markup_map(m, node); - mapping.append(m); - } -} - void Cartridge::parse_markup_msu1(XML::Node &root) { if(root.exists() == false) { has_msu1 = file::exists(interface->path(Cartridge::Slot::Base, "msu1.rom")); diff --git a/bsnes/snes/chip/armdsp/registers.hpp b/bsnes/snes/chip/armdsp/registers.hpp index 8cbaec109..d0d328872 100755 --- a/bsnes/snes/chip/armdsp/registers.hpp +++ b/bsnes/snes/chip/armdsp/registers.hpp @@ -107,6 +107,8 @@ struct Register { } r[16]; bool shiftercarry; +uint32 instruction; +bool exception; struct Pipeline { bool reload; @@ -118,6 +120,3 @@ struct Pipeline { Instruction prefetch; Instruction mdr; } pipeline; - -uint32 instruction; -bool exception; diff --git a/bsnes/snes/chip/armdsp/serialization.cpp b/bsnes/snes/chip/armdsp/serialization.cpp index 9affc7c8c..481e4f798 100755 --- a/bsnes/snes/chip/armdsp/serialization.cpp +++ b/bsnes/snes/chip/armdsp/serialization.cpp @@ -2,6 +2,63 @@ void ArmDSP::serialize(serializer &s) { Processor::serialize(s); + + s.array(programRAM, 16 * 1024); + + s.integer(bridge.cputoarm.ready); + s.integer(bridge.cputoarm.data); + s.integer(bridge.armtocpu.ready); + s.integer(bridge.armtocpu.data); + s.integer(bridge.timer); + s.integer(bridge.timerlatch); + s.integer(bridge.reset); + s.integer(bridge.ready); + s.integer(bridge.busy); + + s.integer(cpsr.n); + s.integer(cpsr.z); + s.integer(cpsr.c); + s.integer(cpsr.v); + s.integer(cpsr.i); + s.integer(cpsr.f); + s.integer(cpsr.m); + + s.integer(spsr.n); + s.integer(spsr.z); + s.integer(spsr.c); + s.integer(spsr.v); + s.integer(spsr.i); + s.integer(spsr.f); + s.integer(spsr.m); + + s.integer(r[ 0].data); + s.integer(r[ 1].data); + s.integer(r[ 2].data); + s.integer(r[ 3].data); + s.integer(r[ 4].data); + s.integer(r[ 5].data); + s.integer(r[ 6].data); + s.integer(r[ 7].data); + s.integer(r[ 8].data); + s.integer(r[ 9].data); + s.integer(r[10].data); + s.integer(r[11].data); + s.integer(r[12].data); + s.integer(r[13].data); + s.integer(r[14].data); + s.integer(r[15].data); + + s.integer(shiftercarry); + s.integer(instruction); + s.integer(exception); + + s.integer(pipeline.reload); + s.integer(pipeline.instruction.opcode); + s.integer(pipeline.instruction.address); + s.integer(pipeline.prefetch.opcode); + s.integer(pipeline.prefetch.address); + s.integer(pipeline.mdr.opcode); + s.integer(pipeline.mdr.address); } #endif diff --git a/bsnes/snes/chip/chip.hpp b/bsnes/snes/chip/chip.hpp index 0ea01f418..fe13a0a4e 100755 --- a/bsnes/snes/chip/chip.hpp +++ b/bsnes/snes/chip/chip.hpp @@ -18,7 +18,6 @@ struct Coprocessor : Processor { #include #include #include -#include #include #include #include diff --git a/bsnes/snes/chip/spc7110/spc7110.cpp b/bsnes/snes/chip/spc7110/spc7110.cpp index d2dc640b2..27b8b7785 100755 --- a/bsnes/snes/chip/spc7110/spc7110.cpp +++ b/bsnes/snes/chip/spc7110/spc7110.cpp @@ -15,7 +15,7 @@ void SPC7110::init() { void SPC7110::load() { for(unsigned n = 0; n < 20; n++) rtc[n] = 0xff; - if(cartridge.has_spc7110rtc()) cartridge.nvram.append({ ".rtc", rtc, 20 }); + if(cartridge.has_spc7110rtc()) cartridge.nvram.append({ "program.rtc", rtc, 20 }); } void SPC7110::unload() { diff --git a/bsnes/snes/chip/srtc/srtc.cpp b/bsnes/snes/chip/srtc/srtc.cpp index 1b2fd2aa2..0044113e1 100755 --- a/bsnes/snes/chip/srtc/srtc.cpp +++ b/bsnes/snes/chip/srtc/srtc.cpp @@ -14,7 +14,7 @@ void SRTC::init() { void SRTC::load() { for(unsigned n = 0; n < 20; n++) rtc[n] = 0xff; - cartridge.nvram.append({ ".rtc", rtc, 20 }); + cartridge.nvram.append({ "program.rtc", rtc, 20 }); } void SRTC::unload() { diff --git a/bsnes/snes/chip/st0018/st0018.cpp b/bsnes/snes/chip/st0018/st0018.cpp deleted file mode 100755 index ee13e3853..000000000 --- a/bsnes/snes/chip/st0018/st0018.cpp +++ /dev/null @@ -1,125 +0,0 @@ -#include - -#define ST0018_CPP -namespace SNES { - -ST0018 st0018; - -uint8 ST0018::mmio_read(unsigned addr) { - addr &= 0xffff; - if(addr == 0x3800) return regs.r3800; - if(addr == 0x3804) return regs.r3804; - return cpu.regs.mdr; -} - -void ST0018::mmio_write(unsigned addr, uint8 data) { - addr &= 0xffff; - - if(addr == 0x3802) { - switch(regs.mode) { - case Waiting: { - switch(data) { - case 0x01: regs.r3800 = regs.r3800_01; break; - case 0xaa: op_board_upload(); break; - case 0xb2: op_b2(); break; - case 0xb3: op_b3(); break; - case 0xb4: op_b4(); break; - case 0xb5: op_b5(); break; - case 0xf1: op_query_chip(); break; - case 0xf2: op_query_chip(); break; - default: fprintf(stdout, "* ST018 w3802::%.2x\n", data); break; - } - } return; - - case BoardUpload: { - op_board_upload(data); - } return; - } - } - - if(addr == 0x3804) { - regs.w3804 <<= 8; - regs.w3804 |= data; - regs.w3804 &= 0xffffff; - return; - } -} - -void ST0018::init() { -} - -void ST0018::load() { -} - -void ST0018::unload() { -} - -void ST0018::power() { -} - -void ST0018::reset() { - regs.mode = Waiting; - regs.r3800 = 0x00; - regs.r3804 = 0x85; - regs.w3804 = 0; - for(unsigned i = 0; i < 97; i++) board[i] = 0; -} - -//=============== -//ST-0018 opcodes -//=============== - -void ST0018::op_board_upload() { - regs.mode = BoardUpload; - regs.counter = 0; - regs.r3800 = 0xe0; -} - -void ST0018::op_board_upload(uint8 data) { - board[regs.counter] = data; - regs.r3800 = 96 - regs.counter; - regs.counter++; - if(regs.counter >= 97) { - regs.mode = Waiting; - #if 0 - for(unsigned y = 0; y < 9; y++) { - for(unsigned x = 0; x < 9; x++) { - fprintf(stdout, "%.2x ", board[y * 9 + x]); - } - fprintf(stdout, "\n"); - } - for(unsigned n = 0; n < 16; n++) fprintf(stdout, "%.2x ", board[81 + n]); - fprintf(stdout, "\n\n"); - #endif - } -} - -void ST0018::op_b2() { - fprintf(stdout, "* ST018 w3802::b2\n"); - regs.r3800 = 0xe0; - regs.r3800_01 = 0; //unknown -} - -void ST0018::op_b3() { - fprintf(stdout, "* ST018 w3802::b3\n"); - regs.r3800 = 0xe0; - regs.r3800_01 = 1; //0 = player lost? -} - -void ST0018::op_b4() { - fprintf(stdout, "* ST018 w3802::b4\n"); - regs.r3800 = 0xe0; - regs.r3800_01 = 1; //0 = player won? -} - -void ST0018::op_b5() { - fprintf(stdout, "* ST018 w3802::b5\n"); - regs.r3800 = 0xe0; - regs.r3800_01 = 0; //1 = move will result in checkmate? -} - -void ST0018::op_query_chip() { - regs.r3800 = 0x00; -} - -} diff --git a/bsnes/snes/chip/st0018/st0018.hpp b/bsnes/snes/chip/st0018/st0018.hpp deleted file mode 100755 index 3fa381d92..000000000 --- a/bsnes/snes/chip/st0018/st0018.hpp +++ /dev/null @@ -1,52 +0,0 @@ -class ST0018 { -public: - void init(); - void load(); - void unload(); - void power(); - void reset(); - - uint8 mmio_read(unsigned addr); - void mmio_write(unsigned addr, uint8 data); - - enum mode_t { Waiting, BoardUpload }; - struct regs_t { - mode_t mode; - - uint8 r3800; - uint8 r3800_01; - uint8 r3804; - - unsigned w3804; - unsigned counter; - } regs; - - enum PieceID { - Pawn = 0x00, //foot soldier - Lance = 0x04, //incense chariot - Knight = 0x08, //cassia horse - Silver = 0x0c, //silver general - Gold = 0x10, //gold general - Rook = 0x14, //flying chariot - Bishop = 0x18, //angle mover - King = 0x1c, //king - }; - - enum PieceFlag { - PlayerA = 0x20, - PlayerB = 0x40, - }; - - uint8 board[9 * 9 + 16]; - -private: - void op_board_upload(); - void op_board_upload(uint8 data); - void op_b2(); - void op_b3(); - void op_b4(); - void op_b5(); - void op_query_chip(); -}; - -extern ST0018 st0018; diff --git a/bsnes/snes/controller/usart/usart.cpp b/bsnes/snes/controller/usart/usart.cpp index 2dfdeddf2..d6e950c81 100755 --- a/bsnes/snes/controller/usart/usart.cpp +++ b/bsnes/snes/controller/usart/usart.cpp @@ -44,8 +44,8 @@ void USART::write(uint8 data) { //clock uint2 USART::data() { //SNES -> USART - if(txlength == 0 && latched == 0) { - txlength++; + if(txlength == 0) { + if(latched == 0) txlength++; } else if(txlength <= 8) { txdata = (latched << 7) | (txdata >> 1); txlength++; diff --git a/bsnes/snes/system/system.cpp b/bsnes/snes/system/system.cpp index c7edec023..9b70bbf90 100755 --- a/bsnes/snes/system/system.cpp +++ b/bsnes/snes/system/system.cpp @@ -80,7 +80,6 @@ void System::init() { sdd1.init(); spc7110.init(); obc1.init(); - st0018.init(); msu1.init(); link.init(); @@ -121,7 +120,6 @@ void System::load() { if(cartridge.has_sdd1()) sdd1.load(); if(cartridge.has_spc7110()) spc7110.load(); if(cartridge.has_obc1()) obc1.load(); - if(cartridge.has_st0018()) st0018.load(); if(cartridge.has_msu1()) msu1.load(); if(cartridge.has_link()) link.load(); @@ -148,7 +146,6 @@ void System::unload() { if(cartridge.has_sdd1()) sdd1.unload(); if(cartridge.has_spc7110()) spc7110.unload(); if(cartridge.has_obc1()) obc1.unload(); - if(cartridge.has_st0018()) st0018.unload(); if(cartridge.has_msu1()) msu1.unload(); if(cartridge.has_link()) link.unload(); } @@ -187,7 +184,6 @@ void System::power() { if(cartridge.has_sdd1()) sdd1.power(); if(cartridge.has_spc7110()) spc7110.power(); if(cartridge.has_obc1()) obc1.power(); - if(cartridge.has_st0018()) st0018.power(); if(cartridge.has_msu1()) msu1.power(); if(cartridge.has_link()) link.power(); @@ -218,7 +214,6 @@ void System::reset() { if(cartridge.has_sdd1()) sdd1.reset(); if(cartridge.has_spc7110()) spc7110.reset(); if(cartridge.has_obc1()) obc1.reset(); - if(cartridge.has_st0018()) st0018.reset(); if(cartridge.has_msu1()) msu1.reset(); if(cartridge.has_link()) link.reset(); diff --git a/bsnes/ui-debugger/Makefile b/bsnes/target-debugger/Makefile similarity index 100% rename from bsnes/ui-debugger/Makefile rename to bsnes/target-debugger/Makefile diff --git a/bsnes/ui-debugger/base.hpp b/bsnes/target-debugger/base.hpp similarity index 100% rename from bsnes/ui-debugger/base.hpp rename to bsnes/target-debugger/base.hpp diff --git a/bsnes/ui-debugger/breakpoint/breakpoint.cpp b/bsnes/target-debugger/breakpoint/breakpoint.cpp similarity index 100% rename from bsnes/ui-debugger/breakpoint/breakpoint.cpp rename to bsnes/target-debugger/breakpoint/breakpoint.cpp diff --git a/bsnes/ui-debugger/breakpoint/breakpoint.hpp b/bsnes/target-debugger/breakpoint/breakpoint.hpp similarity index 100% rename from bsnes/ui-debugger/breakpoint/breakpoint.hpp rename to bsnes/target-debugger/breakpoint/breakpoint.hpp diff --git a/bsnes/ui-debugger/console/about.cpp b/bsnes/target-debugger/console/about.cpp similarity index 100% rename from bsnes/ui-debugger/console/about.cpp rename to bsnes/target-debugger/console/about.cpp diff --git a/bsnes/ui-debugger/console/console.cpp b/bsnes/target-debugger/console/console.cpp similarity index 100% rename from bsnes/ui-debugger/console/console.cpp rename to bsnes/target-debugger/console/console.cpp diff --git a/bsnes/ui-debugger/console/console.hpp b/bsnes/target-debugger/console/console.hpp similarity index 100% rename from bsnes/ui-debugger/console/console.hpp rename to bsnes/target-debugger/console/console.hpp diff --git a/bsnes/ui-debugger/cpu/cpu.cpp b/bsnes/target-debugger/cpu/cpu.cpp similarity index 100% rename from bsnes/ui-debugger/cpu/cpu.cpp rename to bsnes/target-debugger/cpu/cpu.cpp diff --git a/bsnes/ui-debugger/cpu/cpu.hpp b/bsnes/target-debugger/cpu/cpu.hpp similarity index 100% rename from bsnes/ui-debugger/cpu/cpu.hpp rename to bsnes/target-debugger/cpu/cpu.hpp diff --git a/bsnes/ui-debugger/cpu/registers.cpp b/bsnes/target-debugger/cpu/registers.cpp similarity index 100% rename from bsnes/ui-debugger/cpu/registers.cpp rename to bsnes/target-debugger/cpu/registers.cpp diff --git a/bsnes/ui-debugger/debugger/debugger.cpp b/bsnes/target-debugger/debugger/debugger.cpp similarity index 100% rename from bsnes/ui-debugger/debugger/debugger.cpp rename to bsnes/target-debugger/debugger/debugger.cpp diff --git a/bsnes/ui-debugger/debugger/debugger.hpp b/bsnes/target-debugger/debugger/debugger.hpp similarity index 100% rename from bsnes/ui-debugger/debugger/debugger.hpp rename to bsnes/target-debugger/debugger/debugger.hpp diff --git a/bsnes/ui-debugger/debugger/hook.cpp b/bsnes/target-debugger/debugger/hook.cpp similarity index 100% rename from bsnes/ui-debugger/debugger/hook.cpp rename to bsnes/target-debugger/debugger/hook.cpp diff --git a/bsnes/ui-debugger/debugger/usage.cpp b/bsnes/target-debugger/debugger/usage.cpp similarity index 100% rename from bsnes/ui-debugger/debugger/usage.cpp rename to bsnes/target-debugger/debugger/usage.cpp diff --git a/bsnes/ui-debugger/interface/interface.cpp b/bsnes/target-debugger/interface/interface.cpp similarity index 100% rename from bsnes/ui-debugger/interface/interface.cpp rename to bsnes/target-debugger/interface/interface.cpp diff --git a/bsnes/ui-debugger/interface/interface.hpp b/bsnes/target-debugger/interface/interface.hpp similarity index 100% rename from bsnes/ui-debugger/interface/interface.hpp rename to bsnes/target-debugger/interface/interface.hpp diff --git a/bsnes/ui-debugger/main.cpp b/bsnes/target-debugger/main.cpp similarity index 100% rename from bsnes/ui-debugger/main.cpp rename to bsnes/target-debugger/main.cpp diff --git a/bsnes/ui-debugger/memory/memory.cpp b/bsnes/target-debugger/memory/memory.cpp similarity index 100% rename from bsnes/ui-debugger/memory/memory.cpp rename to bsnes/target-debugger/memory/memory.cpp diff --git a/bsnes/ui-debugger/memory/memory.hpp b/bsnes/target-debugger/memory/memory.hpp similarity index 100% rename from bsnes/ui-debugger/memory/memory.hpp rename to bsnes/target-debugger/memory/memory.hpp diff --git a/bsnes/ui-debugger/properties/properties.cpp b/bsnes/target-debugger/properties/properties.cpp similarity index 100% rename from bsnes/ui-debugger/properties/properties.cpp rename to bsnes/target-debugger/properties/properties.cpp diff --git a/bsnes/ui-debugger/properties/properties.hpp b/bsnes/target-debugger/properties/properties.hpp similarity index 100% rename from bsnes/ui-debugger/properties/properties.hpp rename to bsnes/target-debugger/properties/properties.hpp diff --git a/bsnes/ui-debugger/resource.rc b/bsnes/target-debugger/resource.rc similarity index 100% rename from bsnes/ui-debugger/resource.rc rename to bsnes/target-debugger/resource.rc diff --git a/bsnes/ui-debugger/settings/settings.cpp b/bsnes/target-debugger/settings/settings.cpp similarity index 100% rename from bsnes/ui-debugger/settings/settings.cpp rename to bsnes/target-debugger/settings/settings.cpp diff --git a/bsnes/ui-debugger/settings/settings.hpp b/bsnes/target-debugger/settings/settings.hpp similarity index 100% rename from bsnes/ui-debugger/settings/settings.hpp rename to bsnes/target-debugger/settings/settings.hpp diff --git a/bsnes/ui-debugger/smp/registers.cpp b/bsnes/target-debugger/smp/registers.cpp similarity index 100% rename from bsnes/ui-debugger/smp/registers.cpp rename to bsnes/target-debugger/smp/registers.cpp diff --git a/bsnes/ui-debugger/smp/smp.cpp b/bsnes/target-debugger/smp/smp.cpp similarity index 100% rename from bsnes/ui-debugger/smp/smp.cpp rename to bsnes/target-debugger/smp/smp.cpp diff --git a/bsnes/ui-debugger/smp/smp.hpp b/bsnes/target-debugger/smp/smp.hpp similarity index 100% rename from bsnes/ui-debugger/smp/smp.hpp rename to bsnes/target-debugger/smp/smp.hpp diff --git a/bsnes/ui-debugger/tracer/tracer.cpp b/bsnes/target-debugger/tracer/tracer.cpp similarity index 100% rename from bsnes/ui-debugger/tracer/tracer.cpp rename to bsnes/target-debugger/tracer/tracer.cpp diff --git a/bsnes/ui-debugger/tracer/tracer.hpp b/bsnes/target-debugger/tracer/tracer.hpp similarity index 100% rename from bsnes/ui-debugger/tracer/tracer.hpp rename to bsnes/target-debugger/tracer/tracer.hpp diff --git a/bsnes/ui-debugger/video/video.cpp b/bsnes/target-debugger/video/video.cpp similarity index 100% rename from bsnes/ui-debugger/video/video.cpp rename to bsnes/target-debugger/video/video.cpp diff --git a/bsnes/ui-debugger/video/video.hpp b/bsnes/target-debugger/video/video.hpp similarity index 100% rename from bsnes/ui-debugger/video/video.hpp rename to bsnes/target-debugger/video/video.hpp diff --git a/bsnes/ui-debugger/vram/vram.cpp b/bsnes/target-debugger/vram/vram.cpp similarity index 100% rename from bsnes/ui-debugger/vram/vram.cpp rename to bsnes/target-debugger/vram/vram.cpp diff --git a/bsnes/ui-debugger/vram/vram.hpp b/bsnes/target-debugger/vram/vram.hpp similarity index 100% rename from bsnes/ui-debugger/vram/vram.hpp rename to bsnes/target-debugger/vram/vram.hpp diff --git a/bsnes/ui-debugger/window/window.cpp b/bsnes/target-debugger/window/window.cpp similarity index 100% rename from bsnes/ui-debugger/window/window.cpp rename to bsnes/target-debugger/window/window.cpp diff --git a/bsnes/ui-debugger/window/window.hpp b/bsnes/target-debugger/window/window.hpp similarity index 100% rename from bsnes/ui-debugger/window/window.hpp rename to bsnes/target-debugger/window/window.hpp diff --git a/bsnes/ui-libsnes/Makefile b/bsnes/target-libsnes/Makefile similarity index 100% rename from bsnes/ui-libsnes/Makefile rename to bsnes/target-libsnes/Makefile diff --git a/bsnes/ui-libsnes/libsnes.cpp b/bsnes/target-libsnes/libsnes.cpp similarity index 100% rename from bsnes/ui-libsnes/libsnes.cpp rename to bsnes/target-libsnes/libsnes.cpp diff --git a/bsnes/ui-libsnes/libsnes.hpp b/bsnes/target-libsnes/libsnes.hpp similarity index 100% rename from bsnes/ui-libsnes/libsnes.hpp rename to bsnes/target-libsnes/libsnes.hpp diff --git a/bsnes/ui/Makefile b/bsnes/target-ui/Makefile similarity index 100% rename from bsnes/ui/Makefile rename to bsnes/target-ui/Makefile diff --git a/bsnes/ui/base.hpp b/bsnes/target-ui/base.hpp similarity index 100% rename from bsnes/ui/base.hpp rename to bsnes/target-ui/base.hpp diff --git a/bsnes/ui/config/config.cpp b/bsnes/target-ui/config/config.cpp similarity index 100% rename from bsnes/ui/config/config.cpp rename to bsnes/target-ui/config/config.cpp diff --git a/bsnes/ui/config/config.hpp b/bsnes/target-ui/config/config.hpp similarity index 100% rename from bsnes/ui/config/config.hpp rename to bsnes/target-ui/config/config.hpp diff --git a/bsnes/ui/general/dip-switches.cpp b/bsnes/target-ui/general/dip-switches.cpp similarity index 100% rename from bsnes/ui/general/dip-switches.cpp rename to bsnes/target-ui/general/dip-switches.cpp diff --git a/bsnes/ui/general/dip-switches.hpp b/bsnes/target-ui/general/dip-switches.hpp similarity index 100% rename from bsnes/ui/general/dip-switches.hpp rename to bsnes/target-ui/general/dip-switches.hpp diff --git a/bsnes/ui/general/file-browser.cpp b/bsnes/target-ui/general/file-browser.cpp similarity index 100% rename from bsnes/ui/general/file-browser.cpp rename to bsnes/target-ui/general/file-browser.cpp diff --git a/bsnes/ui/general/file-browser.hpp b/bsnes/target-ui/general/file-browser.hpp similarity index 100% rename from bsnes/ui/general/file-browser.hpp rename to bsnes/target-ui/general/file-browser.hpp diff --git a/bsnes/ui/general/general.cpp b/bsnes/target-ui/general/general.cpp similarity index 100% rename from bsnes/ui/general/general.cpp rename to bsnes/target-ui/general/general.cpp diff --git a/bsnes/ui/general/general.hpp b/bsnes/target-ui/general/general.hpp similarity index 100% rename from bsnes/ui/general/general.hpp rename to bsnes/target-ui/general/general.hpp diff --git a/bsnes/ui/general/main-window.cpp b/bsnes/target-ui/general/main-window.cpp similarity index 100% rename from bsnes/ui/general/main-window.cpp rename to bsnes/target-ui/general/main-window.cpp diff --git a/bsnes/ui/general/main-window.hpp b/bsnes/target-ui/general/main-window.hpp similarity index 100% rename from bsnes/ui/general/main-window.hpp rename to bsnes/target-ui/general/main-window.hpp diff --git a/bsnes/ui/general/slot-loader.cpp b/bsnes/target-ui/general/slot-loader.cpp similarity index 100% rename from bsnes/ui/general/slot-loader.cpp rename to bsnes/target-ui/general/slot-loader.cpp diff --git a/bsnes/ui/general/slot-loader.hpp b/bsnes/target-ui/general/slot-loader.hpp similarity index 100% rename from bsnes/ui/general/slot-loader.hpp rename to bsnes/target-ui/general/slot-loader.hpp diff --git a/bsnes/ui/input/gameboy.cpp b/bsnes/target-ui/input/gameboy.cpp similarity index 100% rename from bsnes/ui/input/gameboy.cpp rename to bsnes/target-ui/input/gameboy.cpp diff --git a/bsnes/ui/input/gameboy.hpp b/bsnes/target-ui/input/gameboy.hpp similarity index 100% rename from bsnes/ui/input/gameboy.hpp rename to bsnes/target-ui/input/gameboy.hpp diff --git a/bsnes/ui/input/input.cpp b/bsnes/target-ui/input/input.cpp similarity index 100% rename from bsnes/ui/input/input.cpp rename to bsnes/target-ui/input/input.cpp diff --git a/bsnes/ui/input/input.hpp b/bsnes/target-ui/input/input.hpp similarity index 100% rename from bsnes/ui/input/input.hpp rename to bsnes/target-ui/input/input.hpp diff --git a/bsnes/ui/input/nes.cpp b/bsnes/target-ui/input/nes.cpp similarity index 100% rename from bsnes/ui/input/nes.cpp rename to bsnes/target-ui/input/nes.cpp diff --git a/bsnes/ui/input/nes.hpp b/bsnes/target-ui/input/nes.hpp similarity index 100% rename from bsnes/ui/input/nes.hpp rename to bsnes/target-ui/input/nes.hpp diff --git a/bsnes/ui/input/snes.cpp b/bsnes/target-ui/input/snes.cpp similarity index 100% rename from bsnes/ui/input/snes.cpp rename to bsnes/target-ui/input/snes.cpp diff --git a/bsnes/ui/input/snes.hpp b/bsnes/target-ui/input/snes.hpp similarity index 100% rename from bsnes/ui/input/snes.hpp rename to bsnes/target-ui/input/snes.hpp diff --git a/bsnes/ui/input/user-interface.cpp b/bsnes/target-ui/input/user-interface.cpp similarity index 100% rename from bsnes/ui/input/user-interface.cpp rename to bsnes/target-ui/input/user-interface.cpp diff --git a/bsnes/ui/input/user-interface.hpp b/bsnes/target-ui/input/user-interface.hpp similarity index 100% rename from bsnes/ui/input/user-interface.hpp rename to bsnes/target-ui/input/user-interface.hpp diff --git a/bsnes/ui/interface/gameboy/gameboy.cpp b/bsnes/target-ui/interface/gameboy/gameboy.cpp similarity index 100% rename from bsnes/ui/interface/gameboy/gameboy.cpp rename to bsnes/target-ui/interface/gameboy/gameboy.cpp diff --git a/bsnes/ui/interface/gameboy/gameboy.hpp b/bsnes/target-ui/interface/gameboy/gameboy.hpp similarity index 100% rename from bsnes/ui/interface/gameboy/gameboy.hpp rename to bsnes/target-ui/interface/gameboy/gameboy.hpp diff --git a/bsnes/ui/interface/interface.cpp b/bsnes/target-ui/interface/interface.cpp similarity index 100% rename from bsnes/ui/interface/interface.cpp rename to bsnes/target-ui/interface/interface.cpp diff --git a/bsnes/ui/interface/interface.hpp b/bsnes/target-ui/interface/interface.hpp similarity index 100% rename from bsnes/ui/interface/interface.hpp rename to bsnes/target-ui/interface/interface.hpp diff --git a/bsnes/ui/interface/nes/nes.cpp b/bsnes/target-ui/interface/nes/nes.cpp similarity index 100% rename from bsnes/ui/interface/nes/nes.cpp rename to bsnes/target-ui/interface/nes/nes.cpp diff --git a/bsnes/ui/interface/nes/nes.hpp b/bsnes/target-ui/interface/nes/nes.hpp similarity index 100% rename from bsnes/ui/interface/nes/nes.hpp rename to bsnes/target-ui/interface/nes/nes.hpp diff --git a/bsnes/ui/interface/palette.cpp b/bsnes/target-ui/interface/palette.cpp similarity index 100% rename from bsnes/ui/interface/palette.cpp rename to bsnes/target-ui/interface/palette.cpp diff --git a/bsnes/ui/interface/palette.hpp b/bsnes/target-ui/interface/palette.hpp similarity index 100% rename from bsnes/ui/interface/palette.hpp rename to bsnes/target-ui/interface/palette.hpp diff --git a/bsnes/ui/interface/snes/snes.cpp b/bsnes/target-ui/interface/snes/snes.cpp similarity index 99% rename from bsnes/ui/interface/snes/snes.cpp rename to bsnes/target-ui/interface/snes/snes.cpp index 7b8209b70..74cddf5e7 100755 --- a/bsnes/ui/interface/snes/snes.cpp +++ b/bsnes/target-ui/interface/snes/snes.cpp @@ -226,6 +226,7 @@ void InterfaceSNES::run() { string InterfaceSNES::memoryName(SNES::Cartridge::NonVolatileRAM &memory) { if(memory.slot == SNES::Cartridge::Slot::Base) { if(memory.id == "program.ram") return interface->base.filename("program.ram", ".srm"); + if(memory.id == "program.rtc") return interface->base.filename("program.rtc", ".rtc"); if(memory.id == "upd96050.ram") return interface->base.filename("upd96050.ram", ".nec"); if(memory.id == "bsx.ram") return interface->base.filename("bsx.ram", ".bss"); if(memory.id == "bsx.psram") return interface->base.filename("bsx.psram", ".bsp"); diff --git a/bsnes/ui/interface/snes/snes.hpp b/bsnes/target-ui/interface/snes/snes.hpp similarity index 100% rename from bsnes/ui/interface/snes/snes.hpp rename to bsnes/target-ui/interface/snes/snes.hpp diff --git a/bsnes/ui/main.cpp b/bsnes/target-ui/main.cpp similarity index 100% rename from bsnes/ui/main.cpp rename to bsnes/target-ui/main.cpp diff --git a/bsnes/ui/resource.rc b/bsnes/target-ui/resource.rc similarity index 100% rename from bsnes/ui/resource.rc rename to bsnes/target-ui/resource.rc diff --git a/bsnes/ui/settings/advanced.cpp b/bsnes/target-ui/settings/advanced.cpp similarity index 100% rename from bsnes/ui/settings/advanced.cpp rename to bsnes/target-ui/settings/advanced.cpp diff --git a/bsnes/ui/settings/advanced.hpp b/bsnes/target-ui/settings/advanced.hpp similarity index 100% rename from bsnes/ui/settings/advanced.hpp rename to bsnes/target-ui/settings/advanced.hpp diff --git a/bsnes/ui/settings/audio.cpp b/bsnes/target-ui/settings/audio.cpp similarity index 100% rename from bsnes/ui/settings/audio.cpp rename to bsnes/target-ui/settings/audio.cpp diff --git a/bsnes/ui/settings/audio.hpp b/bsnes/target-ui/settings/audio.hpp similarity index 100% rename from bsnes/ui/settings/audio.hpp rename to bsnes/target-ui/settings/audio.hpp diff --git a/bsnes/ui/settings/input.cpp b/bsnes/target-ui/settings/input.cpp similarity index 100% rename from bsnes/ui/settings/input.cpp rename to bsnes/target-ui/settings/input.cpp diff --git a/bsnes/ui/settings/input.hpp b/bsnes/target-ui/settings/input.hpp similarity index 100% rename from bsnes/ui/settings/input.hpp rename to bsnes/target-ui/settings/input.hpp diff --git a/bsnes/ui/settings/settings.cpp b/bsnes/target-ui/settings/settings.cpp similarity index 100% rename from bsnes/ui/settings/settings.cpp rename to bsnes/target-ui/settings/settings.cpp diff --git a/bsnes/ui/settings/settings.hpp b/bsnes/target-ui/settings/settings.hpp similarity index 100% rename from bsnes/ui/settings/settings.hpp rename to bsnes/target-ui/settings/settings.hpp diff --git a/bsnes/ui/settings/video.cpp b/bsnes/target-ui/settings/video.cpp similarity index 100% rename from bsnes/ui/settings/video.cpp rename to bsnes/target-ui/settings/video.cpp diff --git a/bsnes/ui/settings/video.hpp b/bsnes/target-ui/settings/video.hpp similarity index 100% rename from bsnes/ui/settings/video.hpp rename to bsnes/target-ui/settings/video.hpp diff --git a/bsnes/ui/tools/cheat-database.cpp b/bsnes/target-ui/tools/cheat-database.cpp similarity index 100% rename from bsnes/ui/tools/cheat-database.cpp rename to bsnes/target-ui/tools/cheat-database.cpp diff --git a/bsnes/ui/tools/cheat-database.hpp b/bsnes/target-ui/tools/cheat-database.hpp similarity index 100% rename from bsnes/ui/tools/cheat-database.hpp rename to bsnes/target-ui/tools/cheat-database.hpp diff --git a/bsnes/ui/tools/cheat-editor.cpp b/bsnes/target-ui/tools/cheat-editor.cpp similarity index 100% rename from bsnes/ui/tools/cheat-editor.cpp rename to bsnes/target-ui/tools/cheat-editor.cpp diff --git a/bsnes/ui/tools/cheat-editor.hpp b/bsnes/target-ui/tools/cheat-editor.hpp similarity index 100% rename from bsnes/ui/tools/cheat-editor.hpp rename to bsnes/target-ui/tools/cheat-editor.hpp diff --git a/bsnes/ui/tools/state-manager.cpp b/bsnes/target-ui/tools/state-manager.cpp similarity index 100% rename from bsnes/ui/tools/state-manager.cpp rename to bsnes/target-ui/tools/state-manager.cpp diff --git a/bsnes/ui/tools/state-manager.hpp b/bsnes/target-ui/tools/state-manager.hpp similarity index 100% rename from bsnes/ui/tools/state-manager.hpp rename to bsnes/target-ui/tools/state-manager.hpp diff --git a/bsnes/ui/tools/tools.cpp b/bsnes/target-ui/tools/tools.cpp similarity index 100% rename from bsnes/ui/tools/tools.cpp rename to bsnes/target-ui/tools/tools.cpp diff --git a/bsnes/ui/tools/tools.hpp b/bsnes/target-ui/tools/tools.hpp similarity index 100% rename from bsnes/ui/tools/tools.hpp rename to bsnes/target-ui/tools/tools.hpp diff --git a/bsnes/ui/utility/utility.cpp b/bsnes/target-ui/utility/utility.cpp similarity index 100% rename from bsnes/ui/utility/utility.cpp rename to bsnes/target-ui/utility/utility.cpp diff --git a/bsnes/ui/utility/utility.hpp b/bsnes/target-ui/utility/utility.hpp similarity index 100% rename from bsnes/ui/utility/utility.hpp rename to bsnes/target-ui/utility/utility.hpp diff --git a/bsnes/ui/window/window.cpp b/bsnes/target-ui/window/window.cpp similarity index 100% rename from bsnes/ui/window/window.cpp rename to bsnes/target-ui/window/window.cpp diff --git a/bsnes/ui/window/window.hpp b/bsnes/target-ui/window/window.hpp similarity index 100% rename from bsnes/ui/window/window.hpp rename to bsnes/target-ui/window/window.hpp