Hi, Ihr Coder da drauen!


Das  hier  ist  die  fr den Falcon030 angepate Version vom
TurboAss,  die jetzt auch ein paar spezielle 68030er Befehle
und   Adressierungsarten  kann.  Folgendes  hab  ich  daran
gendert:

**********
*    Was schon gemacht wurde (in chronologischer Reihenfolge)
* - Wortweise vor/zurck mit  Control + Rechts/Links
* - Undo innerhalb eines PARTs baute Scheie (klappt immer noch nicht ganz)
* - Font beim Laden/Saven nicht mehr distortet (Buffer vergrert)
* - Debugger nachladen funktioniert wieder (>s_load_dbg, Buffer vergrert)
* - Kein Defaultfilename ('noname.src') mehr (war recht strend)
* - Infobox, damit die Leutz Bescheid wissen, da gepatched wurde
* - Skalierung bei indirekter Adressierung
* - TST jetzt auch PC-relativ
* - fselexinput klappt jetzt wieder mit dem FALCON-TOS
* - BSS lschen, damit mit Atomik gepackt werden kann
* - movec mit CAAR, CACR, DFC, SFC
* - Zeile mit 'PART' lschen erlauben, wenn PART offen
* - Hardwareuhr auf dem FALCON030 erkennen (andere Adresse als im MSTe!)
* - movec auch mit VBR, MSP, ISP, USP
* - mulu.l / divu.l
* ****** 1. 'Verffentlichung' ******
* - rtd #offs (naja, wer's braucht :-))
* - TRAPcc    (dito)
* - extb.l
* - TRAPcc.W/.L #x
* - Fehler bei muls.l # /divs.l # behoben
* - Adressierung (bd.x,An,Rm.y*s)    (angefangen)
* - Optimiert auch nach TST adr(PC)
* - (bd.x,ZAn,Rm.y*s) und (ZAn,Rm.y*s) werden jetzt angenommen
* - BASE An,adr und (bd.w,An,Rm.y*s) klappt jetzt
* - Optimierung nach 68030 ber OPT W und O steuerbar (* ein, + od. - aus)
* - Kein Shortwarnung mehr bei andi.l #x,adr/addi.l #x,adr  etc.
* - Bcc.L/BRA.L/BSR.L
* - Block move -> Source changed!
* - (bd.x,PC,Rm.y*s)
* - BASE An,adr und (adr.L,An,Rx) funzt jetzt auch
* - PARTs auch nach Zeile 32767 noch klappbar ;-)
* - CNOP ??,0 wird nicht mehr angenommen (vorher: 2 Bomben beim Assemblieren)
* - richtigen PC-Offset berechnen (ALT-P & Einsprung aus dem Bugaboo)
* - CNOP ohne gelegentliches Space hinter'm Komma
* - bei Platten mit Sektoren >4kBytes keine Sektoren 'reinladen (Mediachange)
* - korrekte Planeoffsets auch mit 4 und 8 Planes
* - Flimmern beim Bewegen der Maus behoben
* - Fehler bei Undo behoben
*********

z.T.  wurden  auch  Bugs,  die in der alten TurboAss-Version
drin   waren,   behoben   (da   sind die Programmierer meist
etwas mit ihrer Registerbelegung durcheinandergekommen :-))


Zur Adressierungsart "(BD.x,An,Rm.y)":
Das  Basediplacement kann Byte, Word od. Long sein oder auch
einfach weggelassen werden (bei Byte wird in die vom MC68000
bekannte Adressierungsart offset(An,Rm) gewandelt).
Soll  das  Basisregister An nicht ausgewertet werden, so ist
ein  Z  voranzustellen  (Bsp:   (adr.l,ZA0,D5.w*4)); das war
zumindest   die  Notation  vom  Peacebug  (Hi Emanuel!) (ich
hatte sonst keine andere  Quelle,  das User's Manual schwieg
sich  aus).  Es  ist  also neuerdings mglich, Datenregister
indirekt     zu   adressieren   (z.B.   (ZA0,D3.l))   oder
Adressregister relativ mit Longoffset (vorher: nur Word bzw.
nur  Byte,  wenn noch ein Indexregister beteiligt war) (dito
fr PC-relativ!)


