Commit graph

114 commits

Author SHA1 Message Date
Benoit Daloze
20d18bf0ea Move development dependencies to Gemfile
* Which allows filtering by platforms, etc.
2020-05-12 14:56:25 +02:00
Colby Swandale
795370916c
Merge pull request #6 from eregon/initialize-cpu-ivars 2020-05-12 22:51:08 +10:00
Colby Swandale
518520e9e1
Merge pull request #5 from artkirienko/bump-ruby-and-gem-versions 2020-05-12 22:25:08 +10:00
Benoit Daloze
e644f89abe Make sure all instance variables of the CPU are initialized
* @halt would trigger a warning.
2020-05-10 14:14:30 +02:00
Benoit Daloze
beb23b537b Remove duplicate assignment to @f and duplicate attr_reader 2020-05-10 14:13:34 +02:00
Artemy Kirienko
c405b41dcb Bump Ruby and dependencies versions 2020-05-09 00:50:49 +03:00
Colby Swandale
7b6e69b034 Merge pull request #4 from eregon/speed_improvements
Speed improvements
2017-04-02 22:02:45 +10:00
Benoit Daloze
18e62d1722 Remove unused attr_accessor 2017-03-06 10:59:24 +01:00
Benoit Daloze
5d20ab60e6 Add --stackprof to profile with stackprof 2017-03-05 20:00:46 +01:00
Benoit Daloze
cb70d8d451 Desugar loops in PPU#render_bg and extract common shift computation 2017-03-05 19:50:29 +01:00
Benoit Daloze
7991a71cb3 Remove redundant ? true : false 2017-03-05 19:50:29 +01:00
Benoit Daloze
394dfdea5e Avoid calling IO::LCDControl.screen_enabled? twice 2017-03-05 19:50:29 +01:00
Benoit Daloze
b6be04497f Extract loop invariant read 2017-03-05 18:59:59 +01:00
Benoit Daloze
c3e8074f96 Use read_memory_byte for all reads of addresses over 0xFE00 2017-03-05 18:45:04 +01:00
Benoit Daloze
89aaa3e2cb Let Cartridge.new return directly the memory bank controller
* Cartridge does not provide any extra behavior
* Avoids one indirection for every access
2017-03-05 18:27:50 +01:00
Benoit Daloze
8bdd6941ad Avoid allocations in MMU#[] 2017-03-05 18:26:32 +01:00
Benoit Daloze
e774ff97be Add a method to read directly the memory 2017-03-05 18:23:19 +01:00
Benoit Daloze
d4c2f76bc1 Reshape MMU#[] to share to move common accesses first 2017-03-05 18:23:19 +01:00
Benoit Daloze
c1e927fc1d Emulate the boot ROM by chaining it in front of the real cartridge 2017-03-05 18:23:19 +01:00
Benoit Daloze
85d2afe7da Add FPS in window title 2017-03-05 15:06:47 +01:00
Colby Swandale
2e58037c48 Merge pull request #3 from eregon/fix_requires
Fix typos in requires
2017-03-04 08:02:14 +09:00
Benoit Daloze
7412e69d11 Fix typos in requires
* Case insensitivity is platform-dependent.
2017-03-03 16:16:11 +01:00
Colby Swandale
f095a087a8 fixed unintialized constant in PPU render window 2016-09-28 13:31:11 +10:00
Colby Swandale
91eba849b0 initalize MBC ram bank to 0 2016-09-27 21:09:05 +10:00
Colby Swandale
4896f791fa fix incorrect behavior being tested on MBC1 read disabled memory 2016-09-26 23:03:50 +10:00
Colby Swandale
cb787edf43 simplify MBC ROM spec and make have reader for ROM ram 2016-09-26 23:03:01 +10:00
Colby Swandale
365724a3b5 redo logic spec to bring them up to date 2016-09-26 22:52:16 +10:00
Colby Swandale
1f78c4b27b fixed cpu timing spec 2016-09-26 21:28:53 +10:00
Colby Swandale
4313b2dd63 cleaning up old code 2016-09-26 19:31:01 +10:00
Colby Swandale
2f5975b4f7 removed unused double for prefix specs 2016-09-26 17:31:40 +10:00
Colby Swandale
45d30cd4b2 updated misc specs to pass 2016-09-26 17:30:45 +10:00
Colby Swandale
5847a9a584 fixed specs for load instructions 2016-09-26 17:29:13 +10:00
Colby Swandale
67535cf4c9 fix doc spelling typos and removed doc for removed inaccurate behaviour 2016-09-26 17:29:05 +10:00
Colby Swandale
a145bf8e9f brain fart moment, the PC must always be increments on fetch instruction 2016-09-26 08:46:07 +10:00
Colby Swandale
e175b5bdf8 fixed breaking specs for jump instructions 2016-09-25 22:46:12 +10:00
Colby Swandale
c37d0d9b02 rename 'GPU' constants to 'PPU' in ppu specs 2016-09-25 19:08:17 +10:00
Colby Swandale
d62423d00a cleanup and passing CPU specs 2016-09-25 19:06:55 +10:00
Colby Swandale
8b341762e4 fix PC being incorrectly incremented on interrupt and fixed relevent
specs
2016-09-25 19:00:55 +10:00
Colby Swandale
432f869c4e renamed GPU to PPU 2016-09-25 17:36:23 +10:00
Colby Swandale
ca36ba9bfd fixed sprites not being transparent on pixel data 0 2016-09-18 23:28:05 +10:00
Colby Swandale
c67980d5f8 fix incorrect refernce to SCREEN_WIDTH constant in ppu 2016-09-18 23:23:58 +10:00
Colby Swandale
426a629269 cleanup gemspec 2016-09-18 23:18:42 +10:00
Colby Swandale
f4bd164e06 removed unused code and more documentation cleanup 2016-09-18 23:14:03 +10:00
Colby Swandale
d305150b05 passing some breaking specs 2016-09-18 23:02:01 +10:00
Colby Swandale
af1cecef44 small cleanup and fixing up some documentation 2016-09-18 23:01:43 +10:00
Colby Swandale
d757fdcba3 Update README.md 2016-09-01 21:11:22 +10:00
Colby Swandale
e1c099fba9 updated readme with control mapping image. 2016-09-01 21:08:12 +10:00
Colby
c7a853f9ef added keymap image 2016-09-01 21:04:46 +10:00
Colby
dfc9df2f4f set new default window width 2016-09-01 19:51:03 +10:00
Colby
5ca8892745 enable window resizing 2016-09-01 19:45:02 +10:00