Newest Translations

Space Harrier Suikoden Donkey Kong Excitebike

Newest Utilities

Zapper 2020 DKC Stage Name Editor Universal PVR Extractor & Patcher Room Transfer

Newest Reviews

Double Dragon II Controller Fix Shining Force 2 War of the Gods Mega Man 7 Restoration Pokemon Yellow - Gen. II Graphics Patch

Newest Homebrew

Nova the Squirrel Death Planet Bad Apple!! PV-FC 2.5 Simplistic

Featured Hack Images

Super Mario Bros. DX Chrono Cross: Magus Unmasked Super Metroid - Cliffhanger Mega Man IV Simplified

Featured Translation Images

Golden Sun Doraemon 4: Nobita to Tsuki no Oukoku Mahou Kishi Rayearth 2: Making of Magic Knight The Guardian Legend

Recent Updates

  • Hacks
    Expanded readme documentation.
  • Hacks
    An alternative version compatible with "Bomberman co-op" is created.
  • Translations
    Spelling correction of the word "Assohles", I fixed the typo and changed it to "Assholes". I also capitalized the words "French", and "English" in the description section. I got the following errors when I attempted to submit my corrections so I had to download, resize, and upload/change the images as well: 1. 'https://www.romhacking.net/translations/gameboy/images/2592screenshot1.png' is a size of 320x288 which is invalid for platform: 'Game Boy'! Native resolutions for this platform are 160x144. Additional Information. 2. 'https://www.romhacking.net/translations/gameboy/images/2592screenshot2.png' is a size of 320x288 which is invalid for platform: 'Game Boy'! Native resolutions for this platform are 160x144. Additional Information. 3. 'https://www.romhacking.net/translations/gameboy/images/2592screenshot3.png' is a size of 320x288 which is invalid for platform: 'Game Boy'! Native resolutions for this platform are 160x144. Additional Information. 4. 'https://www.romhacking.net/translations/gameboy/images/2592titlescreen.png' is a size of 320x288 which is invalid for platform: 'Game Boy'! Native resolutions for this platform are 160x144. Additional Information.
  • Hacks
    Bug fixes and general improvements.

CajeASM

Assembly Tools

Description:

CajeASM is a fast MIPS R4300i Assembler specially made for N64 ROMs. Basically, this is the tool you’ll use when creating ASM Hacks for your N64 ROMs. CajeASM replaces the older LemASM, which only allowed line-for-line assembling while you assemble a text file with mips asm code into a N64 ROM with CajeASM, which is way faster than writing line for line in LemASM. Plus, CajeASM offers a lot of small additions like Labels, Defines and directives for a better control and overview over your ASM code.

Features:

  • Labels
  • Defines
  • CajeASM-Manual on how to use CajeASM and learn about the features it offers.
  • Directives(.org, .include, .ascii/.asciiz, .float, .byte, .halfword, .word, .incbin (to include binary files), hex { hex values })
  • 32-bit Defines properly load into upper half and lower half instructions.
  • Has a frontend (GUI), and is very user-friendly.
  • A syntax highlighter ready to be imported into Notepad++.
  • Very fast assembling tool.
  • Is able to assemble RSP ASM (COP2) code.

Defines

Defines are short names, shortenings for an immediate value. The purpose of defines can be either for structuring and organization purposes, to prevent writing the same immediate value over and over again or (in case you made a typo) have to search all for your immediate value. Defines can be definitely helpful for end-users as well. For example, instead of letting users search for the “coin” amount, they just could change the amount in the define and done.

As an example: http://i.gyazo.com/0407c6f56da6cecd67d09bb9530064ae.png

As you see, defines can also take (and so can any normal immediate instruction) decimal and binary values. (decimal has prefix ‘#’ and binary has prefix ‘%’)

Our little test code would load the current amount of coins into T1 and then we add T1 + @Coins (= 0xA (10 decimal) ) and store the value of T1 to current coins.

And as you can see, CajeASM will also handle upper and lower halfs. In our case, the LUI would load 0×8034 (upper half) of define Address and LH would load 0xB218 (lower half) of define Address. That’s really useful.

Labels

A label is also a name, a shortening. The difference is just that a label is mainly for branching and jumping. Imagine you have to branch to a specific location once you checked if two values are equal. You either could calculate the address yourself by adding 4 to the current address and count all your instructions or you make use of labels and let CajeASM do all the work.

Example: http://i.gyazo.com/ea7f8200fd84bf20ca28ea9fd833bb15.png

CajeASM would now translate label IfTrue to 0×861D8 and label Exit to 0×861DC.

Note: CajeASM.exe - .NET Framework Initialization Error

To run this application, you first must install one of the following versions of the .NET Framework: v4.0.30319

Links:

User Review Information
No User Reviews!