Portable Tatung Einstein Emulation

General Discussion & Welcome Thread
User avatar
wavemotion
Posts: 9
Joined: Sun Oct 01, 2023 2:54 pm

Portable Tatung Einstein Emulation

Post by wavemotion »

Greetings Programs!

For the past few years, I've been working on a Colecovision emulator for the DS/DSi/XL/LL. It's called ColecoDS and over the years it's grown to include 10 "cousin" systems that share similar hardware (mostly Z80 CPU with a TMS9918/29 VDP and SN or AY sound chip). Obviously the Tatung Einstein falls into such a camp - and recently the emulator got a nice bit of polish on the Tatung Einstein.

The base 64K TC-01 machine is emulated. Both .dsk files and .COM files will play.

Two Tatung Einstein disk drives are supported. The default drive 0: is a standard single-sided, 40 track, 10 sector-per-track diskette with about 190K disk space available. This is the drive that will hold and load your .dsk file image when you run the emulation.

The second drive 1: is a persistent RAM Disk that can be saved back to the SD card on your DS/DSi. This comes pre-formatted (and you can re-initialize it using the DISK icon menu) with 190K of storage. To the emulator, it looks just like a standard second disk drive. You can copy often used programs and utilities to this disk - I use it to stash away a few flavors of XBAS so I've always got the right one on hand to play games.

Both drives support read/write capabilities however, the writing will NOT auto-back those changes to your SD card. I might change that behavior in the future - but for now, any changes written to the emulated disks are transient until you go into the DISK icon menu and save them back to the SD card. I'm fairly confident that the disk write works fine - but until I get more testing hours from field-use, I don't want to inadvertently screw up an original .dsk image and leave the onus on the user to save out the disk for now.

Speaking of disk images, there are several places to find them... but I would recommend seeking out the 'Tatung Einstein Gamebase' which generally has disk images properly formatted and auto-booting for a more streamlined experience. Seek those out.

The hardest part to get right (or at least as right as I could!) was the Z80-CTC emulation. Took weeks to work that out properly.

Lastly, in addition to the standard 8K einstein.rom BIOS file (required for Einstein emulation), you can optionally provide an einstein2.rom file that will load (up to 8K) into 0x4000. This is the extra ROM slot in a real Einstein and can be used to house diagnostics roms or things like flexi-dos.

You can find this free project at my github page: https://github.com/wavemotion-dave/ColecoDS
coleco-ds-tatung.png
coleco-ds-tatung.png (758.27 KiB) Viewed 14825 times
Last edited by wavemotion on Tue Oct 03, 2023 12:03 pm, edited 1 time in total.
User avatar
MikeDHalliday
Posts: 229
Joined: Fri Oct 25, 2019 9:52 am
Location: Crewe
Contact:

Re: Portable Tatung Einstein Emulation

Post by MikeDHalliday »

Nice work.

I need to get my DSLite out of storage and get this up and running. :D
Ex owner of a real TC01 with Gotek boot drive and second drive, Joysticks, DAC hardware (Built but untested) and loads of manuals, books and mags. Living the emulation life now!
Preppie
Posts: 58
Joined: Sat Aug 06, 2022 1:24 pm

Re: Portable Tatung Einstein Emulation

Post by Preppie »

Great work, thanks for including the Einstein in this :)
User avatar
wavemotion
Posts: 9
Joined: Sun Oct 01, 2023 2:54 pm

Re: Portable Tatung Einstein Emulation

Post by wavemotion »

Thanks for the kind feedback guys. I'm definitely a fan of the Albert - if only because I spent so much time reading through the hardware manuals (and this forum) in an attempt to understand this beast of a machine.

The only other emulator that I know of supporting the Einstein was MAME (formally MESS) and for some reason I could never quite get the disk writes to work properly (likely user error on my part). I was pleased to get the disk reads and writes working - my WD1770 driver isn't perfect but it should handle all sector reads/writes and track writes (format) which appears to be enough to run just about anything I've thrown at it.
User avatar
MikeDHalliday
Posts: 229
Joined: Fri Oct 25, 2019 9:52 am
Location: Crewe
Contact:

Re: Portable Tatung Einstein Emulation

Post by MikeDHalliday »

I could never get the writes to work in Mame/Mess so its no user error :D

This might give me more of a chance to do some basic code again and save to disc, even if the screen is a lot smaller.

Now my real machine is sold, I need proper working emulation that can handle everything I want, and this seems to be the way forward. :D

Have you thought about compiling for X86/X64 and making a dedicated Einstein Emulator for the PC? I would be up for that, as I find MAME a bit clunky in day to day operation.
Ex owner of a real TC01 with Gotek boot drive and second drive, Joysticks, DAC hardware (Built but untested) and loads of manuals, books and mags. Living the emulation life now!
User avatar
wavemotion
Posts: 9
Joined: Sun Oct 01, 2023 2:54 pm

