Powering the Tapuino from USB and the C64 at the same time
Don't do this, ever.
MOTOR Sense issues
The Tapuino uses the MOTOR line from the C64 to determine if the tape is running
i.e. if the TAP data should be played or paused. This is useful for multiload
games and for pausing when the filename is initially displayed. If your Tapuino
is stuck on 0 percent and is displaying a small 'm' character then the MOTOR
sense line is not working correctly. Check that: * The MOTOR line is HIGH from
the C64 to the Opto coupler and LOW from the Opto coupler to the Nano. * The
datasette edge connector is firmly attached to the C64 and pushed completely in
Recording
When recording from a Datasette to the Tapuino in order to archive a real tape,
be sure to set the Invert setting in the options menu to "1". This will invert
the signal in software which will then correctly recognize the pulses sent from
the Datasette. To record effectively it is essential that you use as fast an
SD Card as possible.
Datassette to Tapuino * Tapuino option invert = 1 * Tapuino record (auto
or manual) * Datassette play * At the end of the program the Tapuino must be
stopped manually
Tapuino to Datassette * Tapuino option invert = 1 * Datassette record *
Tapuino play * At the end of the program the Datasette must be stopped manually
* N.B.: Commodore is only turned on (no play or record)
Commodore to Tapuino * Tapuino option invert = 0 * Commodore save *
Tapuino record * N.B.: At the end of the program the recording on the microSD
stop automatically
LCD Configuration
In order to get a working display, you will need to configure your LCD in the
config-user.h file. The provided config-user.h.example file should give some
indication of what to do, but here is some more detail.
Currently the Tapuino supports 3 I2C displays:
-
Standard 1602 LCD displays based on the Hitachi HD44780 controller
-
OLED displays based on SSD1306 controller
-
OLED displays based on the SSD131X controller
The appropriate display can be selected by uncommenting the relevant line
config-user.h:
// #define LCD_USE_1602_LCD_MODULE
// #define LCD_USE_SSD1306_OLED_MODULE
// #define LCD_USE_SSD131X_OLED_MODULE
Additionally, you will need to configure the I2C address of the display, this
can be achieved by changing the value of the LCD_I2C_ADDR define:
// #define LCD_I2C_ADDR 0x27 // I2C address for the LCD
Change 0x27 to whatever the address of your display is (it could be something different, you will have to consult the datasheet that comes with your display)