• 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

dochilli

Well-known member
I used the adafruit board and got the same result as with the sparkfun. Two sd cards worked, two not. The non working are shown on the left side in the photo. One of the non working cards showed a very short red LED flash and then nothing, the other showed the LED on the whole time. The working cards showed a flashing LED. The use of balena etcher instead of win32imager did not change anything.
Seems confusing that the intenso 4GB works and the 8 GB not...
Can you perhaps post images and the firmware with changes for the 1825 as you posted for the 1704? I only have 1825 for testing.
 

Attachments

  • 32CEBFB0-9619-4345-A1D9-649972BA14B3.jpeg
    32CEBFB0-9619-4345-A1D9-649972BA14B3.jpeg
    1.3 MB · Views: 44

ktkm

Well-known member
Are you using the 1704 image from this post? That's the one I put all the icons in.
This is the one I use now. However, it misses a couple of icons -- 0x05 and 0x10.

The ones in this post only have four. Sorry, I should have been clearer.
I see, that explains it. This is the one I started with.

implemented that fix in my firmware and now can use the one SD card I had that didn't work.
I’d love to learn more about firmware updates. Where do I start?
 

tashtari

PIC Whisperer
I’d love to learn more about firmware updates. Where do I start?
Unfortunately, the firmware has no self-update mechanism. In order to update the firmware, you need to pull the PIC and update it using a programmer. Microchip PICkit3 programmers work great for this can be had on ebay for around $20 (at least in the US) - I'd be happy to send you a PIC programmed with the updated firmware but the shipping would be almost as much as the PICkit3 itself, and having a PICkit3 would allow you to update with any future firmware releases that come down the pipeline.

A self-update mechanism is something I'd like the firmware to eventually have, along with a real versioning scheme, and a Mac OS native utility to query and display diagnostic info reported by the firmware. Things are still a bit experimental.

Can you perhaps post images and the firmware with changes for the 1825 as you posted for the 1704? I only have 1825 for testing.
It should be fairly straightforward to port the fix to the 1825 firmware, let me see what I can do...
 

tashtari

PIC Whisperer
I have built successfully
Nice build!
how can I make my own .img file
Enough people have asked this that I knocked together a little script in Python that should come in handy for this, it's attached to this post (along with a handful of icon files you can use with it). You'll need Python 3.x to run it - if you're on Mac OS or Linux, it is probably installed already. If you're on Windows, you can download it from python.org.

Its usage should be straightforward:
python3 makeimg.py <image> <part1> <icon1> [<part2> <icon2> [<part3> <icon3> [<part4> <icon4>]]]
  • Replace <image> with the filename of the image file you want to create.
  • Replace <part> with one of the following:
    • the filename of a disk image (a plain .dsk file such as might be used with miniVMac or Basilisk II - Disk Copy 4.2 images are NOT supported)
    • a size (such as 20M, 100M, 1G) to create a blank partition
  • Replace <icon> with one of the following:
    • the filename of an icon file (native Mac format only - it must be 256 bytes in length, a 32x32 monochrome icon followed by its mask)
    • - to use the default icon
You can specify up to four part/icon pairs.


Examples:

python3 makeimg.py sdcard.img mydisk.dsk icons/steve.icon
Make sdcard.img using mydisk.dsk as the first and only partition, and give it an icon of Steve Jobs.

python3 makeimg.py sdcard.img system.dsk icons/steve.icon 20M icons/hobbes.icon
Make sdcard.img using system.dsk for the first partition with an icon of Steve Jobs, and a second blank 20 MB partition with an icon of Hobbes.

python3 makeimg.py sdcard.img system.dsk - 20M -
Same as above, but use the default icon.


Sorry, no tool to convert more familiar graphic file formats to icon files as of yet. You can create these in ResEdit with the Forker extension by creating an ICN# resource, opening it in the hex editor, and copying its contents to the data fork of a new file.

I tested it a bit, but I can't guarantee total lack of bugs - let me know your experiences using it.
 

Attachments

  • makeimg.py.zip
    10 KB · Views: 28

aihk

Active member
Nice build!

Enough people have asked this that I knocked together a little script in Python that should come in handy for this, it's attached to this post (along with a handful of icon files you can use with it). You'll need Python 3.x to run it - if you're on Mac OS or Linux, it is probably installed already. If you're on Windows, you can download it from python.org.

Its usage should be straightforward:
python3 makeimg.py <image> <part1> <icon1> [<part2> <icon2> [<part3> <icon3> [<part4> <icon4>]]]
  • Replace <image> with the filename of the image file you want to create.
  • Replace <part> with one of the following:
    • the filename of a disk image (a plain .dsk file such as might be used with miniVMac or Basilisk II - Disk Copy 4.2 images are NOT supported)
    • a size (such as 20M, 100M, 1G) to create a blank partition
  • Replace <icon> with one of the following:
    • the filename of an icon file (native Mac format only - it must be 256 bytes in length, a 32x32 monochrome icon followed by its mask)
    • - to use the default icon
You can specify up to four part/icon pairs.


Examples:

python3 makeimg.py sdcard.img mydisk.dsk icons/steve.icon
Make sdcard.img using mydisk.dsk as the first and only partition, and give it an icon of Steve Jobs.

python3 makeimg.py sdcard.img system.dsk icons/steve.icon 20M icons/hobbes.icon
Make sdcard.img using system.dsk for the first partition with an icon of Steve Jobs, and a second blank 20 MB partition with an icon of Hobbes.

