• Please review our updated Terms and Rules here

Model 2 emulator?

I think the -bios option will do it. For instance, -bios u54.u11

Failing that, there's always the glorious hack of copying the ROM image over top of the one it is currently using. It'll complain about the checksums not matching which won't matter. That might be necessary because I think it only allows you to choose a ROM from a fixed list of names.

Thanks but it does not appear to work as expected.

Peters-MacBook-Pro:mame0170-64bit pski$ ./mame64 trs80m2 -bios u54.u11
u54.u11: invalid bios
65-1991.z4 NOT FOUND (NO GOOD DUMP KNOWN) (tried in trs80m2 trs80m2kb)
FATALERROR: Required files are missing, the machine cannot be run.



EDIT: I tried renaming ROMs to u54.u11 and I think that hack seems to work. I guess it is hardcoded somewhere to load u54.u11?

Peters-MacBook-Pro:mame0170-64bit pski$ ./mame64 trs80m2
u54.u11 WRONG CHECKSUMS:
EXPECTED: CRC(823924b1) SHA1(aee0625bcbd8620b28ab705e15ad9bea804c8476)
FOUND: CRC(7a663049) SHA1(f308439ce266df717bfe79adcdad6024b4faa141)
65-1991.z4 NOT FOUND (NO GOOD DUMP KNOWN) (tried in trs80m2 trs80m2kb)
WARNING: the machine might not run correctly.

 
EDIT: I tried renaming ROMs to u54.u11 and I think that hack seems to work. I guess it is hardcoded somewhere to load u54.u11?

Yes, hard coded in the source code: https://github.com/mamedev/mame/blob/master/src/mame/drivers/trs80m2.cpp

Look near the end of the file:

Code:
ROM_START( trs80m2 )
	ROM_REGION( 0x800, Z80_TAG, 0 )
	ROM_DEFAULT_BIOS( "9733" )
	ROM_SYSTEM_BIOS( 0, "c8ff", "Version 1" )
	ROMX_LOAD( "8043216.u11", 0x0000, 0x0800, CRC(7017a373) SHA1(1c7127fcc99fc351a40d3a3199ba478e783c452e), ROM_BIOS(1) )
	ROM_SYSTEM_BIOS( 1, "2bff", "Version 2 (1981-07-29)" )
	ROMX_LOAD( "8047316.u11", 0x0000, 0x0800, CRC(c6c71d8b) SHA1(7107e2cbbe769851a4460680c2deff8e76a101b5), ROM_BIOS(2) )
	ROM_SYSTEM_BIOS( 2, "2119", "Version 3 (1982-05-07)" )
	ROMX_LOAD( "cpu_2119.u11", 0x0000, 0x0800, CRC(7a663049) SHA1(f308439ce266df717bfe79adcdad6024b4faa141), ROM_BIOS(3) )
	ROM_SYSTEM_BIOS( 3, "1bbe", "Version 3 (1982-05-07, Alt)" )
	ROMX_LOAD( "cpu_11be.u11", 0x0000, 0x0800, CRC(8edceea7) SHA1(3d797acedd8a71a82c695129ca764f85aa9022b2), ROM_BIOS(4) )
	ROM_SYSTEM_BIOS( 4, "fc86", "Version 4 (1982-11-18)" )
	ROMX_LOAD( "cpu_fc86.u11", 0x0000, 0x0800, NO_DUMP, ROM_BIOS(5) )
	ROM_SYSTEM_BIOS( 5, "9733", "Version 5 (1983-07-29)" )
	ROMX_LOAD( "u54.u11", 0x0000, 0x0800, CRC(823924b1) SHA1(aee0625bcbd8620b28ab705e15ad9bea804c8476), ROM_BIOS(6) )

	ROM_REGION( 0x800, MC6845_TAG, 0 )
	ROM_LOAD( "8043316.u9", 0x0000, 0x0800, CRC(04425b03) SHA1(32a29dc202b7fcf21838289cc3bffc51ef943dab) )
ROM_END

ROM_SYSTEM_BIOS, ROMX_LOAD, etc. are C-preprocessor macros that expand to statically initialize some data structure. Nonetheless, you can kinda see how they give the file name, start addresses, lengths, checksums, etc. for each ROM.
 
As far as I recall, the -bios parameter takes a numeric argument. For the M2 it would be 0 through 5. You can add ROMs and then you would need to change the CRC, SHA1, etc for the ROM. Going by your other post it seems you have made some progress in this area, though. gp2000's pointer to the area in the source is very good, thanks gp!
 
Does the current Model II emulation in mame 198 support Hi-Res graphics? I was looking to use the BASICG package and essentially ended up with a blank-screen or nothing when trying to draw something.
 
MAME doesn't support Model II hi-res graphics in the latest release.

I've also noticed a number of graphical glitches in text mode. When I boot TRSDOS 2.0a there's an upper case "I" that gets stuck at the top left of the screen. And switching to 40 character mode often leaves a bunch of text stuck in the margins.
 
Yes I see those glitches too, naturally.. I suppose all we can do is hope the m2 gets more attention in the future. Systems far more obscure have been worked on by the team. So all hope isn't lost.
 
...I suppose all we can do is hope the m2 gets more attention in the future. Systems far more obscure have been worked on by the team. So all hope isn't lost.

Well, if I may interject, there is more that can be done than just hope someone else does the work. MAME is fully open-source, and anyone can submit patches. The reason the m2 isn't getting much attention is because the people doing the work are more interested in other things; developers who are both interested and that have the skills to do the work are needed. The community of users of the m2 is pretty small compared to the communities around many other machines in the MAME list, and, honestly, in order to get much work done in this area, it's going to take more than one good developer who have 1.) working m2s; 2.) time; 3.) the interest in making MAME's trs80m2 emulator better; 4.) the necessary skills for emulator development (a merge of software and hardware skills).

There are several skilled developers in the m2 community here who are more than capable enough to do this.

My C and C++ skills are rather rusty; my Z80 skills aren't that bad, but MAME isn't written in Z80.... :) I've got enough C/C++ ability to read, trace, and help debug the code, but not much more right now. But skills and interest aren't my biggest issue; that would be 'time.' Or, rather, the lack of time. I'm more interested at the moment in some projects on LS-DOS 6.3.1 for the M2, and that's probably where I can best apply myself.
 
Back
Top