rubygb 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51adaa33b942a27b10da81c0a8ee49d6a5e73e59
4
- data.tar.gz: ff96146f72ea74d55179233987f79712202647c6
3
+ metadata.gz: e2002f6eab608799d468baf2b37c82997c22c044
4
+ data.tar.gz: 07bf5ace57f0feadd5f97c3b6d22754f0d93827c
5
5
  SHA512:
6
- metadata.gz: 221b56cd9948b6331b4d062c73502aec3f2dceb30d9357e00805302019d890aca571283bd68d384ebdf083256068044d035377b3e822855155bb5d7403c8febb
7
- data.tar.gz: c79feda555e8915bc59de821b3d9c9d3ac4c7169b86ff920e5a1dd53014457aaa486182e852bf60a3f5660266de53922bfb682ca226b4aa5b14c7d274a95dfdb
6
+ metadata.gz: 000926f76cc444a467baaa3ebc656d454d057acbe6357a46ed4560f13d8da0e4fc3402a8d87e40decbaac4bfd6f271043f0ff189f53e796fb93ed2b55b9bac9c
7
+ data.tar.gz: 37f4426f6e0d1cee6aaef241b0cf80252ba12f28c8db36cca4899e54fb3453d88e099e2b7c32f019300a2b62531f703ed17bfdab11e8a14138135ad47cc34cfc
data/README.md CHANGED
@@ -35,6 +35,13 @@ $ gameboyemulator --open you.gb
35
35
 
36
36
  ![despite everything, it's still you](wiki-images/you.gif)
37
37
 
38
+ ## Goals
39
+ * other platform support
40
+ * bundle an emulator
41
+ * tools
42
+ * image converter
43
+
44
+
38
45
  ## Awesomeness
39
46
 
40
47
  All the cool parts are from other people
@@ -43,6 +50,3 @@ All the cool parts are from other people
43
50
  * [gameboy assembly language primer (galp)](http://www.devrs.com/gb/docs.php) - devrs.com
44
51
 
45
52
 
46
- ## MIT License
47
-
48
- Copyright (C) 2016 Donald Hutchison <donaldhutchison.info>. Released under the MIT license.
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ info = "#{gemspec.name} | #{gemspec.version} | " \
12
12
  # Gem build and install task
13
13
 
14
14
  desc info
15
- task :gem do
15
+ task :gem => :check_debug do
16
16
  puts info + "\n\n"
17
17
  print " "; sh "gem build #{gemspec_file}"
18
18
  FileUtils.mkdir_p 'pkg'
@@ -20,6 +20,11 @@ task :gem do
20
20
  puts; sh %{gem install --no-document pkg/#{gemspec.name}-#{gemspec.version}.gem}
21
21
  end
22
22
 
23
+ desc "Check for debug code"
24
+ task :check_debug do
25
+ raise "you left in some stupid debug stuff" if system("grep -irl binding\.pry lib") or system(%(grep -irl -e 'require.*pry' lib))
26
+ end
27
+
23
28
 
24
29
  # # #
25
30
  # Start an IRB session with the gem loaded
File without changes
@@ -4,7 +4,8 @@ require 'fileutils'
4
4
  module Rubygb
5
5
  class CLI < Thor
6
6
  desc 'build FILENAME', 'attempt to assemble, link + fix FILENAME and create a gb rom from it'
7
- option :no_fix, :type => :boolean
7
+ option :no_fix, type: :boolean, desc: 'skip header fixing'
8
+ option :output, desc: 'dir to put all build files'
8
9
  def build filename
9
10
  Rubygb.build filename, options
10
11
  end
@@ -4,14 +4,23 @@ module Rubygb
4
4
  raise "Fatal: can't find #{filename}"
5
5
  end
6
6
 
7
+ if options[:output]
8
+ Dir.mkdir(options[:output]) unless Dir.exists? options[:output]
9
+ end
10
+
7
11
  base = File.basename(filename, ".*")
8
12
  exe_path = File.expand_path(File.join(File.dirname(__FILE__),"..","rgbds"))
9
13
 
10
- raise "Assembly failed!" unless system("#{exe_path}/rgbasm -v -o#{base}.obj #{filename}")
11
- raise "Link failed!" unless system("#{exe_path}/rgblink -m#{base}.map -n#{base}.sym -o#{base}.gb #{base}.obj")
14
+ obj_file, map_file, sym_file, rom_file = %w(.obj .map .sym .gb).map do |ext|
15
+ options[:output] ? File.join(options[:output], "#{base}#{ext}") : "#{base}#{ext}"
16
+ end
17
+
18
+ raise "Assembly failed!" unless system("#{exe_path}/rgbasm -v -o#{obj_file} #{filename}")
19
+
20
+ raise "Link failed!" unless system("#{exe_path}/rgblink -m#{map_file} -n#{sym_file} -o#{rom_file} #{obj_file}")
12
21
 
13
22
  unless options[:no_fix]
14
- raise "Header fix failed!" unless system("#{exe_path}/rgbfix -p0 -v #{base}.gb")
23
+ raise "Header fix failed!" unless system("#{exe_path}/rgbfix -p0 -v #{rom_file}")
15
24
  end
16
25
  end
17
26
  end
@@ -7,7 +7,7 @@ module Rubygb
7
7
  ; TODO: summary
8
8
 
9
9
  INCLUDE "lib/gbhw.inc" ; gameboy hardware definitions
10
- INCLUDE "lib/ibmpx1.inc" ; ibm ascii font macros
10
+ INCLUDE "lib/ibmpc1.inc" ; ibm ascii font macros
11
11
 
12
12
 
13
13
  ; interrupts
@@ -1,4 +1,4 @@
1
1
  module Rubygb
2
- VERSION = "0.2.1".freeze
2
+ VERSION = "0.2.2".freeze
3
3
  end
4
4
 
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
19
19
 
20
20
  gem.required_ruby_version = "~> 2.0"
21
21
  gem.add_development_dependency "rake"
22
- gem.add_development_dependency "pry-byebug"
22
+ gem.add_development_dependency "pry-byebug", "~> 3"
23
23
 
24
24
  gem.add_runtime_dependency "thor", "~> 0.19"
25
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donald Hutchison
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: pry-byebug
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: thor
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -71,7 +71,7 @@ files:
71
71
  - Rakefile
72
72
  - bin/rubygb
73
73
  - lib/galp/gbhw.inc
74
- - lib/galp/ibmpx1.inc
74
+ - lib/galp/ibmpc1.inc
75
75
  - lib/galp/memory.inc
76
76
  - lib/rgbds/LICENSE
77
77
  - lib/rgbds/rgbasm
@@ -96,6 +96,17 @@ files:
96
96
  - scrap/example/hello-world-with-comments.sym
97
97
  - scrap/example/ibmpc1.inc
98
98
  - scrap/example/memory.asm
99
+ - scrap/gbhw.inc
100
+ - scrap/hello-sprite-good-delay.asm
101
+ - scrap/hello-sprite-no-interrupts.asm
102
+ - scrap/hello-sprite-no-interrupts.gb
103
+ - scrap/hello-sprite-no-interrupts.map
104
+ - scrap/hello-sprite-no-interrupts.obj
105
+ - scrap/hello-sprite-no-interrupts.sym
106
+ - scrap/hello-sprite.asm
107
+ - scrap/hello-sprite.inc
108
+ - scrap/ibmpc1.inc
109
+ - scrap/memory.asm
99
110
  - scrap/tester/lib/gbhw.inc
100
111
  - scrap/tester/lib/ibmpx1.inc
101
112
  - scrap/tester/lib/memory.inc