Stap 4: De Firmware
#define kRamSize (RAMEND - 1160 - kRamFileIO - kRamTones)
De volgende:
#define kRamSize (RAMEND - 2768 - kRamFileIO - kRamTones)
Hoe hoger dit getal, des te lager de SRAM gebruikt op de AVR (in dit geval de 1284P). Na de SRAM is gebruik had verlaagd niet meer bedragen dan de 1284Ps SRAM, de PS/2-bibliotheek toegevoegd. De PS/2-headerbestand is toegevoegd, de klok (irq) en pennen van de gegevens gedefinieerd en de bibliotheek gestart door de juiste code toe te voegen aan de setup-functie.
Zonder aanpassingen, TinyBASIC maakt gebruik van de seriële poort voor gebruiker interactie betekenis moet worden gewijzigd om te lezen van de invoer van het toetsenbord in plaats van de seriële input. Om dit te doen, werden alle oproepen naar de "Serial.available()" en "Serial.read()" vervangen door dringt erop aan dat de PS/2-bibliotheek ("kb.available()" en "kb.read()"). Het kan mogelijk zijn om ook de seriële lezing communicatie zodat elk apparaat aangesloten op de seriële header om te interageren met TinyBASIC maar het wordt momenteel verwijderd. Seriële transmissie code was links alleen als er hoefde geen beroep te veranderen (de Arduino UNO leest de seriële output van de 1284P en afdrukken op een TV).
De TVout-code die wordt uitgevoerd op de Arduin UNO gewoon continu leest de seriële poort en als tussenkomst aanwezig is, het het afgedrukt op de TV. Beide schetsen vindt u bijgevoegd (als een RAR archief).
De bootloader gebruikt voor de 1284P kan hier worden gevonden: https://github.com/fakufaku/mighty-1284p.
Thij oorspronkelijke TinyBASIC project kan hier worden gevonden: https://github.com/BleuLlama/TinyBasicPlus.
Thij TVout project voor Arduino kan hier worden gevonden: https://code.google.com/p/arduino-tvout/.
Houd er rekening mee, TinyBASIC Plus, Arduino software (bootloaders, IDE enz) ingedrukt TVout alle hun eigen softwarelicenties die moeten worden gevolgd als een van de makers-code gebruikt.