====== Early mid August work ====== **2023-08-13** This week some development of the debugger and of dosemu2 happened. ===== lDebug ===== * [[https://hg.pushbx.org/ecm/ldebug/rev/8d9918dc9b5e|Interrupt 0Dh, 0Ch hooks optional]] at run time (''INSTALL INTFAULTS'' [[https://hg.pushbx.org/ecm/ldebug/rev/23f4fd513651|install flag noun]]) * Optional interrupt hooks share a lot of code now ([[https://hg.pushbx.org/ecm/ldebug/rev/165761abaff4|1]], [[https://hg.pushbx.org/ecm/ldebug/rev/8b652524566c|2]], [[https://hg.pushbx.org/ecm/ldebug/rev/d1d413060120|3]], [[https://hg.pushbx.org/ecm/ldebug/rev/1ff4f4c0ad4b|4]]) * In init [[https://hg.pushbx.org/ecm/ldebug/rev/7a397124937b|the parsing of switches now capitalises the switch letter]] rather than doing two branches per switch * /P mode for path search in init (too many to list, [[https://hg.pushbx.org/ecm/ldebug/shortlog/ff274a7550f0|view log here]]) * In init, ''push word [cs:...]'' replaced by using a temporary register ([[https://hg.pushbx.org/ecm/ldebug/rev/d7674f0681cb|1]], [[https://hg.pushbx.org/ecm/ldebug/rev/7a52c6e934b0|2]]) * Bugfix: Auxiliary buffer size variables [[https://hg.pushbx.org/ecm/ldebug/rev/2c868b37648e|are initialised in bootloaded mode]] ([[https://hg.pushbx.org/ecm/ldebug/rev/f0a5a0f8add1|bug on 2023-07-18]]) * Bugfix: If /2 switch specified but there is no second adapter, [[https://hg.pushbx.org/ecm/ldebug/rev/4aab007079d5|do not leave state halfway installed]] * [[https://hg.pushbx.org/ecm/ldebug/rev/a73a04c3ff00|Warning on unknown filename extension]] in init * [[https://hg.pushbx.org/ecm/ldebug/rev/92230c3efdb1|Accept a no-op]] /D+ switch in lDDebug or /D- in lDebug * Add additional ''D*LEN'' variables ([[https://hg.pushbx.org/ecm/ldebug/rev/7013c78c2a65|1]]) and ''DALLOCSEG'' and ''DALLOCSIZE'' ([[https://hg.pushbx.org/ecm/ldebug/rev/2f8cf56b4651|2]]) * [[https://hg.pushbx.org/ecm/ldebug/rev/7150c2186704|Allow any separator]] after ''DDS'' to interpret command as ''D DS...'' rather than ''DD S...'' * [[https://hg.pushbx.org/ecm/ldebug/rev/0ace864f1d54|Call dosemu2 helper function]] ''DOS_HELPER_PRESTROKES_START'' on interrupt 0E6h ===== dosemu2 ===== * [[https://github.com/dosemu2/dosemu2/commit/745609f1179ca26284c0f81354731d0194d602ea|Fix dl register passed to boot loader]] when ''-B'' switch is used * [[https://github.com/dosemu2/dosemu2/commit/28f8df492ad3208baeda61cd9505173c6865c4de|Fix output text]] in ''-quiet -dumb -te'' mode to no longer contain the mouse input reset escape sequences if machine didn't crash * Fix ''-input'' switch for keyboard input ([[https://github.com/dosemu2/dosemu2/commit/5313c7c64b36afef8f6f29ae70f0898321e898ba|1]], [[https://github.com/dosemu2/dosemu2/commit/a17d39035bf578ea3a8e7325bcee19fdef687632|2]]) * [[https://github.com/dosemu2/dosemu2/commit/5313c7c64b36afef8f6f29ae70f0898321e898ba|Add feature to start keyboard input]] from ''-input'' only once DOS boot is complete, to avoid losing a keypress * [[https://github.com/dosemu2/dosemu2/commit/67517c1efd79922432b1764015b3c50e4da9cc99|Add related helper function]] to start keyboard input early, for entering input to booted lDebug ===== Enhanced DR-DOS ===== I went and investigated some bugs around the EDR-DOS int 21h functions 42h, 7142h, and 71A6h. ([[https://www.bttr-software.de/forum/forum_entry.php?id=20539|1]], [[https://www.bttr-software.de/forum/forum_entry.php?id=20550|2]], [[https://www.bttr-software.de/forum/forum_entry.php?id=20552|3]], [[https://www.bttr-software.de/forum/forum_entry.php?id=20553|4]]) To test this, I also built the latest EDR-DOS revision of 2011 from source. ===== ldosboot ===== [[https://hg.pushbx.org/ecm/ldosboot/rev/007ddb5647c7|One change]] to the test script's dosemu2 drive letter detection. However, this change only was needed because of the dosemu2 bug with the mouse data input reset escape sequences. It is actually the wrong way to do this, and consequently [[https://hg.pushbx.org/ecm/ldosboot/rev/9bebca5f658f|has been backed out]]. ===== ldosmbr ===== Some changes to the oldmbr: * [[https://hg.pushbx.org/ecm/ldosmbr/rev/922709f58410|Check the length]] of the MBR output file * Use the ''absolute $'' [[https://hg.pushbx.org/ecm/ldosmbr/rev/0bf55528bbac|trick instead of an equate]] for nobits data at 0:800h * [[https://hg.pushbx.org/ecm/ldosmbr/rev/40c94f213903|Move the CHS geometry fields into nobits data]] as they don't need to be pre-initialised One change to altmbr, today: * [[https://hg.pushbx.org/ecm/ldosmbr/rev/a0b0648732c8|Check length of output]] {{tag>ldebug dosemu2 edrdos ldosboot ldosmbr}} ~~DISCUSSION~~