1.8 KiB
1.8 KiB
Todos
-
How to capture arguments passed to a C program
```c // argc is the number of args passed // argc is always 1 or more // argc always has name/path of program as first arg int main(int argc, char *argv[]) { // do stuff with the args } ``` -
How to print argument value
``` printf("%s", argv[1]); ``` -
Read a file
```c // open file in read mode. returns NULL if doesn't exist FILE *file_ptr = fread(file_path, "r"); // seeking to end of file. // useful telling number of bytes fseek(file_ptr, 0, SEEK_END); // get number of bytes int num_of_bytes = ftell(file_ptr); // seek to begin of file fseek(file_ptr, 0, SEEK_SET); ``` -
Store contents of file in memory
-
Print file contents
-
Print instructions
-
Make sure program occupies correct space in chip memory
-
Parse individual instructions from binary CHIP-8 file
-
Print all instructions from CHIP-8 file
-
Write all CHIP-8 IBM logo opcodes to CSV file
-
Implement opcodes present in the IMB logo CHIP-8 file
x Opcode Type Description x 00E000E0 Clear display x 1nnn1nnn Jump to address x 3xkk3xkk Skip next if Vx == kk x 6xkk6xkk Load register with immediate x 7xkk7xkk Add immediate to Vx x ANNNANNN Set index register x BnnnBnnn Jump to V0 + addr x DxynDxyn Draw sprite -
Migrate drawing to raylib window
-
Implement remaining instructions
-
Handle keyboard input