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