• Please review our updated Terms and Rules here
  • Exhibitor application for VCF West 2022 is now open! If you are interested in exhibiting, please fill out the form here.

Model 2 emulator?

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,509
Location
Western North Carolina, USA
Has anyone written a Model 2 emulator?

Yes. The MESS/MAME project has a Model II 'driver' (that's what they're called in MESSian) and last I checked it will boot most Model II FLOPPY-ONLY OSes fine.

ProjectMESS System Info page: http://www.progettoemma.net/mess/system.php?machine=trs80m2

Download page: http://www.mamedev.org/release.html

ROMs are available on Archive.org, just search for "MESS_0.151_Software_List_ROMs" and grab trs80m2.zip directly from archive.org.

There are several threads about this archived here on VCF, but they're several months old. EDIT: So, I'm going to rebuild the most recent version, 0.175, and test again....... I'll report back when done (last time took several hours to build then test.....)

EDIT: While I got 0.175 to build, and it boots LS-DOS 6.3.1 up to the date prompt, it seems to have the bug where the keyboard isn't operating. The last version I have used where the keyboard operates (but only if LS-DOS 'double boots') is 0.155, but I'll try some more. Do note that gcc 5 is required for the build of 0.175; 4.9.2 is not new enough.
 
Last edited:

pski

Moderator
Staff member
Joined
Nov 26, 2014
Messages
1,843
Location
New York
AFAIK, MESS provides the only Model II emulator available. I have Mess 0.170 running on my Macbook Pro. If you have a Mac, you can get the latest binaries here http://sdlmame.lngn.net. For windows, go here: http://mamedev.org/release.html


I can boot and run LS-DOS 6.3.1 and TRSDOS for Model II fine in my setup using the trs80m2 ROM that lowen mentioned.

Screen Shot 2016-07-14 at 6.03.23 PM.jpgScreen Shot 2016-07-14 at 6.06.50 PM.jpg

Getting all of the components downloaded and installed takes some patience as its all fairly confusing, especially since MESS is now part of MAME. Usage is a little cryptic, but essentially you pass a few parameters to the mame executable, passing the ROM image of the computer you want to run and a floppy image

e.g. ./mame64 trs80m2 ./media/LS-DOS63.IMD

As lowen mentioned, there are a lot of limitations, like no HD support, no RS232 support, etc. and you certainly don't get the full Model II experience.

Many of the images from https://github.com/pski/model2archive work well.
 

Dustym

Experienced Member
Joined
Sep 2, 2009
Messages
196
Location
Lincolnshire U.K.
Thanks guys, it was just that I was asked a couple of days ago, and I didn't know !
I've found various CP/M emulators but not a M2.
I'll use you info and publish it in the Sept. TRS8BIT newsletter if it'd OK with you.
 

Hans01

Experienced Member
Joined
Feb 17, 2014
Messages
459
Location
Netherlands
Hi guys, pski I don't agree with you, most of the MII files didn't load or boot.
LSDos only boot after a kind of reboot during load. Can't find most files on a disk. (File not found error)
Awful interface to work with.
I have used all available BIOS versions, different older mame versions.
The keyboard interface gives many wrong characters and problems.
The directory structure is not very easy to use.
I think it is giant piece of work and would work for most computers, but for the ModelII family it is not a serious emulator.

Btw I use Windows 7 Ultimate 64 bit.
 

pski

Moderator
Staff member
Joined
Nov 26, 2014
Messages
1,843
Location
New York
Hi guys, pski I don't agree with you, most of the MII files didn't load or boot.
LSDos only boot after a kind of reboot during load. Can't find most files on a disk. (File not found error)
Awful interface to work with.
I have used all available BIOS versions, different older mame versions.
The keyboard interface gives many wrong characters and problems.
The directory structure is not very easy to use.
I think it is giant piece of work and would work for most computers, but for the ModelII family it is not a serious emulator.

Btw I use Windows 7 Ultimate 64 bit.

Agreed Hans01, it is not on the same level as some of the MI/III/4 emulators, but it's all we have for the MII. However, most of the software runs fine for me on the Mac. It sounds like the Windows version is more problematic based on you and lowen's experience.
 

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,509
Location
Western North Carolina, USA
Hi guys, pski I don't agree with you, most of the MII files didn't load or boot.
LSDos only boot after a kind of reboot during load. Can't find most files on a disk. (File not found error)

