Closed spark2k06 closed 4 years ago
If you want I prepare and show a video :-)
I use MS/Dos 6.22. How does MS / DOS (or time command) know the DSE value that must be passed to the DL register with the function 1Ah / AH = 03h? Then, It seems as if it always set 00h in DL.
Being a bug of INT 21h/2Dh, I think that the best solution for this project would be to save the cmos_dse variable in the flash / cmos and always set it during the start of the BIOS (in rtc_init) from the saved information.
I have created a pull request https://github.com/skiselev/8088_bios/pull/7 on the last changes of this issue, including always keeping the DSE function disabled, as we have discussed by email.
Last modification checked:
https://github.com/skiselev/8088_bios/commit/ec830ea677c56d78a6a47979a4cd59b79a1f59fc
For my part, if you have no other changes in mind, you could already add a new version of the BIOS to the corresponding folder of your Micro8088 repository:
Some issues detected in version 0.9.7:
When the time is modified from the setup, it does not seem to apply immediately. A time command in msdos shows the previous time. Only updated after a machine restart (CTRL + ALT + DEL)
The msdos time command always disables the DSE, and it is due to this code in time1.inc: