• Please review our updated Terms and Rules here

What are you running your TRS-80 emulators on??

acenewman

Experienced Member
Joined
Apr 6, 2020
Messages
117
Location
Farmington MI
I had the chance to pick up a Model 3 locally a couple of weeks ago and did. After addressing a few minor issues it is up and running. So far I have used my IBM AT (has a 360K drive) to make a couple DOS (TRSDOS & LDOS) disks. Assuming I can find IMD or DMK files it seems pretty strait forward and works fine. The problem of course is that most the disk images I am finding are in DSK format. Are there tools out there to accomplish a DSK to IMD or DMK conversion that run in MS-DOS that I could use on my IBM AT?? So far I have not found anything.

All of my research so far seems to indicate that I need to get an emulator up and running if I am going to get very far. So I was curious what types of machines you are running your TRS-80 emulators on? Is this something I can do with an old 486 or Pentium?? Assuming I would want something of that era so I can use a 360K drive in it?? I do have a couple old motherboards I could probably build up a 486 if needed. Currently I have IBM AT and older machines or windows 7 machines.

Also what version of windows are you running? Seems that most of the tools I find for manipulating disk images are for windows. Does it need to be a DOS based version of Windows?

Again, I would prefer to do this all in MS-DOS 6.22, but I keep getting the feeling I need to bite the bullet and get an emulator running with a 360K drive.

Any feedback is greatly appreciated. Thanks, Chris
 
Chris,
If you go here http://www.trs-80.com/wordpress/dsk-and-dmk-image-utilities/
There are the following File Converter Programs.
1. TRSTOOLS V 11.3
2. TRSREAD & TRSWRITE
3. X.CMD
4. DiskManip
5. .cw2dmk

For MSDOS Ver 6.22 & Ver 7.X I'd use David Keil's Emulator. http://www.classiccmp.org/cpmarchives/trs80/mirrors/www.discover-net.net/~dmkeil/
I used to run it under DOSBox in Linux, but something changed in Linux so it no longer boots the emulator in DOSBox.

LAPTOP, or DESKTOP If you want Floppy Drive Access. Or you can work on Images (.DSK, .DMK, etc.) and then create .IMD
or .RAW Files to write with LIBDSK's DSKTRANS, or DSKDUMP.

http://forums.debian.net/viewtopic.php?f=16&t=67657&p=385953&hilit=XTRS#p385953
http://forums.debian.net/viewtopic.php?f=16&t=61891&p=359796&hilit=XTRS#p359796
http://forums.debian.net/viewtopic.php?f=16&t=61890&p=359793&hilit=Keil#p359793
http://forums.debian.net/viewtopic.php?f=16&t=66644

Once you have the .DMK (or .SCP Files = Supercard Pro) you can use SAMDISK to create the .IMD file.
https://simonowen.com/samdisk/
https://simonowen.com/samdisk/formats/


LIBDSK's DSKTRANS commnd can also write to Physical Floppy's.

http://forums.debian.net/viewtopic.php?f=16&t=112244



Larry
 
Last edited:
Larry,
Thanks for the feedback. David Keil's emulator was not one I had found yet. Going to give it a try now. Thanks, Chris
 
I used to run it under DOSBox in Linux, but something changed in Linux so it no longer boots the emulator in DOSBox.
Tested latest Linux kernel (5.10.1), dosbox 0.74 with TRS80.EXE and TRS81.EXE (both version 6.20): boots LDOS 6.3.0 and NewDOS/80 2.0 disk images here ...
Could you provide some data about your Linux system?
 
I have Debian 9.13 (stretch) - 64 Bit - Kernel 4.9.0-14-amd64. I need to upgrade to Ver 10.x
There is kernel 4.19 in the backports, but 4.9 also works here (Debian "stretch") ... something in your DOSBox config?
 
I don't think so, but here is what I have in the file:
Code:
# This is the configurationfile for DOSBox 0.74. (Please use the latest version of DOSBox)
# Lines starting with a # are commentlines and are ignored by DOSBox.
# They are used to (briefly) document the effect of each option.

[sdl]
#       fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back)
#       fulldouble: Use double buffering in fullscreen. It can reduce screen flickering, but it can also result in a slow DOSBox.
#   fullresolution: What resolution to use for fullscreen: original or fixed size (e.g. 1024x768).
#                     Using your monitor's native resolution with aspect=true might give the best results.
#                     If you end up with small window on a large screen, try an output different from surface.
# windowresolution: Scale the window to this size IF the output device supports hardware scaling.
#                     (output=surface does not!)
#           output: What video system to use for output.
#                   Possible values: surface, overlay, opengl, openglnb.
#         autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock)
#      sensitivity: Mouse sensitivity.
#      waitonerror: Wait before closing the console if dosbox has an error.
#         priority: Priority levels for dosbox. Second entry behind the comma is for when dosbox is not focused/minimized.
#                     pause is only valid for the second entry.
#                   Possible values: lowest, lower, normal, higher, highest, pause.
#       mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the defaul value.
#     usescancodes: Avoid usage of symkeys, might not work on all operating systems.