Hans, immediately after boot you need to 'do mod12/jcl' and then it will work. There are caveats:
1.) Double-sided disk images don't seem to work properly;
2.) Sometimes you need to boot multiple times to get LS-DOS to 'double boot' but once it does boot it runs ok
3.) Read/write images last time I tested aren't fully working, but last I tested was quite a long time ago.
Awful interface to work with.

It's some better in windowed mode, and it's far superior to the plain xtrs. In my trs80m2.ini I I have the following options set:
Code:
#
# OSD VIDEO OPTIONS
#
video                     auto
numscreens                1
window                    1
keepaspect                1
maximize                  0
waitvsync                 0
syncrefresh               0
I have used all available BIOS versions, different older mame versions.
The keyboard interface gives many wrong characters and problems.
The directory structure is not very easy to use.
I think it is giant piece of work and would work for most computers, but for the ModelII family it is not a serious emulator....

It needs work, especially and including a dump of the keyboard ROM from the keyboard's microcontroller (and once I get a bit of time to do it, I'm going to disassemble the Model II keyboard I have and perform this dump, now that I have a 6000 keyboard).

But MAME has the only mostly-working Model II emulator out there at the moment. There was another rumored a long time ago, but I haven't seen anything from it (and I would love to be proven wrong). The debugger interface is pretty good, too, and acts like a real ICE for the Z80. This is how I debugged the LS-DOS boot code a couple of years ago and helped fix a data address mark bug in the WD 1791/3 emulation. (I single-stepped the whole bootloader of LS-DOS 6.3.1 all the way up to the loading of the directory to pull in SYS0, which is where the WD emulation threw an error due to an improper data address mark handler).

I would respectfully disagree and say that it is a "serious emulator in a beta test state."

As to the keyboard character map, it is apparently intended to emulate the physical layout of the MII keyboard rather than just use the PC characters unmodified. The keyboard map is easily available; after starting the emulator hit ScrollLock, then TAB for the menus, then select 'Input (this Machine)' and the keyboard mapping is available (and editable). This is a 'MAME-ism' and is true of all of the MAME drivers. You should be able to rearrange keycaps on a PC keyboard so that the actual physical layout is very very close to the MII layout.

Thanks guys, it was just that I was asked a couple of days ago, and I didn't know !
I've found various CP/M emulators but not a M2.
I'll use you info and publish it in the Sept. TRS8BIT newsletter if it'd OK with you.

Dusty, I think it's a wonderful idea to do something in TRS8BIT for it, including a call for developers to help make the Model II emulator more robust and better behaved. The MESS/MAME framework already has all of the hard parts done, like the Z80DMA, CTC, and SIO chips; working DMA; and interrupt mode 2, which are all hard and none of which are implemented in any of the other TRS-80 emulators. There is the skeleton for the 68000 board set, but it is just that, a bare skeleton.

And I don't mind being quoted for an article.

EDIT:
Agreed Hans01, it is not on the same level as some of the MI/III/4 emulators, but it's all we have for the MII. However, most of the software runs fine for me on the Mac. It sounds like the Windows version is more problematic based on you and lowen's experience.

I'm on Linux, CentOS 7 to be exact.
 
Last edited:

Hans01

Experienced Member
Joined
Feb 17, 2014
Messages
459
Location
Netherlands
@Iowen,
I didn't know you are involved in this huge project. I hope I have not disappoint you with my comment on the emulator.
Your advised setup makes a lot of difference. It is working a lot better now.
Yes, the name "serious emulator in a beta test state." fits much better with this Model II project.
I'am sorry but the user interface keeps a terrible tool and it takes hours to change and find the options.
How do I change the CPU speed, the available disks, video choices, etc and SAVE them for this machine.

I hope you find some time to improve the emulator, for this is all we have at the moment.:D
 

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,509
Location
Western North Carolina, USA
@Iowen,
I didn't know you are involved in this huge project. I hope I have not disappoint you with my comment on the emulator.

No, Hans, your comments were accurate; I definitely don't want to make the impression that the MAME trs80m2 emulator is ready for beginners.
Your advised setup makes a lot of difference. It is working a lot better now.

