Hi, some results of experiments with CoCo3 in DOSEMU:

> > > http://www.vavasour.ca/jeff/trs80.html

The coco3 vgacheck crashes as the "28 line double width"
test page (because dosemu 1.4 cannot handle that mode?)
but coco3x itself works in dosemu after copying the ROM
file os9boot.mor into coco3.rom (I have no real TRS80 CoCo
so I have no official coco3 ROM of course). So I can say
that Coco3 works in FreeDOS in general, but of course
dosemu has a completely different "emm386" compared to
freedos emm386 and jemm386. The docs say that you CAN
run coco3 to emulate the 128k model even if you have no
EMS as long as you have the usual few 100k free DOS RAM.

Binaries and MASM 5/6 sources of the Coco3 emu are online :-).
Most of the code looks 8086 compat, with a few lines for 286.
Only hardware.asm and coco3.asm involve 286 and XMS code...

Two suggestions: Try another emm386 variant or try without EMS.



Used EMS calls: 5800, require EMS 4.0 with 8 available pages
(get mappable phys addr array) and map EMS pages in or after
heap space, 43 to alloc 24 or 120 pages, 4e00 "get mapping
registers" (documented as "for multitasking OS only"). Some
calls have error handling but the 4e00 one does not. The
"free EMS" code invokes functions 45 and 4e01, dealloc and
"set mapping registers" (latter is for OS only again)...

The idea is that COCO3 tries to save all EMS mapping info
at startup and restore it when you leave back to DOS...
The mapping handler in hardware.asm uses int 67 function 44
to change maps, but this function is only documented for
phys page numbers 0-3?

I guess the int 67.4e00 / 67.4e01 calls could be replaced
by int 67.4f0n calls for better emm386/win compatibility?

Likewise, int 67.50 might be more EMS-4.0-ish for mapping
outside the first 4 pages (aka 64 kB EMS 3.2 page frame?)

The JEMM386 5.72 source code tells that int 67.4e0n are
already implemented and int 67.44 limits mapping to the
first bEmsPhysPages pages which is 0 (NOEMS?), 4 (EMS3.2)
or more (EMS4.0) depending on UMB availability and JEMM386
command line options, it seems...



Interestingly, DOSEMU reports only 4 mappable pages, EMS 3.2
style, so Coco3 will not try to use EMS at all in DOSEMU ;-)

You can use Quarterdeck Manifest (MFT, now freeware :-)) to
see that kind of information in the tab "expanded", items
"overview" and "pages". Avoid the timing / benchmark stuff,
modern PCs are often too fast for the benchmark part of MFT.



I see no reason why Coco3 could crash without EMM386, but
maybe your HIMEM / HIMEMX has broken A20 handling which is
only fixed by loading EMM386 / JEMM386. In that case, try
the NOEMS or X=a000-ffff or FRAME=NONE or similar options
of (J)EMM386 to make sure that not enough mappable pages
are available and Coco3 will skip EMS in spite of EMM386
being loaded. On the other hand, JEMM386 looks like it can
do everything Coco3 needs, so maybe you only have to add
something like X=????-???? with suitable ???? values to
tell JEMM386 to avoid certain UMB regions. This can be
needed if X=TEST is not safe enough and if you have SATA,
SCSI, USB, network or similar devices using areas that
would be used by (J)EMM386 for UMB space otherwise.



> I have tried jemm, nothing happens without an expanded memory manager.
> The program just hangs without coming up without expanded memory.

How much DOS RAM is free according to MEM /c and did you
try removing the *.cc3 config files to reset coco3 config?

> vgacheck + dskini programs work just fine, it's coco3x that doesn't.

Okay. On plain real hardware, I assume? The coco3 diskette format
looks pretty tweakish, 256 byte sectors and 3:1 interleave etc.
Coco3 even includes tools to convert audio to/from cassette data.

Eric



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to