Skip to content

kirjavascript/asl-wasm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Badges

License: GPL v2

CodeFactor Grade

CI Mac OS Catalina 10.15 CI Ubuntu 20.04 CI Windows Server 2019

Coverity Scan Analysis Coverity Scan

Snapshot build Latest snapshot

asl-releases

Custom version of AS, intended to track the original source and fix some issues.

Create and install the package

You need a C development toolchain, including make. You also need Git. You need to copy a file from Makefile.def-samples directory according to your platform to a file named Makefile.def on the same level as Makefile. You can then run the following commands:

   make binaries
   make install

Where the later will probably require administrative privileges. This has been tested on the following environments:

  • Windows 10 Home and Windows Server 2019 (32- and 64-bit builds)
  • Ubuntu 20.04 (64-bit build)
  • Mac OS Catalina 10.15 (64-bit build)

Preparing your disassembly

This is only relevant for Sonic disassemblies based on older versions of the Sonic Retro community disassemblies.

More recent versions of AS have made a few changes that impact older disassemblies. Here are the changes and how to deal with them:

  • AS by default will look for includes in the directory of the current file being assembled. This has an effect on files being included by other files inside a sibdirectory. In the S2 Git disassembly, this issue was dealt with in this commit, which just adds the disassembly's directory to the command line.
  • moveq no longer silently sign-extends a value; instead, it gives an error if you do use a value that cannot be represented as a byte sign-extended to 32-bits. In the S2 Git disassembly, this issue was dealt with in this commit in the S2 Git disassembly.
  • phase/dephase were changed to be a stack: you now need a matching dephase for every phase. This issue was dealt with in this commit in the S2 Git disassembly.
  • Adding a character constant to an integer results in a character constant, which can overflow the limits of a character and give an error. This issue was dealt with in this commit in the S2 Git disassembly.

About

WASM port of Alfred Arnold's The Macro Assembler AS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 41.8%
  • Assembly 41.8%
  • TeX 10.3%
  • C++ 4.8%
  • Pascal 0.6%
  • GLSL 0.3%
  • Other 0.4%