I'm glad to hear it!
Yes, the name "serious emulator in a beta test state." fits much better with this Model II project.
I'am sorry but the user interface keeps a terrible tool and it takes hours to change and find the options.
How do I change the CPU speed, the available disks, video choices, etc and SAVE them for this machine.

Yes, there are definitely usability issues with the emulator's user interface.....

I hope you find some time to improve the emulator, for this is all we have at the moment.:D

I'm working on a few things on the Z80 side; while I have helped find and fix a bug or two, I am certainly not really up-to-date on the development internals of MAME; as you say, it is a huge project. The built source+binary tree for 0.175 on my Linux laptop takes about 2GB of space. I'm trying to help in those areas related to the Model II itself as opposed to the C++ code doing the emulation, as it is a massive project with a pretty steep learning curve to get started developing inside the core of the emulator system. So, dumping the keyboard ROM: that's something I can do and something that doesn't require deep C++ skills and a deeper knowledge of the MAME codebase. Testing and debugging the Z80 code to find bugs: that's also something I can do, and probably something those who do have the deep C++ skills and the knowledge of the MAME codebase might not be able to do. Many ways to help!
 

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,509
Location
Western North Carolina, USA
How do you go about getting a ROM added to MAME?

I looked at the process one time, but at that time I didn't have the hardware in hand.... there is a mametesters post on how to dump the 8031, and that would be the start. It's been long enough ago that the process may have changed, and I don't remember right off. It was from before the MAME/MESS merge, so a couple or three years ago.

I'll need to look into it.
 

Hans01

Experienced Member
Joined
Feb 17, 2014
Messages
459
Location
Netherlands
After a whole day of testing, here are some remarks about working with mame.

First read the first email from Iowen.
Download the trs80M2 project and unzip it in a map (p.e. mame)
Download the M2 roms and expand these in mame/roms/trs80m2 map
Download the images you need from the model2/archive and put them in mame/disks/trs80m2 map

Select now the trs80m2 machine.
Do the machine setup and the ui setup.
Don't forget to save them.


Boot the machine.
Skip the info screens and wait for the "Insert Diskette" message
Now quick press "ScrollLock and after that "Tab"
Now you see a new menu.
First press "Slot Devices", setup the drives and printer and press "Reset" twice
to store the info. This is not permanent and must be done after every restart.

Press "ScrollLock and after that "Tab" again and go the file manager
navigate to the mame file map and choose the files for drive 0 up to 3.
Don't forget to reset your selection.

Now choose "Read-only", this is the only option to work with a disk without
modifying him. Press Reset again.

The machine will now reboot and boot your disk.

If you want to write to a disk, it is more complex.
First make a copy of an existing disk and give it a new name (e.g. mame.imd)
Load your disk in slot0 and mame.imd in slot1 and select "Read-write"
Reboot and and Purge mame.imd. Now you have an empty disk.

If you use a disk from the archive you can choose for "Read this image, write to another image"
You have to supply a new name and need to create it. You can choose only two formats.
(mame format and HxC format))

You can format the disk now if you want.
Diskcopy gives an error after a few tracks

There are much more things to discover, here are some I met.

The system is sometimes very slow, I have set the cpu speed at 6x, but still slow.

It only works with:
TRSDOS 2.0 versions (Try some different BIOS versions)
Some CP/M versions
LSDOS 6.3.1 (Only version 5 BIOS. And only after a double boot and run "Do Mod12/jcl" first)
Use Ctrl C for BREAK

No boot or boot error's with
TRSDOS 1.1
TRSDOS 1.2 (partial with Bios version 1)
TRSDOS-II 4.2
DOSPLUS II

Remember this is only my personal experience, any comments are welcome.
 
Last edited:

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,509
Location
Western North Carolina, USA
After a whole day of testing, here are some remarks about working with mame.

Hans, thanks for taking the time to do this!

First read the first email from Iowen.

I also posted a couple of years ago on the same topic; search through this subforum on MESS and there are several posts over the years.

...
First press "Slot Devices", setup the drives and printer and press "Reset" twice
to store the info. This is not permanent and must be done after every restart.

You can set the slot devices in your trs80m2.ini; you can generate this file with './mame64 trs80m2 -createconfig' which will create 'mame.ini' which you can then rename to 'trs80m2.ini' and you can then edit this file. Along with the edits I gave in my previous post, you can do something like the below:
Code:
#
# SLOT DEVICES
#
u6:0                      8dsdd
u6:1                      8dsdd
u6:2                      
u6:3                      
j2                        printer

