How did you go about doing this? I learned MIPS in college, but given my more recent professional trajectory, have been meaning to re-learn this stuff. Any suggestions?
I started by reading Guide to x86 Assembly and some of x86 Assembly Wikibook, but I’ve never been much of a book learner, so most of the actual learning happened from looking at the ASM generated by GCC with -S (and -O0 to not be super confused) and looking up the instructions.
It’s entirely possible. I had done it with the C predecessor, but I no longer have access to an extra PC I could use.
It would also require changing the ISO build to use ISOLINUX so that it could be made hybrid and boot from a USB device, but building that way has extra dependencies and needs more configuration.
Writing a Tetris clone is such a rite of passage – I was once very proud of my vanilla C clone but alas it used OpenGL. You get first prize for going to the metal.
In any case: nice work, looking forward to future posts!
How did you go about doing this? I learned MIPS in college, but given my more recent professional trajectory, have been meaning to re-learn this stuff. Any suggestions?
I started by reading Guide to x86 Assembly and some of x86 Assembly Wikibook, but I’ve never been much of a book learner, so most of the actual learning happened from looking at the ASM generated by GCC with
-S
(and-O0
to not be super confused) and looking up the instructions.Thanks so much.
It would be so fun to run this directly, on an actual for-reals PC, instead of using QEMU.
It’s entirely possible. I had done it with the C predecessor, but I no longer have access to an extra PC I could use.
It would also require changing the ISO build to use ISOLINUX so that it could be made hybrid and boot from a USB device, but building that way has extra dependencies and needs more configuration.
Understood.
Writing a Tetris clone is such a rite of passage – I was once very proud of my vanilla C clone but alas it used OpenGL. You get first prize for going to the metal.
In any case: nice work, looking forward to future posts!