DEBUG.COM for MSX-DOS

Page 1/4
| 2 | 3 | 4

By Emily82

Resident (46)

Emily82's picture

22-02-2020, 00:36

Hi guys, i wanted to inform you all that i found from AriakiraSoft an incomplete version of debug.com with z80 assembly source code.
Then i decided to finish it, implementing the 'Assemble" function and fixing bugs.

I released my job and source code in my gitlab page, DEBUG.COM-5.2RC1

Enjoy it!!!

Login or register to post comments

By ToriHino

Hero (601)

ToriHino's picture

22-02-2020, 11:02

Nice work! And i see you even updated it to support the R800 Smile

By DamnedAngel

Master (187)

DamnedAngel's picture

22-02-2020, 12:07

Wow, that's great!

Thanks for your work!

By NYYRIKKI

Enlighted (5606)

NYYRIKKI's picture

22-02-2020, 12:47

Wow, I bet I'll find some good uses for this one!

My favorite debugger is Super-X, but every once in a while it would be nice to have some script able debugger, and this seems perfect for that kind of stuff... (to apply a patch to a file or something) After quick test my only "problem" is that you can't answer "Yes" to "Quit OK?" question in a text file.

This program also seems pretty popular as trying to download the source gave me only "429 Too many requests" Smile

By NYYRIKKI

Enlighted (5606)

NYYRIKKI's picture

22-02-2020, 13:47

Hmm... After some more testing, it seems you have added some other confirmations as well that have same problem (ie. in L & W)

I can also see that you've changed the logic of W-command compared to MS-DOS version, but I don't think this is actually better. If user wants to edit ie. a COM-file, now he needs to remember or write down the size that was loaded. I would rather have the file size stored in BC to match the logic used in MS-DOS version.

BTW starting at end of this page you can see how you can make your ASM.BAT to run on modern Windows OS:
https://www.msx.org/forum/development/msx-development/intern...

By Emily82

Resident (46)

Emily82's picture

22-02-2020, 18:11

That isnt my code, i just implemented Assemble function and did some bugfix in 'unassemble". So for other functions i just left as i found it.

For 'quit' command you have to just press 'y' key to quit or 'n' for not.
I left also this part as i found it, i didnt change the code.

For ASM.BAT here i have linux in my computer, but maybe using wine it should work?

By Emily82

Resident (46)

Emily82's picture

22-02-2020, 18:34

I tested write command to msdos ibm compatible pc and it doesnt work there too lol!
Im thinking it could be possible to change this function. Rather than low level writing to sectors, it could be usefull to export ram range to a .COM file. Using msxdos syscall routines it should be doable.

By Emily82

Resident (46)

Emily82's picture

22-02-2020, 19:08

Oh yea i finally understood how it works! You have to use 'N' command.
Example: N a:test.com
It will set the filename

then you can use write with range and the it exports all to filename.

Sorry that i didnt know this, but i focused just on assembler implementation and disassembler bug fixes. Till now i totally ignored other parts of the software.

By NYYRIKKI

Enlighted (5606)

NYYRIKKI's picture

22-02-2020, 20:10

Emily82 wrote:

That isnt my code, i just implemented Assemble function and did some bugfix in 'unassemble". So for other functions i just left as i found it.

I see... At least you published your work, so that future development may happen. Big thank you for that.

Quote:

For 'quit' command you have to just press 'y' key to quit or 'n' for not.

Yes, but the problem is, if I do:

TEST.TXT:

q
y

... and then write:
DEBUG < TEXT.TXT

... it does not work.

Quote:

For ASM.BAT here i have linux in my computer, but maybe using wine it should work?

If you Google a bit I think you can find better alternatives...
You may want to take a look ie:
https://github.com/MockbaTheBorg/RunCPM
... or ...
https://github.com/jhallen/cpm
... I don't know if they are any good though.

Emily82 wrote:

Oh yea i finally understood how it works! You have to use 'N' command.
Example: N a:test.com
It will set the filename

then you can use write with range and the it exports all to filename.

Yes, exactly... The thing is that on MS-DOS it does not take a range as a parameter, but uses CX for the size... I think this approach is better.

By Emily82

Resident (46)

Emily82's picture

23-02-2020, 01:26

Ok now there is no more confirmation question for quit, load or write and to write you have to use BC register value as size instead of range. All is updated in gitlab, both source code and binaries.

By NYYRIKKI

Enlighted (5606)

NYYRIKKI's picture

23-02-2020, 12:09

Wow, this was a fast fix! ... and now the source seems to be downloadable as well. (According to date I think the release binary was not updated)

How ever it seems that L-command (or giving the file as parameter) does not set the BC correctly, so the user still needs to remember the file size.

Page 1/4
| 2 | 3 | 4