home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
DRI-archive
/
roche
/
DUMPASC2.TXT
< prev
next >
Wrap
Internet Message Format
|
2009-12-11
|
6KB
From: "French Luser" <Bill.Ga...@microsoft.com>
Newsgroups: comp.os.cpm
Subject: DUMPASC for CP/M-86 (Plus) Improved
Date: Fri, 26 Nov 2004 12:54:44 +0100
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Lines: 126
Message-ID: <41a718ee$0$16368$8fcfb975@news.wanadoo.fr>
Organization: les newsgroups par Wanadoo
NNTP-Posting-Host: APoitiers-106-2-3-49.w81-248.abo.wanadoo.fr
X-Trace: 1101469934 news.wanadoo.fr 16368 81.248.43.49:21882
X-Complaints-To: abuse@wanadoo.fr
DUMPASC.TXT by Emmanuel ROCHE
-----------
Improved DUMPASC Utility for CP/M-86 (Plus)
For years, I used DUMPASC (a little variation of the DUMP.ASM
example program provided by Digital Research since CP/M 1.4) to
have a quick look at the messages contained inside program
files.
One of the first thing that I did when moving to the 8086
version of CP/M Plus, was to use DRI XLT-86 to translate it in
8086 assembly language.
I published it in the comp.os.cpm Newsgroup several years ago.
Recently, I was finally able to build a custom "IBM Clown"
running at 400-MHz, specially made just to use CP/M-86 Plus.
Previously, I used a TANDON 286 running at 12-MHz.
I am now able to see the CP/M Plus utilities running much faster
than on my beloved Epson QX-10, using a Z-80 at 4-MHz, that was
my workhorse during 15 years. I am happy.
The only thing missing, to finally stop using 8-bit programs,
are WS4 for CP/M-86 and Mallard-86 BASIC for CP/M-86 or
Concurrent CP/M. (Did you hear, Santa Claus?)
For exploring the various versions of programs that appear from
time to time, I continue to use heavily DUMPASC.
However, with my Super Whizzo running at 400-MHz, I sometimes
miss some messages now. I decided it was time to "improve" it.
So, since the details of the SYSVAR (replacing the SCB) of
CP/M-86 Plus are now known, I "improved" it.
However, it then refused to run under the CMP86.EXE emulator
under MeSsy-DOS... Obviously, this emulator emulates CP/M-86
Version 1.x, so don't know about Version 3.1. (Too bad that its
source code is not available...)
Since I still use WS4 and Mallard-86 BASIC under MeSsy-DOS to
write the documentation and develop CP/M-86 Plus programs, I
needed to keep it portable.
So, I removed the code asking the operating system how many
lines the screen has, and replaced it by a very simple line
counter. When it reaches 22, the program waits for a keypress.
I chose this value to be compatible with TYPE. As displayed by
SYSVAR and SYSDAT, the standard line number for DRI OSes on IBM
Clown hardware is 24. This is because Concurrent CP/M and DOS
Plus have a Status Line at line 25. Hence this setting at 24
lines. However, this means that there are 3 lines overlapping
under CP/M-86 Plus. I decided that this was not a bug, but a
feature, since it make reading the messages so much easy.
If you need to change this setting, there is a byte at the end
of the program with the value 22 (decimal).
I also took this opportunity to change the character displayed
after the offset. Under 8-bit CP/M Plus, I always used the ":"
character. Unfortunately, the Newbies at Intel who "designed"
the 8086 choose to use ":" as the separator between segments and
offsets... So, from now on, all my 16-bit dumps will use the "|"
character.
Example: A>dumpasc dumpasc.cmd
0000| ................................................................
0040| ................................................................
0080| .......Z.......<.u .......u..#.\....}.<.t...0.....^....e...<Cu.C
00C0| ..<Ou.C..<Mu............X.S...[r0....$?u.....7...r....a....\..|.
0100| /.. .*..C.........*.......<.s.< s.....SRQ....YZ[.SRQ......YZ[...
0140| .........$.<.s..0...7.......P.............X.............X.<.u..&
0180| ...t..........X...........2..|..\......SRQ.\.....YZ[..\.:.].u...
01C0| ]..PSQR....ZY[X.l...]...........................................
0200| ................................................................
0240| ................................................................
0280| ................................................................
02C0| .................................DUMPASC-86 by Emmanuel ROCHE...
0300| File not found.$...No records exist (zero-length file).$........
0340| ................................................................
As you can see, the improved version is not much bigger than the
first 8086 version. This must be the most portable CP/M program
ever... Its logic is quite Old-Fashioned. When re-reading the
code, I saw dozens of places where I would write it differently,
now. However, there is an English saying: "If it is not broke,
don't fix it!" And I daily need it. So, I deciced to "play it
safe". In fact, I know of no equivalent MeSsy-DOS program.
Finally, for those still playing with CP/M-86 (Plus), here is
the H86 file:
:0400000300000000F9
:1B000081BB000003DC891E5A01BC9E01E80B013CFF7520BA1D01E8D900E975B2
:1B001B8100B123BA5C00CDE0A07D003C007401C3BA3001E8C100EB5EE8E6FF77
:1B003681BB65008A073C437513438A073C4F750C438A073C4D7505BB0001EB18
:1B00518103BB0000B080A2580153E899005B72308AE88AC3243F751EE8C900F3
:1B006C81E83700D0C8721E8AC7E861008AC3E85C00B07CE82F00B020E82A0061
:1B0087819F439E8AC5E80B00EBC9E82A00B100B200CDE03C7F73043C20730242
:1B00A281B02EEB0B535251B10BCDE0595A5BC3535251B1028AD0CDE0595A5B00
:1B00BD81C3B00DE8EEFFB00AE8E9FFC3240F3C0A73040430EB020437E8D9FFF9
:1B00D881C39F86C45086C4D0C8D0C8D0C8D0C8E8DFFF5886C49EE8D8FFC3B1AD
:1B00F38109CDE0C3A058013C807509E826000AC07402F9C38AD0B600FEC0A24B
:1B010E815801BB800003DA8A070AC0C332C0A27C00BA5C00B10FCDE0C35352CB
:1B01298151BA5C00B114CDE0595A5BC3A05C013A065D017511C6065D010050F5
:13014481535152B101CDE05A595B58E86CFFFE065D01C3F4
:1B0100820044554D504153432D383620627920456D6D616E75656C20524F4367
:1B011B8248450D0A0746696C65206E6F7420666F756E642E240D0A074E6F2022
:1B0136827265636F72647320657869737420287A65726F2D6C656E6774682016
:0701518266696C65292E240A
:02015C82160009
:00000001FF
A>That's all, folks!
Yours Sincerely,
"French Luser"
EOF