burn 0.1.0 → 0.1.1

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.
Files changed (169) hide show
  1. data/README.md +59 -12
  2. data/lib/burn/cli.rb +25 -5
  3. data/lib/burn/generator/assembly_music.rb +1 -1
  4. data/lib/burn/tools/mac.tar.gz +0 -0
  5. data/lib/burn/tools/make_exec.sh +4 -0
  6. data/lib/burn/tools/other.tar.gz +0 -0
  7. data/lib/burn/tools/src.tar.gz +0 -0
  8. data/lib/burn/tools/win.tar.gz +0 -0
  9. data/lib/burn/tools/workspace_default.tar.gz +0 -0
  10. data/lib/burn/util/unpack.rb +11 -0
  11. data/lib/burn/util.rb +2 -1
  12. data/lib/burn/version.rb +1 -1
  13. data/lib/burn.rb +2 -0
  14. metadata +25 -157
  15. data/lib/burn/tools/mac/cc65/asminc/_file.inc +0 -27
  16. data/lib/burn/tools/mac/cc65/asminc/_heap.inc +0 -35
  17. data/lib/burn/tools/mac/cc65/asminc/apple2.inc +0 -64
  18. data/lib/burn/tools/mac/cc65/asminc/atari.inc +0 -1175
  19. data/lib/burn/tools/mac/cc65/asminc/atari.mac +0 -59
  20. data/lib/burn/tools/mac/cc65/asminc/atmos.inc +0 -110
  21. data/lib/burn/tools/mac/cc65/asminc/c128.inc +0 -214
  22. data/lib/burn/tools/mac/cc65/asminc/c16.inc +0 -9
  23. data/lib/burn/tools/mac/cc65/asminc/c64.inc +0 -212
  24. data/lib/burn/tools/mac/cc65/asminc/cbm.mac +0 -50
  25. data/lib/burn/tools/mac/cc65/asminc/cbm510.inc +0 -182
  26. data/lib/burn/tools/mac/cc65/asminc/cbm610.inc +0 -110
  27. data/lib/burn/tools/mac/cc65/asminc/cbm_filetype.inc +0 -34
  28. data/lib/burn/tools/mac/cc65/asminc/cpu.mac +0 -24
  29. data/lib/burn/tools/mac/cc65/asminc/ctype.inc +0 -29
  30. data/lib/burn/tools/mac/cc65/asminc/em-error.inc +0 -49
  31. data/lib/burn/tools/mac/cc65/asminc/em-kernel.inc +0 -106
  32. data/lib/burn/tools/mac/cc65/asminc/errno.inc +0 -36
  33. data/lib/burn/tools/mac/cc65/asminc/fcntl.inc +0 -21
  34. data/lib/burn/tools/mac/cc65/asminc/generic.mac +0 -55
  35. data/lib/burn/tools/mac/cc65/asminc/get_tv.inc +0 -22
  36. data/lib/burn/tools/mac/cc65/asminc/joy-error.inc +0 -44
  37. data/lib/burn/tools/mac/cc65/asminc/joy-kernel.inc +0 -85
  38. data/lib/burn/tools/mac/cc65/asminc/longbranch.mac +0 -88
  39. data/lib/burn/tools/mac/cc65/asminc/lynx.inc +0 -279
  40. data/lib/burn/tools/mac/cc65/asminc/modload.inc +0 -78
  41. data/lib/burn/tools/mac/cc65/asminc/mouse-kernel.inc +0 -180
  42. data/lib/burn/tools/mac/cc65/asminc/nes.inc +0 -93
  43. data/lib/burn/tools/mac/cc65/asminc/o65.inc +0 -150
  44. data/lib/burn/tools/mac/cc65/asminc/opcodes.inc +0 -509
  45. data/lib/burn/tools/mac/cc65/asminc/pet.inc +0 -54
  46. data/lib/burn/tools/mac/cc65/asminc/plus4.inc +0 -86
  47. data/lib/burn/tools/mac/cc65/asminc/ser-error.inc +0 -54
  48. data/lib/burn/tools/mac/cc65/asminc/ser-kernel.inc +0 -162
  49. data/lib/burn/tools/mac/cc65/asminc/signal.inc +0 -57
  50. data/lib/burn/tools/mac/cc65/asminc/smc.inc +0 -245
  51. data/lib/burn/tools/mac/cc65/asminc/stdio.inc +0 -70
  52. data/lib/burn/tools/mac/cc65/asminc/supervision.inc +0 -76
  53. data/lib/burn/tools/mac/cc65/asminc/tgi-error.inc +0 -52
  54. data/lib/burn/tools/mac/cc65/asminc/tgi-kernel.inc +0 -234
  55. data/lib/burn/tools/mac/cc65/asminc/tgi-vectorfont.inc +0 -70
  56. data/lib/burn/tools/mac/cc65/asminc/time.inc +0 -59
  57. data/lib/burn/tools/mac/cc65/asminc/utsname.inc +0 -46
  58. data/lib/burn/tools/mac/cc65/asminc/vic20.inc +0 -75
  59. data/lib/burn/tools/mac/cc65/asminc/zeropage.inc +0 -26
  60. data/lib/burn/tools/mac/cc65/bin/ca65 +0 -0
  61. data/lib/burn/tools/mac/cc65/bin/cc65 +0 -0
  62. data/lib/burn/tools/mac/cc65/bin/ld65 +0 -0
  63. data/lib/burn/tools/other/cc65/asminc/_file.inc +0 -27
  64. data/lib/burn/tools/other/cc65/asminc/_heap.inc +0 -35
  65. data/lib/burn/tools/other/cc65/asminc/apple2.inc +0 -64
  66. data/lib/burn/tools/other/cc65/asminc/atari.inc +0 -1175
  67. data/lib/burn/tools/other/cc65/asminc/atari.mac +0 -59
  68. data/lib/burn/tools/other/cc65/asminc/atmos.inc +0 -110
  69. data/lib/burn/tools/other/cc65/asminc/c128.inc +0 -214
  70. data/lib/burn/tools/other/cc65/asminc/c16.inc +0 -9
  71. data/lib/burn/tools/other/cc65/asminc/c64.inc +0 -212
  72. data/lib/burn/tools/other/cc65/asminc/cbm.mac +0 -50
  73. data/lib/burn/tools/other/cc65/asminc/cbm510.inc +0 -182
  74. data/lib/burn/tools/other/cc65/asminc/cbm610.inc +0 -110
  75. data/lib/burn/tools/other/cc65/asminc/cbm_filetype.inc +0 -34
  76. data/lib/burn/tools/other/cc65/asminc/cpu.mac +0 -24
  77. data/lib/burn/tools/other/cc65/asminc/ctype.inc +0 -29
  78. data/lib/burn/tools/other/cc65/asminc/em-error.inc +0 -49
  79. data/lib/burn/tools/other/cc65/asminc/em-kernel.inc +0 -106
  80. data/lib/burn/tools/other/cc65/asminc/errno.inc +0 -36
  81. data/lib/burn/tools/other/cc65/asminc/fcntl.inc +0 -21
  82. data/lib/burn/tools/other/cc65/asminc/generic.mac +0 -55
  83. data/lib/burn/tools/other/cc65/asminc/get_tv.inc +0 -22
  84. data/lib/burn/tools/other/cc65/asminc/joy-error.inc +0 -44
  85. data/lib/burn/tools/other/cc65/asminc/joy-kernel.inc +0 -85
  86. data/lib/burn/tools/other/cc65/asminc/longbranch.mac +0 -88
  87. data/lib/burn/tools/other/cc65/asminc/lynx.inc +0 -279
  88. data/lib/burn/tools/other/cc65/asminc/modload.inc +0 -78
  89. data/lib/burn/tools/other/cc65/asminc/mouse-kernel.inc +0 -180
  90. data/lib/burn/tools/other/cc65/asminc/nes.inc +0 -93
  91. data/lib/burn/tools/other/cc65/asminc/o65.inc +0 -150
  92. data/lib/burn/tools/other/cc65/asminc/opcodes.inc +0 -509
  93. data/lib/burn/tools/other/cc65/asminc/pet.inc +0 -54
  94. data/lib/burn/tools/other/cc65/asminc/plus4.inc +0 -86
  95. data/lib/burn/tools/other/cc65/asminc/ser-error.inc +0 -54
  96. data/lib/burn/tools/other/cc65/asminc/ser-kernel.inc +0 -162
  97. data/lib/burn/tools/other/cc65/asminc/signal.inc +0 -57
  98. data/lib/burn/tools/other/cc65/asminc/smc.inc +0 -245
  99. data/lib/burn/tools/other/cc65/asminc/stdio.inc +0 -70
  100. data/lib/burn/tools/other/cc65/asminc/supervision.inc +0 -76
  101. data/lib/burn/tools/other/cc65/asminc/tgi-error.inc +0 -52
  102. data/lib/burn/tools/other/cc65/asminc/tgi-kernel.inc +0 -234
  103. data/lib/burn/tools/other/cc65/asminc/tgi-vectorfont.inc +0 -70
  104. data/lib/burn/tools/other/cc65/asminc/time.inc +0 -59
  105. data/lib/burn/tools/other/cc65/asminc/utsname.inc +0 -46
  106. data/lib/burn/tools/other/cc65/asminc/vic20.inc +0 -75
  107. data/lib/burn/tools/other/cc65/asminc/zeropage.inc +0 -26
  108. data/lib/burn/tools/other/cc65/bin/ca65 +0 -0
  109. data/lib/burn/tools/other/cc65/bin/cc65 +0 -0
  110. data/lib/burn/tools/other/cc65/bin/ld65 +0 -0
  111. data/lib/burn/tools/win/cc65/asminc/_file.inc +0 -27
  112. data/lib/burn/tools/win/cc65/asminc/_heap.inc +0 -35
  113. data/lib/burn/tools/win/cc65/asminc/apple2.inc +0 -64
  114. data/lib/burn/tools/win/cc65/asminc/atari.inc +0 -1101
  115. data/lib/burn/tools/win/cc65/asminc/atmos.inc +0 -31
  116. data/lib/burn/tools/win/cc65/asminc/c128.inc +0 -213
  117. data/lib/burn/tools/win/cc65/asminc/c16.inc +0 -9
  118. data/lib/burn/tools/win/cc65/asminc/c64.inc +0 -212
  119. data/lib/burn/tools/win/cc65/asminc/cbm510.inc +0 -182
  120. data/lib/burn/tools/win/cc65/asminc/cbm610.inc +0 -110
  121. data/lib/burn/tools/win/cc65/asminc/ctype.inc +0 -29
  122. data/lib/burn/tools/win/cc65/asminc/em-error.inc +0 -44
  123. data/lib/burn/tools/win/cc65/asminc/em-kernel.inc +0 -100
  124. data/lib/burn/tools/win/cc65/asminc/errno.inc +0 -36
  125. data/lib/burn/tools/win/cc65/asminc/fcntl.inc +0 -21
  126. data/lib/burn/tools/win/cc65/asminc/get_tv.inc +0 -22
  127. data/lib/burn/tools/win/cc65/asminc/joy-error.inc +0 -44
  128. data/lib/burn/tools/win/cc65/asminc/joy-kernel.inc +0 -85
  129. data/lib/burn/tools/win/cc65/asminc/lynx.inc +0 -273
  130. data/lib/burn/tools/win/cc65/asminc/modload.inc +0 -78
  131. data/lib/burn/tools/win/cc65/asminc/mouse-kernel.inc +0 -179
  132. data/lib/burn/tools/win/cc65/asminc/nes.inc +0 -93
  133. data/lib/burn/tools/win/cc65/asminc/o65.inc +0 -135
  134. data/lib/burn/tools/win/cc65/asminc/pet.inc +0 -45
  135. data/lib/burn/tools/win/cc65/asminc/plus4.inc +0 -87
  136. data/lib/burn/tools/win/cc65/asminc/rs232.inc +0 -19
  137. data/lib/burn/tools/win/cc65/asminc/ser-error.inc +0 -50
  138. data/lib/burn/tools/win/cc65/asminc/ser-kernel.inc +0 -161
  139. data/lib/burn/tools/win/cc65/asminc/signal.inc +0 -57
  140. data/lib/burn/tools/win/cc65/asminc/stdio.inc +0 -70
  141. data/lib/burn/tools/win/cc65/asminc/supervision.inc +0 -76
  142. data/lib/burn/tools/win/cc65/asminc/tgi-error.inc +0 -48
  143. data/lib/burn/tools/win/cc65/asminc/tgi-kernel.inc +0 -183
  144. data/lib/burn/tools/win/cc65/asminc/tgi-mode.inc +0 -48
  145. data/lib/burn/tools/win/cc65/asminc/time.inc +0 -59
  146. data/lib/burn/tools/win/cc65/asminc/utsname.inc +0 -46
  147. data/lib/burn/tools/win/cc65/asminc/vic20.inc +0 -77
  148. data/lib/burn/tools/win/cc65/asminc/zeropage.inc +0 -22
  149. data/lib/burn/tools/win/cc65/bin/ca65.exe +0 -0
  150. data/lib/burn/tools/win/cc65/bin/cc65.exe +0 -0
  151. data/lib/burn/tools/win/cc65/bin/ld65.exe +0 -0
  152. data/lib/burn/workspace_default/asset/crt0.s +0 -260
  153. data/lib/burn/workspace_default/asset/famitone.s +0 -1031
  154. data/lib/burn/workspace_default/asset/mus_instruments.s +0 -50
  155. data/lib/burn/workspace_default/asset/music.s +0 -3
  156. data/lib/burn/workspace_default/asset/nes.cfg +0 -83
  157. data/lib/burn/workspace_default/asset/neslib.h +0 -213
  158. data/lib/burn/workspace_default/asset/neslib.s +0 -923
  159. data/lib/burn/workspace_default/asset/runtime.lib +0 -0
  160. data/lib/burn/workspace_default/asset/sounds.s +0 -143
  161. data/lib/burn/workspace_default/asset/test.h +0 -22
  162. data/lib/burn/workspace_default/asset/tileset.chr +0 -0
  163. data/lib/burn/workspace_default/release/js/emulator.html +0 -42
  164. data/lib/burn/workspace_default/release/js/js/dynamicaudio-89ba58da476270a9b630.min.js +0 -1
  165. data/lib/burn/workspace_default/release/js/js/jquery-1.4.2.min.js +0 -154
  166. data/lib/burn/workspace_default/release/js/js/jsnes-4e7a7260aa.js +0 -7149
  167. data/lib/burn/workspace_default/release/js/swf/dynamicaudio.swf +0 -0
  168. data/lib/burn/workspace_default/scripts/compile.bat +0 -30
  169. data/lib/burn/workspace_default/scripts/compile.sh +0 -30
