von HiassofT » Fr 4. Aug 2006, 10:55
TePe hat geschrieben:Nee die Zeile ist wohl so gewollt...
Killt man die Zeile 270 spult sich der Song im Schnelldurchlauf ab bleibt allerdings nicht hängen...
Ich kenne mich mit dem Commodore Basic nicht wirklich aus, aber kann es evtl. sein, daß die Variable "TI" die aktuelle Zeit zurückliefert? Jedenfalls wird sie sonst nirgends im Programm gesetzt. Das würde von der restlichen Programmlogik her durchaus Sinn machen.
Ersetze in den Zeilen 180 und 270 "TI" einfach mal durch "(PEEK(20) + 256*PEEK(19) + 65536*PEEK(18))", das ist dann ein Counter der 50 mal in der Sekunde um 1 hochgezählt wird.
Naja ist jetzt nicht mehr so wichtig das Basic Programm zu laufen zu bekommen, vieleicht hat ja jemand Bock was eigenes zu bauen und zu schreiben. Die Hardware ist jedenfalls echt simpel !!!
So, nun der nächste Erweiterungsvorschlag:
Nimm noch einen 74LS138 (3-zu-8 Dekoder) dazu, damit kannst Du die benötigten 32 Bytes exakt ausdekodieren. Wenn Du Lust hast, kannst Du dann auch insgesamt 8 SIDs an den Atari hängen :-)
Pin 1 kommt an A5, Pin 2 an A6 und Pin 3 an A7. Pin 4 und Pin 5 kommen an die /CCTL Leitung vom Modul-Port, Pin 6 fix an VCC (+5V). An den Pins 7 und 9..15 hast Du nun sozusagen ausdekodierte /CE Signale:
Für $D500-$D51F hängst Du den SID an Pin 15 (Y0), für $D520-$D52F an Pin 14 ... Pin 9 ist $D5C0-$D5DF, Pin 7 $D5E0-$D5FF.
Zieht man die anderen Module für den Atari in Betracht, wäre $D520-$D53F zB recht günstig als Standard-Adresse für eine Single-SID-Erweiterung geeignet, der Bereich wird sehr selten verwendet.
Gib' mal Bescheid, wenn Du die 8 SIDs fertig verlötet hast :-)
so long,
Hias