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 >
Text File  |  1993-11-25  |  30KB  |  733 lines

  1. ;*******************************************************************************
  2. ;* Patchfile für TOS 2.06 Version 3.8 (TosPatch V2.2 erforderlich)
  3. ;*
  4. ;* Das Format dieser Datei kann man wohl den Zeilen selbst entnehmen.
  5. ;* Mit dem ";" beginnt eine Kommentarzeile (wer hätte es gedacht?), damit
  6. ;* kann man sehr schön einzelne Patches auslassen (z.B. das Fast-Load-Bit)
  7. ;*
  8. ;* Die Patches habe ich von überall zusammengetragen. Einige (z.B. der
  9. ;* VDI-Patch) sind allerdings auf meinem Mist gewachsen. Bei allen
  10. ;* Patches gilt natürlich: ohne Gewähr...
  11. ;*
  12. ;* Ich hoffe, daß durch dieses Patchprogramm das Ändern des TOS nun endlich
  13. ;* auf geregelten Bahnen verläuft, denn jeder kann relativ einfach Patches
  14. ;* veröffentlichen und auch nicht so erfahrene User können diese übernehmen.
  15. ;*
  16. ;* Bei allen Dingen, welche von mir kommen, d.h. auch welche ich zusammen-
  17. ;* getragen habe, steht ein "MRF" als Erkennung davor.
  18. ;*
  19. ;* Wer eigene Patches hinzufügen will, sollte eine eigene Kennung wählen,
  20. ;* und diese im folgenden Kopf eintragen. Patches von anderen NIEMALS ändern!
  21. ;* Vielleicht hat sich derjenige doch was dabei gedacht! Wenn doch, so ist
  22. ;* die Änderung genau zu dokumentieren! Es muß herausgestellt werden, wie
  23. ;* der Patch vorher aussah und was geändert wurde.
  24. ;*
  25. ;* Nochwas zu Weitergabe: Es sollten nur die Patches aktiviert sein, die
  26. ;* für JEDEN etwas bringen. Also NUR FEHLERKORREKTUREN. Alle "Verbesserungen"
  27. ;* sind besser auszukommentieren. Wer sie will, kann sie immer noch übernehmen.
  28. ;*
  29. ;* Kennung: | Name des Urhebers bzw. desjenigen, der den Patch gesammelt hat
  30. ;* -------------------------------------------------------------------------
  31. ;*   MRF    | Markus Fritze, Σ-soft
  32. ;*  HUCKY   | ???
  33. ;*   TFR    | Jürgen Meyer
  34. ;*   MH     | Markus Heiden
  35. ;*   TRK    | Tracker
  36. ;*   RB     | Ralf Biedermann
  37. ;*
  38. ;* Fehlermeldungen und Erweiterungen bitte an mich. Zu erreichen im
  39. ;* MausNet unter "Markus Fritze @ HH".
  40. ;*
  41. ;* Erweitert für alle(?) TOS-Versionen von Markus Heiden.
  42. ;* Zu erreichen in der D-Box Hamburg (040)8324543 (300-ZyX 16800, 8N1) oder
  43. ;* in der Turbo-Tron (040)8901162 (300-ZyX 19200, 8N1). Bei Fragen und
  44. ;* Erweiterungen zu den neuen Versionen dieses Programms bitte ich um
  45. ;* öffentliche Messages in oben genannte Boxen.
  46. ;*
  47. ;* TosPatch      : ©1990    Σ-soft, Markus Fritze (MRF)
  48. ;* Neue Versionen: ©1992-93 Markus Heiden (MH)
  49. ;*
  50.  
  51. ;*******************************************************************************
  52. ;* MH:
  53. ;* TOS-Daten festlegen
  54. ;* >>> TOS-Länge _MUSS_ durch $20000 teilbar sein!
  55.  
  56. .BASE   = E00000    ;TOS-ROM-Adresse (Default $E00000)
  57. .LENGTH =  40000    ;TOS-Länge (Default $40000)
  58. .WIDTH  =    .16    ;TOS-Breite (Default 16-bittig)
  59.  
  60. ;*******************************************************************************
  61. ;* MRF:
  62. ;* Einleseformat des Patchprogramms
  63.  
  64. <TOS.IMG    ;ungepatches TOS 2.06 lesen. Bei "<*" wird das ROM ausgelesen, 
  65.                 ;dabei muß .LENGTH der originalen TOS-Länge entsprechen!
  66. =14.11.1991     ;muß die Version vom 14.11.1991 sein! (sonst Message!)
  67.  
  68. ;*******************************************************************************
  69. ;* MH:
  70. ;* Reloc-Korrekturen NUR (!!!) für das TOS 2.06 vom 14.11.1991
  71. ;* nach einer Idee von Andreas Kromke (KAOS 1.2 bzw KAOS 1.4).
  72. ;* Die Reloc-Korrekturen unterstützen TOS-Längen bis $100000. 
  73.  
  74. ?724      ;'?' ist richtig, da forciertes Relozieren.
  75.  
  76. !13D0,199E,1D3A,1D3E,1DF0,1DF6,25A2,34CC,622C,6DB6,8DA8,8DCA,EE70,106C0
  77. !11BB6,11C10,1230A,12962,12F70,130BE,13928,1393C,17B4A,18C5C,190FC,19274
  78. !19D64,1B244,1C3FC,1CA64,1CCCA,1CD98,1CFBE,1D82A,20854,21210,22BDC,22BF8
  79. !265B8,266A6,26964,2B802,2B82A,2BA18,2CEB6,32842,32ED0,32ED2,33598,3359A
  80. !33B62,34762,351C0,377FC,3A2E2,3A47C,3A60A,3A60E,3B6CE
  81.  
  82. !325AE..329B6       ;Atari-Logo
  83. !33086..33506       ;6x6  Fontimage
  84. !33762..33f62       ;8x8  Fontimage
  85. !33f62..34f62       ;8x16 Fontimage
  86.  
  87. ;*******************************************************************************
  88. ;* MH:
  89. ;* Berechnen und Setzen der CRC-Prüfsumme von TOS 2.06/3.06.
  90. ;* (Wichtig für RAMRESET, da sonst bei jedem Hardreset das TOS aus
  91. ;* dem RAM entfernt wird. Beim ROM-TOS erscheint sonst die Message
  92. ;* 'CRC-error in chip X.', falls der Test nicht ausgeschaltet ist (s.u.).)
  93.  
  94. §
  95.  
  96. ;*******************************************************************************
  97. ;* MRF:
  98. ;* Ausgabeformat des Patchprogramms
  99.  
  100. >1 3C0000           ;eine Datei (TOS.IMG) für Adresse $3C0000 erzeugen
  101.  
  102. ; bitte daran denken: Obere Ramgrenze - TOS-Länge (normalerweise = $40000)
  103. ;  4MB-Rechner: $3C0000 
  104. ;  3MB-Rechner: $2C0000
  105. ;2.5MB-Rechner: $240000
  106. ;  2MB-Rechner: $1C0000   ;Mit weniger als 2MB Speicher macht es eigenlicht
  107. ;  1MB-Rechner: $0C0000   ;keinen Sinn mehr, TOS 2.06 im Ram zu halten -
  108. ;0.5MB-Rechner: $040000   ;außer vielleicht zum Testen der Patches!
  109.  
  110. ;>1                  ;eine nicht relozierte Datei (TOS.IMG) erzeugen
  111. ;* auch möglich: 2, 6 oder 8 Dateien, um neue EPROMs zu brennen
  112. ;* dazu muß ">2", ">6" bzw. ">8" angegeben werden
  113.  
  114. ;*******************************************************************************
  115.  
  116. -PATCHFLD.206\      ;Dsetpath("PATCHFLD.206\")
  117.  
  118. ;*******************************************************************************
  119. ;* MH:
  120. ;* 60Hz beim Start in Farbe (Original: 2 wäre 50Hz)
  121.  
  122. ;AB $00
  123.  
  124. ;*******************************************************************************
  125. ;* MH:
  126. ;* Reset-Befehl für RAM-TOS auf älteren ST's löschen.
  127.  
  128. ;34 $4E,71
  129.  
  130. ;*******************************************************************************
  131. ;* MH:
  132. ;* Modifizierte Reset-Routine. Hält RAM-TOS 2.06 auch bei Hardreset (von
  133. ;* Tastatur) im RAM.
  134. ;* >>> Nur für RAM-TOS!
  135.  
  136. .RAMRESET = 0            ;1: RAMRESET einbinden, 0: RAMRESET nicht einbinden
  137.  
  138. _IF .RAMRESET
  139. AE §RAMRES2.ABS          ;kein Konfigurationstest, RAM-TOS nicht löschen,
  140.                          ;Speicher ab $100 löschen.
  141.                          ;Tastatur-Soft-Reset: Reset
  142.                          ;Tastatur-Hard-Reset: CRC-Test/Speicher löschen/Reset
  143.                          ;Resetknopf         : CRC-Test/Reset
  144.                          ;Falls beim CRC-Test ein Fehler auftritt,
  145.                          ;wird das TOS aus dem Ram entfernt.
  146.  
  147. 101 $.WIDTH/8-1.B        ;Parameter für die CRC-Berechnung setzen
  148. 104 $(.LENGTH-.WIDTH/4)/(.WIDTH/8).L
  149. 110 $((.WIDTH/8)!A!7)*200!O!5088.W
  150. 13A $((.WIDTH/8)!A!7)*200!O!5088.W
  151.  
  152. 33c4 $cd,0a              ;Key-Hardreset auf eigene Routine umbiegen
  153. _ENDIF 
  154.  
  155. ;*******************************************************************************
  156. ;* MRF: (angepasst von MH)
  157. ;* Speicher ab $100 initialisieren und nicht ab $400. Damit hat man neben
  158. ;* den Vektoren keinen Mist mehr im Ram.
  159. ;* >>> Funktioniert _NICHT_ mit RAMRESET!
  160.  
  161. ;1C2 $0100.w
  162.  
  163. ;*******************************************************************************
  164. ;* MRF: (angepasst von MH)
  165. ;* _shell_p wird beim RESET zurückgesetzt (wie es sich gehört)
  166.  
  167. 202 $42,B8,04,F6,3E,7C,3D,E8,42,38,0A,02
  168.  
  169. ;*******************************************************************************
  170. ;* MH:
  171. ;* Anschalten von 16 Mhz und Cache auf Mega-STE's schon vor dem Booten.
  172. ;* >>> Nur für Mega-STE's !!!
  173.  
  174. ;26C $56,F8,0A,03,00,38,00,03,8E,21,22,7C,00,00,CC,B2
  175. ;27C $30,7C,0A,04,42,58,B3,C8,66,FA
  176.  
  177. ;*******************************************************************************
  178. ;* TFR:
  179. ;* Setzt die Steprate der Laufwerke A: und B:
  180. ;* $00 = 6 ms   $01 = 12 ms   $02 = 2 ms   $03 = 3 ms
  181. ;* Adresse dieses Patches durch TRK
  182.  
  183. ;339 $00
  184.  
  185. ;*******************************************************************************
  186. ;* Harun Scheutzow: (implementiert von MH)
  187. ;* HD-Cookie installieren. Nicht für Mega STE/TT !!!
  188. ;* Format: 0xkkkkkk / normal (Mega STE/TT): $01415443
  189. ;* kkkkkk: Kennung, wer den Cookie installiert hat.
  190. ;* x=0: normale Schreibdichte (DD 720kB/360kB) 
  191. ;* x=1: Hohe Schreibdichte (HD 1.44MB)
  192. ;* x=2: Extrahohe Schreibdichte (ED 2,88MB)
  193. ;* x>2: reserviert
  194.  
  195. ;460 $4E,71,4E,71,4E,71,4E,71,4E,71,4E,71,4E,71
  196. ;476 $01000000.L     ;hier den gewünschten Cookie-Wert eintragen (in Hex.)
  197.  
  198. ;*******************************************************************************
  199. ;* MH:
  200. ;* Verringern der Zeitspanne, ab der - nach Systemstart - noch ein
  201. ;* Prüfsummentest (ROM-Test) (7ee) oder ein RAM-Test (97c) ausgeführt wird.
  202. ;* Zusätzlich kann der RAM-Test, falls er aktiviert ist, auf die Anzeige
  203. ;* der Speicherkonfiguration und den Wartebalken beschränkt werden.
  204. ;* Normalwert bei beiden Tests ist 80s!
  205.  
  206. ;7ee  $ .0 *.200.l    ; 0s, d.h. kein CRC-Test mehr
  207. ;97c  $ .0 *.200.l    ; 0s, d.h. kein RAM-Test und Wartebalken mehr
  208. ;5F54 $60             ; RAM-Test auf Anzeige und Wartebalken beschränken
  209.  
  210. ;*******************************************************************************
  211. ;* MH:
  212. ;* CRC-Routine des TOS evtl. anpassen (z.B. für 512kB TOS 2.06).
  213.  
  214. 7FC $(.LENGTH-.WIDTH/4)/(.WIDTH/8).L
  215. 802 $.WIDTH/8-1.W
  216. 80C $.WIDTH/8.W
  217. 81E $.LENGTH-.WIDTH/4.L
  218. 828 $.WIDTH/8.W
  219.  
  220. ;*******************************************************************************
  221. ;* MH:
  222. ;* Boot-Device-Fehler beheben (siehe ST-Computer 1/90)
  223.  
  224. 8EA $30
  225.  
  226. ;*******************************************************************************
  227. ;* MH:
  228. ;* Bootroutine für die "C't-Billiglösung". Diese Routine stammt von
  229. ;* Wolfgang Schönrath. Fragen (z.B. bei Problemen) bitte direkt an ihn:
  230. ;* über die MAUS MS (0251/80386), als NetMail über's FidoNet (2:507/203.7031),
  231. ;* oder über die Box ANDROMEDA (02381/460077 auch 2:507/203)
  232. ;*
  233.  
  234. ;AE4  §CT_HD1.ABS     ;Checkt Bootsektor auf Ausführbarkeit
  235. ;16F6 §CT_HD2.ABS     ;neue XBIOS-Routine für Bootsektor lesen,
  236.                      ;die Routine für's Schreiben wurde entfernt!
  237.  
  238. ;*******************************************************************************
  239. ;* MH:
  240. ;* Stackpointer bei Autoexec korrigieren (siehe ST-Computer 1/90)
  241.  
  242. 128E $DE,FC,0,C,4A,40,66,68,3F,3C,0,7,2F,38,A,10
  243.  
  244. ;*******************************************************************************
  245. ;* Gerd Trudow, Umsetzung & Adresse SV:
  246. ;* Ersetzt Die Atari-Bomben durch die ursprünglichen Atom-Pilze...
  247.  
  248. 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
  249. ;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
  250.  
  251. ;*******************************************************************************
  252. ;* MRF: (angepasst von MH)
  253. ;* Die Megauhr kann NICHT mehr mit dem TOS verstellt werden. Dazu muß man nun
  254. ;* ein externes Stellprogramm aufrufen. Dies hat natürlich den Vorteil, daß
  255. ;* auch fremde Programme die Uhr nicht mehr verstellen können (wenn die
  256. ;* - wie üblich - das TOS verwenden).
  257.  
  258. ;1468 $1C,A8
  259.  
  260. ;*******************************************************************************
  261. ;* MH:
  262. ;* Der Blitter wird vom TOS verleugnet und nicht benutzt. (z.B. für die PAK)
  263.  
  264. ;14B4 $70,00,4E,75
  265.  
  266. ;*******************************************************************************
  267. ;* MH:
  268. ;* Schnelle Druckerroutinen für den Parallelport (Fastprint).
  269. ;* Ausgabe-, Eingabe- und Warteroutine werden ersetzt.
  270. ;* Entspricht FASTPRN.PRG von Ecki aus der c't.
  271. ;* Zusätzlich wird noch die Eingaberoutine ersetzt.
  272.  
  273. .FASTPRN = 1        ;1: FASTPRN einbinden, 0: FASTPRN nicht einbinden
  274.  
  275. _IF .FASTPRN
  276. 2FA  $00E020B8.l    ;Warteroutine auf neue Routine
  277. F50  $00E0209C.l    ;bconin-Vector auf neue Routine
  278. F70  $00E020B8.l    ;Warteroutine auf neue Routine
  279.  
  280. 2020 §FASTPR3.ABS
  281.  
  282. 2316 $61,00,FD,64   ;Routine zum Strobe setzen hat sich verschoben...
  283. _ENDIF
  284.  
  285. ;*******************************************************************************
  286. ;* MRF: (angepasst von MH)
  287. ;* Druckertimeout setzen. Originalwert ist 30s. Minimalwert ist 5s!
  288. ;* Geht beim Atari-Laser in die Hose; da ich einen habe, hier Originalwert
  289.  
  290. .TIMEOUT = .30      ;Zeit kann hier geändert werden (in Sekunden)
  291.  
  292. _IF .FASTPRN
  293. 2048 $.TIMEOUT*.200.l
  294. _ELSE
  295. 2044 $.TIMEOUT*.200.l
  296. _ENDIF
  297.  
  298. ;*******************************************************************************
  299. ;* TRK:
  300. ;* conterm setzen: $7= Bit 2 gesetzt:Glocke bei CNTRL-G
  301. ;*                     Bit 1   ''   :Tastenwiederholung ein
  302. ;*                     Bit 0   ''   :Tastenklick ein
  303.  
  304. ;22E3 $06
  305.  
  306. ;*******************************************************************************
  307. ;* TRK:
  308. ;* Setzt den hdmode auf Null. Aus SEEKUP von Martin Osieka entnommen
  309. ;* Adresse dieses Patches durch TRK.
  310. ;* Der Patch ändert nur die Initialisierung mit drei.
  311. ;* Das übrige Verhalten bleibt.
  312. ;*
  313. ;* Kurzbeschreibung:
  314. ;* SEEKUP schaltet auf STs unter TOS 2.06 die Verdoppelung der
  315. ;* Seekrate aus (erkennbar am Seek-Geräusch der Laufwerke)
  316. ;*
  317. ;* typedef struct {
  318. ;*   char cmdbit3;   /* $00 oder $08, wird zum Positionierkommando geodert
  319. ;*                      Kann mit Flopsrate() verändert/abgefragt werden    */
  320. ;*   char dummy;     /* nicht benutzt */
  321. ;*   short track;    /* Aktuelle Spur */
  322. ;*   short hdmode;   /* 0 oder 3, wird in Register $FF860E geschrieben
  323. ;*                      Dieses Register existiert auf STs nicht */
  324. ;*   short seekrate; /* hdmode=0: 0: 6ms, 1: 12ms, 2: 2ms, 3: 3ms
  325. ;*                      hdmode=3: 0,1: 12ms, 2,3: 6ms
  326. ;*                      Kann mit Flopsrate() verändert/abgefragt werden */
  327. ;* } dsb3S;
  328. ;*
  329. ;* Das TOS verwaltet die Informationen zu den Floppylaufwerken in DSBs.
  330. ;* Initialisiert werden die DSBs mit { 0, 0, 0xFF00, 3, _seekrate}, damit
  331. ;* ist auf STs defaultmaessig 6ms eingestellt. Die Trackpositionierroutine
  332. ;* schaltet im Fehlerfall <hdmode> um und macht daraufhin einen weiteren
  333. ;* Versuch. Die Formatierfunktion setzt <hdmode> abhaengig von der Anzahl
  334. ;* der Sektoren pro Spur. Besser waere es wohl, wenn das TOS bei jedem
  335. ;* erkannten Diskettenwechsel <hdmode> zunaechst auf 0 setzen wuerde.
  336.  
  337. 37E8 $0000.w
  338.  
  339. ;*******************************************************************************
  340. ;* MH:
  341. ;* Fast-Load-Bit für schnelleres Laden (siehe ST-Computer 1/90)
  342. ;* Produziert Fehler bei einigen Laufwerken, deswegen hier nur als Kommentar
  343.  
  344. ;3EE3 $10
  345.  
  346. ;*******************************************************************************
  347. ;* RB:
  348. ;* Suche nach Laufwerk 'B' unterbinden -> Schnelleres Booten
  349. ;* >>> Funktioniert nicht mit 2 Laufwerken!
  350.  
  351. ;5256 $0001.w
  352.  
  353. ;*******************************************************************************
  354. ;* Harun Scheutzow: (implementiert von MH)
  355. ;* Neue Bios-Routinen Getbpb und Rwabs mit ED-Unterstützung:
  356. ;* - Es werden keine nicht erfolgten Diskettenwechsel mehr erkannt.
  357. ;* - Rwabs-Schreibroutinen zerstören keine VDI-Zeichensatzinformationen mehr.
  358. ;* - Es auch können Disketten mit nur einer FAT genutzt werden.
  359.  
  360. 526A §BIOS1.ABS
  361. 572C §BIOS2.ABS
  362.  
  363. ;*******************************************************************************
  364. ;* RB:
  365. ;* ausführen des Bootsektors der Diskette verhindern
  366. ;* (Ist ja nicht ganz so radikal schon im bootdevice-Patch enthalten).
  367.  
  368. ;59AA $60
  369.  
  370. ;*******************************************************************************
  371. ;* MRF: (angepasst von MH)
  372. ;* Wenn _bootdev >= 2 (also Laufwerk C) ist, wird der Bootsektor der Diskette
  373. ;* nach einem Warmstart nicht mehr ausgeführt. Bis zu TOS 1.4 war dies auch
  374. ;* so, aber seit TOS 1.4 wird der Bootsektor stets ausgeführt. Dies kostet
  375. ;* bei einem RESET nicht nur Zeit, sondern hilft auch zur Verbreitung von
  376. ;* Bootsektor-Viren.
  377.  
  378. 59AE $BE,78,04,46,6F,2E,70,01,3E,80,42,A7,3F,00,42,67
  379. 59BE $42,A7,2F,38,04,C6,61,00,DE,5A
  380.  
  381. ;* In diesem Patch befindet sich ein Fehler. Es wird mit CMP.W $0446.W,D7
  382. ;* verglichen und dann mit BCC xxx verzweigt. Dies funktioniert aber nur
  383. ;* dann, wenn _bootdev auch = 2 ist. Hat man aber CBHD und bootet z.B.
  384. ;* von E: (also _bootdev = 4), dann wird trotzdem der Bootsektor von A:
  385. ;* ausgefuehrt. Was noch schlimmer ist, dass bei diesem Patch ueberhaupt
  386. ;* kein Booten mehr von A: oder B: moeglich ist, was bei manchen Spielen,
  387. ;* die durch einen Boot geladen werden, zu Probleme fuehren kann. Um
  388. ;* dies zu beheben, ist der fuenfte Wert in der ersten Reihe ($64 bzw.
  389. ;* 64) durch $6F bzw. 6F zu ersetzen.
  390. ;* Es wird dann mit BLE xxx verzweigt, wobei dann die Abfrage
  391. ;* auch das erfuellt, was man gerne moechte.
  392. ;*
  393. ;* 07.09.1990 The Frontier
  394.  
  395. ;*******************************************************************************
  396. ;* MRF: (angepasst von MH)
  397. ;* VDI-Patch (neue v_opnvwk()-Routine, ersetzt VDIFIX)
  398. ;* >>> Direktübernahme aus TOS 1.04. Also: Erst testen!
  399.  
  400. ;9FD0 §VDI.ABS
  401.  
  402. ;*******************************************************************************
  403. ;* Karsten Isakovic (implementiert durch MRF): (angepasst von MH)
  404. ;* Beseitigt den Fehler, der beim einen Mshrink(0)-Aufruf die Memory-Listen
  405. ;* zerstörte.
  406. ;* >>> Direktübernahme aus TOS 1.04. Also: Erst testen!
  407.  
  408. ;14806 $2F,2E,00,0A,4E,B9,00,E1,49,98,58,8F,4E,71
  409.  
  410. ;*******************************************************************************
  411. ;* RB:
  412. ;* grow- und shrinkboxen ausschalten
  413.  
  414. ;2112C $4E,75
  415. ;21170 $4E,75
  416.  
  417. ;*******************************************************************************
  418. ;* MRF: (angepasst von MH)
  419. ;* Korrektes MSDOS-Format (Statt $EB nun $EB34904E als 1. Bytes im Bootsektor)
  420.  
  421. ;2695C $DE,FC,0,C,2A,BC,EB,34,90,4E
  422.  
  423. ;*******************************************************************************
  424. ;* MH:
  425. ;* Cache für alle Prozessoren >= 68020 aktivieren.
  426. ;* >>> Achtung: Dieser Patch befindet sich noch in der Testphase!
  427.  
  428. ;2AD4A $.020.W
  429. ;2AD50 $64
  430. ;301DA $.020.W
  431. ;301E0 $65
  432. ;30458 $.020.W
  433. ;3045E $65
  434.  
  435. ;* Nur den Codecache abfragen. _MUSS_ bei Benutzung des obrigen Cache-Patches
  436. ;* mit einem 68020 (z.B. der PAK) gepatcht werden.
  437.  
  438. ;30490 $C0,BC,00,00,00,01,67,0A         ;nur für Cache mit 68020
  439.  
  440. ;*******************************************************************************
  441. ;* TRK:
  442. ;* Atari-Anfangsfuji gegen 'Gib-Dos keine Chance' ersetzen.
  443. ;* Fuji von Reiner Rosin (programmtechnisch)
  444. ;* Umsetzung in Fileform von TRK
  445.  
  446. ;325AE GIB_DOS.ABS
  447.  
  448. ;*******************************************************************************
  449. ;* MH:
  450. ;* Atari-Anfangsfuji gegen 'GeTuned'-Figur ersetzen.
  451. ;* Figur von Sven Spitzmacher
  452.  
  453. ;325AE GT_TOS.ABS
  454.  
  455. ;*******************************************************************************
  456. ;* MRF: (angepasst von MH)
  457. ;* Die Default-Keyboardtabelle (3 mal 128 Bytes für die Scancodetabellen)
  458. ;* wurden von dem Multi-Acc JAMES entliehen (von: Pascal Fellerich,
  459. ;* 45 rue des Genêts, L-3482 Dudelange, Luxembourg)
  460. ;*
  461. ;* Folgende Keyboardtabellen sind im Ordner DEMO.KBD:
  462. ;* AMERICAN.KBD, FRENCH.KBD, GERFRENC.KBD, GERMAN.KBD, HEXA.KBD, SWISSFR.KBD.
  463.  
  464. -DEMO.KBD\          ;Dsetpath("DEMO.KBD\")
  465. ;32BB6 GERMAN.KBD
  466. -..                 ;Dsetpath("..") (ein Verzeichnis zurück)
  467.  
  468. ;*******************************************************************************
  469. ;* MRF: (angepasst von MH)
  470. ;* ß in ein IBM-β wandeln. Damit wird kein Pesata, sondern ein Beta-"β"
  471. ;* ausgegeben. Dies sieht nun mal auf den meisten Nadeldruckern besser aus.
  472. ;* Dies wirkt natürlich nur bei Texten, welche mit dem gepachten TOS eingegeben
  473. ;* werden. In den alten steht ja noch das ß drin.
  474. ;*
  475. ;* HUCKY: Macht Probleme bei Script... Deswegen als Kommentar
  476.  
  477. ;32BC2 $E1
  478. ;32CC2 $E1
  479.  
  480. ;*******************************************************************************
  481. ;* MH:
  482. ;* Ändert den Papiervorschub bei der Hardcopy ab. Somit kann sowohl auf einem
  483. ;* NEC P6, wie auch weiterhin auf einem EPSON eine Hardcopy gemacht werden
  484. ;* (siehe ST-Computer 10/90).
  485.  
  486. ;32DA5 $1B,41,07,FF
  487.  
  488. ;*******************************************************************************
  489. ;* HUCKY: (angepasst von MH)
  490. ;* Fontimages ändern (nur die Bit-Images!!!)
  491. ;* Tempus oder Stad-Fonts einbinden. Diese müssen jedoch zuerst
  492. ;* konvertiert werden.
  493.  
  494. -FONTS\                  ;Dsetpath("FONTS\")
  495. ;33086 6X6_FONT.ABS       ;1152 Bytes (da 6x6 Font!)
  496. ;33762 8X8_FONT.ABS       ;2048 Bytes (8x8 Font)
  497. ;33F62 NEU.ABS            ;4096 Bytes (8x16 Font)
  498. -..                      ;Dsetpath("..") (Ein Verzeichnis zurück)
  499.  
  500. ;* Der Zeichensatz NEU.ABS, der diesem Archiv beiliegt, wurde von
  501. ;* SkyVox erstellt. Danke
  502.  
  503. ;*******************************************************************************
  504. ;* TRK:
  505. ;* Standardtastaturbelegung für die Desktopfunktionen ändern
  506. ;* ASCII-Werte der Standardtastenbelegung (aus dem NEWDESK.INF übernommen)
  507. ;* Nicht belegte Tasten erhalten den Wert 00
  508. ;* Diese Tastenbelegung wurde von SkyVox 'entworfen'. Danke
  509.  
  510. ;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
  511.  
  512. ;*******************************************************************************
  513. ;* HUCKY: (angepasst von MH)
  514. ;* Nun noch was, wenn man das Aussehen vom AES verändern will...
  515. ;* >>> BESSER  : Gleich neue RSC-Files schaffen und einbinden (s.u.)!
  516. ;* >>> VORSICHT: Dieser Patch funktioniert nicht mit RSC/NEWDESK-Patch!
  517.  
  518. -ICONS\                  ;Dsetpath("ICONS\")
  519. ;* die Images sind jeweils 128 Bytes (4 Byte / Zeile => 32 Zeilen) lang.
  520. ;3727C TOSFACES.IMG       ;Ausrufezeichen
  521. ;372FC                    ;Fragezeichen in form_alert()
  522. ;3737C                    ;Stopschild
  523. ;39E6E                    ;i-Image in der Infobox des Desktops
  524. ;* die folgenden Icons bestehen jeweils auf 256 Bytes. 128 Bytes Maske, 128 Byte
  525. ;* Image für das Icon
  526. ;39EEE TOSICONS.IMG       ;Diskettenlaufwerk
  527. ;39FEE ORDNER.IMG         ;Ordner
  528. ;3A0EE                    ;Papierkorb
  529. ;3A1EE PROGRAMM.IMG       ;Programm
  530. ;3A2EE DATEI.IMG          ;Datei
  531. -..                      ;Dsetpath("..") (Ein Verzeichnis zurück)
  532.  
  533. ;*******************************************************************************
  534. ;* SV
  535. ;* Eingabe eines individuellen Textes ins Info-Menü
  536. ;* Hierzu muß der Text mittels ASCII-HEX-Code eingeben werden, darf dabei
  537. ;* jedoch nicht länger als 29 Zeichen sein.
  538. ;* >>> BESSER  : Gleich neue RSC-Files schaffen und einbinden (s.u.)!
  539. ;* >>> VORSICHT: Dieser Patch funktioniert nicht mit RSC/NEWDESK-Patch!
  540.  
  541. ;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
  542.  
  543. ;*******************************************************************************
  544. ;* MRF: (angepasst von MH)
  545. ;* die Mausformen (Aufbau der Struktur gemäß der AES-Funktion "graf_handle")
  546. ;* >>> BESSER  : Gleich neue RSC-Files schaffen und einbinden (s.u.)!
  547. ;* >>> VORSICHT: Dieser Patch funktioniert nicht mit RSC/NEWDESK-Patch!
  548.  
  549. -MFORM\         ;Dsetpath("MFORM\")
  550. ;373FC MFORM0.ABS        ;ARROW
  551. ;37446 MFORM1.ABS        ;TEXT_CRSR
  552. ;37490 MFORM2.ABS        ;BUSY_BEE
  553. ;374DA MFORM3.ABS        ;POINT_HAND
  554. ;37524 MFORM4.ABS        ;FLAT_HAND
  555. ;3756E MFORM5.ABS        ;THIN_CROSS
  556. ;375B8 MFORM6.ABS        ;THICK_CROSS
  557. ;37602 MFORM7.ABS        ;OUTL_CROSS
  558. -..             ;Dsetpath("..") (Ein Verzeichnis zurück)
  559.  
  560. ;*******************************************************************************
  561. ;* MH:
  562. ;* Das Default-NEWDESK.INF und die Resourcen zum Includen!!!
  563. ;* Hier nun die ultimative Möglichkeit, sich das TOS nach seinen Wünschen
  564. ;* zu gestalten. Originalfiles: 206_1.RSC,206_2.RSC,NEWDESK2.INF.
  565. ;*
  566. ;* Vorsicht: Alle 3 Files dürfen jeweils max. 64kB lang sein, da die
  567. ;*           Pointer auf dieselbigen Words sind; allerdings sind im TOS
  568. ;*           sowieso nur noch ca. 8kB frei, so daß man aufpassen muß, das
  569. ;*           TOS-Ende nicht zu überschreiten. Man kann aber den Wert der
  570. ;*           Variable .LENGTH vergrößern, so daß das TOS länger wird
  571. ;*           (TOSPATCH zeigt dann eine Message, daß das gelesenen TOS zu
  572. ;*           kurz sei, aber da kann man dann einfach SPACE drücken).
  573. ;*           Das funktioniert aber nur, falls das TOS von Diskette
  574. ;*           und nicht aus dem ROM gelesen wird!
  575. ;*
  576. ;* Diese Dateien von TOS 2.06 und TOS 3.06 sind identisch(!), d.h. sie
  577. ;* können für beiden TOS-Versionen zum Patchen genutzt werden.
  578. ;*
  579. ;* Wenn man mehr Icons gleichzeitig auf dem Desktop haben möchte, muß man
  580. ;* in der 2.RSC-Datei (206_2.RSC) im 13. Formular (ICONS) einfach mehr Boxen
  581. ;* reinsetzen. Ich habe in der Datei 206_2X.RSC die Anzahl der Icons
  582. ;* schon von 48 auf 160 vergrößert.
  583. ;*
  584. ;* Man kann nun auch neue und mehr Icons in sein TOS einbinden (anstatt
  585. ;* DESKICON.RSC zu verwenden). Die Icons findet man in der 2. RSC-Datei
  586. ;* (206_2.RSC) im 11. Formular (DESKICON). Hier einfach neue oder andere
  587. ;* Icons eintragen.
  588.  
  589. .RSC = 0            ;1: RSC-Patch einbinden, 0: RSC-Patch nicht einbinden
  590.  
  591. _IF .RSC
  592. 36ACE:     ~ 206_1.RSC             ;Resource-Datei 1
  593.            ~ $00,00,0E,4C          ;Diese Byte-Folge immer hinter RSC1
  594. .rsc1_end: ~ 206_2x.RSC            ;Resource-Datei 2
  595.            ~ $58,20,00,00          ;Diese Byte-Folge immer hinter RSC2
  596. .rsc2_end: ~ NEWDESK2.INF          ;NEWDESK.INF
  597.            ~ $00,0D,00,08,00,01    ;Diese Byte-Folge immer hinter NEWDESK.INF
  598. .inf_end:  _EVEN                   ;Damit nachfolgender Code ausführbar bleibt
  599.  
  600. _IF .inf_end-36ac4 < 10000
  601. 36AC4 |$.rsc1_end-36ac4.w
  602. 36AC6 |$.rsc2_end-36ac4.w
  603. 36AC8 |$.inf_end-36ac4.w
  604.  
  605. _ELSE
  606. /'Resourcen sind länger als 64kB...'
  607. 1C8D0 |§NEWRSC.ABS
  608. 36AC4 |$.rsc1_end-36ACE.w
  609. 36AC6 |$.rsc2_end-.rsc1_end.w
  610. 36AC8 |$.inf_end-.rsc2_end.w
  611.  
  612. _ENDIF
  613.  
  614. !36AC4.. .inf_end   ;Im RSC/NEWDESK.INF nicht Relozieren
  615.  
  616. _ELSE
  617. !36AC4..3DFC8       ;Im RSC/NEWDESK.INF nicht Relozieren
  618. 3DFC8:              ;erste Adresse hinter originalen RSC/NEWDESK.INF
  619.  
  620. _ENDIF
  621.  
  622. ;*******************************************************************************
  623. ;* MRF: (angepasst von MH)
  624. ;* Harddisk-Waiter (zum gleichzeitigen Anschalten von Rechner und Platte)
  625. ;* Leider ist mir unbekannt, von wem diese Routine stammt, ich habe sie in
  626. ;* einem Bootsektor gefunden. Zudem kann man das Warten mit [ALTERNATE]
  627. ;* abbrechen (wenn z.B. keine Platte vorhanden ist).
  628. ;* ACHTUNG: Der Harddisk-Waiter funktioniert nur mit einer Platte. Zudem
  629. ;*          bin ich nur sicher, daß er mit meiner Megafile 60 funktioniert.
  630.  
  631. ;.hd_wait:      ~ §HDWAIT.ABS            ;Länge 222 Bytes
  632. ;!.hd_wait+8 .. ~                        ;in diesem Patch nicht relozieren
  633.  
  634. ;72E            |$4E,B9,.hd_wait+.base.l ;Jsr zum Harddisk-Waiter
  635. ;734            |$4E,71,4E,71            ;NOP's
  636.  
  637. ;*******************************************************************************
  638. ;* MRF: (angepasst von MH)
  639. ;* Alternativer Hardisk-Waiter. Wartet 12s bei einem Kaltstart auf die Platte
  640. ;* Dies funktioniert mit allen Platten! Mit Tastendruck kann das Warten
  641. ;* abgebrochen werden.
  642. ;* Fast gleichwertig zu diesem Patch ist, wenn man in den Patch, der die
  643. ;* Zeitspanne festlegt, ab der Systemstart noch die Tests ausgeführt
  644. ;* werden, die entsprechende Zeit einträgt. (d.h. gleichen Wert für Ticks
  645. ;* wie bei diesem Patch in beide Patchzeilen eintragen.)
  646.  
  647. ;.time = .12                             ;Wartezeit in s (max. 327s !!!)
  648.  
  649. ;.hd_wait:      ~ §HDWAIT1.ABS           ;Länge 60 Bytes
  650. ;!.hd_wait+8 .. ~                        ;in diesem Patch nicht relozieren
  651. ;.hd_wait+A     |.time*.200.w            ;Wartezeit eintragen
  652.  
  653. ;72E            |$4E,B9,.hd_wait+.base.l ;Jsr zum Harddisk-Waiter
  654. ;734            |$4E,71,4E,71            ;NOP's
  655.  
  656. ;*******************************************************************************
  657. ;* MH:
  658. ;* Hardisk-Waiter von EWK
  659.  
  660. ;.time = .20    ;max. Wartezeit in s (max. 99s !!!)
  661. ;.device = 0    ;DMA-Device, auf das gewartet werden soll (0-7)
  662.  
  663. ;.hd_wait:      ~ §HDWAIT2.ABS           ;Länge 350 Bytes
  664. ;!.hd_wait+8 .. ~                        ;in diesem Patch nicht relozieren
  665.  
  666. ;.hd_wait+E     |$4E,71                  ;Nur für RAM-TOS und >=2 Harddisks
  667.  
  668. ;.hd_wait+1F    |$.time.b                ;Wartezeit eintragen
  669. ;.hd_wait+86    |$.device*20.w           ;Device eintragen
  670. ;.hd_wait+92    |$.device*20.w
  671. ;.hd_wait+10A   |$.device+30.b
  672.  
  673. ;72E            |$4E,B9,.hd_wait+.base.l ;Jsr zum Harddisk-Waiter
  674. ;734            |$4e,71,4e,71            ;Rest mit NOP's auffüllen
  675.  
  676. ;*******************************************************************************
  677. ;* MH:
  678. ;* Abbruch bei Überschreiten der TOS-Länge.
  679.  
  680. _IF ~ > .LENGTH-.LENGTH/10000
  681. _ERROR 'Patches länger als das TOS'
  682. _ENDIF
  683.  
  684. ;*******************************************************************************
  685. ;* Martin Osieka: (implementiert durch MH)
  686. ;* Puffer für NEWDESK.INF vergrößern. Originalroutinen aus SHBUF 1.3!
  687. ;* Zu näheren Informationen siehe SHBUF.
  688.  
  689. .BUFFER = 7FFE      ;In diese Zeile kann die gewünschte Puffer Größe
  690.                     ;eingetragen werden. Maximum ist $7FFE => 32kB pro Puffer.
  691.                     ;Da es 2 Puffer gibt => max. 64kB Speicherverbrauch
  692.                     ;'Originalwert' ist $1000.
  693.  
  694. ;+§SHBUF.FIL         ;SHBUF-Patch includen
  695.  
  696. ;*******************************************************************************
  697. ;* Martin Osieka: (implementiert durch MH)
  698. ;* Neue Fenterverwaltung. Originalroutinen aus WINX 2.2!
  699. ;* Zu näheren Informaionen siehe WINX.
  700. ;*
  701. ;* Defaultwerte sind:
  702. ;* .GLOBAL = 1FFF, .LOCAL = 0FFF, .DESKTOP = 0FFF, INIT_SCROLL = .460,
  703. ;* .CONT_SCROLL = .40, CONT_CLOSE = .1000, CONT_FULL = .2000
  704.  
  705. .GLOBAL      =  1FFF ;Globale Schalter (Bit 0 = Schalter 1, etc.)
  706. .LOCAL       =  0FFF ;Lokale Schalter  (Bit 0 = Schalter 1, etc.)
  707. .DESKTOP     =  0FFF ;Desktop Schalter (Bit 0 = Schalter 1, etc.)
  708. .INIT_SCROLL =  .460 ;Initial scroll delay in ms
  709. .CONT_SCROLL =   .40 ;Continous scroll delay in ms
  710. .CONT_CLOSE  = .1000 ;Continous close delay in ms
  711. .CONT_FULL   = .2000 ;Continous full delay in ms
  712.  
  713. ;+§WINX.FIL          ;WINX-Patch includen
  714.  
  715. ;*******************************************************************************
  716. ;* Martin Osieka: (implementiert durch MH)
  717. ;* Neue Scrollroutinen für GEM. Originalroutinen aus ARROWFIX 1.5!
  718. ;* Zu näheren Informationen siehe ARROWFIX.
  719. ;*
  720. ;* In .TIME steht die Default-Ansprechzeit bis zur ersten Wiederholung einer
  721. ;* Scrollnachricht in 0,125s. Diese Ansprechzeit läßt sich auch mit dem
  722. ;* ARROWFIX.CPX einstellen. Werte von 0 bis 9 für .TIME sind zulässig.
  723. ;* Original-Default ist .TIME = 3.
  724.  
  725. .TIME = 3           ;Ansprechzeit in 0,125s.
  726.  
  727. ;+§ARROW.FIL
  728.  
  729. ;*******************************************************************************
  730. ;* Ende der Datei...
  731.  
  732. -..            ;Dsetpath("..") (Ein Verzeichnis zurück)
  733.