• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

TashTwenty: Single-Chip DCD (Hard Disk 20) Interface

mg.man

Well-known member
...as soon as I can find time I'll be firing up the 'iron and joining the 'club'.
Well... it took a LOT longer than I'd hoped, but today I finally carved out time to put together one of the kits @tashtari sent over last month. And... after a RTFMT(hread) moment, ...

20220603_154418.jpg
SUCCESS! That's a TT v1.0 booted up on my Plus. Super pleased and delighted to be able to join the 'club'. :cool:

20220603_160550.jpg20220603_160612.jpg
 

tashtari

PIC Whisperer
News! The Rev 2 boards (using the Adafruit SD level shifter instead of the SparkFun one) have arrived! (And I assembled one and it works, natch.)

1654288253282.png

(I soldered the pin header in a little bit crooked, which just speaks to my soldering skills...)

Besides, y'know, working properly, the Adafruit level shifter has a blinky activity LED, which is great because who doesn't like blinkenlights?

If you've been waiting on one of these from me, I'll ship very soon. If you want the parts to build your own, send me a message!
 

tashtari

PIC Whisperer
The other thing I got with my order of PCBs was the first round of custom front and back plates for the Hammond case for @demik 's TashTwenty Tiny board. The alignment still needs a little adjustment, but the little bugger sure looks cute perched atop a compact, no?

1654355906167.png

Once the alignment issue is sorted out, I'll offer these for sale, too.

Anyway, all outstanding kit orders are now shipped and everyone who had a bad SparkFun level shifter is now getting a kit that includes a good Adafruit one. That's a load off my mind.

Semi-related, I did a writeup of DCD on the proto-wiki, including a compatibility chart, check it out here. And feel free to test anything that's marked with a question mark so we can get the compatibility chart completely filled in!
 

loplop

Well-known member
I finally had some time to sit down and solder, and made up the TashTwenty Tiny this morning along with some Pico stuff I'm working on. I dropped the 1825 image from the thread above on a FAT-formatted SD-card, and... nothing. The green power light comes on, but the access light never does.

I also tried a HD20 image I use on my FloppyEMU, to no avail.

Suggestions welcome :)
 

tashtari

PIC Whisperer
a FAT-formatted SD-card
Ah, that'll be your problem. TashTwenty doesn't speak FAT, it treats raw MBR partitions as DCD devices to emulate. To test things out, get the 1704 image (your kit includes a PIC16F1704) and write it directly to your SD card (overwriting the contents). If you're on Linux or Mac OS, you can use dd for this, if you're on Windows, you may need a third-party tool like Win32DiskImager.
 

mg.man

