I've been looking through as my foundation for this project. MSG_KERNAL_EXIT db "kernal has exited",10,13,0 MSG_LOAD_DISK db "Loaded disk!", 10,13,0 MSG_LOAD_KERNAL db "Loding kernal",10,13, 0 MSG_SHOULD_NEVER_PRINT db "Frack",10,13, 0 MSG_REAL_MODE db "Started in 16-bit", 10, 13, 0 %include "src/print_hex.asm" this is broken, don't use Jmp 0x0000:main_entry ensures cs = 0x0000 This code is called from boot.asm, which is I've truncated my strings to make room in the 512 bytes for debug code. ![]() Mov ah,8 80 character screen, 10 characters Here is my load_disk.asm file: disk_load: I've had to throw together a poor print_hex solution that prints ah number of X's, because I haven't had the motivation to put something better together. The same site says that this is a "invalid function in AH or invalid parameter" error, which further confirms that the problem is in my code. When I write my boot image to a disk (dd to a partition on a flashdrive) it boots and successfully starts my program but fails at the same disk load, with ah being 0x01. This doesn't make much sense, as it's running in a vm, so I'm pretty sure that it's my code that is wrong. According to, it's a "controller failure" error. ![]() When I do $ qemu-system-x86_64 -drive file=os.bin,format=raw When I run with $ qemu-system-x86_64 -drive file=os.bin,if=floppy,index=0,media=disk,format=raw ![]() I use int 0x13 and ah=0x02 to read data from the drive and I've been getting several different error messages. I'm writing a simple operating system and I'm having a lot of problems with reading from the disk.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |