Poll: Do you like CajeASM?
Yes, it's damn useful!
Exactly what I need.
Nah, not really. But still a good program though.
I fucking hate it.
Note: This is a public poll, other users will be able to see what you voted for.  

CajeASM v7.24 (Stable) - CajeASM is DEAD! « 1 2 3 4 »
Users browsing this thread: 1 Guest(s)

Well, I can't speak for other communities, but most people in the not-so-popular Zelda 64 hacking scene (where I have been most active over the years) are very interested in learning ASM, although most don't even seem to fully understand what it actually is. I have pointed several people that are interested in starting MIPS assembly in the direction of CajeASM and your tutorial, and many of them seem to mostly get what it's all about. I would consider those two (CajeASM and your MIPS tutorial) to be the key of "popularizing" ASM in the N64 hacking scene, since they seem to make people more knowledgeable in the subject.

Also, a slightly unrelated and dumb question: How do I install your MIPS-highlightning addon for Notepad++? It seems very useful, but I can't really figure out where to put it... Probably I'm just lazy and dumb. Thanks in advance for any help though
(This post was last modified: 19-03-2015, 09:14 PM by Ideka.)

(19-03-2015, 09:13 PM)Ideka Wrote: Well, I can't speak for other communities, but most people in the not-so-popular Zelda 64 hacking scene (where I have been most active over the years) are very interested in learning ASM, although most don't even seem to fully understand what it actually is. I have pointed several people that are interested in starting MIPS assembly in the direction of CajeASM and your tutorial, and many of them seem to mostly get what it's all about. I would consider those two (CajeASM and your MIPS tutorial) to be the key of "popularizing" ASM in the N64 hacking scene, since they seem to make people more knowledgeable in the subject.

Also, a slightly unrelated and dumb question: How do I install your MIPS-highlightning addon for Notepad++? It seems very useful, but I can't really figure out where to put it... Probably I'm just lazy and dumb. Thanks in advance for any help though


[Image: ad696fa09882bda0359ddee19f4fcb16.png]

1. Click Language.
2. Click define own user language.
3. Click import and select my syntax highlighter. If it doesn't appear in the folder, you need to add .xml extension to it.
4. Select MIPSR4300i Highlighting in Languages if it didn't do it yet.
(This post was last modified: 19-03-2015, 10:15 PM by Tarek701.)
R.I.P Tarek701. 2005-2016

Thanks! This will help me greatly.

CajeASM v7.0 Plans
CajeASM v7.0 will be the 5th time of recoding CajeASM. As you all can most likely suggest, it's gonna take a while because the tool is pretty huge already and I have to re-code everything of it now.

Major plans are:
  • ​ Re-coding visitor, listener code (internal stuff, blah) for more efficiency.
  • ​ CajeASM able to assemble big-endian, little-endian and byteswapped.
  • ​ Adding more command line options + better command line parser in general.
  • ​ More directives (.fill, .byte/.short/.word/.float and .incbin etc.)
  • ​ Improved ErrorListener, checking each assembly code. If any error occurs, the code is not assembled.

There are way more plans, but this is pretty much summary of it.
R.I.P Tarek701. 2005-2016

UPDATE(04/05/2015) - CajeASM v7.0b (r14) RELEASED!!
OMG OMG OMG OMG OMG It's here, even if no one cares (or only a few) I can tell you, it's finally here. As this is the "beta" version, this means that the disassembler and the listing file (command-line) update is still not available and will be probably done in a few days or weeks. However, the rest is completely done and therefore CajeASM is finally ready to be released. Actually a lot of updates are internal, which are way too complicated to explain, so I put them at the 2nd update list. The first update list just contains the stuff which is useful for the user.

