05-04-2015, 06:22 PM
|
Posts: 42
Threads: 5
Joined: Jan 2015
|
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:
(This post was last modified: 06-04-2015, 12:36 PM by Tarek701.)
R.I.P Tarek701. 2005-2016
|