mirror of
https://github.com/mkwong98/HDNes.git
synced 2024-06-02 19:38:14 -04:00
Add game pad part and connecting parts together
This commit is contained in:
parent
6270e7db21
commit
3fef19c742
|
@ -67,6 +67,8 @@
|
||||||
<Unit filename="core/corePart.h" />
|
<Unit filename="core/corePart.h" />
|
||||||
<Unit filename="core/cpu.cpp" />
|
<Unit filename="core/cpu.cpp" />
|
||||||
<Unit filename="core/cpu.h" />
|
<Unit filename="core/cpu.h" />
|
||||||
|
<Unit filename="core/gamepad.cpp" />
|
||||||
|
<Unit filename="core/gamepad.h" />
|
||||||
<Unit filename="core/mapper001.cpp" />
|
<Unit filename="core/mapper001.cpp" />
|
||||||
<Unit filename="core/mapper001.h" />
|
<Unit filename="core/mapper001.h" />
|
||||||
<Unit filename="core/memBus.cpp" />
|
<Unit filename="core/memBus.cpp" />
|
||||||
|
|
|
@ -3406,29 +3406,31 @@
|
||||||
1412631243 c:\work\include\wx\os2\notebook.h
|
1412631243 c:\work\include\wx\os2\notebook.h
|
||||||
"wx/control.h"
|
"wx/control.h"
|
||||||
|
|
||||||
1479479589 source:c:\work\hdnesr\trunk\rewrite\wx\mainframeimp.cpp
|
1479809256 source:c:\work\hdnesr\trunk\rewrite\wx\mainframeimp.cpp
|
||||||
"mainFrameImp.h"
|
"mainFrameImp.h"
|
||||||
"../gameManager.h"
|
"../gameManager.h"
|
||||||
"../emu/gameFile.h"
|
"../emu/gameFile.h"
|
||||||
"../emu/input.h"
|
"../emu/input.h"
|
||||||
|
"../emu/video.h"
|
||||||
|
"../emu/audio.h"
|
||||||
|
|
||||||
1479807588 source:c:\work\hdnesr\trunk\rewrite\emu\audio.cpp
|
1480069012 source:c:\work\hdnesr\trunk\rewrite\emu\audio.cpp
|
||||||
"audio.h"
|
"audio.h"
|
||||||
"../gameManager.h"
|
"../gameManager.h"
|
||||||
|
|
||||||
1479807381 c:\work\hdnesr\trunk\rewrite\emu\audio.h
|
1480069012 c:\work\hdnesr\trunk\rewrite\emu\audio.h
|
||||||
"emuPart.h"
|
"emuPart.h"
|
||||||
|
|
||||||
1479804745 source:c:\work\hdnesr\trunk\rewrite\emu\video.cpp
|
1480069099 source:c:\work\hdnesr\trunk\rewrite\emu\video.cpp
|
||||||
<GL/glew.h>
|
<GL/glew.h>
|
||||||
"video.h"
|
"video.h"
|
||||||
"../gameManager.h"
|
"../gameManager.h"
|
||||||
|
|
||||||
1479804745 c:\work\hdnesr\trunk\rewrite\emu\video.h
|
1480069099 c:\work\hdnesr\trunk\rewrite\emu\video.h
|
||||||
"../classList.h"
|
"../classList.h"
|
||||||
"emuPart.h"
|
"emuPart.h"
|
||||||
|
|
||||||
1478583679 c:\work\hdnesr\trunk\rewrite\classlist.h
|
1480056573 c:\work\hdnesr\trunk\rewrite\classlist.h
|
||||||
|
|
||||||
1474972550 c:\work\include\gl\glew.h
|
1474972550 c:\work\include\gl\glew.h
|
||||||
<stddef.h>
|
<stddef.h>
|
||||||
|
@ -3442,7 +3444,7 @@
|
||||||
1478602156 c:\work\hdnesr\trunk\rewrite\emu\emupart.h
|
1478602156 c:\work\hdnesr\trunk\rewrite\emu\emupart.h
|
||||||
"../common.h"
|
"../common.h"
|
||||||
|
|
||||||
1479806715 c:\work\hdnesr\trunk\rewrite\gamemanager.h
|
1480061170 c:\work\hdnesr\trunk\rewrite\gamemanager.h
|
||||||
<wx\wx.h>
|
<wx\wx.h>
|
||||||
"common.h"
|
"common.h"
|
||||||
"classList.h"
|
"classList.h"
|
||||||
|
@ -3450,13 +3452,13 @@
|
||||||
1478310327 source:c:\work\hdnesr\trunk\rewrite\core\corepart.cpp
|
1478310327 source:c:\work\hdnesr\trunk\rewrite\core\corepart.cpp
|
||||||
"corePart.h"
|
"corePart.h"
|
||||||
|
|
||||||
1478310327 c:\work\hdnesr\trunk\rewrite\core\corepart.h
|
1480071930 c:\work\hdnesr\trunk\rewrite\core\corepart.h
|
||||||
"../common.h"
|
"../common.h"
|
||||||
|
|
||||||
1478602519 source:c:\work\hdnesr\trunk\rewrite\emu\emupart.cpp
|
1478602519 source:c:\work\hdnesr\trunk\rewrite\emu\emupart.cpp
|
||||||
"emuPart.h"
|
"emuPart.h"
|
||||||
|
|
||||||
1479807381 source:c:\work\hdnesr\trunk\rewrite\gamemanager.cpp
|
1480069179 source:c:\work\hdnesr\trunk\rewrite\gamemanager.cpp
|
||||||
"gameManager.h"
|
"gameManager.h"
|
||||||
"core\memBus.h"
|
"core\memBus.h"
|
||||||
"core\cart.h"
|
"core\cart.h"
|
||||||
|
@ -3464,6 +3466,7 @@
|
||||||
"core\cpu.h"
|
"core\cpu.h"
|
||||||
"core\ppu.h"
|
"core\ppu.h"
|
||||||
"core\apu.h"
|
"core\apu.h"
|
||||||
|
"core\gamepad.h"
|
||||||
"emu\video.h"
|
"emu\video.h"
|
||||||
"emu\audio.h"
|
"emu\audio.h"
|
||||||
"emu\gameFile.h"
|
"emu\gameFile.h"
|
||||||
|
@ -3702,31 +3705,32 @@
|
||||||
"../classList.h"
|
"../classList.h"
|
||||||
"emuPart.h"
|
"emuPart.h"
|
||||||
|
|
||||||
1478310327 source:c:\work\hdnesr\trunk\rewrite\core\cart.cpp
|
1480072054 source:c:\work\hdnesr\trunk\rewrite\core\cart.cpp
|
||||||
"../common.h"
|
"../common.h"
|
||||||
"cart.h"
|
"cart.h"
|
||||||
"mapper001.h"
|
"mapper001.h"
|
||||||
"../emu/emuPart.h"
|
"../emu/emuPart.h"
|
||||||
|
|
||||||
1478310327 c:\work\hdnesr\trunk\rewrite\core\cart.h
|
1480072003 c:\work\hdnesr\trunk\rewrite\core\cart.h
|
||||||
"corePart.h"
|
"corePart.h"
|
||||||
"../classList.h"
|
"../classList.h"
|
||||||
|
|
||||||
1478310327 c:\work\hdnesr\trunk\rewrite\core\mapper001.h
|
1480072003 c:\work\hdnesr\trunk\rewrite\core\mapper001.h
|
||||||
"cart.h"
|
"cart.h"
|
||||||
|
|
||||||
1476429611 source:c:\work\hdnesr\trunk\rewrite\core\mapper001.cpp
|
1480072088 source:c:\work\hdnesr\trunk\rewrite\core\mapper001.cpp
|
||||||
"mapper001.h"
|
"mapper001.h"
|
||||||
|
|
||||||
1478310327 source:c:\work\hdnesr\trunk\rewrite\core\membus.cpp
|
1480072139 source:c:\work\hdnesr\trunk\rewrite\core\membus.cpp
|
||||||
"memBus.h"
|
"memBus.h"
|
||||||
"../gameManager.h"
|
"../gameManager.h"
|
||||||
"cart.h"
|
"cart.h"
|
||||||
"cpu.h"
|
"cpu.h"
|
||||||
"ppu.h"
|
"ppu.h"
|
||||||
"apu.h"
|
"apu.h"
|
||||||
|
"gamepad.h"
|
||||||
|
|
||||||
1478310327 c:\work\hdnesr\trunk\rewrite\core\membus.h
|
1480072003 c:\work\hdnesr\trunk\rewrite\core\membus.h
|
||||||
"../classList.h"
|
"../classList.h"
|
||||||
<corePart.h>
|
<corePart.h>
|
||||||
|
|
||||||
|
@ -3791,22 +3795,23 @@
|
||||||
"../classList.h"
|
"../classList.h"
|
||||||
<emuPart.h>
|
<emuPart.h>
|
||||||
|
|
||||||
1478310327 source:c:\work\hdnesr\trunk\rewrite\core\apu.cpp
|
1480072041 source:c:\work\hdnesr\trunk\rewrite\core\apu.cpp
|
||||||
"apu.h"
|
"apu.h"
|
||||||
|
|
||||||
1478310327 c:\work\hdnesr\trunk\rewrite\core\apu.h
|
1480071957 c:\work\hdnesr\trunk\rewrite\core\apu.h
|
||||||
<corePart.h>
|
<corePart.h>
|
||||||
|
|
||||||
1478310327 source:c:\work\hdnesr\trunk\rewrite\core\cpu.cpp
|
1480063415 source:c:\work\hdnesr\trunk\rewrite\core\cpu.cpp
|
||||||
"cpu.h"
|
"cpu.h"
|
||||||
|
|
||||||
1478310327 c:\work\hdnesr\trunk\rewrite\core\cpu.h
|
1480072003 c:\work\hdnesr\trunk\rewrite\core\cpu.h
|
||||||
|
"../classList.h"
|
||||||
<corePart.h>
|
<corePart.h>
|
||||||
|
|
||||||
1478310327 c:\work\hdnesr\trunk\rewrite\core\ppu.h
|
1480072003 c:\work\hdnesr\trunk\rewrite\core\ppu.h
|
||||||
<corePart.h>
|
<corePart.h>
|
||||||
|
|
||||||
1478310327 source:c:\work\hdnesr\trunk\rewrite\core\ppu.cpp
|
1480072120 source:c:\work\hdnesr\trunk\rewrite\core\ppu.cpp
|
||||||
"ppu.h"
|
"ppu.h"
|
||||||
|
|
||||||
1478948230 c:\work\hdnesr\trunk\rewrite\emu\input.h
|
1478948230 c:\work\hdnesr\trunk\rewrite\emu\input.h
|
||||||
|
@ -3844,3 +3849,9 @@
|
||||||
1478613590 source:c:\work\hdnes\trunk\rewrite\wx\frmwaitinputimp.cpp
|
1478613590 source:c:\work\hdnes\trunk\rewrite\wx\frmwaitinputimp.cpp
|
||||||
"frmWaitInputImp.h"
|
"frmWaitInputImp.h"
|
||||||
|
|
||||||
|
1480072088 source:c:\work\hdnesr\trunk\rewrite\core\gamepad.cpp
|
||||||
|
"gamepad.h"
|
||||||
|
|
||||||
|
1480072003 c:\work\hdnesr\trunk\rewrite\core\gamepad.h
|
||||||
|
<corePart.h>
|
||||||
|
|
||||||
|
|
|
@ -2,139 +2,34 @@
|
||||||
<CodeBlocks_layout_file>
|
<CodeBlocks_layout_file>
|
||||||
<FileVersion major="1" minor="0" />
|
<FileVersion major="1" minor="0" />
|
||||||
<ActiveTarget name="Debug" />
|
<ActiveTarget name="Debug" />
|
||||||
<File name="core\ppu.cpp" open="0" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="wx\mainFrameImp.cpp" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="309" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="emu\gameFile.h" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="323" topLine="2" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="emu\emuPart.cpp" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="225" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="core\corePart.h" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="161" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="gameManager.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="486" topLine="55" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="wx\mainFrameImp.cpp" open="1" top="1" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="5380" topLine="162" />
|
<Cursor1 position="5380" topLine="162" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="emu\input.cpp" open="1" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="core\ppu.cpp" open="1" top="0" tabpos="31" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="10799" topLine="0" />
|
<Cursor1 position="89" topLine="21" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="core\ppu.h" open="0" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="core\ppu.h" open="1" top="0" tabpos="29" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="228" topLine="0" />
|
<Cursor1 position="363" topLine="14" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="emu\gameFile.cpp" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="emu\audio.cpp" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="1333" topLine="24" />
|
<Cursor1 position="933" topLine="37" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="emu\input.h" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="core\cpu.cpp" open="1" top="0" tabpos="34" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="1949" topLine="0" />
|
<Cursor1 position="163" topLine="0" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="emu\audio.h" open="1" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="emu\audio.h" open="1" top="0" tabpos="19" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="476" topLine="19" />
|
<Cursor1 position="552" topLine="13" />
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="core\cpu.h" open="0" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="136" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="emu\video.h" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="595" topLine="13" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="core\apu.cpp" open="0" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="229" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="mainApp.cpp" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="352" topLine="1" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="core\cart.cpp" open="0" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="2580" topLine="84" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="emu\video.cpp" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="2316" topLine="106" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="core\cart.h" open="0" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="86" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="wx\frmWaitInputImp.cpp" open="1" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="0" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="wx\mainFrameImp.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="1047" topLine="26" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="core\corePart.cpp" open="0" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="82" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="gameManager.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="6572" topLine="258" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="emu\emuPart.h" open="0" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="40" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="core\mapper001.cpp" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="142" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="wx\frmWaitInputImp.h" open="1" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="418" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="mainApp.h" open="1" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="158" topLine="0" />
|
|
||||||
</Cursor>
|
|
||||||
</File>
|
|
||||||
<File name="core\memBus.cpp" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
|
||||||
<Cursor>
|
|
||||||
<Cursor1 position="850" topLine="14" />
|
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="wx\mainFrame.cpp" open="1" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="wx\mainFrame.cpp" open="1" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
@ -142,14 +37,74 @@
|
||||||
<Cursor1 position="26945" topLine="586" />
|
<Cursor1 position="26945" topLine="586" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="wx\mainGUI.fbp" open="0" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="emu\input.h" open="1" top="0" tabpos="12" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="74" topLine="0" />
|
<Cursor1 position="140" topLine="0" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="classList.h" open="0" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="core\apu.cpp" open="1" top="0" tabpos="30" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="259" topLine="0" />
|
<Cursor1 position="467" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="emu\gameFile.h" open="0" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="323" topLine="2" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\cart.cpp" open="1" top="0" tabpos="33" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="2582" topLine="92" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="wx\frmWaitInputImp.cpp" open="1" top="0" tabpos="18" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="0" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\cart.h" open="1" top="0" tabpos="25" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="1164" topLine="31" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="wx\mainFrameImp.h" open="1" top="0" tabpos="9" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="1047" topLine="22" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\apu.h" open="1" top="0" tabpos="24" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="340" topLine="12" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="gameManager.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="580" topLine="26" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\corePart.cpp" open="1" top="0" tabpos="35" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="82" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="emu\gameFile.cpp" open="1" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="1333" topLine="24" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\corePart.h" open="1" top="0" tabpos="26" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="362" topLine="5" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="mainApp.cpp" open="1" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="352" topLine="1" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\cpu.h" open="1" top="0" tabpos="23" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="500" topLine="16" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="wx\mainFrame.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="wx\mainFrame.h" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
@ -157,9 +112,59 @@
|
||||||
<Cursor1 position="5968" topLine="171" />
|
<Cursor1 position="5968" topLine="171" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="emu\audio.cpp" open="1" top="0" tabpos="15" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="core\gamepad.h" open="1" top="0" tabpos="21" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="795" topLine="41" />
|
<Cursor1 position="302" topLine="7" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="classList.h" open="1" top="0" tabpos="32" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="161" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="mainApp.h" open="1" top="0" tabpos="14" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="158" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\mapper001.cpp" open="1" top="1" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="375" topLine="6" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="emu\emuPart.h" open="0" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="40" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\mapper001.h" open="1" top="0" tabpos="27" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="304" topLine="3" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\memBus.h" open="1" top="0" tabpos="28" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="488" topLine="16" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\memBus.cpp" open="1" top="0" tabpos="20" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="862" topLine="30" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="emu\input.cpp" open="1" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="10799" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="core\gamepad.cpp" open="1" top="0" tabpos="22" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="388" topLine="0" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="wx\mainGUI.fbp" open="0" top="0" tabpos="16" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="74" topLine="0" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="common.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="common.h" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
@ -167,24 +172,29 @@
|
||||||
<Cursor1 position="155" topLine="0" />
|
<Cursor1 position="155" topLine="0" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="core\apu.h" open="0" top="0" tabpos="8" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="emu\emuPart.cpp" open="1" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="194" topLine="0" />
|
<Cursor1 position="225" topLine="0" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="core\cpu.cpp" open="0" top="0" tabpos="13" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="emu\video.h" open="1" top="0" tabpos="6" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="204" topLine="0" />
|
<Cursor1 position="1014" topLine="28" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="core\mapper001.h" open="0" top="0" tabpos="10" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="emu\video.cpp" open="1" top="0" tabpos="7" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="152" topLine="0" />
|
<Cursor1 position="2772" topLine="101" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
<File name="core\memBus.h" open="0" top="0" tabpos="11" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
<File name="gameManager.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
<Cursor>
|
<Cursor>
|
||||||
<Cursor1 position="317" topLine="0" />
|
<Cursor1 position="1920" topLine="36" />
|
||||||
|
</Cursor>
|
||||||
|
</File>
|
||||||
|
<File name="wx\frmWaitInputImp.h" open="1" top="0" tabpos="17" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||||
|
<Cursor>
|
||||||
|
<Cursor1 position="418" topLine="0" />
|
||||||
</Cursor>
|
</Cursor>
|
||||||
</File>
|
</File>
|
||||||
</CodeBlocks_layout_file>
|
</CodeBlocks_layout_file>
|
||||||
|
|
|
@ -8,6 +8,7 @@ class cpu;
|
||||||
class ppu;
|
class ppu;
|
||||||
class apu;
|
class apu;
|
||||||
class memBus;
|
class memBus;
|
||||||
|
class gamepad;
|
||||||
|
|
||||||
class emuPart;
|
class emuPart;
|
||||||
class audio;
|
class audio;
|
||||||
|
|
|
@ -18,6 +18,15 @@ void apu::writeReg(Uint8 idx, Uint8 value){
|
||||||
registers[idx] = value;
|
registers[idx] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Uint8 apu::read4015(){
|
||||||
|
}
|
||||||
|
|
||||||
|
void apu::write4015(Uint8 value){
|
||||||
|
}
|
||||||
|
|
||||||
|
void apu::runCycle(){
|
||||||
|
}
|
||||||
|
|
||||||
void apu::reset(){
|
void apu::reset(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,4 +36,7 @@ void apu::saveState(fstream* statefile){
|
||||||
void apu::loadState(fstream* statefile){
|
void apu::loadState(fstream* statefile){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void apu::init(){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,11 +16,15 @@ class apu : public corePart
|
||||||
void reset();
|
void reset();
|
||||||
void saveState(fstream* statefile);
|
void saveState(fstream* statefile);
|
||||||
void loadState(fstream* statefile);
|
void loadState(fstream* statefile);
|
||||||
|
void init();
|
||||||
|
|
||||||
Uint8 readReg(Uint8 idx);
|
Uint8 readReg(Uint8 idx);
|
||||||
void writeReg(Uint8 idx, Uint8 value);
|
void writeReg(Uint8 idx, Uint8 value);
|
||||||
Uint8 read4015(Uint8 idx);
|
Uint8 read4015();
|
||||||
void write4015(Uint8 idx, Uint8 value);
|
void write4015(Uint8 value);
|
||||||
|
|
||||||
|
void runCycle();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -84,6 +84,8 @@ void cart::readROMFile(fstream* fs, Uint8* header, const string& fileName){
|
||||||
loadBat();
|
loadBat();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cart::loadBat(){
|
void cart::loadBat(){
|
||||||
fstream romfile;
|
fstream romfile;
|
||||||
string filename = emuPart::getConfigLineVal(romFileName) + ".sav";
|
string filename = emuPart::getConfigLineVal(romFileName) + ".sav";
|
||||||
|
@ -108,11 +110,3 @@ void cart::saveBat(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cart::reset(){
|
|
||||||
}
|
|
||||||
|
|
||||||
void cart::saveState(fstream* statefile){
|
|
||||||
}
|
|
||||||
|
|
||||||
void cart::loadState(fstream* statefile){
|
|
||||||
}
|
|
||||||
|
|
|
@ -30,12 +30,19 @@ class cart : public corePart
|
||||||
void reset();
|
void reset();
|
||||||
void saveState(fstream* statefile);
|
void saveState(fstream* statefile);
|
||||||
void loadState(fstream* statefile);
|
void loadState(fstream* statefile);
|
||||||
|
void init();
|
||||||
|
|
||||||
static cart* getCartFromROMFile(const string& fileName);
|
static cart* getCartFromROMFile(const string& fileName);
|
||||||
void readROMFile(fstream* fs, Uint8* header, const string& fileName);
|
void readROMFile(fstream* fs, Uint8* header, const string& fileName);
|
||||||
void loadBat();
|
void loadBat();
|
||||||
void saveBat();
|
void saveBat();
|
||||||
|
|
||||||
|
virtual Uint8 readPRGData(Uint16 address) = 0;
|
||||||
|
virtual void writePRGData(Uint16 address, Uint8 value) = 0;
|
||||||
|
virtual Uint8 readCHRData(Uint16 address) = 0;
|
||||||
|
virtual void writeCHRData(Uint16 address, Uint8 value) = 0;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -14,6 +14,8 @@ class corePart
|
||||||
virtual void reset() = 0;
|
virtual void reset() = 0;
|
||||||
virtual void saveState(fstream* statefile) = 0;
|
virtual void saveState(fstream* statefile) = 0;
|
||||||
virtual void loadState(fstream* statefile) = 0;
|
virtual void loadState(fstream* statefile) = 0;
|
||||||
|
virtual void init() = 0;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
#include "memBus.h"
|
||||||
|
#include "../gameManager.h"
|
||||||
|
|
||||||
cpu::cpu()
|
cpu::cpu()
|
||||||
{
|
{
|
||||||
//ctor
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cpu::~cpu()
|
cpu::~cpu()
|
||||||
|
@ -10,7 +11,18 @@ cpu::~cpu()
|
||||||
//dtor
|
//dtor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Uint8 cpu::getNextInstructionLength(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void cpu::runInstruction(){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void cpu::reset(){
|
void cpu::reset(){
|
||||||
|
stackPointer -= 3;
|
||||||
|
statusRegister |= 0x04;
|
||||||
|
programCounter = ((mb->memRead(0xFFFD) << 8) | mb->memRead(0xFFFC));
|
||||||
}
|
}
|
||||||
|
|
||||||
void cpu::saveState(fstream* statefile){
|
void cpu::saveState(fstream* statefile){
|
||||||
|
@ -19,3 +31,14 @@ void cpu::saveState(fstream* statefile){
|
||||||
void cpu::loadState(fstream* statefile){
|
void cpu::loadState(fstream* statefile){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cpu::init(){
|
||||||
|
mb = gameManager::gm->mb;
|
||||||
|
statusRegister = 0x34;
|
||||||
|
accumulator = 0;
|
||||||
|
indexX = 0;
|
||||||
|
indexY = 0;
|
||||||
|
stackPointer = 0xFD;
|
||||||
|
programCounter = ((mb->memRead(0xFFFD) << 8) | mb->memRead(0xFFFC));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,32 @@
|
||||||
#ifndef CPU_H
|
#ifndef CPU_H
|
||||||
#define CPU_H
|
#define CPU_H
|
||||||
|
|
||||||
|
#include "../classList.h"
|
||||||
#include <corePart.h>
|
#include <corePart.h>
|
||||||
|
|
||||||
|
|
||||||
class cpu : public corePart
|
class cpu : public corePart
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
Uint8 accumulator;
|
||||||
|
Uint8 indexX;
|
||||||
|
Uint8 indexY;
|
||||||
|
Uint16 programCounter;
|
||||||
|
Uint8 stackPointer;
|
||||||
|
Uint8 statusRegister;
|
||||||
|
|
||||||
|
memBus* mb;
|
||||||
|
|
||||||
cpu();
|
cpu();
|
||||||
virtual ~cpu();
|
virtual ~cpu();
|
||||||
|
|
||||||
void reset();
|
void reset();
|
||||||
void saveState(fstream* statefile);
|
void saveState(fstream* statefile);
|
||||||
void loadState(fstream* statefile);
|
void loadState(fstream* statefile);
|
||||||
|
void init();
|
||||||
|
|
||||||
|
Uint8 getNextInstructionLength();
|
||||||
|
void runInstruction();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
35
Rewrite/core/gamepad.cpp
Normal file
35
Rewrite/core/gamepad.cpp
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#include "gamepad.h"
|
||||||
|
|
||||||
|
gamepad::gamepad()
|
||||||
|
{
|
||||||
|
//ctor
|
||||||
|
}
|
||||||
|
|
||||||
|
gamepad::~gamepad()
|
||||||
|
{
|
||||||
|
//dtor
|
||||||
|
}
|
||||||
|
|
||||||
|
Uint8 gamepad::read4016(){
|
||||||
|
}
|
||||||
|
|
||||||
|
void gamepad::write4016(Uint8 value){
|
||||||
|
}
|
||||||
|
|
||||||
|
Uint8 gamepad::read4017(){
|
||||||
|
}
|
||||||
|
|
||||||
|
void gamepad::write4017(Uint8 value){
|
||||||
|
}
|
||||||
|
|
||||||
|
void gamepad::reset(){
|
||||||
|
}
|
||||||
|
|
||||||
|
void gamepad::saveState(fstream* statefile){
|
||||||
|
}
|
||||||
|
|
||||||
|
void gamepad::loadState(fstream* statefile){
|
||||||
|
}
|
||||||
|
|
||||||
|
void gamepad::init(){
|
||||||
|
}
|
28
Rewrite/core/gamepad.h
Normal file
28
Rewrite/core/gamepad.h
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
#ifndef GAMEPAD_H
|
||||||
|
#define GAMEPAD_H
|
||||||
|
|
||||||
|
#include <corePart.h>
|
||||||
|
|
||||||
|
|
||||||
|
class gamepad : public corePart
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
gamepad();
|
||||||
|
virtual ~gamepad();
|
||||||
|
|
||||||
|
void reset();
|
||||||
|
void saveState(fstream* statefile);
|
||||||
|
void loadState(fstream* statefile);
|
||||||
|
void init();
|
||||||
|
|
||||||
|
Uint8 read4016();
|
||||||
|
void write4016(Uint8 value);
|
||||||
|
Uint8 read4017();
|
||||||
|
void write4017(Uint8 value);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
private:
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // GAMEPAD_H
|
|
@ -10,6 +10,19 @@ mapper001::~mapper001()
|
||||||
//dtor
|
//dtor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Uint8 mapper001::readPRGData(Uint16 address){
|
||||||
|
}
|
||||||
|
|
||||||
|
void mapper001::writePRGData(Uint16 address, Uint8 value){
|
||||||
|
}
|
||||||
|
|
||||||
|
Uint8 mapper001::readCHRData(Uint16 address){
|
||||||
|
}
|
||||||
|
|
||||||
|
void mapper001::writeCHRData(Uint16 address, Uint8 value){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void mapper001::reset(){
|
void mapper001::reset(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,3 +31,6 @@ void mapper001::saveState(fstream* statefile){
|
||||||
|
|
||||||
void mapper001::loadState(fstream* statefile){
|
void mapper001::loadState(fstream* statefile){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void mapper001::init(){
|
||||||
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ class mapper001 : public cart
|
||||||
void reset();
|
void reset();
|
||||||
void saveState(fstream* statefile);
|
void saveState(fstream* statefile);
|
||||||
void loadState(fstream* statefile);
|
void loadState(fstream* statefile);
|
||||||
|
void init();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
|
@ -4,13 +4,11 @@
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "ppu.h"
|
#include "ppu.h"
|
||||||
#include "apu.h"
|
#include "apu.h"
|
||||||
|
#include "gamepad.h"
|
||||||
|
|
||||||
|
|
||||||
memBus::memBus()
|
memBus::memBus()
|
||||||
{
|
{
|
||||||
rom = gameManager::gm->rom;
|
|
||||||
cp = gameManager::gm->cp;
|
|
||||||
pp = gameManager::gm->pp;
|
|
||||||
ap = gameManager::gm->ap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
memBus::~memBus()
|
memBus::~memBus()
|
||||||
|
@ -34,8 +32,14 @@ Uint8 memBus::memRead(Uint16 address){
|
||||||
else if(address == 0x4015){
|
else if(address == 0x4015){
|
||||||
return ap->read4015();
|
return ap->read4015();
|
||||||
}
|
}
|
||||||
else if(address == 0x4015){
|
else if(address == 0x4016){
|
||||||
return ap->read4015();
|
return gp->read4016();
|
||||||
|
}
|
||||||
|
else if(address == 0x4017){
|
||||||
|
return gp->read4017();
|
||||||
|
}
|
||||||
|
else if(address >= 0x4020){
|
||||||
|
return rom->readData(address);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,4 +52,14 @@ void memBus::saveState(fstream* statefile){
|
||||||
void memBus::loadState(fstream* statefile){
|
void memBus::loadState(fstream* statefile){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void memBus::init(){
|
||||||
|
rom = gameManager::gm->rom;
|
||||||
|
cp = gameManager::gm->cp;
|
||||||
|
pp = gameManager::gm->pp;
|
||||||
|
ap = gameManager::gm->ap;
|
||||||
|
gp = gameManager::gm->gp;
|
||||||
|
|
||||||
|
for(int i = 0; i < 0x800; ++i){
|
||||||
|
internalRAM[i] = rand() % 0x100;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ class memBus : public corePart
|
||||||
cpu* cp;
|
cpu* cp;
|
||||||
ppu* pp;
|
ppu* pp;
|
||||||
apu* ap;
|
apu* ap;
|
||||||
|
gamepad* gp;
|
||||||
|
|
||||||
memBus();
|
memBus();
|
||||||
virtual ~memBus();
|
virtual ~memBus();
|
||||||
|
@ -22,6 +23,7 @@ class memBus : public corePart
|
||||||
void reset();
|
void reset();
|
||||||
void saveState(fstream* statefile);
|
void saveState(fstream* statefile);
|
||||||
void loadState(fstream* statefile);
|
void loadState(fstream* statefile);
|
||||||
|
void init();
|
||||||
|
|
||||||
Uint8 readByte();
|
Uint8 readByte();
|
||||||
Uint8 memRead(Uint16 address);
|
Uint8 memRead(Uint16 address);
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
#include "ppu.h"
|
#include "ppu.h"
|
||||||
|
|
||||||
ppu::ppu()
|
ppu::ppu(){
|
||||||
{
|
frameReady = false;
|
||||||
//ctor
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ppu::~ppu()
|
ppu::~ppu()
|
||||||
|
@ -18,6 +17,17 @@ void ppu::writeReg(Uint8 idx, Uint8 value){
|
||||||
registers[idx] = value;
|
registers[idx] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Uint8 ppu::read4014(){
|
||||||
|
}
|
||||||
|
|
||||||
|
void ppu::write4014(Uint8 value){
|
||||||
|
}
|
||||||
|
|
||||||
|
void ppu::runCycle(){
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void ppu::reset(){
|
void ppu::reset(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,3 +37,5 @@ void ppu::saveState(fstream* statefile){
|
||||||
void ppu::loadState(fstream* statefile){
|
void ppu::loadState(fstream* statefile){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ppu::init(){
|
||||||
|
}
|
||||||
|
|
|
@ -9,18 +9,24 @@ class ppu : public corePart
|
||||||
public:
|
public:
|
||||||
Uint8 registers[8];
|
Uint8 registers[8];
|
||||||
Uint8 reg4014;
|
Uint8 reg4014;
|
||||||
|
bool frameReady;
|
||||||
|
|
||||||
ppu();
|
ppu();
|
||||||
virtual ~ppu();
|
virtual ~ppu();
|
||||||
|
|
||||||
void reset();
|
void reset();
|
||||||
void saveState(fstream* statefile);
|
void saveState(fstream* statefile);
|
||||||
void loadState(fstream* statefile);
|
void loadState(fstream* statefile);
|
||||||
|
void init();
|
||||||
|
|
||||||
|
|
||||||
Uint8 readReg(Uint8 idx);
|
Uint8 readReg(Uint8 idx);
|
||||||
void writeReg(Uint8 idx, Uint8 value);
|
void writeReg(Uint8 idx, Uint8 value);
|
||||||
Uint8 read4014(Uint8 idx);
|
Uint8 read4014();
|
||||||
void write4014(Uint8 idx, Uint8 value);
|
void write4014(Uint8 value);
|
||||||
|
|
||||||
|
void runCycle();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -53,3 +53,5 @@ void audio::setVolume(int vol){
|
||||||
void audio::setUseHDPack(bool use){
|
void audio::setUseHDPack(bool use){
|
||||||
useHDPack = use;
|
useHDPack = use;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,6 @@ class audio : public emuPart
|
||||||
void setVolume(int vol);
|
void setVolume(int vol);
|
||||||
void setUseHDPack(bool use);
|
void setUseHDPack(bool use);
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -117,3 +117,5 @@ void video::setIgnoreEdge(bool use){
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,14 @@
|
||||||
#include "../classList.h"
|
#include "../classList.h"
|
||||||
#include "emuPart.h"
|
#include "emuPart.h"
|
||||||
|
|
||||||
|
#define TICKS_PER_FRAME_NTSC 16
|
||||||
|
#define TICKS_PER_FRAME_PAL 20
|
||||||
|
#define TICKS_REMAIN_NTSC 3
|
||||||
|
#define TICKS_REMAIN_PAL 1
|
||||||
|
#define TICKS_FRACTION_NTSC 2
|
||||||
|
#define TICKS_FRACTION_PAL 0
|
||||||
|
|
||||||
|
|
||||||
class video : public emuPart
|
class video : public emuPart
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "core\cpu.h"
|
#include "core\cpu.h"
|
||||||
#include "core\ppu.h"
|
#include "core\ppu.h"
|
||||||
#include "core\apu.h"
|
#include "core\apu.h"
|
||||||
|
#include "core\gamepad.h"
|
||||||
#include "emu\video.h"
|
#include "emu\video.h"
|
||||||
#include "emu\audio.h"
|
#include "emu\audio.h"
|
||||||
#include "emu\gameFile.h"
|
#include "emu\gameFile.h"
|
||||||
|
@ -53,6 +54,11 @@ void gameManager::showUI(){
|
||||||
}
|
}
|
||||||
|
|
||||||
void gameManager::runGame(){
|
void gameManager::runGame(){
|
||||||
|
Uint32 frameTicks;
|
||||||
|
Uint8 ticksRemain;
|
||||||
|
Uint8 instructLen;
|
||||||
|
Uint8 cyclesToRun;
|
||||||
|
|
||||||
//load rom
|
//load rom
|
||||||
//init core parts
|
//init core parts
|
||||||
rom = cart::getCartFromROMFile(romF->romPath);
|
rom = cart::getCartFromROMFile(romF->romPath);
|
||||||
|
@ -60,6 +66,7 @@ void gameManager::runGame(){
|
||||||
cp = new cpu();
|
cp = new cpu();
|
||||||
pp = new ppu();
|
pp = new ppu();
|
||||||
ap = new apu();
|
ap = new apu();
|
||||||
|
gp = new gamepad();
|
||||||
mb = new memBus();
|
mb = new memBus();
|
||||||
|
|
||||||
//init emu parts
|
//init emu parts
|
||||||
|
@ -69,13 +76,37 @@ void gameManager::runGame(){
|
||||||
inp->startGame();
|
inp->startGame();
|
||||||
|
|
||||||
gameState = GAME_STATE_RUNNING;
|
gameState = GAME_STATE_RUNNING;
|
||||||
|
frameTicks = SDL_GetTicks();
|
||||||
|
ticksRemain = 0;
|
||||||
while(gameState != GAME_STATE_STOPPED){
|
while(gameState != GAME_STATE_STOPPED){
|
||||||
inp->handleUserInput();
|
inp->handleUserInput();
|
||||||
if(gameState != GAME_STATE_PAUSED){
|
if(gameState != GAME_STATE_PAUSED){
|
||||||
|
if(!pp->frameReady){
|
||||||
|
cyclesToRun = cp->getNextInstructionLength();
|
||||||
|
for(Uint8 i = 0; i < cyclesToRun; ++i){
|
||||||
|
ap->runCycle();
|
||||||
|
pp->runCycle();
|
||||||
|
pp->runCycle();
|
||||||
|
pp->runCycle();
|
||||||
|
}
|
||||||
|
cp->runInstruction();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(pp->frameReady && (frameTicks < SDL_GetTicks())){
|
||||||
|
//output frame
|
||||||
|
|
||||||
|
//calculate the time of next frame
|
||||||
|
frameTicks += TICKS_PER_FRAME_NTSC;
|
||||||
|
//add one tick for fractional part of ticks per frame
|
||||||
|
if(ticksRemain >= TICKS_REMAIN_NTSC){
|
||||||
|
++frameTicks;
|
||||||
|
ticksRemain -= TICKS_REMAIN_NTSC;
|
||||||
|
}
|
||||||
|
ticksRemain += TICKS_FRACTION_NTSC;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//while is running
|
//while is running
|
||||||
// handle input
|
// handle input
|
||||||
// handle game ui events like save and load state
|
// handle game ui events like save and load state
|
||||||
|
@ -98,6 +129,7 @@ void gameManager::runGame(){
|
||||||
delete(cp);
|
delete(cp);
|
||||||
delete(pp);
|
delete(pp);
|
||||||
delete(ap);
|
delete(ap);
|
||||||
|
delete(gp);
|
||||||
delete(mb);
|
delete(mb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ class gameManager
|
||||||
ppu* pp;
|
ppu* pp;
|
||||||
apu* ap;
|
apu* ap;
|
||||||
memBus* mb;
|
memBus* mb;
|
||||||
|
gamepad* gp;
|
||||||
|
|
||||||
int gameState;
|
int gameState;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue