Commit Graph

88 Commits (master)

Author SHA1 Message Date
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
Fabien Freling 09f1ffb488 Read Nintendo checksum in cartridge header.
This first commit parses the ROM to extract the Nintendo Logo and
display it on stdout.
2015-02-21 17:11:18 +01:00