Recently, I brought new life into an old love and acquired a used C64. Of course, I wanted to know what could be done with such an old system using new technology and discovered your Tapuino project.
Currently I'm still waiting for some of the parts needed, but I already had an Arduino Nano V3 which I programmed with the Tapuino firmware.
When compiling with the current Arduino IDE 1.6.12, 4 warnings where issued. I don't know if this is a result of compiler changes in the recent IDE or if they already where present when you created the project. I also don't know, when the warnings already where present when you created the project, if they where left there on purpose. However, they're easy to clear.
This is the list of warnings:
sketch\tapuino.h:16:25: warning: type of 'g_rec_finalize_time' does not match original declaration
extern volatile uint8_t g_rec_finalize_time;
sketch\tapuino.c:99:19: note: previously declared here
volatile uint16_t g_rec_finalize_time = REC_FINALIZE_TIME / 10;
sketch\tapuino.h:14:25: warning: type of 'g_ticker_hold_rate' does not match original declaration
extern volatile uint8_t g_ticker_hold_rate;
sketch\tapuino.c:96:19: note: previously declared here
volatile uint16_t g_ticker_hold_rate = TICKER_HOLD / 10;
sketch\tapuino.h:13:25: warning: type of 'g_ticker_rate' does not match original declaration
extern volatile uint8_t g_ticker_rate;
sketch\tapuino.c:95:19: note: previously declared here
volatile uint16_t g_ticker_rate = TICKER_RATE / 10;
sketch\tapuino.h:15:25: warning: type of 'g_key_repeat_next' does not match original declaration
extern volatile uint8_t g_key_repeat_next;
sketch\tapuino.c:98:19: note: previously declared here
volatile uint16_t g_key_repeat_next = KEY_REPEAT_NEXT / 10;
To correct, I changed tapuino.h as follows:
`#ifndef TAPUINO_H
define TAPUINO_H
include "ff.h"
void tapuino_run();
void record_file(char* pfile_name);
int play_file(FILINFO* pfile_info);
uint32_t get_timer_tick();
void save_eeprom_data();
extern volatile uint8_t g_invert_signal;
extern volatile uint16_t g_ticker_rate;
extern volatile uint16_t g_ticker_hold_rate;
extern volatile uint16_t g_key_repeat_next;
extern volatile uint16_t g_rec_finalize_time;
extern volatile uint8_t g_rec_auto_finalize;
extern uint8_t g_machine_type;
extern uint8_t g_video_mode;
extern volatile uint8_t g_is_paused;
endif`
This makes the project compile without warnings. However, since I've not been able to test it (still waiting for some parts), I don't know if I possibly broke something.
Furthermore, I've also created a Dutch menu language file. But have to check on the working hardware if all messages are meaningful before I'll share them.