summary refs log tree commit diff stats
path: root/results/classifier/gemma3:12b/graphic/2959
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/gemma3:12b/graphic/2959')
-rw-r--r--results/classifier/gemma3:12b/graphic/295978
1 files changed, 78 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/graphic/2959 b/results/classifier/gemma3:12b/graphic/2959
new file mode 100644
index 000000000..b938d75b0
--- /dev/null
+++ b/results/classifier/gemma3:12b/graphic/2959
@@ -0,0 +1,78 @@
+
+int 0x10 teletype output cuts final character in custom MBR on QEMU (i386 real mode)
+Description of problem:
+When using QEMU to test a custom bootloader in 16-bit real mode (i386), the BIOS interrupt `int 0x10` with AH=0x0E (teletype output) fails to display the last character of the printed message. For example, printing `"hello"` only renders `"hell"`.
+
+This happens only with this exact combination:
+
+real mode `int 0x10` teletype output
+
+message ends with `13, 10, 0`
+
+`QEMU` output cuts off the last character consistently
+
+All buffer and code logic has been verified to be correct. The same code, when run on Bochs or physical hardware, prints properly.
+Steps to reproduce:
+1.Assemble the following boot.asm:
+```nasm
+[org 0x7C00]
+[BITS 16]
+
+_start:
+    cli
+    xor ax, ax
+    mov ds, ax
+    mov es, ax
+    mov ss, ax
+    mov sp, 0x7C00
+
+    mov si, msg
+    call print
+
+    hlt
+    jmp $
+
+print:
+    pusha
+.loop:
+    lodsb
+    or al, al
+    jz .done
+    mov ah, 0x0E
+    int 0x10
+    jmp .loop
+.done:
+    popa
+    ret
+
+msg db 'hello', 13, 10, 0
+times 510 - ($ - $$) db 0
+dw 0xAA55
+```
+
+2. Compile and run:
+```bash
+$ nasm -f bin boot.asm -o boot.img
+$ qemu-system-i386 -nographic -boot a -drive format=raw,file=boot.img,index=0,if=floppy
+```
+
+3. Output will be:
+```text
+Booting from Floppy...
+hell
+```
+Expected output:
+```text
+Booting from Floppy...
+hello
+```
+Additional information:
+- Adding padding (extra 13, 10) does not solve the problem.
+
+- Confirmed that boot.img includes all bytes (xxd dump is correct).
+
+- Tested on multiple machines with same QEMU version.
+
+- May relate to VGA character output buffer not flushing after last INT 0x10?
+
+- This makes QEMU inaccurate for BIOS-level debugging of bootloaders.