#
# IMAGE DEVICES
#
floppydisk                /home/lowen/development/mame-0175/L2-631SS.IMD
printer                   
floppydisk2               /home/lowen/development/mame-0175/L2-631DS.IMD

Substitute the paths to the images you want.

...
Remember this is only my personal experience, any comments are welcome.

Thanks for the thorough review and explanations.
 
Joined
Nov 22, 2005
Messages
29
Greeting all.

I've not been well enough recently to participate in much, but I do still try to read some things including this forum.

Ian gave me a heads-up a few days ago about you guys talking about a Model II emulator, and asked me for my thoughts; as some know, I began writing a Model II accurate emulator back in may 2006, and I've been attempting to finish it ever since. It's 'working', but still exhibits some of the same foibles as franken-MESS/MAME-II. The keyboard and display work in a more accurate way than Mame-II does, certainly.

I think the problems that exist with both mine and Mame-II are because the code does not do exactly what a real Model II hardware system does. The executed z80 code listings generated from Mame-II and my emulator both differ from what a real Model II does when booting and beyond, from the listing I've generating with an ICE. Everything seems to get unstuck with the emulators about the HALT/INT sequences, and the FDC FDIV INTerrupt command and acknowledgement routine. I believe this is what's causing most of the trouble with booting on an emulator.

LS-DOS 631A seems to be the exception to this rule on my emulator:
LS-DOS 6.3.1A.jpg
The bottom line (25) is a peek into the keyboard type-ahead buffer, if you were wondering.

No boot or boot error's with
TRSDOS 1.1
TRSDOS 1.2 (partial with Bios version 1)
TRSDOS-II 4.2
DOSPLUS II

Some CP/Ms refuse to work because they require writing back to the disc (image) whilst booting, which Mame-II doesn't allow with the IMD format.

Which version of DosPlus II did you use, Hans? was in A.00, A.01, or A.01 with the 'Date Enhancement' to make it work past 1987 (which is just shifting the goalposts from 1980-87 to 1987-94)? I know I got DosPlus II v A.00 working in v147(?) of MESS, but that seemed to disappear by v153.

TRSDOS 1.2 and 2.0 have the most convoluted code of anything I have ever seen, there's stuff in there I cannot fathom the purpose of, even though I've been looking at it for at least 7 years now. TRSDOS-II doesn't want to work if it cannot see the extra memory and/or the extra ports for the 68k board IIRC. It also is one that writes back to the disc whilst booting.

The thing that interests me the most is mentioning TRSDOS 1.1, Hans. In over 35 years of Model II enthusiasm, I've never managed to get a copy of it. By the time I began working at Tandy HQ in November of 1979, they had copies of 1.2 - I'm not exactly sure they ever had copies of 1.1, as it was only sent with Model IIs between May-Sept 1979 before the Model II was imported into Australia. The only time I came close was an ebay auction about 10 years ago - which I won, but the seller refused to send it overseas to me and then went AWOL with my over US$250 payment! That's where the pictures of TRSDOS 1.1 came from that are in the Model II archive. So, Hans, could you please please send a copy of this elusive TRSDOS to the https://github.com/pski/model2archive, so that I can work with it? I'd be so grateful.

After this effort at a reply, i'm going to back to bed for a while.

Aaron

PS: Pete and Lamar; I'll reply to your emails very soon, I promise - sorry for dropping off the end of the world.
 

Hans01

Experienced Member
Joined
Feb 17, 2014
Messages
459
Location
Netherlands
@Aaron.

Thank you for all the information you supplied, but I have to disappoint you about the TRSDOS 1.1
I have used the pski archive to test the images and some of them from my own archive.
There is no TRSDOS 1.1 in it.
I put them on the list as not working or not available (no important difference for me at that moment)

I have use Mame version 1.75 to test the software.
I have tested DosPlus version A.01 (Locks after setup the system time) and A.00 (disk error)
TRSDOS 1.2 Boots but locks when you try to show a dir.

Some CP/Ms refuse to work because they require writing back to the disc (image) whilst booting, which Mame-II doesn't allow with the IMD format.