Well-known member
you may need a third-party tool like Win32DiskImager.
- or Rufus (https://rufus.ie/en/). Start with imaging the uSD card, if that still gives you issues, you might want to try another uSD and maybe even a different adapter to write the card. I've recently experienced real problems using a Lexar USB uSD adapter, switched to a SanDisk one, and things started working. Go figure. 🤔
 

loplop

Well-known member
Ah, thanks! Missed that.

I flashed your 1704 image with ApplePiBaker, and it's alive! I tested on my SE FDHD and it works great. R/W LED still isn't flashing, but the drive seems to work OK.

I have a nice System 3.2 ~100MB image I use with my 512k using the FloppyEmu in HD20 mode, any tips on how to move that over? I tried flashing that, but the Tiny doesn't find it. I tried adding the 1704 image in basilisk to move over the files, and it sees it as an unformatted volume.
 

tashtari

PIC Whisperer
I have a nice System 3.2 ~100MB image I use with my 512k using the FloppyEmu in HD20 mode, any tips on how to move that over?
You'll need to make it a partition on the SD card image. If you were using Linux, I'd tell you to create a partition of the correct size using fdisk and then dd the image to that, but I'm not sure about Windows tools to do the same. Mac OS is UNIX under the hood so it has dd, though I don't know very much about diskutil, which seems to be the equivalent tool to fdisk. I can make one for you to get you unblocked for the moment, though - I'll DM you.
 

tashtari

PIC Whisperer
So I looked into diskutil a little and it does seem like it can set up an SD card in the correct fashion.

Examples:

Set up /dev/disk2 with one 20 MB partition:
sudo diskutil partitionDisk /dev/disk2 1 MBR HFS+ %noformat% 20M

Set up /dev/disk2 with one 19,950,080-byte partition (for example, if you had a .dsk file of exactly that size and wanted to dd it to the partition later) and one 100 MB partition:
sudo diskutil partitionDisk /dev/disk2 2 MBR HFS+ %noformat% 19950080B HFS+ %noformat% 100M

Please note that I have not tested these commands. The only Macs I own have 680x0 processors. This just looks correct to me from what I've researched. I'd welcome confirmation or correction from anyone who knows better.
 

dochilli

Well-known member
I built a 1.1 tashtwenty and have some problems with sd cards. Only with a 4 GB intenso card I had success. A 16GB sandisk ultra worked sometimes but then stopped. A philips 16GB did never work.
In one of the first posts in this thread you showed a picture that the mac formated a sd. How did you format the sd card, that the mac sees it as a non formated disk?
I used a 25pin dsub und cut off some pins (quick and dirty solution).
 

Attachments

  • 82176014-072D-4610-8CB7-22F1E32ABA8A.jpeg
    82176014-072D-4610-8CB7-22F1E32ABA8A.jpeg
    986.2 KB · Views: 13

tashtari

PIC Whisperer
In one of the first posts in this thread you showed a picture that the mac formated a sd. How did you format the sd card, that the mac sees it as a non formated disk?
If you zero-write the partition, the mac should see it as an unformatted disk and offer to format it for you.
Only with a 4 GB intenso card I had success. A 16GB sandisk ultra worked sometimes but then stopped. A philips 16GB did never work.
The fact that you had one card work intermittently makes me wonder if this is an issue related to the level shifter... I'm really disappointed in SparkFun, those things seem to be really unreliable. Hopefully the ones from Adafruit will prove to be better. One thing you might try is removing the pull-up resistor... I'm not sure, but it's possible that it's messing with the bidirectional level-shifting IC.
 

CC_333

Well-known member
How much is one of these assembled?

I'm tempted to get one, even though I already have a Floppy Emu, because it seems handier due to it's relatively small size (the Emu is pretty small and compact for what it is, but judging by photos and stuff, the TashTwenty seems to be noticeably smaller).

I also like that it's a dedicated HD20 emulator, whereas the Emu can do all sorts of floppy-related things in addition, and it would be a shame to waste all those features and use it exclusively as an HD20 substitute (as I did).

c
 

mg.man

Well-known member
The fact that you had one card work intermittently makes me wonder if this is an issue related to the level shifter...
As @tashtari knows, I've been having my own fun'n'games getting my TT(rev 1.0)s up and running.

After initially having one work with my Plus, I started experiencing flakiness and flat out refusal to work on any of my other Macs. Fortunately, I have a couple of real HD20s (+ a couple of FloppyEMUs) so knew the issues weren't with the Macs.

After much head scratching, I located a couple more uSD cards + an old SanDisk USB/uSD adapter (was using a Lexar).

I now have all my TTs working - both with the previously flaky (2gb) uSD as well as another 4gb I had been using on my rPi. Both were imaged using the SanDisk adapter.

I can't say for sure the Lexar adapter was causing the problems, I can only share what I've found. Of note - I've had zero luck with the other uSD (a 8gb no-name) - no matter what USB adapter I try.

Perhaps the SparkFun s marginal, or, maybe some uSDs suck more juice than others exacerbating the situation? I have some more uSDs on the way, so we'll see how it goes with those....
 

mg.man

Well-known member
Oh, forgot to share... this is my current preferred method of building the original
20220604_185255.jpg
...the uSD adapter "slung" underneath. 😉
 

Zhinü

Well-known member
I’m finally back! Sorry about disappearing. I replaced the OS using my IIsi and a boot disk I had. The machine boots just fine, but I ran into two tiny issues.

1. On the IIsi, the “boot” 20mb partition is the DogCow, and the second 20mb partition is the standard icon. However, on the 512K, both are the DogCow.

2. Partition two seems to be messed up a tad bit. I had to erase it on the 512K as it wouldn’t pop up a window at all. Once I did that it seemed to work just fine.

Besides that, I think it works just fine with the 512K! This is a stock machine, no E roms or anything.
 

Attachments

  • 8F2D29DC-0112-4D3B-A311-585B12D5076E.jpeg
    8F2D29DC-0112-4D3B-A311-585B12D5076E.jpeg
    3.4 MB · Views: 20
  • C896BE5D-771D-4B45-9A8E-9B07172DFB8B.jpeg
    C896BE5D-771D-4B45-9A8E-9B07172DFB8B.jpeg
    2.9 MB · Views: 15
  • 5FBC685B-0C25-4796-8659-83A924A0E7D0.jpeg
    5FBC685B-0C25-4796-8659-83A924A0E7D0.jpeg
    3 MB · Views: 15

tashtari

PIC Whisperer
However, on the 512K, both are the DogCow.
...That's interesting.

And more than a little suspect. The icon is communicated through the "controller status" command. What I'm suddenly wondering is if the Hard Disk 20 patch (a.k.a. INIT even though it isn't one) has buggy support for more than one HD20. Maybe it's just reusing the icon (and Apple never noticed the bug because all HD20s had the same icon), but maybe the bug extends deeper than that and there are more conflicts going on between the first and second drive...

Is the original demo image (the one with system 6.0.8) still causing the flickering issue on the 512K while the system 4.1 image is booting fine?
 

Zhinü

Well-known member
I haven’t tried deleting the files on the the 6.0.8 image and replacing them. Should I try that?
 
Top