63 Commits
Author SHA1 Message Date
safiire 5be88a5020 Fixed for Ruby 4, changed OpenStruct to data, fixed tests, updated minimum ruby version to 3.2 for use of Data.define 2026-07-31 14:50:48 -07:00
Saf 709a501071 Removed comments 2020-09-13 13:05:28 -07:00
Saf 12cd048478 Spelling fix 2020-09-13 12:54:18 -07:00
Saf c335c24762 Fixed the version 2020-09-07 13:59:20 -07:00
SafandSaf 18ee1e5d3a Doing some Refactors (#4)
* Sorted dependancies

* Rearranging

* Added specs to notifiy me if the assembler output
for example files changes while making refactors

Co-authored-by: Saf <saf@irkenkitties.com>
2020-09-07 13:48:39 -07:00
Saf e11d3e0170 Update ci name and gitignore 2020-09-06 10:27:29 -07:00
Saf 2b5e170922 Converted symbol arithmetic tests to spec, removed mintest 2020-09-06 10:13:57 -07:00
Saf 96b7fcf3ef Can use each_line instead of split("\n") 2020-09-01 00:58:53 -07:00
Saf 4b72970ee2 Improved a few methods in n65.rb 2020-09-01 00:55:44 -07:00
Saf b292376fd9 Added an #assemble_string method to Assembler 2020-08-31 02:16:29 -07:00
SafandSaf 90f3621081 Refactored memory space to remove big method (#3)
Co-authored-by: Saf <saf@irkenkitties.com>
2020-08-30 16:40:20 -07:00
Saf f364a83db9 Linted all the directive classes 2020-08-30 13:57:46 -07:00
Saf cc53fd1813 Linted version.rb 2020-08-30 13:21:05 -07:00
Saf 34cc52c6a8 Linted symbol_table.rb 2020-08-30 13:20:17 -07:00
Saf d3ed4e81ec Linted regexes.rb 2020-08-30 13:04:07 -07:00
Saf 9acca01731 Linted parser.rb 2020-08-30 12:58:42 -07:00
Saf 1b57c0a04d Linted opcodes.rb 2020-08-30 12:53:04 -07:00
Saf b61003d489 Linted memory_space.rb 2020-08-30 12:48:37 -07:00
Saf 963dab73cc Linted instruction_base.rb 2020-08-30 12:36:50 -07:00
Saf 92e315b3ed Linted instruction.rb a bit 2020-08-30 12:35:07 -07:00
Saf 9f5f71cd4a Linted front_end.rb 2020-08-30 12:06:22 -07:00
Saf 520a5198af Linting is somewhat better in n64.rb now 2020-08-30 11:55:55 -07:00
Saf fdc3317c12 configuring rubocop and cleaning up the first few files 2020-08-30 11:32:49 -07:00
Safiire afb78e4c0d Added a subroutine cycle count option, fixed a warning with the usage of Fixnum 2017-09-27 14:58:34 -07:00
Safiire eca1831e35 Updates to the assembler's output concerning the sizes of banks, how much are used, a --quiet option was added, and a -s option to produce a symbol map. 2017-09-26 10:11:12 -07:00
Safiire 6b387e20df Added the ability to do arithmetic on symbolic names :) 2017-09-23 01:07:35 -07:00
Safiire 21af1f0bf6 Added Bank switching code 2017-09-22 03:00:54 -07:00
Safiire a48ce496e8 Update for Ruby 2.4 2016-12-13 15:12:39 -08:00
Safiire ad088d0164 Added --version option 2015-04-17 02:08:16 -07:00
Safiire 927023d048 Some cleanup, minor clarifications, removed some commented code. 2015-04-17 02:04:05 -07:00
Safiire 7ffd2dc8ac Removed all trailing whitespace 2015-04-11 21:03:13 -07:00
Safiire d6a9f7ac7d A few little updates, comment cleanup, removal of commented code 2015-03-31 13:14:30 -07:00
Safiire 1013280f9e Made n65 into a RubyGem 2015-03-31 02:50:55 -07:00
Safiire 6e655963f7 Renaming the program to n65 2015-03-29 10:19:19 -07:00
Safiire dc60139aaa Improvement to the .bytes directive, can now take hex literals, binary literals, and symbols both zero page and 16-bit 2015-03-29 10:01:41 -07:00
Safiire 2736408a14 Disabled writing the symbol table to a file, as it is not usually nessessary 2015-03-27 16:36:11 -07:00
Safiire 483c4d13d1 Adding first version of a MIDI to NES converter and sound engine 2015-03-27 15:50:13 -07:00
Safiire ee643af3ef Binary literals are now working 2015-03-22 15:52:13 -07:00
Safiire a48d10474e Fixed an issue with referencing outer scoped symbols 2015-03-22 00:55:14 -07:00
Safiire e5ef0fac5f Updated my nes symbol library, register names, fixed a problem with hex numbers 2015-03-14 05:01:27 -07:00
Safiire 1b12e0216d Pointing out a bug for later 2015-03-13 14:55:25 -07:00
Safiire 6d3401b2a5 Added .inc directive, and created a NES symbols include file 2015-03-12 11:46:59 -07:00
Safiire 0c6c8ab80e Added zp suffix to explicitly force zero page instructions when using symbols 2015-03-12 08:54:59 -07:00
Safiire 8e788a19d1 We can now create C like structs using .scope and .space, however, when we load zero page values from the symbol table, they create absolute addressed instructions, so that needs to be fixed 2015-03-05 21:55:13 -08:00
Safiire 17dcd185c8 Fixed anonymous scopes 2015-03-05 18:49:44 -08:00
Safiire dfb4410497 Updated the demo, realized anonymous scopes don't work right :( 2015-03-05 17:21:51 -08:00
Safiire 8f2500dd60 I made it so starting a named scope serves the dual purpose of creating a symbolic reference to the current PC 2015-03-05 16:53:55 -08:00
Safiire 4edbff55a5 Added scope directive 2015-03-05 13:45:19 -08:00
Safiire 2c938f7312 This is s a big rewrite including: A scoped symbol table, segment and
bank management, Use of promises to resolve symbols that are used before
they are defined.  A base class for all instructions and assembler
directives.  Hopefully my scoped symbols can be used to create C like
data structures in the zero page, ie sprite.x   New code to prodce the
final ROM.  Basically everything was rewritten.
2015-03-05 12:33:56 -08:00
Safiire 4235742c7d Creating a symbol table that has scope 2015-03-04 04:20:18 -08:00