I'll try to use an image in HxC format or mame format made by mame with Read/Write rights to boot from.
 
Joined
Nov 22, 2005
Messages
29
@Hans

Oh dear. It seems I got all revved up over a new DOS that you don't have.
I put them on the list as not working or not available (no important difference for me at that moment)
I am disappointed that you don't have TRSDOS 1.1. It's just that when you said:
No boot or boot error's with
TRSDOS 1.1
TRSDOS 1.2 (partial with Bios version 1)
TRSDOS-II 4.2
DOSPLUS II
I didn't think 'no boot' meant 'not available'; I assumed that you had TRSDOS 1.1 - just that it didn't boot or had errors, especially when you put it with the others and qualified TRSDOS 1.2 with the partial.

The image of DosPlus II A.00 in the archive may have the wrong directory sector IDAMs, which resulted in Error 22H, is that right? The LSDOS 6.3.1A image used to give Error 11H - which is the same error; Directory Sector Error - until Tim Mann cleaned and fixed the directory DDAMs in the image. Maybe I just need to write the sectors as DDAMs and re-upload the image? I'll check it when I get back out of bed.

Here's a screencap of the completed A.00 bootup on v147:
DosPlusIIA00.jpg

That's from the image I made from the disk/manual that I had to buy on ebay in 2010 after they were gifted to me 9 months earlier - but the person who gifted them to me failed to be contactable when I travelled from Australia to his CA address (and stayed overnight in his city trying to make contact!) when I went there in 2009. That's making me sad all over again.

Aaron
 

lowen

Veteran Member
Joined
Jan 16, 2014
Messages
1,509
Location
Western North Carolina, USA
Sorry for the length of the post..... had I replied twice in succession it would have been merged anyway......

... That's making me sad all over again.

Aaron

Aaron, it's great to hear from you!

I'm sorry to hear that you've been sick.

