home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0600
/
CCE_0683.ZIP
/
CCE_0683
/
TP206V38.LZH
/
TP206V38
/
PATCH206.FIL
< prev
next >
Wrap
Text File
|
1993-11-25
|
30KB
|
733 lines
;*******************************************************************************
;* Patchfile für TOS 2.06 Version 3.8 (TosPatch V2.2 erforderlich)
;*
;* Das Format dieser Datei kann man wohl den Zeilen selbst entnehmen.
;* Mit dem ";" beginnt eine Kommentarzeile (wer hätte es gedacht?), damit
;* kann man sehr schön einzelne Patches auslassen (z.B. das Fast-Load-Bit)
;*
;* Die Patches habe ich von überall zusammengetragen. Einige (z.B. der
;* VDI-Patch) sind allerdings auf meinem Mist gewachsen. Bei allen
;* Patches gilt natürlich: ohne Gewähr...
;*
;* Ich hoffe, daß durch dieses Patchprogramm das Ändern des TOS nun endlich
;* auf geregelten Bahnen verläuft, denn jeder kann relativ einfach Patches
;* veröffentlichen und auch nicht so erfahrene User können diese übernehmen.
;*
;* Bei allen Dingen, welche von mir kommen, d.h. auch welche ich zusammen-
;* getragen habe, steht ein "MRF" als Erkennung davor.
;*
;* Wer eigene Patches hinzufügen will, sollte eine eigene Kennung wählen,
;* und diese im folgenden Kopf eintragen. Patches von anderen NIEMALS ändern!
;* Vielleicht hat sich derjenige doch was dabei gedacht! Wenn doch, so ist
;* die Änderung genau zu dokumentieren! Es muß herausgestellt werden, wie
;* der Patch vorher aussah und was geändert wurde.
;*
;* Nochwas zu Weitergabe: Es sollten nur die Patches aktiviert sein, die
;* für JEDEN etwas bringen. Also NUR FEHLERKORREKTUREN. Alle "Verbesserungen"
;* sind besser auszukommentieren. Wer sie will, kann sie immer noch übernehmen.
;*
;* Kennung: | Name des Urhebers bzw. desjenigen, der den Patch gesammelt hat
;* -------------------------------------------------------------------------
;* MRF | Markus Fritze, Σ-soft
;* HUCKY | ???
;* TFR | Jürgen Meyer
;* MH | Markus Heiden
;* TRK | Tracker
;* RB | Ralf Biedermann
;*
;* Fehlermeldungen und Erweiterungen bitte an mich. Zu erreichen im
;* MausNet unter "Markus Fritze @ HH".
;*
;* Erweitert für alle(?) TOS-Versionen von Markus Heiden.
;* Zu erreichen in der D-Box Hamburg (040)8324543 (300-ZyX 16800, 8N1) oder
;* in der Turbo-Tron (040)8901162 (300-ZyX 19200, 8N1). Bei Fragen und
;* Erweiterungen zu den neuen Versionen dieses Programms bitte ich um
;* öffentliche Messages in oben genannte Boxen.
;*
;* TosPatch : ©1990 Σ-soft, Markus Fritze (MRF)
;* Neue Versionen: ©1992-93 Markus Heiden (MH)
;*
;*******************************************************************************
;* MH:
;* TOS-Daten festlegen
;* >>> TOS-Länge _MUSS_ durch $20000 teilbar sein!
.BASE = E00000 ;TOS-ROM-Adresse (Default $E00000)
.LENGTH = 40000 ;TOS-Länge (Default $40000)
.WIDTH = .16 ;TOS-Breite (Default 16-bittig)
;*******************************************************************************
;* MRF:
;* Einleseformat des Patchprogramms
<TOS.IMG ;ungepatches TOS 2.06 lesen. Bei "<*" wird das ROM ausgelesen,
;dabei muß .LENGTH der originalen TOS-Länge entsprechen!
=14.11.1991 ;muß die Version vom 14.11.1991 sein! (sonst Message!)
;*******************************************************************************
;* MH:
;* Reloc-Korrekturen NUR (!!!) für das TOS 2.06 vom 14.11.1991
;* nach einer Idee von Andreas Kromke (KAOS 1.2 bzw KAOS 1.4).
;* Die Reloc-Korrekturen unterstützen TOS-Längen bis $100000.
?724 ;'?' ist richtig, da forciertes Relozieren.
!13D0,199E,1D3A,1D3E,1DF0,1DF6,25A2,34CC,622C,6DB6,8DA8,8DCA,EE70,106C0
!11BB6,11C10,1230A,12962,12F70,130BE,13928,1393C,17B4A,18C5C,190FC,19274
!19D64,1B244,1C3FC,1CA64,1CCCA,1CD98,1CFBE,1D82A,20854,21210,22BDC,22BF8
!265B8,266A6,26964,2B802,2B82A,2BA18,2CEB6,32842,32ED0,32ED2,33598,3359A
!33B62,34762,351C0,377FC,3A2E2,3A47C,3A60A,3A60E,3B6CE
!325AE..329B6 ;Atari-Logo
!33086..33506 ;6x6 Fontimage
!33762..33f62 ;8x8 Fontimage
!33f62..34f62 ;8x16 Fontimage
;*******************************************************************************
;* MH:
;* Berechnen und Setzen der CRC-Prüfsumme von TOS 2.06/3.06.
;* (Wichtig für RAMRESET, da sonst bei jedem Hardreset das TOS aus
;* dem RAM entfernt wird. Beim ROM-TOS erscheint sonst die Message
;* 'CRC-error in chip X.', falls der Test nicht ausgeschaltet ist (s.u.).)
§
;*******************************************************************************
;* MRF:
;* Ausgabeformat des Patchprogramms
>1 3C0000 ;eine Datei (TOS.IMG) für Adresse $3C0000 erzeugen
; bitte daran denken: Obere Ramgrenze - TOS-Länge (normalerweise = $40000)
; 4MB-Rechner: $3C0000
; 3MB-Rechner: $2C0000
;2.5MB-Rechner: $240000
; 2MB-Rechner: $1C0000 ;Mit weniger als 2MB Speicher macht es eigenlicht
; 1MB-Rechner: $0C0000 ;keinen Sinn mehr, TOS 2.06 im Ram zu halten -
;0.5MB-Rechner: $040000 ;außer vielleicht zum Testen der Patches!
;>1 ;eine nicht relozierte Datei (TOS.IMG) erzeugen
;* auch möglich: 2, 6 oder 8 Dateien, um neue EPROMs zu brennen
;* dazu muß ">2", ">6" bzw. ">8" angegeben werden
;*******************************************************************************
-PATCHFLD.206\ ;Dsetpath("PATCHFLD.206\")
;*******************************************************************************
;* MH:
;* 60Hz beim Start in Farbe (Original: 2 wäre 50Hz)
;AB $00
;*******************************************************************************
;* MH:
;* Reset-Befehl für RAM-TOS auf älteren ST's löschen.
;34 $4E,71
;*******************************************************************************
;* MH:
;* Modifizierte Reset-Routine. Hält RAM-TOS 2.06 auch bei Hardreset (von
;* Tastatur) im RAM.
;* >>> Nur für RAM-TOS!
.RAMRESET = 0 ;1: RAMRESET einbinden, 0: RAMRESET nicht einbinden
_IF .RAMRESET
AE §RAMRES2.ABS ;kein Konfigurationstest, RAM-TOS nicht löschen,
;Speicher ab $100 löschen.
;Tastatur-Soft-Reset: Reset
;Tastatur-Hard-Reset: CRC-Test/Speicher löschen/Reset
;Resetknopf : CRC-Test/Reset
;Falls beim CRC-Test ein Fehler auftritt,
;wird das TOS aus dem Ram entfernt.
101 $.WIDTH/8-1.B ;Parameter für die CRC-Berechnung setzen
104 $(.LENGTH-.WIDTH/4)/(.WIDTH/8).L
110 $((.WIDTH/8)!A!7)*200!O!5088.W
13A $((.WIDTH/8)!A!7)*200!O!5088.W
33c4 $cd,0a ;Key-Hardreset auf eigene Routine umbiegen
_ENDIF
;*******************************************************************************
;* MRF: (angepasst von MH)
;* Speicher ab $100 initialisieren und nicht ab $400. Damit hat man neben
;* den Vektoren keinen Mist mehr im Ram.
;* >>> Funktioniert _NICHT_ mit RAMRESET!
;1C2 $0100.w
;*******************************************************************************
;* MRF: (angepasst von MH)
;* _shell_p wird beim RESET zurückgesetzt (wie es sich gehört)
202 $42,B8,04,F6,3E,7C,3D,E8,42,38,0A,02
;*******************************************************************************
;* MH:
;* Anschalten von 16 Mhz und Cache auf Mega-STE's schon vor dem Booten.
;* >>> Nur für Mega-STE's !!!
;26C $56,F8,0A,03,00,38,00,03,8E,21,22,7C,00,00,CC,B2
;27C $30,7C,0A,04,42,58,B3,C8,66,FA
;*******************************************************************************
;* TFR:
;* Setzt die Steprate der Laufwerke A: und B:
;* $00 = 6 ms $01 = 12 ms $02 = 2 ms $03 = 3 ms
;* Adresse dieses Patches durch TRK
;339 $00
;*******************************************************************************
;* Harun Scheutzow: (implementiert von MH)
;* HD-Cookie installieren. Nicht für Mega STE/TT !!!
;* Format: 0xkkkkkk / normal (Mega STE/TT): $01415443
;* kkkkkk: Kennung, wer den Cookie installiert hat.
;* x=0: normale Schreibdichte (DD 720kB/360kB)
;* x=1: Hohe Schreibdichte (HD 1.44MB)
;* x=2: Extrahohe Schreibdichte (ED 2,88MB)
;* x>2: reserviert
;460 $4E,71,4E,71,4E,71,4E,71,4E,71,4E,71,4E,71
;476 $01000000.L ;hier den gewünschten Cookie-Wert eintragen (in Hex.)
;*******************************************************************************
;* MH:
;* Verringern der Zeitspanne, ab der - nach Systemstart - noch ein
;* Prüfsummentest (ROM-Test) (7ee) oder ein RAM-Test (97c) ausgeführt wird.
;* Zusätzlich kann der RAM-Test, falls er aktiviert ist, auf die Anzeige
;* der Speicherkonfiguration und den Wartebalken beschränkt werden.
;* Normalwert bei beiden Tests ist 80s!
;7ee $ .0 *.200.l ; 0s, d.h. kein CRC-Test mehr
;97c $ .0 *.200.l ; 0s, d.h. kein RAM-Test und Wartebalken mehr
;5F54 $60 ; RAM-Test auf Anzeige und Wartebalken beschränken
;*******************************************************************************
;* MH:
;* CRC-Routine des TOS evtl. anpassen (z.B. für 512kB TOS 2.06).
7FC $(.LENGTH-.WIDTH/4)/(.WIDTH/8).L
802 $.WIDTH/8-1.W
80C $.WIDTH/8.W
81E $.LENGTH-.WIDTH/4.L
828 $.WIDTH/8.W
;*******************************************************************************
;* MH:
;* Boot-Device-Fehler beheben (siehe ST-Computer 1/90)
8EA $30
;*******************************************************************************
;* MH:
;* Bootroutine für die "C't-Billiglösung". Diese Routine stammt von
;* Wolfgang Schönrath. Fragen (z.B. bei Problemen) bitte direkt an ihn:
;* über die MAUS MS (0251/80386), als NetMail über's FidoNet (2:507/203.7031),
;* oder über die Box ANDROMEDA (02381/460077 auch 2:507/203)
;*
;AE4 §CT_HD1.ABS ;Checkt Bootsektor auf Ausführbarkeit
;16F6 §CT_HD2.ABS ;neue XBIOS-Routine für Bootsektor lesen,
;die Routine für's Schreiben wurde entfernt!
;*******************************************************************************
;* MH:
;* Stackpointer bei Autoexec korrigieren (siehe ST-Computer 1/90)
128E $DE,FC,0,C,4A,40,66,68,3F,3C,0,7,2F,38,A,10
;*******************************************************************************
;* Gerd Trudow, Umsetzung & Adresse SV:
;* Ersetzt Die Atari-Bomben durch die ursprünglichen Atom-Pilze...
13B2 $06,00,29,00,00,80,48,40,11,F0,01,F0,07,FC,0F,FE,0D,FE,1F,FF,1F,EF,0F,EE,0F,DE,07,FC,03,F8,00,E0 ; Bomben
;13B2 $07,C0,1F,F0,3B,F8,77,F4,B7,FA,BB,FA,DF,F6,66,FC,32,88,02,80,04,40,04,40,05,40,05,20,09,20,09,20 ; Pilze
;*******************************************************************************
;* MRF: (angepasst von MH)
;* Die Megauhr kann NICHT mehr mit dem TOS verstellt werden. Dazu muß man nun
;* ein externes Stellprogramm aufrufen. Dies hat natürlich den Vorteil, daß
;* auch fremde Programme die Uhr nicht mehr verstellen können (wenn die
;* - wie üblich - das TOS verwenden).
;1468 $1C,A8
;*******************************************************************************
;* MH:
;* Der Blitter wird vom TOS verleugnet und nicht benutzt. (z.B. für die PAK)
;14B4 $70,00,4E,75
;*******************************************************************************
;* MH:
;* Schnelle Druckerroutinen für den Parallelport (Fastprint).
;* Ausgabe-, Eingabe- und Warteroutine werden ersetzt.
;* Entspricht FASTPRN.PRG von Ecki aus der c't.
;* Zusätzlich wird noch die Eingaberoutine ersetzt.
.FASTPRN = 1 ;1: FASTPRN einbinden, 0: FASTPRN nicht einbinden
_IF .FASTPRN
2FA $00E020B8.l ;Warteroutine auf neue Routine
F50 $00E0209C.l ;bconin-Vector auf neue Routine
F70 $00E020B8.l ;Warteroutine auf neue Routine
2020 §FASTPR3.ABS
2316 $61,00,FD,64 ;Routine zum Strobe setzen hat sich verschoben...
_ENDIF
;*******************************************************************************
;* MRF: (angepasst von MH)
;* Druckertimeout setzen. Originalwert ist 30s. Minimalwert ist 5s!
;* Geht beim Atari-Laser in die Hose; da ich einen habe, hier Originalwert
.TIMEOUT = .30 ;Zeit kann hier geändert werden (in Sekunden)
_IF .FASTPRN
2048 $.TIMEOUT*.200.l
_ELSE
2044 $.TIMEOUT*.200.l
_ENDIF
;*******************************************************************************
;* TRK:
;* conterm setzen: $7= Bit 2 gesetzt:Glocke bei CNTRL-G
;* Bit 1 '' :Tastenwiederholung ein
;* Bit 0 '' :Tastenklick ein
;22E3 $06
;*******************************************************************************
;* TRK:
;* Setzt den hdmode auf Null. Aus SEEKUP von Martin Osieka entnommen
;* Adresse dieses Patches durch TRK.
;* Der Patch ändert nur die Initialisierung mit drei.
;* Das übrige Verhalten bleibt.
;*
;* Kurzbeschreibung:
;* SEEKUP schaltet auf STs unter TOS 2.06 die Verdoppelung der
;* Seekrate aus (erkennbar am Seek-Geräusch der Laufwerke)
;*
;* typedef struct {
;* char cmdbit3; /* $00 oder $08, wird zum Positionierkommando geodert
;* Kann mit Flopsrate() verändert/abgefragt werden */
;* char dummy; /* nicht benutzt */
;* short track; /* Aktuelle Spur */
;* short hdmode; /* 0 oder 3, wird in Register $FF860E geschrieben
;* Dieses Register existiert auf STs nicht */
;* short seekrate; /* hdmode=0: 0: 6ms, 1: 12ms, 2: 2ms, 3: 3ms
;* hdmode=3: 0,1: 12ms, 2,3: 6ms
;* Kann mit Flopsrate() verändert/abgefragt werden */
;* } dsb3S;
;*
;* Das TOS verwaltet die Informationen zu den Floppylaufwerken in DSBs.
;* Initialisiert werden die DSBs mit { 0, 0, 0xFF00, 3, _seekrate}, damit
;* ist auf STs defaultmaessig 6ms eingestellt. Die Trackpositionierroutine
;* schaltet im Fehlerfall <hdmode> um und macht daraufhin einen weiteren
;* Versuch. Die Formatierfunktion setzt <hdmode> abhaengig von der Anzahl
;* der Sektoren pro Spur. Besser waere es wohl, wenn das TOS bei jedem
;* erkannten Diskettenwechsel <hdmode> zunaechst auf 0 setzen wuerde.
37E8 $0000.w
;*******************************************************************************
;* MH:
;* Fast-Load-Bit für schnelleres Laden (siehe ST-Computer 1/90)
;* Produziert Fehler bei einigen Laufwerken, deswegen hier nur als Kommentar
;3EE3 $10
;*******************************************************************************
;* RB:
;* Suche nach Laufwerk 'B' unterbinden -> Schnelleres Booten
;* >>> Funktioniert nicht mit 2 Laufwerken!
;5256 $0001.w
;*******************************************************************************
;* Harun Scheutzow: (implementiert von MH)
;* Neue Bios-Routinen Getbpb und Rwabs mit ED-Unterstützung:
;* - Es werden keine nicht erfolgten Diskettenwechsel mehr erkannt.
;* - Rwabs-Schreibroutinen zerstören keine VDI-Zeichensatzinformationen mehr.
;* - Es auch können Disketten mit nur einer FAT genutzt werden.
526A §BIOS1.ABS
572C §BIOS2.ABS
;*******************************************************************************
;* RB:
;* ausführen des Bootsektors der Diskette verhindern
;* (Ist ja nicht ganz so radikal schon im bootdevice-Patch enthalten).
;59AA $60
;*******************************************************************************
;* MRF: (angepasst von MH)
;* Wenn _bootdev >= 2 (also Laufwerk C) ist, wird der Bootsektor der Diskette
;* nach einem Warmstart nicht mehr ausgeführt. Bis zu TOS 1.4 war dies auch
;* so, aber seit TOS 1.4 wird der Bootsektor stets ausgeführt. Dies kostet
;* bei einem RESET nicht nur Zeit, sondern hilft auch zur Verbreitung von
;* Bootsektor-Viren.
59AE $BE,78,04,46,6F,2E,70,01,3E,80,42,A7,3F,00,42,67
59BE $42,A7,2F,38,04,C6,61,00,DE,5A
;* In diesem Patch befindet sich ein Fehler. Es wird mit CMP.W $0446.W,D7
;* verglichen und dann mit BCC xxx verzweigt. Dies funktioniert aber nur
;* dann, wenn _bootdev auch = 2 ist. Hat man aber CBHD und bootet z.B.
;* von E: (also _bootdev = 4), dann wird trotzdem der Bootsektor von A:
;* ausgefuehrt. Was noch schlimmer ist, dass bei diesem Patch ueberhaupt
;* kein Booten mehr von A: oder B: moeglich ist, was bei manchen Spielen,
;* die durch einen Boot geladen werden, zu Probleme fuehren kann. Um
;* dies zu beheben, ist der fuenfte Wert in der ersten Reihe ($64 bzw.
;* 64) durch $6F bzw. 6F zu ersetzen.
;* Es wird dann mit BLE xxx verzweigt, wobei dann die Abfrage
;* auch das erfuellt, was man gerne moechte.
;*
;* 07.09.1990 The Frontier
;*******************************************************************************
;* MRF: (angepasst von MH)
;* VDI-Patch (neue v_opnvwk()-Routine, ersetzt VDIFIX)
;* >>> Direktübernahme aus TOS 1.04. Also: Erst testen!
;9FD0 §VDI.ABS
;*******************************************************************************
;* Karsten Isakovic (implementiert durch MRF): (angepasst von MH)
;* Beseitigt den Fehler, der beim einen Mshrink(0)-Aufruf die Memory-Listen
;* zerstörte.
;* >>> Direktübernahme aus TOS 1.04. Also: Erst testen!
;14806 $2F,2E,00,0A,4E,B9,00,E1,49,98,58,8F,4E,71
;*******************************************************************************
;* RB:
;* grow- und shrinkboxen ausschalten
;2112C $4E,75
;21170 $4E,75
;*******************************************************************************
;* MRF: (angepasst von MH)
;* Korrektes MSDOS-Format (Statt $EB nun $EB34904E als 1. Bytes im Bootsektor)
;2695C $DE,FC,0,C,2A,BC,EB,34,90,4E
;*******************************************************************************
;* MH:
;* Cache für alle Prozessoren >= 68020 aktivieren.
;* >>> Achtung: Dieser Patch befindet sich noch in der Testphase!
;2AD4A $.020.W
;2AD50 $64
;301DA $.020.W
;301E0 $65
;30458 $.020.W
;3045E $65
;* Nur den Codecache abfragen. _MUSS_ bei Benutzung des obrigen Cache-Patches
;* mit einem 68020 (z.B. der PAK) gepatcht werden.
;30490 $C0,BC,00,00,00,01,67,0A ;nur für Cache mit 68020
;*******************************************************************************
;* TRK:
;* Atari-Anfangsfuji gegen 'Gib-Dos keine Chance' ersetzen.
;* Fuji von Reiner Rosin (programmtechnisch)
;* Umsetzung in Fileform von TRK
;325AE GIB_DOS.ABS
;*******************************************************************************
;* MH:
;* Atari-Anfangsfuji gegen 'GeTuned'-Figur ersetzen.
;* Figur von Sven Spitzmacher
;325AE GT_TOS.ABS
;*******************************************************************************
;* MRF: (angepasst von MH)
;* Die Default-Keyboardtabelle (3 mal 128 Bytes für die Scancodetabellen)
;* wurden von dem Multi-Acc JAMES entliehen (von: Pascal Fellerich,
;* 45 rue des Genêts, L-3482 Dudelange, Luxembourg)
;*
;* Folgende Keyboardtabellen sind im Ordner DEMO.KBD:
;* AMERICAN.KBD, FRENCH.KBD, GERFRENC.KBD, GERMAN.KBD, HEXA.KBD, SWISSFR.KBD.
-DEMO.KBD\ ;Dsetpath("DEMO.KBD\")
;32BB6 GERMAN.KBD
-.. ;Dsetpath("..") (ein Verzeichnis zurück)
;*******************************************************************************
;* MRF: (angepasst von MH)
;* ß in ein IBM-β wandeln. Damit wird kein Pesata, sondern ein Beta-"β"
;* ausgegeben. Dies sieht nun mal auf den meisten Nadeldruckern besser aus.
;* Dies wirkt natürlich nur bei Texten, welche mit dem gepachten TOS eingegeben
;* werden. In den alten steht ja noch das ß drin.
;*
;* HUCKY: Macht Probleme bei Script... Deswegen als Kommentar
;32BC2 $E1
;32CC2 $E1
;*******************************************************************************
;* MH:
;* Ändert den Papiervorschub bei der Hardcopy ab. Somit kann sowohl auf einem
;* NEC P6, wie auch weiterhin auf einem EPSON eine Hardcopy gemacht werden
;* (siehe ST-Computer 10/90).
;32DA5 $1B,41,07,FF
;*******************************************************************************
;* HUCKY: (angepasst von MH)
;* Fontimages ändern (nur die Bit-Images!!!)
;* Tempus oder Stad-Fonts einbinden. Diese müssen jedoch zuerst
;* konvertiert werden.
-FONTS\ ;Dsetpath("FONTS\")
;33086 6X6_FONT.ABS ;1152 Bytes (da 6x6 Font!)
;33762 8X8_FONT.ABS ;2048 Bytes (8x8 Font)
;33F62 NEU.ABS ;4096 Bytes (8x16 Font)
-.. ;Dsetpath("..") (Ein Verzeichnis zurück)
;* Der Zeichensatz NEU.ABS, der diesem Archiv beiliegt, wurde von
;* SkyVox erstellt. Danke
;*******************************************************************************
;* TRK:
;* Standardtastaturbelegung für die Desktopfunktionen ändern
;* ASCII-Werte der Standardtastenbelegung (aus dem NEWDESK.INF übernommen)
;* Nicht belegte Tasten erhalten den Wert 00
;* Diese Tastenbelegung wurde von SkyVox 'entworfen'. Danke
;362AA $4F,49,53,4C,56,43,57,4E,41,58,46,42,54,31,32,33,34,30,45,48,35,36,37,38,4D,52,4B,44,50,2E
;*******************************************************************************
;* HUCKY: (angepasst von MH)
;* Nun noch was, wenn man das Aussehen vom AES verändern will...
;* >>> BESSER : Gleich neue RSC-Files schaffen und einbinden (s.u.)!
;* >>> VORSICHT: Dieser Patch funktioniert nicht mit RSC/NEWDESK-Patch!
-ICONS\ ;Dsetpath("ICONS\")
;* die Images sind jeweils 128 Bytes (4 Byte / Zeile => 32 Zeilen) lang.
;3727C TOSFACES.IMG ;Ausrufezeichen
;372FC ;Fragezeichen in form_alert()
;3737C ;Stopschild
;39E6E ;i-Image in der Infobox des Desktops
;* die folgenden Icons bestehen jeweils auf 256 Bytes. 128 Bytes Maske, 128 Byte
;* Image für das Icon
;39EEE TOSICONS.IMG ;Diskettenlaufwerk
;39FEE ORDNER.IMG ;Ordner
;3A0EE ;Papierkorb
;3A1EE PROGRAMM.IMG ;Programm
;3A2EE DATEI.IMG ;Datei
-.. ;Dsetpath("..") (Ein Verzeichnis zurück)
;*******************************************************************************
;* SV
;* Eingabe eines individuellen Textes ins Info-Menü
;* Hierzu muß der Text mittels ASCII-HEX-Code eingeben werden, darf dabei
;* jedoch nicht länger als 29 Zeichen sein.
;* >>> BESSER : Gleich neue RSC-Files schaffen und einbinden (s.u.)!
;* >>> VORSICHT: Dieser Patch funktioniert nicht mit RSC/NEWDESK-Patch!
;3850E $2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D,2D
;*******************************************************************************
;* MRF: (angepasst von MH)
;* die Mausformen (Aufbau der Struktur gemäß der AES-Funktion "graf_handle")
;* >>> BESSER : Gleich neue RSC-Files schaffen und einbinden (s.u.)!
;* >>> VORSICHT: Dieser Patch funktioniert nicht mit RSC/NEWDESK-Patch!
-MFORM\ ;Dsetpath("MFORM\")
;373FC MFORM0.ABS ;ARROW
;37446 MFORM1.ABS ;TEXT_CRSR
;37490 MFORM2.ABS ;BUSY_BEE
;374DA MFORM3.ABS ;POINT_HAND
;37524 MFORM4.ABS ;FLAT_HAND
;3756E MFORM5.ABS ;THIN_CROSS
;375B8 MFORM6.ABS ;THICK_CROSS
;37602 MFORM7.ABS ;OUTL_CROSS
-.. ;Dsetpath("..") (Ein Verzeichnis zurück)
;*******************************************************************************
;* MH:
;* Das Default-NEWDESK.INF und die Resourcen zum Includen!!!
;* Hier nun die ultimative Möglichkeit, sich das TOS nach seinen Wünschen
;* zu gestalten. Originalfiles: 206_1.RSC,206_2.RSC,NEWDESK2.INF.
;*
;* Vorsicht: Alle 3 Files dürfen jeweils max. 64kB lang sein, da die
;* Pointer auf dieselbigen Words sind; allerdings sind im TOS
;* sowieso nur noch ca. 8kB frei, so daß man aufpassen muß, das
;* TOS-Ende nicht zu überschreiten. Man kann aber den Wert der
;* Variable .LENGTH vergrößern, so daß das TOS länger wird
;* (TOSPATCH zeigt dann eine Message, daß das gelesenen TOS zu
;* kurz sei, aber da kann man dann einfach SPACE drücken).
;* Das funktioniert aber nur, falls das TOS von Diskette
;* und nicht aus dem ROM gelesen wird!
;*
;* Diese Dateien von TOS 2.06 und TOS 3.06 sind identisch(!), d.h. sie
;* können für beiden TOS-Versionen zum Patchen genutzt werden.
;*
;* Wenn man mehr Icons gleichzeitig auf dem Desktop haben möchte, muß man
;* in der 2.RSC-Datei (206_2.RSC) im 13. Formular (ICONS) einfach mehr Boxen
;* reinsetzen. Ich habe in der Datei 206_2X.RSC die Anzahl der Icons
;* schon von 48 auf 160 vergrößert.
;*
;* Man kann nun auch neue und mehr Icons in sein TOS einbinden (anstatt
;* DESKICON.RSC zu verwenden). Die Icons findet man in der 2. RSC-Datei
;* (206_2.RSC) im 11. Formular (DESKICON). Hier einfach neue oder andere
;* Icons eintragen.
.RSC = 0 ;1: RSC-Patch einbinden, 0: RSC-Patch nicht einbinden
_IF .RSC
36ACE: ~ 206_1.RSC ;Resource-Datei 1
~ $00,00,0E,4C ;Diese Byte-Folge immer hinter RSC1
.rsc1_end: ~ 206_2x.RSC ;Resource-Datei 2
~ $58,20,00,00 ;Diese Byte-Folge immer hinter RSC2
.rsc2_end: ~ NEWDESK2.INF ;NEWDESK.INF
~ $00,0D,00,08,00,01 ;Diese Byte-Folge immer hinter NEWDESK.INF
.inf_end: _EVEN ;Damit nachfolgender Code ausführbar bleibt
_IF .inf_end-36ac4 < 10000
36AC4 |$.rsc1_end-36ac4.w
36AC6 |$.rsc2_end-36ac4.w
36AC8 |$.inf_end-36ac4.w
_ELSE
/'Resourcen sind länger als 64kB...'
1C8D0 |§NEWRSC.ABS
36AC4 |$.rsc1_end-36ACE.w
36AC6 |$.rsc2_end-.rsc1_end.w
36AC8 |$.inf_end-.rsc2_end.w
_ENDIF
!36AC4.. .inf_end ;Im RSC/NEWDESK.INF nicht Relozieren
_ELSE
!36AC4..3DFC8 ;Im RSC/NEWDESK.INF nicht Relozieren
3DFC8: ;erste Adresse hinter originalen RSC/NEWDESK.INF
_ENDIF
;*******************************************************************************
;* MRF: (angepasst von MH)
;* Harddisk-Waiter (zum gleichzeitigen Anschalten von Rechner und Platte)
;* Leider ist mir unbekannt, von wem diese Routine stammt, ich habe sie in
;* einem Bootsektor gefunden. Zudem kann man das Warten mit [ALTERNATE]
;* abbrechen (wenn z.B. keine Platte vorhanden ist).
;* ACHTUNG: Der Harddisk-Waiter funktioniert nur mit einer Platte. Zudem
;* bin ich nur sicher, daß er mit meiner Megafile 60 funktioniert.
;.hd_wait: ~ §HDWAIT.ABS ;Länge 222 Bytes
;!.hd_wait+8 .. ~ ;in diesem Patch nicht relozieren
;72E |$4E,B9,.hd_wait+.base.l ;Jsr zum Harddisk-Waiter
;734 |$4E,71,4E,71 ;NOP's
;*******************************************************************************
;* MRF: (angepasst von MH)
;* Alternativer Hardisk-Waiter. Wartet 12s bei einem Kaltstart auf die Platte
;* Dies funktioniert mit allen Platten! Mit Tastendruck kann das Warten
;* abgebrochen werden.
;* Fast gleichwertig zu diesem Patch ist, wenn man in den Patch, der die
;* Zeitspanne festlegt, ab der Systemstart noch die Tests ausgeführt
;* werden, die entsprechende Zeit einträgt. (d.h. gleichen Wert für Ticks
;* wie bei diesem Patch in beide Patchzeilen eintragen.)
;.time = .12 ;Wartezeit in s (max. 327s !!!)
;.hd_wait: ~ §HDWAIT1.ABS ;Länge 60 Bytes
;!.hd_wait+8 .. ~ ;in diesem Patch nicht relozieren
;.hd_wait+A |.time*.200.w ;Wartezeit eintragen
;72E |$4E,B9,.hd_wait+.base.l ;Jsr zum Harddisk-Waiter
;734 |$4E,71,4E,71 ;NOP's
;*******************************************************************************
;* MH:
;* Hardisk-Waiter von EWK
;.time = .20 ;max. Wartezeit in s (max. 99s !!!)
;.device = 0 ;DMA-Device, auf das gewartet werden soll (0-7)
;.hd_wait: ~ §HDWAIT2.ABS ;Länge 350 Bytes
;!.hd_wait+8 .. ~ ;in diesem Patch nicht relozieren
;.hd_wait+E |$4E,71 ;Nur für RAM-TOS und >=2 Harddisks
;.hd_wait+1F |$.time.b ;Wartezeit eintragen
;.hd_wait+86 |$.device*20.w ;Device eintragen
;.hd_wait+92 |$.device*20.w
;.hd_wait+10A |$.device+30.b
;72E |$4E,B9,.hd_wait+.base.l ;Jsr zum Harddisk-Waiter
;734 |$4e,71,4e,71 ;Rest mit NOP's auffüllen
;*******************************************************************************
;* MH:
;* Abbruch bei Überschreiten der TOS-Länge.
_IF ~ > .LENGTH-.LENGTH/10000
_ERROR 'Patches länger als das TOS'
_ENDIF
;*******************************************************************************
;* Martin Osieka: (implementiert durch MH)
;* Puffer für NEWDESK.INF vergrößern. Originalroutinen aus SHBUF 1.3!
;* Zu näheren Informationen siehe SHBUF.
.BUFFER = 7FFE ;In diese Zeile kann die gewünschte Puffer Größe
;eingetragen werden. Maximum ist $7FFE => 32kB pro Puffer.
;Da es 2 Puffer gibt => max. 64kB Speicherverbrauch
;'Originalwert' ist $1000.
;+§SHBUF.FIL ;SHBUF-Patch includen
;*******************************************************************************
;* Martin Osieka: (implementiert durch MH)
;* Neue Fenterverwaltung. Originalroutinen aus WINX 2.2!
;* Zu näheren Informaionen siehe WINX.
;*
;* Defaultwerte sind:
;* .GLOBAL = 1FFF, .LOCAL = 0FFF, .DESKTOP = 0FFF, INIT_SCROLL = .460,
;* .CONT_SCROLL = .40, CONT_CLOSE = .1000, CONT_FULL = .2000
.GLOBAL = 1FFF ;Globale Schalter (Bit 0 = Schalter 1, etc.)
.LOCAL = 0FFF ;Lokale Schalter (Bit 0 = Schalter 1, etc.)
.DESKTOP = 0FFF ;Desktop Schalter (Bit 0 = Schalter 1, etc.)
.INIT_SCROLL = .460 ;Initial scroll delay in ms
.CONT_SCROLL = .40 ;Continous scroll delay in ms
.CONT_CLOSE = .1000 ;Continous close delay in ms
.CONT_FULL = .2000 ;Continous full delay in ms
;+§WINX.FIL ;WINX-Patch includen
;*******************************************************************************
;* Martin Osieka: (implementiert durch MH)
;* Neue Scrollroutinen für GEM. Originalroutinen aus ARROWFIX 1.5!
;* Zu näheren Informationen siehe ARROWFIX.
;*
;* In .TIME steht die Default-Ansprechzeit bis zur ersten Wiederholung einer
;* Scrollnachricht in 0,125s. Diese Ansprechzeit läßt sich auch mit dem
;* ARROWFIX.CPX einstellen. Werte von 0 bis 9 für .TIME sind zulässig.
;* Original-Default ist .TIME = 3.
.TIME = 3 ;Ansprechzeit in 0,125s.
;+§ARROW.FIL
;*******************************************************************************
;* Ende der Datei...
-.. ;Dsetpath("..") (Ein Verzeichnis zurück)