TFT Extension v 0.7 vom 10.10.1997 © Turgut Temucin alias >>TFT<<1997 G.O.D Section Berlin Vorwort! Das File `AmosPro_TFT.lib` liegt in der Version 0.7 als SW vor. Alle rechte an in diesem File verwendeten ASM Code bleiben beim Autor. Der Autor uebernimmt keine Hafftung fuer Schaeden die durch verwendung dieser `AmosPro_TFT.Lib` direkt oder indirekt entstehen. Aussdruecklich sind aenderungen am ASM Code untersagt. Die Demos sind PD und duerfen nach belieben veraendert werden. Der ASM Code wurde auf einem Amiga 4000 mit 68060 / 50MHz mit Cache Programmiert. Es wurden nur Standart 68000 Codes verwendet. Somit sollten alle Amigas damit zurecht kommen. Viel vergnuegen. In der ShareWare Version ab 0.7 sind einige Funktionen zeitlich begrenzt worden. Das macht sich dahingegend bemerkbar, das die Befehle nach erstmaligem aufruf alle anderen Befehle nach 1000 aufrufen sperren. Die unbegrenzte Version kann gegen 15 DM inklusive Versand bei unten stehender Adresse bezogen werden. Anmerkung. Da ich schriftlich nicht so besonders fit bin. Liegt momentan nur der anfang des Doc Files vor. Die Demos sind so kurtz gehalten das eine genaue erklaerung der einzelnen Befehle eigentlich unnoetig ist. Ich werde dieses Doc File aber trotzdem verfollstaendigen. Installation: Das Install programm starten. Dann das APSystem verzeichnis auswaelen. Sind sie registriert, legen sie jetzt die Orginal Diskette mit der Code Zahl ins laufwerk DF0: . Wenn das Key File gefunden wurde und die Diskette ein orginal ist, werden sie aufgefordert den Code der auf der Diskette steht einzugeben. Ist der Code Ok, wird die Registrierte version ins APSystem Verzeichnis kopiert. Ansonsten die eingeschraenkte version. In der Interpreter Config muss dann auf Platz 25 `AMOSPro_tft.lib` eingetragen werden. Speichern und los gets. Sollte Intresse an einer Umsetzung fuer aeltere AMOS Varianten bestehen, werde ich diese in einer der folgenden Update`s mitliefern. Befehls Uebersicht: v0.3 Mfm Read _device,Start(Chip),_sync,_track v0.3 a=Mfm Track Lücke(_sync,Start(Chip)) v0.2 a=Set Bpl(_cop_adr,_offset,Varptr(_bpl_list(0)),_anz_bpl) v0.2 a=Get High Word(_adr) v0.2 a=Get Low Word(_adr) v0.2 (Privat) Init Bpl Scroll() v0.4 a=Get Timer(1-5) v0.2 (Privat) Stop Int v0.2 (Privat) Start Int v0.4 Init Timer 1-5,_start v0.4 Start Timer 1-5 v0.4 Stop Timer 1-5 v0.2 (Privat) a=Get Xmouse v0.2 (Privat) a=Get Ymouse v0.5 a$=Tft Error$(Errtrap) v0.5 Qsort Varptr(_feld(0)),_von,_bis v0.5(Time protect) Qsort Varptr(_feld1(0)),_von,_bis,Varptr(_feld2(0)) v0.1 a=Var Mask _var,_mask v0.1 a=Tft Version v0.6 Cpu Clear Ntsc _adr v0.6 Cpu Clear Pal _adr v0.7(Time protect) Cpu Clear _adr v0.7 Init Cpu Clear _lines,_length,_modulo v0.7 Cache Clear !!!! OS V36> v0.7(Not yet) Make Tangens List(shift_L,_anz_eintraege) v0.7(Not yet) a=Get Tanges(_angel,multi) v0.7 Init Tick Timer v0.7 a=Get Tick Timer Befehle: ***************************************************************************************** Mfm Read _device,Start(Chip),_sync,_track _device= Nummer des Disketten Laufwerkes auf das zugegriffen werden soll.(0-3) Start(Chip)= Ein Reservierter Speicherbereich (z.b eine Bank im Chipram) die Mindesstens $3800 Bytes lang sein muss. Die Adresse muss im Chip Ram liegen. _sync= Meistens wird die Standart Sync Marke des Dosformates verwendet. Nach dieser Markierung sucht das Laufwerk auf der Diskette und liest die Daten wenn diese gefunden wurde. _track= Tracknummer die gelesen werden soll.(0-79) Eine Diskette ist in 80 Tracks unterteilt. Auf jedem Track liegen 11 Bloecke mit jeweils 512+16 Byte speicher platz. Auf Track 0 liegt bei einer Dos Disk der BootBlock und auf Track 880 der RootBlock. ***************************************************************************************** Clear Cache Flasht den Cache Speicher des Processors. Gelegentlich kommt es vor, das bei direckten Speicher zugriffen (Peek und co) beim schreiben auf die Cacheadresse zugegriffen wird. Wehrend beim lesen die Daten aus dem echten Ram geladen werden. Dieses passiert zum beispiel bei Init Cpu Clear. in verbindung mit eingeschaltetem 68060 Daten Cache. Dann sollte danach ein Clear Cache erfolgen damit Cpu Clear keinen muell produziert. Der befehl benoetigt mindestens OS V36. ***************************************************************************************** Init Tick Timer Initialisiert eine EClock Val Strucktur zur ermittlung vergangener Microsecunden durch Get Tick Timer. Damit laest sich der Zeitverbrauch einzelner Rutienen genauer bestimmen. Bestens geeignet fuer optimierungs arbeiten von rechen intensiven Programm teilen. ***************************************************************************************** a=Get Tick Timer Liest die Timer differrence aus der mit Init Tick Timer erzeugten EClock Val Strucktur die seit dem letzten Aufruf vergangen ist. 1 VBL entspricht etwar 1000 ticks. Die angabe sollte Microsecunden entsprechen. ***************************************************************************************** Autor: Turgut Temucin bei Morisik Martin-Wagner-Ring 11A 12359 Berlin Tel: 030/6023125 EMail: Fido: Internet: Dank sagung: Danken moechte ich Thomas Nokijelski der Mir bei der Umsetztung des Qsort Algorytmus in AMOS und ASM maasgebend geholfen hat. Und all denjenigen die den Mut hatten in der Vergangenheit Buecher fuer die tollste Maschine der Welt zu schreiben, ohne die gar nichts gegangen waere. Lang lebe der Amiga und seine Freunde !!!!!!! G.O.D. Section Berlin >>TFT<<1997