FreeDOS on SBC188 (Announce)
> > Next try the following:
> >
> > 1. Boot into the debugger.
> >
> > 2. boot protocol chain b12test.bin
> >
> > 3. tp fffff while cs != 1FE0
>
>
As expected.
> > 6. d ds:si - 10 length 20
> >
> > 7. Again show us what is visible.
>
>
This confirms that the memory was not corrupted: The dot is still in memory after the call instruction where it belongs.
> > 4. tp fffff while cs == 1FE0 && (ip != 7D41 || al == 2E)
> > silent
> >
> > 5. Show us what is visible after the prior step.
>
>
Ah, now everything is clear. The SBC188 ROM-BIOS that you use appears to modify the value in the al
register when called for interrupt 10h service 0Eh and the cursor is at the end of the line. In that case it returns with al
equal to 0Ah (the Line Feed codepoint). The modern FAT12/FAT16 FreeDOS boot sector loader expects the register to remain unchanged, so that it can check whether it finished displaying.
On your hard disk either you're using the (CHS) FAT32 loader, or it might be the case that you're using the FAT16 loader but it doesn't display as many dots as needed to fill the line width. If you have a cluster size larger than 1 sector (512 bytes), then the sector reading code will only display one dot per cluster. It will loop to read_next for the subsequent sectors in the cluster, which doesn't display another dot.
If you're already in contact with the maintainers of the SBC188 board's firmware, can you please point them to this? The int 10.0E service is expected to preserve the contents of the al
register. I will prepare a patch for the FreeDOS boot sector loader regardless, but it is better to fix the bug on both sides, so that current FreeDOS loaders will also work on this board after a ROM-BIOS update.
---
l
Complete thread:
- FreeDOS on SBC188 - GizMo79, 12.09.2020, 01:26 (Announce)
- FreeDOS on SBC188 - Oso2k, 12.09.2020, 01:59
- FreeDOS on SBC188 - Oso2k, 12.09.2020, 02:03
- FreeDOS on SBC188 - GizMo79, 12.09.2020, 02:12
- FreeDOS on SBC188 - GizMo79, 12.09.2020, 02:16
- FreeDOS on SBC188 - Rugxulo, 12.09.2020, 02:36
- FreeDOS on SBC188 - GizMo79, 12.09.2020, 03:00
- FreeDOS on SBC188 - GizMo79, 12.09.2020, 03:42
- FreeDOS on SBC188 - Oso2k, 12.09.2020, 06:30
- FreeDOS on SBC188 - GizMo79, 12.09.2020, 11:59
- FreeDOS on SBC188 - Oso2k, 12.09.2020, 06:30
- FreeDOS on SBC188 - GizMo79, 12.09.2020, 11:58
- FreeDOS on SBC188 - ecm, 12.09.2020, 13:06
- FreeDOS on SBC188 - ecm, 12.09.2020, 14:56
- FreeDOS on SBC188 - ecm, 12.09.2020, 15:06
- FreeDOS on SBC188 - ecm, 12.09.2020, 15:21
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 15:19
- FreeDOS on SBC188 - ecm, 13.09.2020, 19:36
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 20:14
- FreeDOS on SBC188 - Rugxulo, 13.09.2020, 22:11
- FreeDOS on SBC188 - ecm, 13.09.2020, 22:19
- FreeDOS on SBC188 - Rugxulo, 13.09.2020, 22:11
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 20:14
- FreeDOS on SBC188 - ecm, 13.09.2020, 19:36
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 15:19
- FreeDOS on SBC188 - GizMo79, 12.09.2020, 22:06
- FreeDOS on SBC188 - ecm, 13.09.2020, 21:07
- FreeDOS on SBC188 - ecm, 13.09.2020, 21:39
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:09
- FreeDOS on SBC188 - ecm, 13.09.2020, 22:12
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 00:48
- FreeDOS on SBC188 - ecm, 14.09.2020, 04:48
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 11:53
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 12:05
- FreeDOS on SBC188 - ecm, 14.09.2020, 13:22
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 13:31
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 13:34
- FreeDOS on SBC188 - ecm, 14.09.2020, 23:31
- FreeDOS on SBC188 - ecm, 14.09.2020, 13:22
- FreeDOS on SBC188 - ecm, 14.09.2020, 04:48
- FreeDOS on SBC188 - GizMo79, 15.09.2020, 00:26
- FreeDOS on SBC188 - ecm, 15.09.2020, 10:03
- FreeDOS on SBC188 - GizMo79, 15.09.2020, 13:52
- FreeDOS on SBC188 - ecm, 15.09.2020, 15:15
- FreeDOS on SBC188 - ecm, 15.09.2020, 15:48
- FreeDOS on SBC188 - GizMo79, 15.09.2020, 21:19
- FreeDOS on SBC188 - ecm, 15.09.2020, 15:54
- FreeDOS on SBC188 - GizMo79, 15.09.2020, 21:25
- FreeDOS on SBC188 - Differences of loaders - ecm, 15.09.2020, 23:18
- FreeDOS on SBC188 - Differences of loaders - GizMo79, 18.09.2020, 00:55
- FreeDOS on SBC188 - Differences of loaders - ecm, 15.09.2020, 23:18
- FreeDOS on SBC188 - GizMo79, 15.09.2020, 21:25
- FreeDOS on SBC188 - ecm, 15.09.2020, 15:15
- FreeDOS on SBC188 - GizMo79, 15.09.2020, 13:52
- FreeDOS on SBC188 - ecm, 15.09.2020, 10:03
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:09
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 00:29
- FreeDOS on SBC188 - GizMo79, 15.09.2020, 00:14
- FreeDOS on SBC188 - ecm, 13.09.2020, 21:39
- FreeDOS on SBC188 - ecm, 13.09.2020, 21:39
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:04
- FreeDOS on SBC188 - ecm, 13.09.2020, 22:10
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:27
- FreeDOS on SBC188 - Rugxulo, 13.09.2020, 22:32
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:42
- FreeDOS on SBC188 - Rugxulo, 13.09.2020, 22:32
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 12:12
- FreeDOS on SBC188 - ecm, 14.09.2020, 13:35
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 21:46
- FreeDOS on SBC188 - ecm, 14.09.2020, 23:22
- FreeDOS on SBC188 - GizMo79, 15.09.2020, 13:40
- FreeDOS on SBC188 - ecm, 15.09.2020, 13:53
- FreeDOS on SBC188 - GizMo79, 14.09.2020, 21:46
- FreeDOS on SBC188 - ecm, 14.09.2020, 13:35
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:27
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:13
- FreeDOS on SBC188 - Rugxulo, 13.09.2020, 22:21
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:44
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:47
- FreeDOS on SBC188 - GizMo79, 01.10.2020, 13:35
- FreeDOS on SBC188 - Rugxulo, 13.09.2020, 22:21
- FreeDOS on SBC188 - ecm, 13.09.2020, 22:10
- FreeDOS on SBC188 - GizMo79, 13.09.2020, 22:04
- FreeDOS on SBC188 - ecm, 13.09.2020, 21:07
- FreeDOS on SBC188 - Rugxulo, 12.09.2020, 02:36
- FreeDOS on SBC188 - Oso2k, 12.09.2020, 02:03
- FreeDOS on SBC188 - Rugxulo, 13.09.2020, 22:16
- FreeDOS on SBC188 - Oso2k, 12.09.2020, 01:59