fullscreen=false
fulldouble=false
fullresolution=original
windowresolution=original
output=surface
autolock=true
sensitivity=100
waitonerror=true
priority=higher,normal
mapperfile=mapper-0.74.map
usescancodes=true

[dosbox]
# language: Select another language file.
#  machine: The type of machine tries to emulate.
#           Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# captures: Directory where things like wave, midi, screenshot get captured.
#  memsize: Amount of memory DOSBox has in megabytes.
#             This value is best left at its default to avoid problems with some games,
#             though few games might require a higher value.
#             There is generally no speed advantage when raising this value.

language=
machine=svga_s3
captures=capture
memsize=16

[render]
# frameskip: How many frames DOSBox skips before drawing one.
#    aspect: Do aspect correction, if your output method doesn't support scaling this can slow things down!.
#    scaler: Scaler used to enlarge/enhance low resolution modes.
#              If 'forced' is appended, then the scaler will be used even if the result might not be desired.
#            Possible values: none, normal2x, normal3x, advmame2x, advmame3x, advinterp2x, advinterp3x, hq2x, hq3x, 2xsai, super2xsai, supereagle, tv2x, tv3x, rgb2x, rgb3x, scan2x, scan3x.

frameskip=0
aspect=false
scaler=normal2x

[cpu]
#      core: CPU Core used in emulation. auto will switch to dynamic if available and appropriate.
#            Possible values: auto, dynamic, normal, simple.
#   cputype: CPU Type used in emulation. auto is the fastest choice.
#            Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch.
#    cycles: Amount of instructions DOSBox tries to emulate each millisecond.
#            Setting this value too high results in sound dropouts and lags.
#            Cycles can be set in 3 ways:
#              'auto'          tries to guess what a game needs.
#                              It usually works, but can fail for certain games.
#              'fixed #number' will set a fixed amount of cycles. This is what you usually need if 'auto' fails.
#                              (Example: fixed 4000).
#              'max'           will allocate as much cycles as your computer is able to handle.
#            
#            Possible values: auto, fixed, max.
#   cycleup: Amount of cycles to decrease/increase with keycombo.(CTRL-F11/CTRL-F12)
# cycledown: Setting it lower than 100 will be a percentage.

core=auto
cputype=auto
cycles=auto
cycleup=10
cycledown=20

[mixer]
#   nosound: Enable silent mode, sound is still emulated though.
#      rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
# blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged.
#            Possible values: 1024, 2048, 4096, 8192, 512, 256.
# prebuffer: How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=44100
blocksize=1024
prebuffer=20

[midi]
#     mpu401: Type of MPU-401 to emulate.
#             Possible values: intelligent, uart, none.
# mididevice: Device that will receive the MIDI data from MPU-401.
#             Possible values: default, win32, alsa, oss, coreaudio, coremidi, none.
# midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use.
#               See the README/Manual for more details.

mpu401=intelligent
mididevice=default
midiconfig=

[sblaster]
#  sbtype: Type of Soundblaster to emulate. gb is Gameblaster.
#          Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none.
#  sbbase: The IO address of the soundblaster.
#          Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300.
#     irq: The IRQ number of the soundblaster.
#          Possible values: 7, 5, 3, 9, 10, 11, 12.
#     dma: The DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
#    hdma: The High DMA number of the soundblaster.
#          Possible values: 1, 5, 0, 3, 6, 7.
# sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer.
# oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'.
#          Possible values: auto, cms, opl2, dualopl2, opl3, none.
#  oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well).
#          Possible values: default, compat, fast.
# oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly).
#          Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000.

sbtype=sb16
sbbase=220
irq=7
dma=1
hdma=5
sbmixer=true
oplmode=auto
oplemu=default
oplrate=44100

[gus]
#      gus: Enable the Gravis Ultrasound emulation.
#  gusrate: Sample rate of Ultrasound emulation.
#           Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#  gusbase: The IO base address of the Gravis Ultrasound.
#           Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300.
#   gusirq: The IRQ number of the Gravis Ultrasound.
#           Possible values: 5, 3, 7, 9, 10, 11, 12.
#   gusdma: The DMA channel of the Gravis Ultrasound.
#           Possible values: 3, 0, 1, 5, 6, 7.
# ultradir: Path to Ultrasound directory. In this directory
#           there should be a MIDI directory that contains
#           the patch files for GUS playback. Patch sets used
#           with Timidity should work fine.