Re: Portable Tatung Einstein Emulation

Post by wavemotion »

Yeah, for sure MAME has gotten a bit bloated over the years. It's still a marvel and has done more for the retro community that most other software combined so I'm very grateful for it.

Some nice things about the DS is that it has 256x192 native resolution which is the same as the TMS9918/29 video chip so it's pixel perfect output. And the touch-screen is so brilliantly easy to use for the keyboard - plus the d-pad and buttons for joystick emulation. With a PC, all that has to be reworked and at least partially re-written. I've pulled a lot of tricks on the DS to make the emulation run fast enough for the little 67MHz handheld... so it's very DS-specific in spots (i.e. less portable than it could be) but of course anything is possible given time and effort. The code I've used is released for anyone to use and make better - though my guess is that if I'm not the one porting it to the PC, nobody will. As with everything - so many cool things to do and so little hobby time available these days!

As an aside, thanks Mike for hosting some great Einstein resources on your website. The Tatung Einstein Reborn! site has gone a little stale of late - so it was nice to find some updated packages at your site. I think the only game I can't yet get running is ALIEN 8 which, for some reason, loads but just dumps me back out to the MOS. Unsure why.
User avatar
MikeDHalliday
Posts: 229
Joined: Fri Oct 25, 2019 9:52 am
Location: Crewe
Contact:

Re: Portable Tatung Einstein Emulation

Post by MikeDHalliday »

I am always trying to add new things to the web site file store, as and when i find them.

Hopefully more things coming in the future.

I have lots of 80 track Double Sided 5.25" floppy discs that I need to image, but Mame does not support this format on Einstein emulation, even when running System 80.

Could that be the next update to your emulator I wonder :?:

There maybe treasures hidden on them that cannot be accessed :(

Until then, I will image them all to DSK files and upload them incase anyone decides to put 80TDS Einstein compatibility in an emulteor via System 80.

I have found my DS Lite now, so when I get a moment, will try out the emulator :D
Ex owner of a real TC01 with Gotek boot drive and second drive, Joysticks, DAC hardware (Built but untested) and loads of manuals, books and mags. Living the emulation life now!
User avatar
MikeDHalliday
Posts: 229
Joined: Fri Oct 25, 2019 9:52 am
Location: Crewe
Contact:

Re: Portable Tatung Einstein Emulation

Post by MikeDHalliday »

Right ...

Got my DSLite up and running.
It has an M3 cart with microSD inserted.
Downloaded the ColecoDS.nds file from github

Put ColecoDS in its own folder on the SDcard root and added einstein.rom and coleco.rom and a couple of .dsk files

For some reason I cannot see the ColecoDS.NDS file in the list when I open the ColecoDS folder.

Do we have to be in the root folder and do we really need a /roms/ folder?

Usually anything copied to this microSD card just shows up and loads.

Any ideas?
Ex owner of a real TC01 with Gotek boot drive and second drive, Joysticks, DAC hardware (Built but untested) and loads of manuals, books and mags. Living the emulation life now!
User avatar
wavemotion
Posts: 9
Joined: Sun Oct 01, 2023 2:54 pm

Re: Portable Tatung Einstein Emulation

Post by wavemotion »

Hey Mike... not specifically familiar with the M3 card (I usually use R4 clone cards - the cheaper the better! Or on the DSi/XL/LL, I switch to use the SD card). For my R4 clone cards, I must put the .NDS file in the root of the SD card - it won't find it anywhere else (limitation of the R4 I think).

I also have a limit on the R4 of 300 .nds files ... so if it's "full up", it might not find it. Otherwise, nothing obvious is jumping out at me.

You will also need the coleco.rom BIOS since this is, by all rights, a Colecovision emulator with support for a bunch of other cousin systems. But I do force that it work as a CV emulator and it will warn you if you try to load without a coleco BIOS.

If you struggle much longer, I can try to ask over on the GBATemp forums where I'm sure someone has an M3 card.
User avatar
MikeDHalliday
Posts: 229
Joined: Fri Oct 25, 2019 9:52 am
Location: Crewe
Contact:

Re: Portable Tatung Einstein Emulation

Post by MikeDHalliday »

HHmmm

Sadly, Putting the .NDS file and the coleco.rom file in the root of the SD card makes no difference. It does not appear in the list of available games or applications.

It must be something to do with the M3 card.

I will see if I can find an R4 card lying about somewhere and try that.

Thanks and maybe someone on GBATEMP might have it working on M3?
Ex owner of a real TC01 with Gotek boot drive and second drive, Joysticks, DAC hardware (Built but untested) and loads of manuals, books and mags. Living the emulation life now!
Post Reply