python3 makeimg.py sdcard.img system.dsk - 20M -
Same as above, but use the default icon.


Sorry, no tool to convert more familiar graphic file formats to icon files as of yet. You can create these in ResEdit with the Forker extension by creating an ICN# resource, opening it in the hex editor, and copying its contents to the data fork of a new file.

I tested it a bit, but I can't guarantee total lack of bugs - let me know your experiences using it.
Always warm tashtari, thanks for your answer. I changed the SD card to a TF card, and I plan to integrate the daisy chain together, which seems to save a little. I make .IMG to report later .I'm going to design a 3D case for your TashTwenty
 

Attachments

  • 0123.JPG
    0123.JPG
    173.1 KB · Views: 38

tashtari

PIC Whisperer
I plan to integrate the daisy chain together, which seems to save a little.
Interesting, didn't realize you were making your own board. I see you're connecting the pin for !ENBL output somewhere, it's cool to see someone taking advantage of that feature. It looks like you connected pins 9 and 10 on the pin header, though... pin 9 is not connected on most Macs but on some it's -12V, what are you meaning to do there?
 

aihk

Active member
Interesting, didn't realize you were making your own board. I see you're connecting the pin for !ENBL output somewhere, it's cool to see someone taking advantage of that feature. It looks like you connected pins 9 and 10 on the pin header, though... pin 9 is not connected on most Macs but on some it's -12V, what are you meaning to do there?
Thanks for your guidance. I do it for the convenience of wiring. Seeing 9 is useless. just connect.I have unconnected pin9. Thanks a lot for your guidance.
 

ktkm

Well-known member
Enough people have asked this that I knocked together a little script in Python that should come in handy for this, it's attached to this post (along with a handful of icon files you can use with it). You'll need Python 3.x to run it - if you're on Mac OS or Linux, it is probably installed already.
Very handy, thanks!

Unfortunately, the firmware has no self-update mechanism. In order to update the firmware, you need to pull the PIC and update it using a programmer. Microchip PICkit3 programmers work great for this can be had on ebay for around $20 (at least in the US) - I'd be happy to send you a PIC programmed with the updated firmware but the shipping would be almost as much as the PICkit3 itself, and having a PICkit3 would allow you to update with any future firmware releases that come down the pipeline.
I’m not ready for the PICkit3 programmer just yet. But I’d love to order a new PIC when it’s ready!
 

aihk

Active member
It may be a bit ugly, so I can use it first, I should be able to draw it today, and I can use it before demik's more professional one comes out.
 

Attachments

  • 001.JPG
    001.JPG
    67.7 KB · Views: 28

aihk

Active member
The casing is done, maybe a little ugly. M1.6 for screws, the length needs to be 8MM best
 

Attachments

  • 01.JPG
    01.JPG
    117.3 KB · Views: 23
  • 1.zip
    32.4 MB · Views: 7

demik

Well-known member
The casing is done, maybe a little ugly. M1.6 for screws, the length needs to be 8MM best

Looks nice ! The "4th screw" hole is used as something to strengthen the PCB underneath the SD socket (see the square part underneath the PCB).

Otherwise looks very well done.
 

Zhinü

Well-known member
Nice build!

Enough people have asked this that I knocked together a little script in Python that should come in handy for this, it's attached to this post (along with a handful of icon files you can use with it). You'll need Python 3.x to run it - if you're on Mac OS or Linux, it is probably installed already. If you're on Windows, you can download it from python.org.

Its usage should be straightforward:
python3 makeimg.py <image> <part1> <icon1> [<part2> <icon2> [<part3> <icon3> [<part4> <icon4>]]]
  • Replace <image> with the filename of the image file you want to create.
  • Replace <part> with one of the following:
    • the filename of a disk image (a plain .dsk file such as might be used with miniVMac or Basilisk II - Disk Copy 4.2 images are NOT supported)
    • a size (such as 20M, 100M, 1G) to create a blank partition
  • Replace <icon> with one of the following:
    • the filename of an icon file (native Mac format only - it must be 256 bytes in length, a 32x32 monochrome icon followed by its mask)
    • - to use the default icon
You can specify up to four part/icon pairs.


Examples:

python3 makeimg.py sdcard.img mydisk.dsk icons/steve.icon
Make sdcard.img using mydisk.dsk as the first and only partition, and give it an icon of Steve Jobs.

python3 makeimg.py sdcard.img system.dsk icons/steve.icon 20M icons/hobbes.icon
Make sdcard.img using system.dsk for the first partition with an icon of Steve Jobs, and a second blank 20 MB partition with an icon of Hobbes.

python3 makeimg.py sdcard.img system.dsk - 20M -
Same as above, but use the default icon.


Sorry, no tool to convert more familiar graphic file formats to icon files as of yet. You can create these in ResEdit with the Forker extension by creating an ICN# resource, opening it in the hex editor, and copying its contents to the data fork of a new file.

I tested it a bit, but I can't guarantee total lack of bugs - let me know your experiences using it.
Thank you for this! Do you happen to know what the standard Mac OS drive icon is?
 

tashtari

PIC Whisperer
Do you happen to know what the standard Mac OS drive icon is?
Try this, I'm actually not sure if it's the standard Mac OS drive icon, but it's at least the one I based the TashTwenty "logo" off of...
 

Attachments

  • hdd.icon.zip
    189 bytes · Views: 9
Top