At this point the Model II community is rather small; I think actually that the participants in this thread (along with a few others; I originally listed a couple, but I don't want to offend anyone by forgetting to put them in....) are pretty much the 'active' Model II community. I really wish we had more items shared, through pski's model2archive if possible, documenting as best we can. For instance, I would love to help you out with the Model II emulation (and there are others here who would love to help).

Old comp.sys.tandy posts from Frank Durda indicate that the documented behavior and the actual behavior of the Model II and even more so the Model 12 can diverge a significant amount, and while I am in possession of of a 12 in parts along with a spare motherboard I don't have the ICE needed to do the level of debug that you do (although I have thought about making my own ICE from an STM32-based arduino-like dev board).

What I guess I need to do is go back through the MESS/MAME versions and document some of the (mis)behaviors of each version. The current version, 0.175, is so far the best behaved for LS-DOS, although that isn't saying much. Part of that problem is that LS-DOS itself isn't exactly in the best of shape, at least according to Frank.

I also need to get my LS-DOS 6.2 (yes, 6.2.0 beta level AC) imaged or send it to get it imaged. Pski, do you have an eight-inch imaging setup? The 6.2.0/AC image is currently the only thing for which we have pretty complete source code. Aaron, do you have an imaged copy of 6.2? If pski doesn't, I know billdeg has/had an eight-inch capable imaging setup; Bill, is it still operating, and would you be willing and have time to image it? Anyone have a known good setup who would be willing and have the time to image this 6.2 disk? (I have the parts, including a couple of Catweasels, but it's not in what I would call a 'working' condition and I'm not sure I trust the drive I have). Or if anyone has already imaged LS-DOS 6.2......

I have conversed with Frank Durda, and he is OK with getting the Model II source he has in his possession out there, but he is a very busy man and I don't want to pester him.

EDIT: addressing a few points in Aaron's first message....

...
Ian gave me a heads-up a few days ago about you guys talking about a Model II emulator, and asked me for my thoughts; as some know, I began writing a Model II accurate emulator back in may 2006, and I've been attempting to finish it ever since. ....

I hope you get well soon, and thanks, Ian, for giving him the heads-up.

It's 'working', but still exhibits some of the same foibles as franken-MESS/MAME-II. The keyboard and display work in a more accurate way than Mame-II does, certainly.

I think the problems that exist with both mine and Mame-II are because the code does not do exactly what a real Model II hardware system does. The executed z80 code listings generated from Mame-II and my emulator both differ from what a real Model II does when booting and beyond, from the listing I've generating with an ICE.

I understand that you don't feel well, but if when you feel like doing something with it these listings would be extraordinarily valuable to improving the emulation situation if you don't mind sharing. Frank Durda a number of years ago doubted that anyone could get a working Model II emulator at all, much less to the current shape.

Everything seems to get unstuck with the emulators about the HALT/INT sequences, and the FDC FDIV INTerrupt command and acknowledgement routine. I believe this is what's causing most of the trouble with booting on an emulator.

LS-DOS 631A seems to be the exception to this rule on my emulator:....

Do you want some help with it? I remember you being the one that was mentioned in the context of a Model II emulator, but I figured certain aspects of the hardware were a bit difficult to get working and that that was why we hadn't heard anything from it.

Which version of DosPlus II did you use, Hans? was in A.00, A.01, or A.01 with the 'Date Enhancement' to make it work past 1987 (which is just shifting the goalposts from 1980-87 to 1987-94)? I know I got DosPlus II v A.00 working in v147(?) of MESS, but that seemed to disappear by v153.

From a little before 0.150 the DDAM detection in the 'modern floppy' routines for the WD1791 of MESS/MAME was completely hosed. I tracked it down and it was fixed for 0.155. See http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=96070 for the MESS forums thread on the subject along with the resolution. To get LS-DOS to do it's double-take boot on 0.175 I had to set the -ramsize to 64k whereas on 0.155 it double-takes the boot with -ramsize 256k but not 64k. If it doesn't 'double-take' the boot the keyboard doesn't work. My LS-DOS 6.3.1 double-sided images don't work, either, but that might be an image issue (I sent two disks to Tim Mann in 2001 for imaging; one was a double-sided image with a lot of extras on it, and one was a trimmed-down single-sided image). I still have a copy of the DS and SS disks if anyone wants a shot at a fresh image.

TRSDOS 1.2 and 2.0 have the most convoluted code of anything I have ever seen, there's stuff in there I cannot fathom the purpose of, even though I've been looking at it for at least 7 years now. TRSDOS-II doesn't want to work if it cannot see the extra memory and/or the extra ports for the 68k board IIRC. It also is one that writes back to the disc whilst booting....

Mike Yetsko in a comp.sys.tandy post had some things to say about TRSDOS-II, but yes the extra 16k (at a minimum) is required for it. It seemed to need some oddball disk formatting with a hidden extra sector on every track. Something to do with reliable disk change detection as I recall. That's quite a mouthful, that you can't fathom what some of the code is doing in 1.2 and 2.0..... heh, now here's a challenge gp2000 might be able to really sink his teeth into..... :)

PS: Pete and Lamar; I'll reply to your emails very soon, I promise - sorry for dropping off the end of the world.

Don't worry about it; just try to get well, first.
 
Last edited:
Joined
Nov 22, 2005
Messages
29
Everyone,

The community is small, but there are at least 5 people on the board that I know of who have unique 8in media that has not been imaged. I'm sorry if that sounds curmudgeonly, but I'm not well ;) By my count at least 95% of the images in pski's model2archive came from me, beit directly or indirectly. Please people image and share! *cough* *sneeze*

@Lamar
I do have the source code for LS-DOS 6.2, but no disc image. I'm pretty sure Pete can image 8in, but I'll let him respond to that. Yes, the code for 6.2ßAC is a bit of a nightmare, and disassembled 6.3.1A code does show a lot of fixes and bugfixes.

It's good that FDIV is in contact with someone, I feared the worst for a while. I'm very happy that he's going to share what he can, when he can.

It was because of Frank Durda's challenge stating that "it couldn't be done - certainly not in BASIC!" - that I began to write the emulator back in May of 2006, and have successfully got it to the stage where each process thread emulates the main chips (Z80, FDC, DMA, SIO, PIO, CRTC, KB, HDC, Mem, Corvus, CCB-II, and Arcnet) in a sometimes chaotic exchange of windows message passing. Everything is fine, except when the DMA and FDC is involved or INTerrupts are enabled... then it becomes a somewhat capricious beast, not unlike a real Model II.