gus=false
gusrate=44100
gusbase=240
gusirq=5
gusdma=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker: Enable PC-Speaker emulation.
#    pcrate: Sample rate of the PC-Speaker sound generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#     tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'.
#            Possible values: auto, on, off.
# tandyrate: Sample rate of the Tandy 3-Voice generation.
#            Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716.
#    disney: Enable Disney Sound Source emulation. (Covox Voice Master and Speech Thing compatible).

pcspeaker=true
pcrate=44100
tandy=auto
tandyrate=44100
disney=true

[joystick]
# joysticktype: Type of joystick to emulate: auto (default), none,
#               2axis (supports two joysticks),
#               4axis (supports one joystick, first joystick used),
#               4axis_2 (supports one joystick, second joystick used),
#               fcs (Thrustmaster), ch (CH Flightstick).
#               none disables joystick emulation.
#               auto chooses emulation depending on real joystick(s).
#               (Remember to reset dosbox's mapperfile if you saved it earlier)
#               Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none.
#        timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away).
#     autofire: continuously fires as long as you keep the button pressed.
#       swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks.
#   buttonwrap: enable button wrapping at the number of emulated buttons.

joysticktype=auto
timed=true
autofire=false
swap34=false
buttonwrap=false

[serial]
# serial1: set type of device connected to com port.
#          Can be disabled, dummy, modem, nullmodem, directserial.
#          Additional parameters must be in the same line in the form of
#          parameter:value. Parameter for all types is irq (optional).
#          for directserial: realport (required), rxdelay (optional).
#                           (realport:COM1 realport:ttyS0).
#          for modem: listenport (optional).
#          for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
#                         transparent, port, inhsocket (all optional).
#          Example: serial1=modem listenport:5000
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial2: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial3: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.
# serial4: see serial1
#          Possible values: dummy, disabled, modem, nullmodem, directserial.

serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
#            xms: Enable XMS support.
#            ems: Enable EMS support.
#            umb: Enable UMB support.
# keyboardlayout: Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=auto

[ipx]
# ipx: Enable ipx over UDP/IP emulation.

ipx=false

[autoexec]
# Lines in this section will be run at startup.
# You can put your MOUNT lines here.

It should be the default, as I didn't change it, if I'm remembering correctly.

Larry
 
Jenz,
I execute DOSBox and then manually mount the path to my TRSDOS directory.
Code:
Z:\> mount c ~\TRSDOS
Drive C is mounted as local directory /home/larry/TRSDOS/

Z:/>
C: <ENTER>

C:\> TRS80.EXE

Now it runs properly. I haven't tested it for a good while.

To Exit I use these commands after SHIFT F10 Exit's the Emulator.

Code:
C:\>
Z:\> mount -u c
Drive C has successfully been removed.

Z:\>
EXIT


Larry
 
Last edited:
Quick update.

I pieced together a Pentium 233 MHz machine today after work and have David Keil's emulator running under DOS 6.22. 360K drive seems to be reading and writing IBM disks as it should. Will hopefully give writing out some TRS-80 disks a try soon, work permitting. Thanks for the info. Will keep you posted on my progress. Chris
 
Chris,
Good Deal. You can run Dave Dunfield's IMAGEDISK utility TESTFDC.COM to see how your Floppy Disk Controller (FDC)
is working for the various formats. If you need a different FDC you can locate an Adaptec AHA-1522 or AHA-1541
SCSI FDC and just disable the SCSI portion. I'm using the AHA-1522 (if I remember correctly). I'd have to look
to make 100% sure. The FDC IC needs to be a National Semiconductor National DP8473 as per Chuck(G).

http://www.vcfed.org/forum/showthre...-floppy-controller&highlight=Adaptec+AHA-1522
Posting #4

Larry
 
Last edited:
David Keil's emulator running under DOS 6.22.
There was a slightly newer version (6.21) of David Keil's emulator on Ira's site ... but links are gone now ...

360K drive seems to be reading and writing IBM disks as it should.
Probably already known, but https://tim-mann.org/trs80faq.html has tons of valuable informations ...
If Linux is also an option: an old distribution (Debian 2, 3 or 4) will run on the Pentium 233 (MMX?) and with Tim's emulator xtrs you can read real floppy disks too: Debian 2.2 on vintage hardware (AMD K6-II 500 Mhz, ASUS P5A MB, Matrox G400, 360K drive) runs just fine here ...
 
So finally ran the IMD TESTFDC.COM check. Results were:

SD 250 kbps pass
DD 250 kbps pass

But I got a failed result for DD 250 kbps / 128byte sector size. Did a little googling and looks like this is related to primarily 8" disk formats??

So I am thinking this means I should be able to write disk images back to physical floppies for the model 3 with the new machine.

One other question, I was under the impression I could access the physical drive and write to it using David Keil's emulator but I am not seeing any options for picking a physical drive in the config screen??
 
Back
Top