01-27-2016, 09:08 PM
Project Details
State
Almost ready for its first release.
Github link
https://github.com/TylerDev905/CodeDesigner
Code designer is a tool that can be used to assemble and disassemble MIPS32 assembly code into hexadecimal. This means that you can use this tool to create cheat codes for the playstation 2. Most if not all MIPS assembly instructions are supported as well as code designer syntax. Code designer syntax is a small set of commands that can make writing assembly much easier.
Features
Code designer syntax
Address
will tell the assembler, the the address it should start counting from. Labels are not supported with the address command.
Labels
can be used to define an address with a human readable string. Labels can then be used with some operations and some Code designer commands.
Setreg
will set a registers value to the word or label supplied.
Call
will pass the registers given and move them into argument registers then it will perform a jal instruction to the address or label specified.
Hexcode
will place a word at the current address of the assembler. The word can be defined in hex or it can come from a labels address.
Print
will take a string and convert it into hexadecimal
ToDO
[Image: attachment.php?attachmentid=3507&d=1453870222]
[Image: attachment.php?attachmentid=3508&d=1453870231]
State
Almost ready for its first release.
Github link
https://github.com/TylerDev905/CodeDesigner
Code designer is a tool that can be used to assemble and disassemble MIPS32 assembly code into hexadecimal. This means that you can use this tool to create cheat codes for the playstation 2. Most if not all MIPS assembly instructions are supported as well as code designer syntax. Code designer syntax is a small set of commands that can make writing assembly much easier.
Features
- Syntax highlighing of both the assembler and disassembler views
- Supports EE, COP0, and C0P1
- Code designer syntax
- The parser can detail errors down to the argument
- Single and multiline comments
- Multiple projects can be open at a time.
Code designer syntax
Address
will tell the assembler, the the address it should start counting from. Labels are not supported with the address command.
Code:
address $000a0000
Labels
can be used to define an address with a human readable string. Labels can then be used with some operations and some Code designer commands.
Code:
label: //a label can be used to set an address.
:targetlabel //target labels can be used to tell an instruction or command to use the labels address.
label:
addiu a0, a0, $0001
beq zero, zero, :label //will calculate the offet for the branch nop j :label <--will use the labels address for the jump operation
Setreg
will set a registers value to the word or label supplied.
Code:
setreg a0, $12345678
setreg a0, :label
Call
will pass the registers given and move them into argument registers then it will perform a jal instruction to the address or label specified.
Code:
call $12345678(s0, s1, s2, s3)
call :label(s0, s1, s2, s3)
Hexcode
will place a word at the current address of the assembler. The word can be defined in hex or it can come from a labels address.
Code:
hexcode $12345678
hexcode :label
will take a string and convert it into hexadecimal
Code:
print "hello world"
ToDO
- Open/Saving for both the assembler and disassembler
- Intellisense
- Read/Write to emulator memory
- Error markers for the assembler
- import command for the assembler
- Sharing labels and comments between windows
- String dumper
- Disassembler address formatting for .Byte .Halfword .Word .Float .Double .Quad
- Hex search features.
- Source search features
[Image: attachment.php?attachmentid=3507&d=1453870222]
[Image: attachment.php?attachmentid=3508&d=1453870231]