113 Commits

Author SHA1 Message Date
Godzil
c90b99d650 Fix table size. 2021-04-16 00:33:48 +01:00
Godzil
49a1943cda Add proper support for indirect call/jmp 2021-04-16 00:32:56 +01:00
Godzil
4082d37cb0 Add missing mov cs, rm and mov rm, cs opcode. 2021-04-16 00:32:08 +01:00
Godzil
146e2b2c1d Fix some headers (code is original here) and some cosmetics v0.9 2021-04-15 23:17:38 +01:00
Godzil
698d960bed Add some useful GPU debug logs 2021-04-15 23:17:01 +01:00
Godzil
62c5812b34 Add #ifdef around EEPROM debug prints 2021-04-15 23:08:03 +01:00
Godzil
7f7410c8f8 First step to get a debugger:
Decode instructions.


I now have an headache.
A couple of instruction are still not properly decoded.
I need to find proper documentation on them.
2021-04-15 23:07:13 +01:00
Godzil
0e02ee829f I'm constantly amazed by how poorly coded this emulator was.
SRAM and EEPROM were inverted and not all known value was in there.
Also fixed the rom metadata header that was missing one byte.
2021-04-09 23:55:58 +01:00
Godzil
4512def23a Change how SRAM/EEPROM mask are calculated 2021-04-09 23:19:23 +01:00
Godzil
46e90dcca1 Remove useless variable 2021-04-09 23:18:53 +01:00
Godzil
2e9685215b Starting work on making memory access more straigforward with less branching code. 2021-04-09 23:18:31 +01:00
Godzil
bddcaddf1f Fix a signed/unsigned warning 2021-04-09 23:11:25 +01:00
Godzil
5559269387 Use stdbool instead of non standard ifdefs 2021-04-09 23:11:10 +01:00
Godzil
b3c0a39d00 Init the memory after everything is loaded 2021-04-09 23:09:55 +01:00
Godzil
8ab6b20815 Fix a mistake in loading SRAM/EEP file name 2021-04-09 23:09:22 +01:00
Godzil
dd53d5bfd9 Update the stub boot rom to "enable" the 16bit cart access mode.
(the emulator do not care about that but it is just to be more accurate)
2021-04-09 23:08:29 +01:00
Godzil
5ba3560378 Let's use double instead of integer to the ticks. 2021-04-09 23:07:46 +01:00
Godzil
ac3779e640 Add a way to pretend displaying while actualy not displayint
to go around some weirdness with Valgrind that crashwhen using OpenGL.
2021-04-06 23:11:30 +01:00
Godzil
da26704390 Oops. Stupid memset..
(always blame the tools)
2021-04-06 23:10:30 +01:00
Godzil
2ced18d151 Change the log to my good old trusty log framework. 2021-04-06 23:08:22 +01:00
Godzil
359b05a518 Add a link to Mesen 2021-04-05 15:16:17 +01:00
Godzil
3771c65f2c Add a nifty travis badge to show how great the build it! 2021-04-05 15:01:48 +01:00
Godzil
4f4e4d148a Add a fancy README.
(ok not so fancy, but there are images!)
2021-04-05 14:59:38 +01:00
Godzil
cc1060775c Major code cleanup and code reformating 2021-04-05 14:19:35 +01:00
Godzil
4e5f796d6a Remove the "color schemes". 2021-04-05 13:40:29 +01:00
Godzil
3818e03e55 Now that we have system, let's also load the Swan Crystal irom. 2021-04-05 13:37:31 +01:00
Godzil
94dc2fc463 Missed some changes for the color/b&w logic changes 2021-04-05 13:36:02 +01:00
Godzil
d45d838378 Remove all the unused "statistics" code. 2021-04-05 13:33:13 +01:00
Godzil
18d9038639 Update .gitignore 2021-04-05 13:23:59 +01:00
Godzil
925bfd3b65 Change the way the system type is managed
and changed the logic on how the GPU use "color". 
Now IO register tell properly the selected system, and B&W swan does not allow to switch to color. Also the Swan do not start in color mode as it should.
2021-04-05 13:23:44 +01:00
Godzil
330262b55c Remove the "initial IO" table as most values are wrong anyway.
If there are some initial value that need to be set, it is per system, not globally like that.
2021-04-05 12:24:12 +01:00
Godzil
357d4e4ede Deleted the makefile as it is no longer supported 2021-04-05 00:20:22 +01:00
Godzil
d45822951f As this is C project, rename all source file to .c 2021-04-05 00:18:55 +01:00
Godzil
864fda651d Update travis file. 2021-04-04 23:35:13 +01:00
Godzil
065849cf68 Add stdint.h into headers that (may) need it. 2021-04-04 23:28:36 +01:00
Godzil
dbc7d6e940 Update splash string to show "NewOswan" 2021-04-04 23:19:04 +01:00
Godzil
432844304e Add a simple boot rom stub
so we can start the emulated console without need for special case in the code, and not adding any copyrighted material in the project.
Also automatically copy the stub rom in the build folder.
2021-04-04 23:18:51 +01:00
Godzil
e28317d29e Disable the IO Dump by default. 2021-04-04 21:17:34 +01:00
Godzil
f32928b0c3 Remove -Werror by default and add a cmake option to enable them. 2021-04-04 21:14:53 +01:00
Godzil
e4cf98bfe1 Add a debug function to log all access to IO regs. 2021-04-04 21:05:48 +01:00
Godzil
a89e253d9c Now use glfw/OpenGL for displaying.
Code is a bit crude, but the whole emulator would need a proper refactor at some point anyway.
2021-04-04 20:55:40 +01:00
Godzil
88468d6028 Now build without SDL
But of course, display nothing.
2020-12-12 19:28:21 +00:00
Godzil
875f0edb46 printf can be a pain at time. 2020-11-14 20:30:09 +00:00
Godzil
8bd2170f44 Remove some of the Rotation code.
And add a call placeholder for read_key for now to make the compiler happy.
2020-11-14 20:28:31 +00:00
Godzil
564e0ea2e6 Remove more SDL references 2020-11-14 20:27:58 +00:00
Godzil
8976d4363f Remove SDLptc.h, the "Console" class and related code. 2020-11-14 20:27:25 +00:00
Godzil
f3aca9a3c7 Start working on implementing the video interface.
First disabling/removing all the SDL related function call/variables

Also removing some nonsensical dunction (line doubling and rotation are useless in GL mode)
2020-11-14 20:16:46 +00:00
Godzil
ece8a07dcf Remove SDL refenrence in the non working audio emulation. 2020-11-14 20:15:50 +00:00
Godzil
9035a922c3 Add GLFW in the CMakeLists, and remove all SDL references. 2020-11-14 20:14:57 +00:00
Godzil
02c16b7987 Add glfw as an external module 2020-11-14 19:36:54 +00:00