Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
Japheth

Homepage

Germany (South),
08.05.2022, 18:32
 

DEBUG v1.29 (Announce)

Hello,

recently the DEBUG utility got an upgrade:

https://github.com/Baron-von-Riedesel/DOS-debug

The main reason for the new version is that in v1.28 the "driver" variant was broken. But there are also a few nice bug fixes :-)

There exist now also a version that can flip video screens between debugger and debuggee, thus giving a much better look as to what the debugged program is really doing.
Verne Brooks has implemented this feature in his debug version as well, but I decided not to follow the - simple - approach that he chose ( using the BIOS page switching mechanisms ). It's because I had to learn that there exist quite a few machines where this BIOS switching has quirks.
What's done instead is to save/restore video contents to an XMS memory block. That also has its disadvantages ( won't work on 8086 machines :-D, needs an XMS host, may run out of handles, copying several kB of data to/from slow video memory, ... ), but it works, and it works quite satisfying. :-P

---
MS-DOS forever!

ecm

Homepage E-mail

Düsseldorf, Germany,
09.05.2022, 07:45

@ Japheth
 

DEBUG v1.29 vs lDebug

> Hello,
>
> recently the DEBUG utility got an upgrade:
>
> https://github.com/Baron-von-Riedesel/DOS-debug
>
> The main reason for the new version is that in v1.28 the "driver" variant
> was broken. But there are also a few nice bug fixes :-)
>
> There exist now also a version that can flip video screens between
> debugger and debuggee, thus giving a much better look as to what the
> debugged program is really doing.
> Verne Brooks has implemented this feature in his debug version as well,
> but I decided not to follow the - simple - approach that he chose ( using
> the BIOS page switching mechanisms ). It's because I had to learn that
> there exist quite a few machines where this BIOS switching has quirks.
> What's done instead is to save/restore video contents to an XMS memory
> block. That also has its disadvantages ( won't work on 8086 machines :-D,
> needs an XMS host, may run out of handles, copying several kB of data
> to/from slow video memory, ... ), but it works, and it works quite
> satisfying. :-P

I copied the vv feature from your Debug on Saturday into lDebug, then expanded it a bit. I added V ON and V OFF commands to enable or disable video screen swapping. I also made sure that it can work on 8086 (86M) or 286 (PM) machines. (It is true that XMS generally requires a 286. But, for example, my tinyxms for 8086tiny used to provide XMS on an 8086-level machine. (Now updated to 186-level which includes all 286-level R86M features.)) I also added a section to the manual. Unlike your approach of providing a separate executable that always enables screen swapping, I made it so it is included in the default executable but starts out as disabled. The V ON command or /V+ switch to the debugger can be used to enable it.

And I also added a device driver mode entrypoint and init to lDebug. Unlike yours, I do create a PSP and do PSP-swapping, I allow some limited support for quitting the debugger if it did not return to DOS's device loader yet, and the device driver is built-into the normal executable so it's a triple-mode executable: DOS application, DOS device driver, or DOS kernel.

The "current release" is available on our server at https://pushbx.org/ecm/download/ldebug.zip.

Still missing before release 5 is the lDebugX fix to check segment limits to determine using 32-bit offsets rather than the D/B bit.

---
l

Japheth

Homepage

Germany (South),
09.05.2022, 08:29

@ ecm
 

DEBUG v1.29 vs lDebug

> expanded it a bit. I added V ON and V OFF commands to enable or disable
> video screen swapping.

Yes, I think a bit more smartness here will be added in debug too. IIRC, MS CodeView did flip only at the trace cmd if an INT was "traced".

---
MS-DOS forever!

mceric

Germany,
09.05.2022, 20:57

@ ecm
 

DEBUG v1.29 vs lDebug

> > recently the DEBUG utility got an upgrade:
> >
> > https://github.com/Baron-von-Riedesel/DOS-debug

...

> > There exist now also a version that can flip video screens between
> > debugger and debuggee, thus giving a much better look ...

> I copied the vv feature from your Debug on Saturday into lDebug, then
> expanded it a bit. I added V ON and V OFF commands to enable or disable
> video screen swapping. I also made sure that it can work on 8086 (86M) or
> 286 (PM) machines...

It might be exciting to add task swapping based on that new ...DEBUG feature to JEMM or similar drivers, given that DR DOS has taken a similar path before?

Hotkeys could be used decide which task is the one running and connected to keyboard, mouse, VGA etc. Depending on which text and graphics state details are to be supported, it could be a lot of work. Just watching the DEBUG news in awe ;-)

---
FreeDOS / DOSEMU2 / ...

ecm

Homepage E-mail

Düsseldorf, Germany,
09.05.2022, 21:19

@ mceric
 

DEBUG v1.29 vs lDebug

> It might be exciting to add task swapping based on that new ...DEBUG
> feature to JEMM or similar drivers, given that DR DOS has taken a similar
> path before?
>
> Hotkeys could be used decide which task is the one running and connected to
> keyboard, mouse, VGA etc. Depending on which text and graphics state
> details are to be supported, it could be a lot of work. Just watching the
> DEBUG news in awe ;-)

Probably lots of work, yes. And I don't really need vv, I just like to add features to my projects. lDebug has supported serial I/O since 2019 January now, which I think is also a good solution to debugging things where you do not want the debugger interface to interfere with the debuggee's.

---
l

Japheth

Homepage

Germany (South),
10.05.2022, 08:31

@ mceric
 

DEBUG v1.29 vs lDebug

> It might be exciting to add task swapping based on that new ...DEBUG
> feature to JEMM or similar drivers, given that DR DOS has taken a similar
> path before?
>
> Hotkeys could be used decide which task is the one running and connected to
> keyboard, mouse, VGA etc. Depending on which text and graphics state
> details are to be supported, it could be a lot of work. Just watching the
> DEBUG news in awe ;-)

Please don't spam an announce thread with off-topic stuff! If you're interested in discussing such things as you proposed, start another thread!

Thank You! :-D

---
MS-DOS forever!

Back to index page
Thread view  Board view
22049 Postings in 2034 Threads, 396 registered users, 203 users online (0 registered, 203 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum