Monday, July 28, 2014

Tapuino Part 3: Write support and some circuit changes

Well the Tapuino is out in the wild and has been successfully built by another user!

(please note, most recent build instructions are now here: http://sweetlilmre.blogspot.com/2015/03/building-tapuino-r2.html)

Whilst that has been going down I've been hacking away on the code base extending the firmware to handle:

  • Long filename support: I've moved over to the FatFs library to enable this
  • Write support! This was a killer but finally works... if you have a FAST SD Card.
  • Many bug fixes (I2C display now works across more backpacks)
  • Restructuring and code cleanup
There has been a minor HW change to facilitate write support:

The C64 Datasette write line now must be connected to pin D8 of the Nano. If you built the Tapuino as per my previous post all that should be involved is moving it across to the correct pin, possibly soldering up a new header. The breadboard diagram and Fritzing file in GitHub have been updated accordingly:

New wiring
Also, I put in the 5V and GND lines that were missing before.

Write support has been tested with some simple BASIC save files and also via the Elite save game mechanism and all appears well. Files are written to TAP format in a folder on the root of the SD Card called "Recorded" (this folder will be auto-created for you) and have the filename "rec-XXXX.tap" where XXXX is a 4 digit decimal number.

At this point the Tapuino is functionally complete. I'd like to get a few more folk to build and use this to help track down the inevitable bugs and also work on a few more features. Features I have been thinking about include:

  • Button repeat functionality for scrolling through long lists of files.
  • A name input mechanism for naming recorded files.
Go forth and build!
-(e)

10 comments:

  1. This is really confusing.. in this "fritzing" you have active high buttond with resistors, but if you klick the link at the top to tapuino r2, there the "fritzing" indicates active low without the resistors.. which one is correct?? i built the r2, but the buttons does not work at all. Now i suspect this one with active high with resistors is the correct. PLEASE make real schematics, and DELETE all posts that are not relevant not to confuse.

    ReplyDelete
  2. Hi,

    Apologies for the late reply, Google has eaten comments for the blog for ages.

    Initially I used the configuration on this page but then changed it to reduce the part count by using this internal pullups on the GPIO lines connected to the buttons.

    The R2 version is the correct version. If you look at the code (https://github.com/sweetlilmre/tapuino) you can see that in config.h (https://github.com/sweetlilmre/tapuino/blob/master/config.h) there is a define:

    // comment this line if you are using HW1.0
    #define KEYS_INPUT_PULLUP

    which enables support for either configuration.

    This post has been kept for historic purposes as it details the journey I went though to build the Tapuino, and that is why I implicitly link to the latest build instructions at the top of the post.

    If the buttons are not working for you then I'd suggest that you carefully examine your wiring and make sure that you are using the latest and properly configured code.

    ReplyDelete
  3. Thank you so much for sharing this information with everyone. You truly understand what you're talking about! Bookmarked. You can also get help from my site =). It is possible to have an agreement to change the hyperlink between us! best smm panel india

    ReplyDelete
  4. Thank you for sharing this excellent knowledge with us. I thoroughly enjoyed the reading. I will forward this link to my acquaintances. indian smm panel

    ReplyDelete
  5. You can tell when your projects make a difference from the crowd. There's something unique about the projects. It appears to me that they are all amazing! the top smm panel

    ReplyDelete
  6. Great assignment help offers the best cognitive science assignments help online with 24/7 assistance in the United States of America. Comprehensive support from online cognitive science Assignment help enables students to get great scores with our highly qualified professional team.

    ReplyDelete