burn 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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