you can use your virtual machine debugging facilities (or gdb/something else) to read memory directly. ms-dos has no memory protection nor it's a multi-task system, so you can read virtual machine memory, you can read virtual machine vga for input.
documentation says there exists a command
info vgatext -- print the contents of the VGA framebuffer formatted as standard text mode
the correct syntax to get output is:
run VirtualBox --debug --startvm msdos1.25
, then, in debugger console:
info vgatext
copy-pasted output:
The COMPAQ Personal Computer DOS
Version 1.11
(C) Copyright COMPAQ Computer Corp. 1982
(C) Copyright Microsoft 1981, 82
A>
--------------------------------------------------------------------------------
VBoxDbg>
So, you can write a debugger script which hooks on a memory value inside your program's memory and dumps vga screen when a program does output / or you can write script that pauses cpu, saves content consistently, if output changes, saves updated content, continues cpu run
Some options to investigate are:
find how to write a debugging script for dumping memory contents of your application
find some debugging vga driver/serial port/memory dumping solution for quemu/dosbox/virtualbox
find some OLD utility program from 80's which maybe someone wrote back there for this purpose
add freedos tag here (or even move/repeat your question on big stackoverflow, I suppose some gurus should know a thing about problems like this
I'll update later if I find something interesting, but can you please reveal some details on why are you using 1.25, does this program works on newer versions of msdos? I bet you can find some young assembly hacker eager to patch-up this program to a newer version (or add file output with asm) for a small fee
What you're saying may well be true (I was spared contact with DOS until DOS 3). What is your question? What does the documentation say? – AFH – 2016-08-24T22:02:57.923
In the documentation there is not even a word about saving output in a separate file. In MS-DOS 2.11 it is working but I need a way in ver 1.25. – Blake – 2016-08-24T22:22:37.987
I assume then that DOS 1 preceded redirection. If the program doesn't have an option to write its output to a file then you're stuck with the limitations of DOS 1. Is there some reason why you can't run your program in a later DOS? If so, you may be able to capture output using functions provided by a VM or a DOS 1 emulator, but I have never done this, so I can't advise. – AFH – 2016-08-24T22:32:37.720
18Why are you using DOS 1.25?! – Keltari – 2016-08-24T23:24:45.093
Yes, I am using 1.25. – Blake – 2016-08-25T07:01:20.037
41@Keltari: No annoying Windows 10 update notifications – Mark K Cowan – 2016-08-25T11:31:56.357
6
If you have any other questions about your setup that wouldn't be on-topic here, try [retrocomputing.se], another SE site dedicated to that sort of thing. (Full disclosure: I may be a little bit affiliated with that site.)
– wizzwizz4 – 2016-08-25T13:08:58.080Thank you I didn't know it exists, it is a good point you made. – Blake – 2016-08-25T13:31:22.363
4This question makes me feel young again! – Dmitry Grigoryev – 2016-08-25T14:44:16.000
9MS-DOS 1.x is essentially a CP/M clone, where Ctrl-P triggered copying the console output to the printer. A similar approach may therefore be possible in MS-DOS too. – Thorbjørn Ravn Andersen – 2016-08-25T15:09:05.687
besides the retro staciexchange site which looks interesting, You could try asking on the dostips forum – barlop – 2016-08-25T18:03:49.310
@MarkKCowan it stopped notify you to update a long time ago. And unless the OP wants to do it for fun, there's no need to use such ancient DOS nowadays – phuclv – 2016-08-26T03:05:17.113
2@LưuVĩnhPhúc I was joking :) – Mark K Cowan – 2016-08-26T07:26:14.223
2This sounds like an X/Y problem. Why are you using 1.25, and what are you actually trying to achieve? – Martin Bonner supports Monica – 2016-08-26T10:50:08.530
Keltari is asking why you're using 1.25, not "are you using 1.25" – phuclv – 2016-08-26T16:31:51.930
I don't find any reason for running such ancient 35-year-old DOS nowadays, especially when DOS already has versions 6/7/8. But it would be an interesting topic on http://retrocomputing.stackexchange.com/
– phuclv – 2016-11-26T10:34:49.627