Even when following the logic of some of the Model II boards, there is endless try-and-fail to accurately emulate some things, because the Model II boards aren't doing what they are supposed to. With the non-reset of the FDC in the RevA and RevB boards (as a result of using cheaper WD1791s) there is no way in the hardware to reset the Z80DMA, let alone be able to predict what state the DMA would have after it does reset itself. That's why TRSDOS 1.2a and 2.0a were brought out, before the RevC board fixed one thing, but broke another! Emulating those foibles is always a challenge, especially when TRSDOS 2.0 delights in reading in the same 6 bytes of sector 26 on any track (except boot) on every revolution of the disc. This involves both endlessly sending in quick succession the FDC INT command, a readsector command, the DMA setup command and then START, it receives (sometimes) an INT from the FDC and then it tries to reset the DMA to stop this from continuing past Byte 6! If not, it tramples the 250 bytes beyond where it needed to stop, which is what I think is killing TRSDOS 2.0 in Mame-II.

The Arcnet process is commented out to a stub, because that board's wacky interfacing to its memory and the 80C26 had so many many problems I gave up (I will deal with it later). Ask Frank about Arcnet boards - I dare you! :)

Goodnight

Aaron
 

kb2syd

Veteran Member
Joined
Mar 7, 2005
Messages
1,758
Location
Wantage, NJ
Aaron:
Great to hear from you.

Everyone,

The community is small, but there are at least 5 people on the board that I know of who have unique 8in media that has not been imaged. I'm sorry if that sounds curmudgeonly, but I'm not well ;) By my count at least 95% of the images in pski's model2archive came from me, beit directly or indirectly. Please people image and share! *cough* *sneeze*

OK, I get the hint. I'll make a list of what I have and post it up for comment. I'll then image in order. It's about time. Most of what I have is for the 16 series running Xenix, but I do have some II specific stuff.

Kelly
 

pski

Moderator
Staff member
Joined
Nov 26, 2014
Messages
1,843
Location
New York
Everyone,
I do have the source code for LS-DOS 6.2, but no disc image. I'm pretty sure Pete can image 8in, but I'll let him respond to that. Yes, the code for 6.2ßAC is a bit of a nightmare, and disassembled 6.3.1A code does show a lot of fixes and bugfixes.

I'm happy to image any Model II disks if people want to send them to me. That's what spurred me to create the archive initially when I got my imaging setup working and had some images to share. It's all about preservation at this point because those disks aren't getting any younger. And no one is going to collect these machines if there is no software available to play with.

It was because of Frank Durda's challenge stating that "it couldn't be done - certainly not in BASIC!" - that I began to write the emulator back in May of 2006, and have successfully got it to the stage where each process thread emulates the main chips (Z80, FDC, DMA, SIO, PIO, CRTC, KB, HDC, Mem, Corvus, CCB-II, and Arcnet) in a sometimes chaotic exchange of windows message passing. Everything is fine, except when the DMA and FDC is involved or INTerrupts are enabled... then it becomes a somewhat capricious beast, not unlike a real Model II.

Even when following the logic of some of the Model II boards, there is endless try-and-fail to accurately emulate some things, because the Model II boards aren't doing what they are supposed to. With the non-reset of the FDC in the RevA and RevB boards (as a result of using cheaper WD1791s) there is no way in the hardware to reset the Z80DMA, let alone be able to predict what state the DMA would have after it does reset itself. That's why TRSDOS 1.2a and 2.0a were brought out, before the RevC board fixed one thing, but broke another! Emulating those foibles is always a challenge, especially when TRSDOS 2.0 delights in reading in the same 6 bytes of sector 26 on any track (except boot) on every revolution of the disc. This involves both endlessly sending in quick succession the FDC INT command, a readsector command, the DMA setup command and then START, it receives (sometimes) an INT from the FDC and then it tries to reset the DMA to stop this from continuing past Byte 6! If not, it tramples the 250 bytes beyond where it needed to stop, which is what I think is killing TRSDOS 2.0 in Mame-II.

This is good stuff. You and Frank need to write a book on all of this! You may only sell 20 copies worldwide though.

The Arcnet process is commented out to a stub, because that board's wacky interfacing to its memory and the 80C26 had so many many problems I gave up (I will deal with it later). Ask Frank about Arcnet boards - I dare you! :)

What I wouldn't give to get my hands on an Arcnet board... :)
 
Top