rubyboy 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +5 -0
- data/exe/rubyboy +12 -2
- data/lib/bench.rb +26 -0
- data/lib/rubyboy/cartridge/mbc1.rb +1 -1
- data/lib/rubyboy/cpu.rb +517 -517
- data/lib/rubyboy/joypad.rb +2 -2
- data/lib/rubyboy/ppu.rb +28 -29
- data/lib/rubyboy/timer.rb +1 -1
- data/lib/rubyboy/version.rb +1 -1
- data/lib/rubyboy.rb +15 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f71c49ce8d91b143c346ea5ac3534d531faa1d7ed7fc886243ed77e9e76e31b7
|
4
|
+
data.tar.gz: c9211303e89f8d775fb8c083a0eb3ab97e2299e41722b6c461bfac0cc9ea94ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76374e3846dc6a917a0dda34b71f6c667155cd5458bbb70ab0fba1ae16a8e5482153808e4de64aa8670d958a69ec52625e5f41673a04780d2b063b35c1564606
|
7
|
+
data.tar.gz: a3354719d960846738a7cb9252afa1a86fa0c3a2a0d3529013808386ab8a5aaa4a08ebc132cefed02353e20c4193f96804620031a79b6ca324c1e01ed5b8f12f
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/exe/rubyboy
CHANGED
@@ -2,6 +2,16 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'rubyboy'
|
5
|
+
require 'bench'
|
5
6
|
|
6
|
-
|
7
|
-
|
7
|
+
arg = ARGV[0]
|
8
|
+
|
9
|
+
puts "yjit: #{RubyVM::YJIT.enabled?}"
|
10
|
+
|
11
|
+
if arg == 'bench'
|
12
|
+
Rubyboy::Bench.new.bench
|
13
|
+
elsif arg == 'stackprof'
|
14
|
+
Rubyboy::Bench.new.stackprof
|
15
|
+
else
|
16
|
+
Rubyboy::Console.new(arg).start
|
17
|
+
end
|
data/lib/bench.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'stackprof'
|
4
|
+
require_relative 'rubyboy'
|
5
|
+
|
6
|
+
module Rubyboy
|
7
|
+
class Bench
|
8
|
+
def stackprof
|
9
|
+
StackProf.run(mode: :cpu, out: 'stackprof-cpu-myapp.dump', raw: true) do
|
10
|
+
Rubyboy::Console.new('lib/roms/tobu.gb').bench
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def bench
|
15
|
+
bench_cnt = 3
|
16
|
+
time_sum = 0
|
17
|
+
bench_cnt.times do |i|
|
18
|
+
time = Rubyboy::Console.new('lib/roms/tobu.gb').bench
|
19
|
+
time_sum += time
|
20
|
+
puts "#{i + 1}: #{time} sec"
|
21
|
+
end
|
22
|
+
|
23
|
+
puts "FPS: #{1500 * bench_cnt / time_sum}"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|