Neben der handwerklichen Lötpraxis beim Aufbau des Gerätes gibt es bei der Beschäftigung mit der Programmierung des Mikrocontrollers viel zu entdecken.

Die Entwicklungsumgebung  (IDE = Integrated Development Einvironment) PSoC Creator von Cypress/Infineon ist zwar etwas gewöhnungsbedürftig, bietet aber verschiedene Eingabemethoden, die bei ACSI2SD benutzt werden:

Die Software für den ARM Prozessor ist in C geschrieben und zweckmässig in Module unterteilt, diese gut kommentiert, sodass man sich rasch zurechtfindet.
Der SCSI-Controllerkern ist als State Machine in Verilog beschrieben und im frei verdrahtbaren UDB-Bereich des Controllers implementiert.
Die ACSI-SCSI Schnittstelle ist dagegen als direkter Schaltplan (bestehend aus Flip-Flops/Registern, sequentieller Logik, LUT) beschrieben und ebenfalls im frei verdrahtbaren UDB-Bereich des Controllers implementiert.

Gerade die beiden letzten Methoden können als Einstieg in die FPGA-Programmierung (im Sinne von Hardware-Beschreibung) dienen.

Im übrigen ahmt die Aufteilung mit einer separaten ACSI-nach-SCSI-Schnittstelle das Innenleben der (späteren) Atari-Festplatten nach, denn dort war diese Schnittstelle mit diskreter TTL-Logik aufgebaut, um anschließend eine SCSI-Harddisk anzusteuern.

Sowohl der Flash-Speicher des Prozessors als auch der frei verdrahtbare UDB-Bereich außerhalb des Prozessors sind nur etwa zur Hälfte ausgenutzt, sodass viel Platz für eigene Erweiterungen besteht. Besonders interessant für diejenigen, die den Programmer/Debugger KitProg haben.

Vorschlag für eine erste Modifikation am PSoC für Benutzer, die sich in PSoC Creator eingearbeitet haben:

Da die ACSI-SCSI Schnittstelle on-Chip im PSoC arbeitet, kann man die Reserve beim deskew-Wert herabsetzen.

Im Verilog-Quelltext scsiTarget.v Zeile 298 den deskew-Wert von 1 auf 0 herabsetzen, Projekt neu kompilieren (Build), programmieren (Grösse des .hex Programmierfiles sollte sich nicht ändern) und testen. 

Die Modifikation bringt etwa 3% Geschwindigkeitsgewinn (gemessen mit Programm HDDAST4.TOS) und bringt die Transferrate näher an das theoretische Maximum von 2MB/s.

Allein durch das Erhöhen der Taktfrequenz ist noch ein Erhöhen der Transferrate um etwa 10-20% möglich (bei Proc eher mehr, bei Mod eher weniger).