​UPDATES:
  • ​[IMPR]: Recoded and improved errors in code, writes errors now to a log file. (Logs/log.txt) Label and define errors are saved in two separate log files in Logs folder.
  • ​[IMPR]: CajeASM assembles 12-20 secs faster than before. Hyperspeed fucky fuck funky.
  • ​[ADD]: CajeASM is now able to assemble ASM code to big-endian (.z64), little-endian (.v64) and byteswapped/middle-endian (.n64).
  • ​[ADD]: Added new directives:
    • ​.incbin "binfile.bin" -> Let's you include binary files into your ASM code.
    • ​.byte/.halfword/.word/.float -> Let's you insert numeric values into your code.
    • ​.align alignment, (optional) fill -> Aligns your data/code to a byte boundary, optionally filling the skipped bytes with 'fill'.
    • ​.skip n, fill -> skips 'n' bytes, optionally filling them with 'fill'.
  • ​ [FIX]: Fixed decimal, binary value conversion.
  • ​[FIX]: Fixed LI instruction to not use ADDI/ADDIU anymore for values which are in 16-bit range.
  • ​[FIX]: Fixed crashes caused if the immediate value didn't have a prefix or was too short.
  • ​[FIX]: Re-added missing instruction SYSCALL.
  • ​[FIX]: Rewritten label/define list code. This time it should work better and more efficient now and prevent mystical label errors.
  • ​[ADD]: New command-line options, new command-line argument parser.
  • ​[IMPR]: If no destination register is specified in pseudo-branch instructions, then on default AT register is used.
  • ​[FIX]: Fixed MTC2/MFC2 (RSP) instructions not reading the element. (ex.: mtc2 t0, v3[2])
  • ​[FIX]: Fixed vector load/store instructions not reading the address properly.
  • ​[ADD]: New CajeASM v7.0+ Manual. Better, explains all pseudo-stuff step-for-step and shows how they look like when translated to real MIPS code.
  • ​[FIX]: ROM and ASM Files close properly now.
  • ​[FIX]: include directive for ASM files didn't work properly before and didn't import all defines.
  • ​[FIX]: hex {} parser/lexer error and confusing it with labels. Has been finally fixed.
  • ​[FIX]: CajeASM v6.03 crashed when labels were called three times.
  • ​[DEL+REPL]: (internal) Deleted some old encoding algorithm (originally this was supposed to be a small, quick reader (encoding) for ASM code, fucked up crap which never worked in the end. This was replaced with an algorithm somewhat similiar to ( w(v') >= t + 1) )
  • ​[FIX]: Closing CajeASM console-command line by pressing "X" caused that rn64crc.exe and chksum64.exe didn't open.
  • ​[FIX]: CajeASM update checker sometimes didn't read the URL.
  • ​[FIX]: Fixed prefixes like "0X" not being recognized (forgot to uppercase that one in my check code)
  • ​[FIX]: Fixed inefficient use of my BitFields (some fields were left filled with bits of preceding instructions, sometimes causing horribly wrong instruction encodings)
  • ​[FIX]: Fixed instruction reader and code which passes the bits to it's fields, especially the FPU instructions were sometimes not written properly.
  • ​[FIX]: CajeASM GUI no longer crashes if file is in use (actually it shouldn't even crash before, but it still did for some others. )
  • ​[FIX]: BEQI/BNEI and BGEI/BLEI/BLTI/BGTI not being correctly translated. Fixed this finally.
  • ​[FIX]: Lexer errors sometimes crashed CajeASM, especially LI instructions once again.
  • ​[FIX]: Result of MIPS instructions (Appending BitFields) sometimes were out of range (leading zero's) causing errors.
  • ​[FIX]: Fixed CajeASM GUI being not properly getting the filepath sometimes (when space was used in filenames).
  • ​[FIX]: include directive for ASM files sometimes didn't assemble some instructions (forgot to point to visitor, blame me)
  • ​[FIX]: CajeASM didn't read RSP instructions properly sometimes (especially the scalar modes)
  • ​[IMPR]: Re-coded reader for scalar modes for RSP instructions (0q, 1q, 0h, 1h, 2h, 3h, 0w-7w)
  • ​[FIX]: Removed "URL not found" spam. (caused when link wasn't available or when some crap was wrong with the host)
  • ​[FIX]: Fixed crash when attempting to open a zero byte file.
  • ​[FIX]: Fixed various memory corruption issues (random crashing)
  • ​[FIX]: Fixed parser not recognizing RSP instruction VSUB.
  • ​[FIX]: Fixed endless loop if define didn't exist.
  • ​[FIX]: Fixed B instruction not being translated correctly to real MIPS ASM instruction.
  • ​[IMPR]: CajeASM GUI and CajeASM console-application merged to one.

Download-Link:
Size: 720.08 KB / Downloads: 189 .zip   CajeASM v7.0.zip

(This post was last modified: 06-04-2015, 12:36 PM by Tarek701.)
R.I.P Tarek701. 2005-2016

UPDATE(04/08/2015) - CajeASM v7.0b (r68) RELEASED!!
PLEASE DOWNLOAD THIS CAJEASM VERSION! It's very important. The older revision has some strange bug with labels, causing weird branches to offsets which will crash your ROM. It's important that you download
this quick fix!

​UPDATES:
  • ​[FIX]: Fixed unaligned counter

Download-Link:
Size: 720.06 KB / Downloads: 143 .zip   CajeASM v7.01.zip

R.I.P Tarek701. 2005-2016

UPDATE(04/12/2015) - CajeASM v7.0b (r128) RELEASED!!
Very important fix. Better download it. It will save you.

​UPDATES:

  • ​[FIX]: Counters, Labels, Vars resetted and cleared once assemble process is done.
          - The errors you eventually have occured recently like branching errors were
            caused because the counter was not reset. It's finally fixed now.

Download-Link:
CajeASM v7.1
R.I.P Tarek701. 2005-2016

UPDATE(04/29/2015) - CajeASM v7.2b (r301) RELEASED!!
Pseudo-Branch instruction assembling error fix.

​UPDATES:
  • ​[FIX]: BLT, BGT, BLE, BGE didn't assemble correctly (they assembled R0, R0, offset, which was wrong)

Download-Link:
CajeASM v7.2
(This post was last modified: 30-04-2015, 12:13 PM by Tarek701.)
R.I.P Tarek701. 2005-2016

CajeASM turns open-source!!

CajeASM is now open-source:
https://github.com/Tarek701/CajeASM

CajeASM GUI folder contains GUI source. Coding is probably confusing to some of you, but I tried to keep it as good as I could. Parser and lexer are just chaotic and don't even bother to change anything in there except if you know what you're doing.

The application is released under GPL v3.0, meaning you're actually allowed to distribute modified binaries, but still need to give me the copyright for the original software + link to this topic here, so people can actually download the official version. If someone is actually able to fix a bug before me or fix other stuff before me and I think it fits well, I might include it into the official release and credit you.
R.I.P Tarek701. 2005-2016

UPDATE(05/11/2015) - CajeASM v7.24 (Stable) RELEASED!!

UPDATES:
  • ​[FIX]: Fixed immediate crash when including an ASM or bin file from another folder outside of CajeASM.exe
  • ​[FIX]: After incbin the code is auto-aligned to 4 byte boundary so ASM code is not messed up when assembling.

Download-Link:
CajeASM v7.24
R.I.P Tarek701. 2005-2016

CajeASM v7.24 (Stable) - CajeASM is DEAD! « 1 2 3 4 »
Users browsing this thread: 1 Guest(s)