3 ms·
Thanks for answering my questions. Your project is really really interesting. Two more questions if you find some spare time: 3. Why does it use tty for inter
by 90s_dev 1y ago
Thanks for answering my questions. Your project is really really interesting.
Two more questions if you find some spare time:
3. Why does it use tty for interrupts instead of directly calling int 10?
4. How does this even print to the screen or use a tty in the first place? Is it just something inherent in bios api?
- shikaan 1y agoHey, thanks for your interest in this project! 3. The tty interrupt advances the cursor along with printing. So, once again, I do it to save on some instructions. In the first iterations I wanted to retain more control (by printing and moving as separate operations) so that I could reuse this across the board, but eventually I ran out of space. 4. I am relying heavily on BIOS interrupts, which are criminally underdocumented. The most reliable source is Ralph Brown's documentation[1] which is very far from what I was expecting to be authoritative documentation. Turns out this collection is really good and basically _the_ source of truth for BIOS interrupts. To answer your question, yes, this is basically calling the BIOS API. [1]: https://wiki.osdev.org/Ralf_Brown's_Interrupt_List https://wiki.osdev.org/Ralf_Brown's_Interrupt_List
- rerdavies 1y agoTHIS is the bible for BIOS APIs" https://bitsavers.trailing-edge.com/pdf/ibm/pc/ps2/PS2_and_PC_BIOS_Interface_Technical_Reference_Apr87.pdf https://bitsavers.trailing-edge.com/pdf/ibm/pc/ps2/PS2_and_P... Complete with reference assembler source code.
- shikaan 1y agoOh boy, this is amazing! Thanks for the reference