Optimierungen:   Im   Moment   wird   die  Adressierungsart
(bd.x,An,Rx)  nicht  optimiert, falls BD auch Word oder Byte
sein  knnte  bzw.  wenn  das  Offset zu gro ist, dann wird
bislang  nur  von .w nach .l 'optimiert'. Gleiches gilt auch
fr (bd.x,PC,Rx)!

Die  Optimierungen  knnen via OPT O  und OPT W kontrolliert
werden.  O-  bedeutet  -wie  vorher-  keine  Optimierung, O+
normale  (68000er)  Optimierungen und O* optimiert u.U. nach
68030er-Code.  Dies  betrifft  im Moment zwar nur tst adr ->
tst adr(PC) aber es kommt evtl. noch 'was nach ;-)
Opt W* hat noch berhaupt keine Wirkung.
Defaulteinstellung  (wenn kein Opt O/W angegeben ist), ist *
also  Vorsicht  bei  Sourcen, die noch immer auf dem 68000er
laufen sollen und kein Opt O angegeben haben!



Aufgrund  der  fr  den  68000er  zugeschnittenen   internen
Struktur  des  TurboAss  war  es  mir  bislang  leider nicht
mglich,  die  Bitfieldbefehle,  sowie die doppelt indirekte
Adressierungen einzubauen. Der TurboAss erlaubt nmlich max.
2  Symbole od. Formeln je Zeile (durch die doppelt indirekte
A'art   sind  bis  zu  4  je  Zeile  denkbar),  sowie  eine
Beschrnkung  der  Befehlslnge  auf 14Bytes/Befehl (22 sind
mit der doppelt indirekten A'art mglich!)

Wie  und  ob  ich  dies  noch  irgendwann  lsen  kann,  ist
fraglich :-(

Folgendes  ist noch geplant, die Umsetzung jedoch noch nicht
sicher.

**********
*    Was noch gemacht werden mu (unsortiert):
* - Optimierung bei (bd.x,An,Rm)!
* - Optimierung bei (bd.x,PC,Rm)!
* - Outputname etwas lnger
* - IBYTES: lngeren Namen erlauben
* - bei mehreren Pfaden alle durchsuchen
* - Fehler bei ClrHome (manchmal wird eine falsche Zeile angezeigt (wg. PARTs!))
* - Doppelt indirekte Adressierungen
* - Externe Programme aufrufen
**********

Die  entsprechenden  Anpassungen der Befehle im Bugaboo sind
in Arbeit.


Es ist, durch die recht tiefen Eingriffe in die Struktur des
TurboAss'  im  Bereich  des mglichen, da bestimmte Befehle
falsch  assembliert  werden!  Im Zweifelsfall sollte man den
Fehler  auch  im  Assembler  suchen und nicht nur im eigenen
Programm!


************************************************************
Wichtig:  TurboAss  und Bugaboo unterliegen nach wie vor dem
Copyright  von  SigmaSoft. Derzeitiger Status von beiden ist
Shareware,  wobei  SigmaSoft jedoch nicht mehr existiert und
daher   auch  keine  Sharewaregebhren  mehr  verlangt.  Die
030er   Version   darf   mit   Genehmigung   von   M. Fritze
verffentlicht  werden.Die Distribution durch z.B. Mailboxen
ist  erlaubt,  solange  damit kein Profit gemacht wird (also
keine  Coverdisk  von irgendwelche Magazinen, darf nicht auf
CDs und dergleichen!).

Ich bernehme keinerlei Verantwortung fr die Fehlerfreiheit
dieser  Version!  Ich  will auch kein Geld fr diese Patche,
das wre hchst unfair SigmaSoft gegenber.
************************************************************

das war's


bye
  Achim (SCY/TSCC)


Kontakt:

Achim Settelmeier
Rlzheimer Str. 39
76756 Bellheim

Email: achim_settelmeier@ka2.maus.de

Die  Adresse von Sigmasoft oder besser gesagt, das, was noch
von    SigmaSoft   brig   ist   (seufz),   steht   in   der
Originalanleitung!
