ATA PIO Ports, Replace int 13h - Amateur OS Dev (x86 asm)
Replacing int 13h uses with ATA PIO ports. It works! But is still a little janky after renaming files at the end
Next video(s) should be:
- Fixing bugs/inconsistencies after renaming or saving files
- Adding a Global Desciptor Table (GDT) to the bootsector, expanding it to a 2nd stage bootloader if needed, and moving to 32 bit protected mode. This will probably break everything have a lot of fixing and debugging due to how segments work differently, or other things.
OS Dev wiki page for ATA PIO Ports:
https://wiki.osdev.org/ATA_PIO_Mode
ATA Read/Write Sectors example:
https://wiki.osdev.org/ATA_read/write_sectors
ATA Commands:
https://wiki.osdev.org/ATA_Command_Matrix
Outline:
0:00 - Replace int 13h in kernel
21:10 - Replace int 13h in print_fileTable.inc
25:13 - Show ata pio ports test file/kernel example
38:31 - Replace int 13h in bootsector
48:11 - Fixes for print_fileTable and bootsector
54:57 - Replace int 13h in delete_file
1:12:19 - Replace int 13h in load_file
1:31:42 - Replace int 13h in save_file
1:49:11 - Show fixes for breaking on reboot
1:53:56 - Replace int 13h in rename_file
2:03:23 - Coming up & outro
Updates for this series might be tweeted out as they happen, if I remember (not likely). I'll probably use the YT channel community tab in the future for video/channel updates if requisite channel metrics are met. Though if people prefer, I can look into a mailing list for updates, or tweet out stuff anyway
----------------------------------------------------------------------------------------------------------------------------------------
Playlist for this series:
https://www.youtube.com/playlist?list=PLT7NbkyNWaqajsw8Xh7SP9KJwjfpP8TNX
Git repos:
https://git.sr.ht/~queso_fuego/quesos
https://github.com/queso-fuego/amateuros
Software used:
VMware Workstation Player - https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html
openBSD - https://www.openbsd.org/
qemu - https://www.qemu.org/
vim - https://www.vim.org/ (neovim is better)
fasm - https://flatassembler.net/
fasm docs - https://flatassembler.net/docs.php?article=manual
Davinci Resolve - https://www.blackmagicdesign.com/products/davinciresolve/
Contact:
email - fuegoqueso@gmail.com
twitter - @Queso_Fuego
Thoughts/Notes/Suggestions/Other - Drop a message in the video comments, by twitter, or by email
Credits:
Music from https://incompetech.com:
"Your Call" Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 4.0 License
http://creativecommons.org/licenses/by/4.0/
The blue title tags:
#osdev #programming #assembly