-
Notifications
You must be signed in to change notification settings - Fork 6
/
jpsx.xml
181 lines (153 loc) · 8.04 KB
/
jpsx.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<?xml version="1.0"?>
<jpsx>
<!--
Defines the JPSX machine:
The JPSX requires the id of one "machine" element which defines the components to be created.
Components are defined by the "component" element, which has a classname attribute which is
the java class name of the component and an optional id attribute.
If more than one component referenced by the machine has the same id, then the latter version encountered
is used. This is useful for overriding existing configurations.
Components may contain <property name="" value=""/> elements which specify component properties.
Values may reference "${varname}" where varname is defined by a <var> element or as varname=value on the
command line. If a property value equates to the empty string the property is ignored.
Whilst a machine may list all components explicitly, you may package them in a "components" element and include
those in a machine using the "include" element. Components may also include other components.
-->
<!-- default machine -->
<machine id="default">
<include refid="named-image"/>
</machine>
<!-- same as default machine, but uses lwjgl display -->
<machine id="lwjgl">
<include refid="named-image"/>
<component id="display" classname="org.jpsx.runtime.components.hardware.gpu.LWJGLDisplay">
<property name="showBlitTime" value="true"/>
</component>
</machine>
<!-- same as default machine, but uses NullSPU display -->
<machine id="no-sound">
<include refid="named-image-no-sound"/>
</machine>
<!-- machine without console that just runs the CD -->
<machine id="launch">
<include refid="named-image-no-console"/>
</machine>
<!-- default machine with debugging enabled -->
<machine id="debug">
<include refid="debug-named-image"/>
</machine>
<!-- GAME/CD specific machines -->
<machine id="ff7">
<include refid="named-image-no-console"/>
<component id="display" classname="org.jpsx.runtime.components.hardware.gpu.AWTDisplay">
<property name="x" value="640"/>
<property name="y" value="0"/>
</component>
</machine>
<machine id="vp">
<include refid="named-image-no-console"/>
<component id="display" classname="org.jpsx.runtime.components.hardware.gpu.AWTDisplay">
<property name="x" value="640"/>
<property name="y" value="0"/>
</component>
</machine>
<machine id="bandicoot">
<include refid="named-image-no-console"/>
<component id="display" classname="org.jpsx.runtime.components.hardware.gpu.AWTDisplay">
<property name="x" value="0"/>
<property name="y" value="512"/>
</component>
<component id="counters" classname="org.jpsx.runtime.components.hardware.counters.Counters">
<!-- temp hack for counters -->
<property name="bandicootUS" value="true"/>
</component>
</machine>
<!-- handy core components -->
<components id="core-bits">
<component classname="org.jpsx.runtime.components.core.DefaultQuartz"/>
<component classname="org.jpsx.runtime.components.core.MTScheduler"/>
<component classname="org.jpsx.runtime.components.core.R3000Impl"/>
<component id="addressspace" classname="org.jpsx.runtime.components.core.AddressSpaceImpl"/>
<component classname="org.jpsx.runtime.components.core.SCPImpl"/>
<component classname="org.jpsx.runtime.components.core.IRQControllerImpl"/>
<component classname="org.jpsx.runtime.components.core.DMAControllerImpl"/>
</components>
<!-- console and disassembly -->
<components id="console-bits">
<component classname="org.jpsx.runtime.debugcomponents.emulator.disassemblers.R3000InstructionDisassembler"/>
<component classname="org.jpsx.runtime.debugcomponents.emulator.disassemblers.GTEInstructionDisassembler"/>
<component classname="org.jpsx.runtime.debugcomponents.emulator.console.Console"/>
</components>
<!-- common stuff -->
<components id="common-bits">
<include refid="core-bits"/>
<component classname="org.jpsx.runtime.components.hardware.r3000.R3000InstructionSet"/>
<component classname="org.jpsx.runtime.components.hardware.gte.GTE"/>
<component id="counters" classname="org.jpsx.runtime.components.hardware.counters.Counters"/>
<component id="spu" classname="org.jpsx.runtime.components.hardware.spu.SPU"/>
<component id="cd" classname="org.jpsx.runtime.components.hardware.cd.CD"/>
<component classname="org.jpsx.runtime.components.hardware.sio.SIO0"/>
<component classname="org.jpsx.runtime.components.hardware.sio.AWTKeyboardController"/>
<component classname="org.jpsx.runtime.components.hardware.gpu.GPU"/>
<component id="display" classname="org.jpsx.runtime.components.hardware.gpu.AWTDisplay">
<property name="showBlitTime" value="true"/>
</component>
<component classname="org.jpsx.runtime.components.hardware.gpu.DefaultDisplayManager"/>
<component classname="org.jpsx.runtime.components.hardware.mdec.MDEC"/>
<component classname="org.jpsx.runtime.components.hardware.bios.ImageBIOS"/>
<component id="compiler" classname="org.jpsx.runtime.components.emulator.compiler.MultiStageCompiler">
<!-- specify printCode=true on command line to print R3000/byte code to *.out -->
<property name="printCode" value="${printCode}"/>
<property name="saveClasses" value="${saveClasses}"/>
<property name="stage2" value="${stage2}"/>
<property name="speculativeCompilation" value="${speculativeCompilation}"/>
</component>
</components>
<!-- debug bits -->
<components id="debug-bits">
<include refid="common-bits"/>
<component id="addressspace" classname="org.jpsx.runtime.debugcomponents.core.DebugAddressSpaceImpl"/>
<component id="compiler" classname="org.jpsx.runtime.components.emulator.compiler.MultiStageCompiler">
<property name="printCode" value="${printCode}"/>
<property name="saveClasses" value="${saveClasses}"/>
<property name="stage2" value="false"/>
<property name="speculativeCompilation" value="${speculativeCompilation}"/>
</component>
<include refid="console-bits"/>
</components>
<components id="common-and-console-bits">
<include refid="common-bits"/>
<include refid="console-bits"/>
</components>
<!-- same as common-and-console-bits, but with a CD image -->
<components id="named-image">
<include refid="common-and-console-bits"/>
<component id="media" classname="org.jpsx.runtime.components.hardware.media.CueBinImageDrive">
<property name="image" value="${image}"/>
</component>
</components>
<components id="named-image-no-console">
<include refid="common-bits"/>
<component id="media" classname="org.jpsx.runtime.components.hardware.media.CueBinImageDrive">
<property name="image" value="${image}"/>
</component>
</components>
<components id="named-image-no-sound">
<include refid="named-image"/>
<component id="spu" classname="org.jpsx.runtime.components.hardware.spu.NullSPU"/>
</components>
<components id="named-image-no-voice-audio">
<include refid="named-image"/>
<component id="spu" classname="org.jpsx.runtime.components.hardware.spu.SPU">
<property name="voiceAudio" value="false"/>
<property name="cdAudio" value="true"/>
</component>
</components>
<!-- enables extra debugging features -->
<components id="debug-named-image">
<include refid="debug-bits" />
<component id="media" classname="org.jpsx.runtime.components.hardware.media.CueBinImageDrive">
<property name="image" value="${image}"/>
</component>
</components>
</jpsx>