data/README.md CHANGED
@@ -75,10 +75,13 @@ Please visit [our project page](http://k.swd.cc/burn/) for more example.
75
75
 
76
76
  ## Table Of Contents
77
77
 
78
- * [Getting Started](#getting-started)
78
+ * [Introduction](#introduction)
79
+ * [Less Is More](#less-is-more)
79
80
  * [How It Works](#how-it-works)
81
+ * [Getting Started](#getting-started)
80
82
  * [Installation](#installation)
81
83
  * [Quick Start](#quick-start)
84
+ * [Burning Sample Fuel DSL](#burning-sample-fuel-dsl)
82
85
  * [Fuel DSL Methods](#fuel-dsl-methods)
83
86
  * [Scene](#scene)
84
87
  * [Sound](#sound)
@@ -92,7 +95,13 @@ Please visit [our project page](http://k.swd.cc/burn/) for more example.
92
95
  * [License](#license)
93
96
  * [ToDos](#todos)
94
97
 
95
- ## Getting Started
98
+ ## Introduction
99
+
100
+ ### Less Is More
101
+
102
+ Creating 8-bit flavored application mean neither outdated nor cheap, but good fit to rapid prototyping. It could be one of best options for education purpose as well.
103
+
104
+ Moreover, the executables built with burn will work at [almost any OS](http://en.wikipedia.org/wiki/List_of_video_game_emulators#Consoles). That said, consequently, burn is a multi-platform programming environment.
96
105
 
97
106
  ### How It Works
98
107
 
@@ -102,16 +111,24 @@ Internally, burn contains cc65 executables inside its gemfile and calls them to
102
111
  - compile them to make executable(main.out) by calling cc65
103
112
  - provide emulator(JSNES) for rpaid application development
104
113
 
105
- This means what burn can do is always less than what cc65 can do.
114
+ ## Getting Started
106
115
 
107
116
  ### Installation
108
117
 
109
- gem install burn
118
+ sudo gem install burn
119
+ sudo burn init --make
110
120
 
111
121
  ### Quick Start
112
122
 
113
- echo "scene do{ label 'hello world'}" > main.rb
114
- burn -p # -p: open up emulator right after compilation
123
+ echo "scene {label 'hello world'}" > main.rb
124
+ burn -p
125
+ ls tmp/burn/ | grep main.out
126
+
127
+ ### Burning Another Sample Fuel DSL
128
+
129
+ git clone https://github.com/remore/burn.git
130
+ cd burn/example/hello_world
131
+ burn -p
115
132
 
116
133
  ## Fuel DSL Methods
117
134
 
@@ -417,6 +434,42 @@ end
417
434
 
418
435
  ### Sound
419
436
 
437
+ #### duty_cycle(ratio)
438
+
439
+ The duty_cycle method in a sound can be used to set duty cycle type.
440
+
441
+ <dl>
442
+ <dt>ratio Symbol</dt>
443
+ <dd>duty cycle type to set.
444
+ <table>
445
+ <tr>
446
+ <th>duty cycle type</th>
447
+ <th>Value</th>
448
+ </tr>
449
+ <tr>
450
+ <td>:lowest</td>
451
+ <td>12.5%</td>
452
+ </tr>
453
+ <tr>
454
+ <td>:lower</td>
455
+ <td>25%</td>
456
+ </tr>
457
+ <tr>
458
+ <td>:higher</td>
459
+ <td>50%</td>
460
+ </tr>
461
+ <tr>
462
+ <td>:highest</td>
463
+ <td>75%</td>
464
+ </tr>
465
+ </table>
466
+ </dd>
467
+ </dl>
468
+
469
+ #### velocity(level)
470
+
471
+ The velocity method in a sound can be used to set volume level of the sound.
472
+
420
473
  TBD
421
474
 
422
475
  ### Music
@@ -435,12 +488,6 @@ TBD(articles about #show, #sprite, #rand and #is_pressed are coming very soon)
435
488
 
436
489
  ## Notes
437
490
 
438
- ### Personal Motivation
439
-
440
- Creating 8-bit flavored application mean neither outdated nor cheap, but good fit to rapid prototyping. It could be one of best options for education purpose as well.
441
-
442
- Moreover, the executables built with burn will work at [almost any OS](http://en.wikipedia.org/wiki/List_of_video_game_emulators#Consoles). That said, consequently, burn is a multi-platform programming environment.
443
-
444
491
  ### Helpful Folks
445
492
 
446
493
  * Shiru - this project had never been born if I had not found [this article](http://shiru.untergrund.net/articles/programming_nes_games_in_c.htm)
data/lib/burn/cli.rb CHANGED
@@ -6,12 +6,30 @@ module Burn
6
6
  super
7
7
  @workspace_root = Dir.getwd
8
8
  end
9
-
9
+
10
10
  def self.source_root
11
11
  File.dirname(__FILE__) + "/.."
12
- end
13
-
12
+ end
13
+
14
14
  default_task :make
15
+
16
+ desc "init", "Initialize environment"
17
+ option :debug, :type => :string, :aliases => '-d', :desc => "Debug mode"
18
+ option :verbose, :type => :boolean, :desc => "Print logs as much as possible", :default => false
19
+ option :make, :type=>:boolean, :desc=>"Make cc65 binaries from source"
20
+ def init
21
+ env = Burn::Util::Os.new
22
+ base_path = "#{File.dirname(__FILE__)}/tools"
23
+ remove_dir base_path+ "/"+env.os_name, :verbose => options[:verbose]
24
+ Burn::Util::Unpack.new.unpack "#{base_path}/#{env.os_name}.tar.gz", base_path
25
+ if options[:make] then
26
+ Burn::Util::Unpack.new.unpack "#{base_path}/src.tar.gz", base_path
27
+ run "/bin/bash #{File.dirname(__FILE__)}/tools/make_exec.sh #{base_path}"
28
+ copy_file "#{base_path}/src/cc65/cc65", "#{base_path}/#{env.os_name}/cc65/bin/cc65", :force => true
29
+ copy_file "#{base_path}/src/ca65/ca65", "#{base_path}/#{env.os_name}/cc65/bin/ca65", :force => true
30
+ copy_file "#{base_path}/src/ld65/ld65", "#{base_path}/#{env.os_name}/cc65/bin/ld65", :force => true
31
+ end
32
+ end
15
33
 
16
34
  desc "make <filename>", "Compile and build application binary from Burn DSL file"
17
35
  option :preview, :type => :boolean, :aliases => '-p', :desc => "Preview .out application right after compilation"
@@ -85,7 +103,8 @@ EOS
85
103
  say "."
86
104
  remove_dir "#{@workspace_root}/tmp/burn", :verbose => options[:verbose]
87
105
  empty_directory "#{@workspace_root}/tmp/burn", :verbose => options[:verbose]
88
- directory File.dirname(__FILE__) + "/workspace_default", "#{@workspace_root}/tmp/burn", :verbose => options[:verbose]
106
+ #directory File.dirname(__FILE__) + "/workspace_default", "#{@workspace_root}/tmp/burn", :verbose => options[:verbose]
107
+ Burn::Util::Unpack.new.unpack "#{File.dirname(__FILE__)}/tools/workspace_default.tar.gz", "#{@workspace_root}/tmp/burn"
89
108
 
90
109
  # compile and build .out
91
110
  say ".."
@@ -125,7 +144,7 @@ EOS
125
144
  require 'base64'
126
145
  File.write(
127
146
  "#{@workspace_root}/tmp/burn/release/js/emulator.html",
128
- File.read(File.dirname(__FILE__)+"/workspace_default/release/js/emulator.html")
147
+ File.read("#{@workspace_root}/tmp/burn/release/js/emulator.html")
129
148
  .gsub(/__@__TITLE__@__/, mainfile)
130
149
  .gsub(/__@__ROMDATA__@__/,
131
150
  Base64::strict_encode64(
@@ -169,6 +188,7 @@ EOS
169
188
  if env.is_win? then
170
189
  run "start #{browser} #{uri}", :verbose => options[:verbose]
171
190
  elsif env.is_mac? then
191
+ browser = "\"/Applications/Google Chrome.app\"" if options[:chrome]
172
192
  run "open -a #{browser} #{uri}", :verbose => options[:verbose]
173
193
  else
174
194
  run "/usr/bin/#{browser} #{uri}", :verbose => options[:verbose]
@@ -22,7 +22,7 @@ module Burn
22
22
  # prepare music.s - music assembler file
23
23
  File.write(
24
24
  "#{@workspace_root}/tmp/burn/asset/music.s",
25
- File.read(File.dirname(__FILE__)+"/../workspace_default/asset/music.s")
25
+ File.read("#{@workspace_root}/tmp/burn/asset/music.s")
26
26
  .gsub(/__@__EXPORT__@__/, @resources.keys.map{|p| " .export _music_#{p}"}.join("\n"))
27
27
  .gsub(/__@__INCLUDE__@__/, @resources.keys.map{|p| "_music_#{p}: .include \"mus_#{p}.s\""}.join("\n"))
28
28
  )
Binary file
@@ -0,0 +1,4 @@
1
+ #!/bin/bash
2
+
3
+ cd $1/src/
4
+ make -f make/gcc.mak
Binary file
Binary file
Binary file
@@ -0,0 +1,11 @@
1
+ module Burn
2
+ module Util
3
+ class Unpack
4
+ def unpack(src, dest)
5
+ Zlib::GzipReader.open(src) do |gz|
6
+ Archive::Tar::Minitar::unpack(gz, dest)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
data/lib/burn/util.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'burn/util/os'
2
2
  require 'burn/util/patternizer'
3
3
  require 'burn/util/server'
4
- require 'burn/util/pxes'
4
+ require 'burn/util/pxes'
5
+ require 'burn/util/unpack'
data/lib/burn/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Burn
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/burn.rb CHANGED
@@ -2,6 +2,8 @@ require 'rubygems'
2
2
  require 'ripper'
3
3
  require 'fileutils'
4
4
  require 'thor'
5
+ require 'zlib'
6
+ require 'archive/tar/minitar'
5
7
  require 'burn/version'
6
8
  require 'burn/debug'
7
9
  require 'burn/util'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: burn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-30 00:00:00.000000000 Z
12
+ date: 2014-02-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: archive-tar-minitar
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: rake
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -74,167 +90,19 @@ files:
74
90
  - lib/burn/generator/template/mus_template.s
75
91
  - lib/burn/generator/template/template.c
76
92
  - lib/burn/generator.rb
77
- - lib/burn/tools/mac/cc65/asminc/apple2.inc
78
- - lib/burn/tools/mac/cc65/asminc/atari.inc
79
- - lib/burn/tools/mac/cc65/asminc/atari.mac
80
- - lib/burn/tools/mac/cc65/asminc/atmos.inc
81
- - lib/burn/tools/mac/cc65/asminc/c128.inc
82
- - lib/burn/tools/mac/cc65/asminc/c16.inc
83
- - lib/burn/tools/mac/cc65/asminc/c64.inc
84
- - lib/burn/tools/mac/cc65/asminc/cbm.mac
85
- - lib/burn/tools/mac/cc65/asminc/cbm510.inc
86
- - lib/burn/tools/mac/cc65/asminc/cbm610.inc
87
- - lib/burn/tools/mac/cc65/asminc/cbm_filetype.inc
88
- - lib/burn/tools/mac/cc65/asminc/cpu.mac
89
- - lib/burn/tools/mac/cc65/asminc/ctype.inc
90
- - lib/burn/tools/mac/cc65/asminc/em-error.inc
91
- - lib/burn/tools/mac/cc65/asminc/em-kernel.inc
92
- - lib/burn/tools/mac/cc65/asminc/errno.inc
93
- - lib/burn/tools/mac/cc65/asminc/fcntl.inc
94
- - lib/burn/tools/mac/cc65/asminc/generic.mac
95
- - lib/burn/tools/mac/cc65/asminc/get_tv.inc
96
- - lib/burn/tools/mac/cc65/asminc/joy-error.inc
97
- - lib/burn/tools/mac/cc65/asminc/joy-kernel.inc
98
- - lib/burn/tools/mac/cc65/asminc/longbranch.mac
99
- - lib/burn/tools/mac/cc65/asminc/lynx.inc
100
- - lib/burn/tools/mac/cc65/asminc/modload.inc
101
- - lib/burn/tools/mac/cc65/asminc/mouse-kernel.inc
102
- - lib/burn/tools/mac/cc65/asminc/nes.inc
103
- - lib/burn/tools/mac/cc65/asminc/o65.inc
104
- - lib/burn/tools/mac/cc65/asminc/opcodes.inc
105
- - lib/burn/tools/mac/cc65/asminc/pet.inc
106
- - lib/burn/tools/mac/cc65/asminc/plus4.inc
107
- - lib/burn/tools/mac/cc65/asminc/ser-error.inc
108
- - lib/burn/tools/mac/cc65/asminc/ser-kernel.inc
109
- - lib/burn/tools/mac/cc65/asminc/signal.inc
110
- - lib/burn/tools/mac/cc65/asminc/smc.inc
111
- - lib/burn/tools/mac/cc65/asminc/stdio.inc
112
- - lib/burn/tools/mac/cc65/asminc/supervision.inc
113
- - lib/burn/tools/mac/cc65/asminc/tgi-error.inc
114
- - lib/burn/tools/mac/cc65/asminc/tgi-kernel.inc
115
- - lib/burn/tools/mac/cc65/asminc/tgi-vectorfont.inc
116
- - lib/burn/tools/mac/cc65/asminc/time.inc
117
- - lib/burn/tools/mac/cc65/asminc/utsname.inc
118
- - lib/burn/tools/mac/cc65/asminc/vic20.inc
119
- - lib/burn/tools/mac/cc65/asminc/zeropage.inc
120
- - lib/burn/tools/mac/cc65/asminc/_file.inc
121
- - lib/burn/tools/mac/cc65/asminc/_heap.inc
122
- - lib/burn/tools/mac/cc65/bin/ca65
123
- - lib/burn/tools/mac/cc65/bin/cc65
124
- - lib/burn/tools/mac/cc65/bin/ld65
125
- - lib/burn/tools/other/cc65/asminc/apple2.inc
126
- - lib/burn/tools/other/cc65/asminc/atari.inc
127
- - lib/burn/tools/other/cc65/asminc/atari.mac
128
- - lib/burn/tools/other/cc65/asminc/atmos.inc
129
- - lib/burn/tools/other/cc65/asminc/c128.inc
130
- - lib/burn/tools/other/cc65/asminc/c16.inc
131
- - lib/burn/tools/other/cc65/asminc/c64.inc
132
- - lib/burn/tools/other/cc65/asminc/cbm.mac
133
- - lib/burn/tools/other/cc65/asminc/cbm510.inc
134
- - lib/burn/tools/other/cc65/asminc/cbm610.inc
135
- - lib/burn/tools/other/cc65/asminc/cbm_filetype.inc
136
- - lib/burn/tools/other/cc65/asminc/cpu.mac
137
- - lib/burn/tools/other/cc65/asminc/ctype.inc
138
- - lib/burn/tools/other/cc65/asminc/em-error.inc
139
- - lib/burn/tools/other/cc65/asminc/em-kernel.inc
140
- - lib/burn/tools/other/cc65/asminc/errno.inc
141
- - lib/burn/tools/other/cc65/asminc/fcntl.inc
142
- - lib/burn/tools/other/cc65/asminc/generic.mac
143
- - lib/burn/tools/other/cc65/asminc/get_tv.inc
144
- - lib/burn/tools/other/cc65/asminc/joy-error.inc
145
- - lib/burn/tools/other/cc65/asminc/joy-kernel.inc
146
- - lib/burn/tools/other/cc65/asminc/longbranch.mac
147
- - lib/burn/tools/other/cc65/asminc/lynx.inc
148
- - lib/burn/tools/other/cc65/asminc/modload.inc
149
- - lib/burn/tools/other/cc65/asminc/mouse-kernel.inc
150
- - lib/burn/tools/other/cc65/asminc/nes.inc
151
- - lib/burn/tools/other/cc65/asminc/o65.inc
152
- - lib/burn/tools/other/cc65/asminc/opcodes.inc
153
- - lib/burn/tools/other/cc65/asminc/pet.inc
154
- - lib/burn/tools/other/cc65/asminc/plus4.inc
155
- - lib/burn/tools/other/cc65/asminc/ser-error.inc
156
- - lib/burn/tools/other/cc65/asminc/ser-kernel.inc
157
- - lib/burn/tools/other/cc65/asminc/signal.inc
158
- - lib/burn/tools/other/cc65/asminc/smc.inc
159
- - lib/burn/tools/other/cc65/asminc/stdio.inc
160
- - lib/burn/tools/other/cc65/asminc/supervision.inc
161
- - lib/burn/tools/other/cc65/asminc/tgi-error.inc
162
- - lib/burn/tools/other/cc65/asminc/tgi-kernel.inc
163
- - lib/burn/tools/other/cc65/asminc/tgi-vectorfont.inc
164
- - lib/burn/tools/other/cc65/asminc/time.inc
165
- - lib/burn/tools/other/cc65/asminc/utsname.inc
166
- - lib/burn/tools/other/cc65/asminc/vic20.inc
167
- - lib/burn/tools/other/cc65/asminc/zeropage.inc
168
- - lib/burn/tools/other/cc65/asminc/_file.inc
169
- - lib/burn/tools/other/cc65/asminc/_heap.inc
170
- - lib/burn/tools/other/cc65/bin/ca65
171
- - lib/burn/tools/other/cc65/bin/cc65
172
- - lib/burn/tools/other/cc65/bin/ld65
173
- - lib/burn/tools/win/cc65/asminc/apple2.inc
174
- - lib/burn/tools/win/cc65/asminc/atari.inc
175
- - lib/burn/tools/win/cc65/asminc/atmos.inc
176
- - lib/burn/tools/win/cc65/asminc/c128.inc
177
- - lib/burn/tools/win/cc65/asminc/c16.inc
178
- - lib/burn/tools/win/cc65/asminc/c64.inc
179
- - lib/burn/tools/win/cc65/asminc/cbm510.inc
180
- - lib/burn/tools/win/cc65/asminc/cbm610.inc
181
- - lib/burn/tools/win/cc65/asminc/ctype.inc
182
- - lib/burn/tools/win/cc65/asminc/em-error.inc
183
- - lib/burn/tools/win/cc65/asminc/em-kernel.inc
184
- - lib/burn/tools/win/cc65/asminc/errno.inc
185
- - lib/burn/tools/win/cc65/asminc/fcntl.inc
186
- - lib/burn/tools/win/cc65/asminc/get_tv.inc
187
- - lib/burn/tools/win/cc65/asminc/joy-error.inc
188
- - lib/burn/tools/win/cc65/asminc/joy-kernel.inc
189
- - lib/burn/tools/win/cc65/asminc/lynx.inc
190
- - lib/burn/tools/win/cc65/asminc/modload.inc
191
- - lib/burn/tools/win/cc65/asminc/mouse-kernel.inc
192
- - lib/burn/tools/win/cc65/asminc/nes.inc
193
- - lib/burn/tools/win/cc65/asminc/o65.inc
194
- - lib/burn/tools/win/cc65/asminc/pet.inc
195
- - lib/burn/tools/win/cc65/asminc/plus4.inc
196
- - lib/burn/tools/win/cc65/asminc/rs232.inc
197
- - lib/burn/tools/win/cc65/asminc/ser-error.inc
198
- - lib/burn/tools/win/cc65/asminc/ser-kernel.inc
199
- - lib/burn/tools/win/cc65/asminc/signal.inc
200
- - lib/burn/tools/win/cc65/asminc/stdio.inc
201
- - lib/burn/tools/win/cc65/asminc/supervision.inc
202
- - lib/burn/tools/win/cc65/asminc/tgi-error.inc
203
- - lib/burn/tools/win/cc65/asminc/tgi-kernel.inc
204
- - lib/burn/tools/win/cc65/asminc/tgi-mode.inc
205
- - lib/burn/tools/win/cc65/asminc/time.inc
206
- - lib/burn/tools/win/cc65/asminc/utsname.inc
207
- - lib/burn/tools/win/cc65/asminc/vic20.inc
208
- - lib/burn/tools/win/cc65/asminc/zeropage.inc
209
- - lib/burn/tools/win/cc65/asminc/_file.inc
210
- - lib/burn/tools/win/cc65/asminc/_heap.inc
211
- - lib/burn/tools/win/cc65/bin/ca65.exe
212
- - lib/burn/tools/win/cc65/bin/cc65.exe
213
- - lib/burn/tools/win/cc65/bin/ld65.exe
93
+ - lib/burn/tools/mac.tar.gz
94
+ - lib/burn/tools/make_exec.sh
95
+ - lib/burn/tools/other.tar.gz
96
+ - lib/burn/tools/src.tar.gz
97
+ - lib/burn/tools/win.tar.gz
98
+ - lib/burn/tools/workspace_default.tar.gz
214
99
  - lib/burn/util/os.rb
215
100
  - lib/burn/util/patternizer.rb
216
101
  - lib/burn/util/pxes.rb
217
102
  - lib/burn/util/server.rb
103
+ - lib/burn/util/unpack.rb
218
104
  - lib/burn/util.rb
219
105
  - lib/burn/version.rb
220
- - lib/burn/workspace_default/asset/crt0.s
221
- - lib/burn/workspace_default/asset/famitone.s
222
- - lib/burn/workspace_default/asset/music.s
223
- - lib/burn/workspace_default/asset/mus_instruments.s
224
- - lib/burn/workspace_default/asset/nes.cfg
225
- - lib/burn/workspace_default/asset/neslib.h
226
- - lib/burn/workspace_default/asset/neslib.s
227
- - lib/burn/workspace_default/asset/runtime.lib
228
- - lib/burn/workspace_default/asset/sounds.s
229
- - lib/burn/workspace_default/asset/test.h
230
- - lib/burn/workspace_default/asset/tileset.chr
231
- - lib/burn/workspace_default/release/js/emulator.html
232
- - lib/burn/workspace_default/release/js/js/dynamicaudio-89ba58da476270a9b630.min.js
233
- - lib/burn/workspace_default/release/js/js/jquery-1.4.2.min.js
234
- - lib/burn/workspace_default/release/js/js/jsnes-4e7a7260aa.js
235
- - lib/burn/workspace_default/release/js/swf/dynamicaudio.swf
236
- - lib/burn/workspace_default/scripts/compile.bat
237
- - lib/burn/workspace_default/scripts/compile.sh
238
106
  - lib/burn.rb
239
107
  - test/helper.rb
240
108
  - test/runner.rb
@@ -1,27 +0,0 @@
1
- ;
2
- ; _file.inc
3
- ;
4
- ; (C) Copyright 2002 Ullrich von Bassewitz (uz@cc65.org)
5
- ;
6
-
7
- ; Assembler include file that makes the constants and structures in _file.h
8
- ; available for asm code.
9
-
10
- ; Struct _FILE
11
- .struct _FILE
12
- f_fd .byte
13
- f_flags .byte
14
- f_pushback .byte
15
- .endstruct
16
-
17
- ; Flags field
18
- _FCLOSED = $00
19
- _FOPEN = $01
20
- _FEOF = $02
21
- _FERROR = $04
22
- _FPUSHBACK = $08
23
-
24
- ; File table
25
- .global __filetab
26
-
27
-
@@ -1,35 +0,0 @@
1
- ;
2
- ; _heap.inc
3
- ;
4
- ; (c) Copyright 2003, Ullrich von Bassewitz (uz@cc65.org)
5
- ;
6
-
7
- ; Assembler include file that makes the constants and structures in _heap.h
8
- ; available for asm code.
9
-
10
- ; Struct freeblock
11
- ; NOTE: For performance reasons, the asm code often uses increment/decrement
12
- ; operators to access other offsets, so just changing offsets here will
13
- ; probably not work.
14
- .struct freeblock
15
- size .word
16
- next .addr
17
- prev .addr
18
- .endstruct
19
-
20
- ; Struct usedblock
21
- ; See notes above
22
- .struct usedblock
23
- size .word
24
- start .addr
25
- .endstruct
26
-
27
- HEAP_MIN_BLOCKSIZE = .sizeof (freeblock) ; Minimum size of an allocated block
28
- HEAP_ADMIN_SPACE = .sizeof (usedblock) ; Additional space for used bock
29
-
30
- ; Variables
31
- .global __heaporg
32
- .global __heapptr
33
- .global __heapend
34
- .global __heapfirst
35
- .global __heaplast
@@ -1,64 +0,0 @@
1
-
2
- ;-----------------------------------------------------------------------------
3
- ; Zero page stuff
4
-
5
- WNDLFT := $20 ; Text window left
6
- WNDWDTH := $21 ; Text window width
7
- WNDTOP := $22 ; Text window top
8
- WNDBTM := $23 ; Text window bottom+1
9
- CH := $24 ; Cursor horizontal position
10
- CV := $25 ; Cursor vertical position
11
- BASL := $28 ; Text base address low
12
- BASH := $29 ; Text base address high
13
- INVFLG := $32 ; Normal/inverse(/flash)
14
- PROMPT := $33 ; Used by GETLN
15
- RNDL := $4E ; Random counter low
16
- RNDH := $4F ; Random counter high
17
- HIMEM := $73 ; Highest available memory address+1
18
-
19
- ;-----------------------------------------------------------------------------
20
- ; Vectors
21
-
22
- DOSWARM := $03D0 ; DOS warmstart vector
23
- BRKVec := $03F0 ; Break vector
24
- SOFTEV := $03F2 ; Vector for warm start
25
- PWREDUP := $03F4 ; This must be = EOR #$A5 of SOFTEV+1
26
-
27
- ;-----------------------------------------------------------------------------
28
- ; Hardware
29
-
30
- ; Keyboard input
31
- KBD := $C000 ; Read keyboard
32
- KBDSTRB := $C010 ; Clear keyboard strobe
33
-
34
- ; 80 column video switches
35
- CLR80COL:= $C000 ; Disable 80 column store
36
- SET80COL:= $C001 ; Enable 80 column store
37
- RD80COL := $C018 ; >127 if 80 column store enabled
38
- RD80VID := $C01F ; >127 if 80 column video enabled
39
-
40
- ; Character set switches
41
- CLRALTCHAR := $C00E ; Normal Apple II char set
42
- SETALTCHAR := $C00F ; Norm/inv LC, no flash
43
- ALTCHARSET := $C01E ; >127 if alt charset switched in
44
-
45
- ; Language card switches
46
- RDLCBNK2:= $C011 ; >127 if LC bank 2 in use
47
- RDLCRAM := $C012 ; >127 if LC is read enabled
48
- ROMIN := $C081 ; Swap in D000-FFFF ROM
49
- LCBANK2 := $C083 ; Swap in LC bank 2
50
- LCBANK1 := $C08B ; Swap in LC bank 1
51
-
52
- ; Video mode switches
53
- TXTCLR := $C050 ; Display graphics
54
- TXTSET := $C051 ; Display text
55
- MIXCLR := $C052 ; Disable 4 lines of text
56
- MIXSET := $C053 ; Enable 4 lines of text
57
- LOWSCR := $C054 ; Page 1
58
- HISCR := $C055 ; Page 2
59
- LORES := $C056 ; Lores graphics
60
- HIRES := $C057 ; Hires graphics
61
-
62
- ; Game controller
63
- BUTN0 := $C061 ; Open-Apple Key
64
- BUTN1 := $C062 ; Closed-Apple Key