Hardware > Emulatoren
AtariX => MagicOnLinux
Thorsten Otto:
Ja, aber nach dem laden stehen da nur noch die angepassten Koordinaten. Inbesondere wenn rsrc_load benutzt wurde, kann der Editor nicht wissen was da vorher in der Datei gestanden hat.
AndreasKromke:
--- Zitat von: Thorsten Otto am Do 12.03.2026, 21:10:15 ---Ja, aber nach dem laden stehen da nur noch die angepassten Koordinaten. Inbesondere wenn rsrc_load benutzt wurde, kann der Editor nicht wissen was da vorher in der Datei gestanden hat.
--- Ende Zitat ---
Genau das hatte ich gemeint. Nach dem Laden.
PS: Wenn ich sechzig Jahre jünger wäre, dann würde ich mir ein menschenlesbares Zwischenformat für RSC-Dateien ausdenken, vielleicht xml-basiert, und einen RSC-Editor schreiben, der .rsc in .xml wandeln kann und umgekehrt. Ich würde dann, wie ich es Android oder Matlab kenne, auch eine Baumstruktur einblenden, bei der man sehen kann, welches Objekt welches als Elt und Geschwist hat, und dann könnte man alle Eigenschaften jedes Objeks ändern oder auch ein Objekt im Baum umsortieren. Wenn irgendwas schiefläuft, könnte man dann immer noch die xml-Datei anschauen und damit weiterarbeiten. Außerdem müßte eine RSC-Datei multilingual sein, zumindest die xml-Variante, aus der man dann vielleicht unterschiedliche RSC-Dateien erzeugen kann.
Aber das lohnt alles nicht mehr.
Thorsten Otto:
--- Zitat von: AndreasKromke am Do 12.03.2026, 22:49:37 ---Genau das hatte ich gemeint. Nach dem Laden.
--- Ende Zitat ---
Ehm ja, dann versteh ich das Problem nicht. Woher soll der Editor jetzt wissen wie er die Koordinaten wieder abspeichern soll? Natürlich benutzt ORCS nicht rsrc_load() sondern eigene Routinen, aber das Resultat ist das gleiche: nach dem Laden wird nur noch mit Pixel-Werten gearbeitet. Erst beim speichern wird das wieder zurück gerechnet.
--- Zitat ---PS: Wenn ich sechzig Jahre jünger wäre, dann würde ich mir ein menschenlesbares Zwischenformat für RSC-Dateien ausdenken, vielleicht xml-basiert,
--- Ende Zitat ---
Eigentlich kann ORCS sowas schon :D Sieht für chgres dann z.B. so aus
--- Code: ---<?xml version="1.0" encoding="utf-8" ?>
<!-- created by ORCS 2.18 -->
<rscfile name="CHGRES.RSC" generator="ORCS" version="2.18">
<tree index="0" name="MAIN_DIALOG" type="dialog">
<object type="G_BOX" index="0" name="">
<x>0</x>
<y>0</y>
<width>40</width>
<height>18</height>
<flags>1024</flags>
<state>16</state>
<type>28948</type>
<exttype>113</exttype>
<box>
<character>9216</character>
<framesize>2</framesize>
<framecolor>1</framecolor>
<textcolor>1</textcolor>
<opaque>0</opaque>
<fillpattern>0</fillpattern>
<fillcolor>0</fillcolor>
</box>
<child>
<object type="G_CICON" index="1" name="CHGRES_ICON">
<x>34</x>
<y>0</y>
<width>8192</width>
<height>8192</height>
<flags>0</flags>
<state>0</state>
<type>33</type>
<exttype>0</exttype>
<ciconblk>
<character>9216</character>
<datacolor>1</datacolor>
<maskcolor>0</maskcolor>
<x>0</x>
<y>0</y>
<width>32</width>
<height>32</height>
<xchar>0</xchar>
<ychar>0</ychar>
<xtext>13</xtext>
<ytext>13</ytext>
<wtext>6</wtext>
<htext>8</htext>
<text></text>
<data>
<![CDATA[
00000000000000001ffffff0200000082fffffe8280000282801002828038028
2807c028280100282801002828810228298103282bffffa82981032828810228
28010028280100282807c0282803802828010028280000282fffffe820000008
200000081ff01ff0001ff00003ffff8007ffffc0000000000000000000000000
]]>
</data>
<mask>
<![CDATA[
000000003ffffff87ffffffc7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc
7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc
7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc7ffffffc
7ffffffc7ffffffc3ffffff80fffffe00fffffe00fffffe00000000000000000
]]>
</mask>
<cicon planes="4">
<colordata>
<![CDATA[
000000003ffffffc7ffffffe7ffffffe7000000e7000000e700ff00e700ff00e
700ff00e700ff00e7000ff0e7000ff0e7000ff0e7000ff0e70f0f00e70f0f00e
70f0f00e70f0f00e7000ff0e7000ff0e7000ff0e7000ff0e7000000e7000000e
7ffffffe7ffffffe7ffffffe3feff7fc001ff8000000000003ffffc000000000
000000003ffffffc7ffffffe7ffffffe7000000e7000000e700f0f0e700f0f0e
700f0f0e700f0f0e700ff00e700ff00e700ff00e700ff00e70f00f0e70f00f0e
70f00f0e70f00f0e700ff00e700ff00e700ff00e700ff00e7000000e7000000e
7ffffffe7ffffffe7ffffffe3feff7fc001ff8000000000003ffffc000000000
000000003ffffffc7ffffffe7ffffffe7000000e7000000e700f000e700f000e
700f000e700f000e70ff0f0e70ff0f0e70ff0f0e70ff0f0e70f0000e70f0000e
70f0000e70f0000e70ff0f0e70ff0f0e70ff0f0e70ff0f0e7000000e7000000e
7ffffffe7ffffe7e7ffffe7e3feff7fc001ff8000000000003ffffc000000000
000000003ffffffc400000025ffffffa5000000a5000000a500f000a500f000a
500f000a500f000a5000000a5000000a5000000a5000000a500fff0a500fff0a
500fff0a500fff0a50ffff0a50ffff0a50ffff0a50ffff0a5000000a5000000a
5ffffffa40000002400000023ff00ffc0010080001ffff8003ffffc000000000
]]>
</colordata>
<colormask>
<![CDATA[
7ffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff7ffffffe07ffffe007ffffe007ffffe0
]]>
</colormask>
</cicon>
</ciconblk>
</object>
<object type="G_STRING" index="2" name="">
<x>2</x>
<y>2</y>
<width>8</width>
<height>1</height>
<flags>0</flags>
<state>0</state>
<type>28</type>
<exttype>0</exttype>
<string>
<text>Colours:</text>
</string>
</object>
<object type="G_BUTTON" index="3" name="CHGRES_COLORS">
<x>11</x>
<y>2</y>
<width>9</width>
<height>1</height>
<flags>576</flags>
<state>32</state>
<type>26</type>
<exttype>0</exttype>
<string>
<text>012345678</text>
</string>
</object>
... usw.
</object>
</tree>
<freestring index="0" name="FS_CHANGE_RES" type="string">
<text> Select Resolution </text>
</freestring>
<freestring index="1" name="FS_VIRTUAL" type="string">
<text>virtual</text>
</freestring>
<freestring index="2" name="FS_LOW" type="string">
<text>Low</text>
</freestring>
<freestring index="3" name="FS_MED" type="string">
<text>Medium</text>
</freestring>
<freestring index="4" name="FS_HIGH" type="string">
<text>High</text>
</freestring>
</rscfile>
--- Ende Code ---
--- Zitat ---Außerdem müßte eine RSC-Datei multilingual sein
--- Ende Zitat ---
Hatte ich mal überlegt, aber dann wieder aufgegeben. RSM kann sowas, aber meiner Meinung nach ist das Format Schrott. MagiC macht solche Ambitionen auch zunichte, weil die Position der Shortcuts in ob_state kodiert wird. Damit ändern sich dann nicht nur die Texte, sondern auch ob_state je nach Sprache.
AndreasKromke:
Ich bin beeindruckt.
AndreasKromke:
Dank Thorstens Dekompilations-Genie habe ich die ET4k-Version von CHGRES an den Emulator angepaßt, wobei ich außer der GUI alles rausgeworfen habe. Die RSC-Dateien muß ich noch von Überflüssigem befreien, aber die nicht verwendeten Elemente stören erstmal nicht.
Was leider derzeit nicht funktionieren kann, ist der Auflösungswechsel durch Neustart allein des AES: Man sieht dann nur, daß der Bildschirm einmal neu aufgebaut wird. Immerhin stürzt erstaunlicherweise nichts dabei ab. Aber es gibt einen Trick: Über Ctrl-Cmd-Alt-Del kann man einen Atari-Warmstart auslösen, und dann startet (hoffentlich) der Emulator fast ganz von vorn und mit der neuen Einstellung. Es wäre natürlich nett, wenn das Emulator-Fenster dabei nicht geschlossen und neu geöffnet würde, aber das benötigt noch einige Umbauten. Immerhin kann man so einigermaßen flott z.B. nach "ST high" wechseln, ohne neue Kommandozeile oder Änderungen an der config-Datei.
Die Einstellungen von CHGRES sind übrigens nicht persistent; sie wirken also nur einmal für den nächsten Warmstart. Und die Bildschirmgrößen sind noch fest, die habe ich mir so ausgedacht.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln