Fabien Freling
033f63ec42
Add interrupt handlers in cpu
2016-02-29 23:07:42 +01:00
Fabien Freling
4df4aea484
Add Interrupt module
2016-02-28 23:41:06 +01:00
Fabien Freling
de755822d3
Rename test_cpu.ml to test_bit.ml
2016-02-28 23:25:19 +01:00
Fabien Freling
27efc19125
Remove redundant inc_cycles()
...
inc_cycles() was called in every case of the
CPU pattern matching. Since we return the number
of cycles of each instructions, we can increment
only afterwards.
2016-02-17 23:14:33 +01:00
Fabien Freling
1b7c60e94d
Add copyright banner
2016-02-02 21:25:53 +01:00
Fabien Freling
67093196ea
Implement timers
2016-01-23 13:16:18 +01:00
Fabien Freling
6c7544dffb
Add codeslinger.co.uk to references
2016-01-21 21:16:42 +01:00
Fabien Freling
013fd9abe4
Add fps to main loop
2015-08-17 22:26:11 +02:00
Fabien Freling
fb5eeed6ba
Add graphics window
2015-08-11 23:06:32 +02:00
Fabien Freling
54def17c26
Move signed_byte to Bit
2015-08-11 22:49:27 +02:00
Fabien Freling
845d4fff8b
Add logs to .gitignore
2015-08-10 01:36:30 +02:00
Fabien Freling
a2f5b2e08a
Fix signed integer parsing
2015-08-10 01:35:47 +02:00
Fabien Freling
eb98415994
Improve debug printing
2015-08-10 00:34:10 +02:00
Fabien Freling
b52a070087
Add CPU instructions.
2015-06-15 00:52:50 +02:00
Fabien Freling
6599857947
Add print_cpu_state.
...
This function pretty prints the state of the CPU on stdout.
2015-05-20 16:38:39 +02:00
Fabien Freling
c8b231d48a
Add CPU instructions.
2015-05-20 16:37:56 +02:00
Fabien Freling
763c81a1e2
Add CPU instructions.
2015-05-08 14:48:44 +02:00
Fabien Freling
7805e50062
Add work RAM.
2015-05-08 14:47:30 +02:00
Fabien Freling
214590e2db
Add debug build.
2015-05-08 14:47:12 +02:00
Fabien Freling
3c24ade366
Blit tiles to map.
2015-04-19 19:18:20 +02:00
Fabien Freling
c464ca697a
Add graphics window.
2015-04-19 19:18:03 +02:00
Fabien Freling
644a1356a8
Add LCD control structure.
...
Also add the Bin module to easily deal with binary.
2015-04-08 14:49:24 +02:00
Fabien Freling
52e5afa344
Add draft for Screen module.
2015-03-25 16:20:06 +01:00
Fabien Freling
5789fe145f
Add Cpu.read_pc_byte
2015-03-25 16:19:54 +01:00
Fabien Freling
f72d8ece56
Add Merlin config file.
2015-03-25 16:19:16 +01:00
Fabien Freling
997048c444
Fix README link.
2015-03-24 11:28:25 +01:00
Fabien Freling
5d2d1ca2da
Update README.
2015-03-24 11:27:25 +01:00
Fabien Freling
b611dfdd49
Add more opcodes.
2015-03-23 22:38:11 +01:00
Fabien Freling
b3ca33a814
Automatically increment PC register.
2015-03-23 17:34:22 +01:00
Fabien Freling
f3916dfd64
Add flag register.
2015-03-23 12:50:02 +01:00
Fabien Freling
e5bc9bc4db
Use memory map instead of cartridge.
2015-03-22 16:57:03 +01:00
Fabien Freling
16d303008c
Add memory module.
2015-03-22 13:56:32 +01:00
Fabien Freling
02e2ef3caf
Add basic support for MBC.
2015-03-05 23:00:28 +01:00
Fabien Freling
0f83810230
Add CPU instructions.
2015-02-28 00:25:10 +01:00
Fabien Freling
b2c7e7b947
Basic support for CPU opcodes.
...
Support for 2 opcodes: nop and jump.
These are the first opcodes encountered in Super Mario Land.
2015-02-27 22:24:26 +01:00
Fabien Freling
fa09906bcb
Detail registers.
2015-02-27 14:00:38 +01:00
Fabien Freling
b5ed4b8f1f
Update warnings by enabling all.
2015-02-24 20:36:33 +01:00
Fabien Freling
af014b77b0
Fix PanDocs link in README.
2015-02-24 20:35:54 +01:00
Fabien Freling
3c6dc24a65
Add draft for CPU registers and flags.
2015-02-24 17:30:14 +01:00
Fabien Freling
dad26e3f4b
Clean open statements.
2015-02-24 17:29:29 +01:00
Fabien Freling
91ad537af9
Refactor "try" block in read_cartridge.
...
Remove custom exception Read_error in favor of standard Failure.
2015-02-24 16:27:41 +01:00
Fabien Freling
1a978d6814
Store full ROM in Cartridge.t
...
Now that the full ROM is stored, all fields are derived from it.
2015-02-24 14:40:11 +01:00
Fabien Freling
5cbd8c9794
Disable warning 40.
...
This warning is about label resolution with regard to type.
It basically means that the label resolution was done thanks to the
type. This is a new behavior but a welcome change, so the warning is
disabled.
2015-02-23 18:12:53 +01:00
Fabien Freling
f89d34ec14
Read RAM size.
2015-02-23 16:51:53 +01:00
Fabien Freling
bbd75e25f1
Add 'clean' target.
2015-02-23 16:51:45 +01:00
Fabien Freling
fdb5744d01
Read ROM size.
2015-02-23 16:10:40 +01:00
Fabien Freling
b0df091425
Verify Nintendo logo checksum.
...
Handle read errors when loading the cartridge.
2015-02-23 15:43:37 +01:00
Fabien Freling
840c00e30b
Read ROM title.
2015-02-22 12:50:14 +01:00
Fabien Freling
10f4fb6e76
Add README.
2015-02-21 17:20:52 +01:00
Fabien Freling
da1253c94c
Update .gitignore for Game Boy ROM files.
2015-02-21 17:13:33 +01:00