trunk/docs/hlsl.txt
r250317 | r250318 | |
10 | 10 | hlslpath [path] Path to the .fx files that are in use. (default: hlsl) |
11 | 11 | hlsl_prescale_x [horizontal] HLSL pre-scale override factor for X. (0 for auto) |
12 | 12 | hlsl_prescale_y [vertical] HLSL pre-scale override factor for Y. (0 for auto) |
13 | | hlsl_preset -1 through 3 HLSL preset to use. (default: -1) |
14 | | hlsl_write [filename] Enable HLSL AVI writing. (huge disk bandwidth suggested) |
| 13 | hlsl_write [filename] Enables HLSL AVI writing. (huge disk bandwidth suggested) |
15 | 14 | hlsl_snap_width [width] HLSL upscaled-snapshot width. (default: 2048) |
16 | | hlsl_snap_height [height] HLSL upscaled-snapshot height. (default: 1536) |
| 15 | hlsl_snap_height [height] HLSL upscaled-snapshot height. (default: 1536) |
17 | 16 | |
18 | 17 | |
19 | 18 | Surface/Color Processing Parameters |
r250317 | r250318 | |
22 | 21 | Name Values Description |
23 | 22 | shadow_mask_alpha 0.0 to 1.0 The ovearll darkness of each shadow mask pixel. |
24 | 23 | shadow_mask_texture [filename] A PNG that defines the shadow mask for each pixel. |
25 | | shadow_mask_x_count 1+ The count of shadow mask elements, X (usually 640-ish). |
26 | | shadow_mask_y_count 1+ The count of shadow mask elements, Y (usually 480-ish). |
27 | | shadow_mask_usize 0.0 to 1.0 These parameters define the *in-use* pixel count on the |
28 | | shadow_mask_vsize 0.0 to 1.0 X and Y axes of the shadow mask texture. |
29 | | curvature 0.0 to 1.0 Screen curvature. Affects borders and shadow mask. |
30 | | pincushion 0.0 to 1.0 Image curvature. Affects the source image only. |
| 24 | shadow_mask_x_count 1+ The number of pixels one shadow mask tile uses on screen. |
| 25 | shadow_mask_y_count 1+ This stretches the shadow mask tiles on X and Y axis. |
| 26 | shadow_mask_usize 0.0 to 1.0 The size of one shadow mask tile in U/V coordinate. |
| 27 | shadow_mask_vsize 0.0 to 1.0 The shadow mask textures always has a size of power-of-two. |
| 28 | shadow_mask_voffset -1.0 to 1.0 The offset of the shadow mask texture in U/V coordinates. |
| 29 | shadow_mask_voffset -1.0 to 1.0 An offset of 1.0 repressents one pixel on screen. |
| 30 | curvature 0.0 to 1.0 Curvature amount of the screen. |
| 31 | round_corner 0.0 to 1.0 Rounded corners amount of the screen. |
| 32 | smooth_border 0.0 to 1.0 Smooth borders amount of the screen. |
| 33 | reflection 0.0 to 1.0 Refelection amount of the screen highlight. |
| 34 | vignetting 0.0 to 1.0 Vignetting amount of the image. |
31 | 35 | scanline_alpha 0.0 to 1.0 The overall darkness of each scanline furrow. |
32 | 36 | scanline_size 0.0 to 4.0 The overall height of each scanline. |
33 | 37 | scanline_height [height] Individual height scaling value for scanlines. |
r250317 | r250318 | |
97 | 101 | Bloom Post-Processing Options |
98 | 102 | ----------------------------- |
99 | 103 | Name Default Values Description |
100 | | vector_bloom_scale 0.300 Intensity factor for vector bloom. (0.000-1.000) |
101 | | raster_bloom_scale 0.225 Intensity factor for raster bloom. (0.000-1.000) |
| 104 | bloom_scale 0.500 Bloom intensity factor. (0.000-2.000) |
| 105 | bloom_overdrive 0.00,0.00,0.00 Bloom overdrive factor to bright full saturated colors. (0.000-2.000) |
102 | 106 | bloom_lvl0_weight 1.00 Bloom level 0 (full-size target) weight. (0.00-1.00) |
103 | 107 | bloom_lvl1_weight 0.21 Bloom level 1 (half-size target) weight. (0.00-1.00) |
104 | 108 | bloom_lvl2_weight 0.19 Bloom level 2 (quarter-size target) weight. (0.00-1.00) |
trunk/hash/psx.xml
r250317 | r250318 | |
3 | 3 | <softwarelist name="psx" description="Sony Playstation CD-ROMs"> |
4 | 4 | |
5 | 5 | <!-- Interactive CD Sampler Discs--> |
6 | | |
7 | | <!-- size="364872255" crc="536126e5" --> |
| 6 | |
8 | 7 | <software name="intcdv1m"> |
9 | 8 | <description>Interactive CD Sampler Disc - Volume 01 (M Rated)</description> |
10 | 9 | <year>1995</year> |
11 | 10 | <publisher>SCEA</publisher> |
12 | 11 | <part name="cdrom" interface="psx_cdrom"> |
13 | 12 | <diskarea name="cdrom"> |
14 | | <disk name="Interactive CD Sampler Disc - Volume 1 (m rated)" sha1="4bc8e61f799ecd19c1b8207943eaab8359d34858"/> |
| 13 | <disk name="Interactive CD Sampler Disc - Volume 1 (M Rated)" sha1="de4924cbd635e0a11b33c03e6560e28790b09257"/> |
15 | 14 | </diskarea> |
16 | 15 | </part> |
17 | 16 | </software> |
18 | 17 | |
19 | | <!-- size="428110417" crc="48bd3d35" --> |
20 | 18 | <software name="intcdv2"> |
21 | 19 | <description>Interactive CD Sampler Disc - Volume 02</description> |
22 | 20 | <year>1996</year> |
23 | 21 | <publisher>SCEA</publisher> |
24 | 22 | <part name="cdrom" interface="psx_cdrom"> |
25 | 23 | <diskarea name="cdrom"> |
26 | | <disk name="Interactive CD Sampler Disc - Volume 2" sha1="5801f9972e483b9e2a7f316796b57b74d8baa5e7"/> |
| 24 | <disk name="Interactive CD Sampler Disc - Volume 2" sha1="867f9b3e42d4e9d439750d05dc4f18c86bab6f60"/> |
27 | 25 | </diskarea> |
28 | 26 | </part> |
29 | 27 | </software> |
30 | 28 | |
31 | | <!-- size="476195663" crc="fb8d356b" --> |
32 | 29 | <software name="intcdv30"> |
33 | 30 | <description>Interactive CD Sampler Disc - Volume 03 (1.0)</description> |
34 | 31 | <year>1996</year> |
35 | 32 | <publisher>SCEA</publisher> |
36 | 33 | <part name="cdrom" interface="psx_cdrom"> |
37 | 34 | <diskarea name="cdrom"> |
38 | | <disk name="Interactive CD Sampler Disc - Volume 3 (1.0)" sha1="f82e72d70b10badb35a91a09950d0d89db50855c"/> |
| 35 | <disk name="Interactive CD Sampler Disc - Volume 3 (1.0)" sha1="3c87bcfe7395e5b3e5c007c80534778ed0b9f751"/> |
39 | 36 | </diskarea> |
40 | 37 | </part> |
41 | 38 | </software> |
42 | 39 | |
43 | | <!-- size="487436207" crc="336304eb" --> |
44 | 40 | <software name="intcdv31"> |
45 | 41 | <description>Interactive CD Sampler Disc - Volume 03 (1.1)</description> |
46 | 42 | <year>1996</year> |
47 | 43 | <publisher>SCEA</publisher> |
48 | 44 | <part name="cdrom" interface="psx_cdrom"> |
49 | 45 | <diskarea name="cdrom"> |
50 | | <disk name="Interactive CD Sampler Disc - Volume 3 (1.1)" sha1="5f6fa89b8c9b31b3dabdc7ac06806bc721d2aa16"/> |
| 46 | <disk name="Interactive CD Sampler Disc - Volume 3 (1.1)" sha1="c220e22c44a0f0a26b95110b937b398163490298"/> |
51 | 47 | </diskarea> |
52 | 48 | </part> |
53 | 49 | </software> |
54 | 50 | |
55 | | <!-- size="487436203" crc="d96b31d2" --> |
56 | 51 | <software name="intcdv32"> |
57 | 52 | <description>Interactive CD Sampler Disc - Volume 03 (1.2)</description> |
58 | 53 | <year>1996</year> |
59 | 54 | <publisher>SCEA</publisher> |
60 | 55 | <part name="cdrom" interface="psx_cdrom"> |
61 | 56 | <diskarea name="cdrom"> |
62 | | <disk name="Interactive CD Sampler Disc - Volume 3 (1.2)" sha1="20f261877d3f63bd9215ca791800417ff7287e46"/> |
| 57 | <disk name="Interactive CD Sampler Disc - Volume 3 (1.2)" sha1="2890dd570114ab7116a5556578d11632264cc13b"/> |
63 | 58 | </diskarea> |
64 | 59 | </part> |
65 | 60 | </software> |
66 | 61 | |
67 | | <!-- size="354903558" crc="67ca3059" --> |
68 | 62 | <software name="intcdv4"> |
69 | 63 | <description>Interactive CD Sampler Disc - Volume 04</description> |
70 | 64 | <year>1997</year> |
71 | 65 | <publisher>SCEA</publisher> |
72 | 66 | <part name="cdrom" interface="psx_cdrom"> |
73 | 67 | <diskarea name="cdrom"> |
74 | | <disk name="Interactive CD Sampler Disc - Volume 4" sha1="c353a52e8b7831f11d3ce8ea771e865e9ba3431a"/> |
| 68 | <disk name="Interactive CD Sampler Disc - Volume 4" sha1="c558a684a28ccf6afe0d3fc166814539c75863f7"/> |
75 | 69 | </diskarea> |
76 | 70 | </part> |
77 | 71 | </software> |
78 | 72 | |
79 | | <!-- size="291855185" crc="8119ed78" --> |
80 | 73 | <software name="intcdv5"> |
81 | 74 | <description>Interactive CD Sampler Disc - Volume 05</description> |
82 | 75 | <year>1997</year> |
83 | 76 | <publisher>SCEA</publisher> |
84 | 77 | <part name="cdrom" interface="psx_cdrom"> |
85 | 78 | <diskarea name="cdrom"> |
86 | | <disk name="Interactive CD Sampler Disc - Volume 5" sha1="9aef2ff7583b61d24302a35831a25ed5549610e1"/> |
| 79 | <disk name="Interactive CD Sampler Disc - Volume 5" sha1="f1ce1f4a942af852ee67f98c7d2a3c148d835abb"/> |
87 | 80 | </diskarea> |
88 | 81 | </part> |
89 | 82 | </software> |
90 | 83 | |
91 | | <!-- size="427620748" crc="917b5f35" --> |
92 | 84 | <software name="intcdv6"> |
93 | 85 | <description>Interactive CD Sampler Disc - Volume 06</description> |
94 | 86 | <year>1998</year> |
95 | 87 | <publisher>SCEA</publisher> |
96 | 88 | <part name="cdrom" interface="psx_cdrom"> |
97 | 89 | <diskarea name="cdrom"> |
98 | | <disk name="Interactive CD Sampler Disc - Volume 6" sha1="c35833fdd8a46016b3ccafa9ae08f68c10309737"/> |
| 90 | <disk name="Interactive CD Sampler Disc - Volume 6" sha1="78f9e8b125f440e626d1ccc1f3a5a5f5a3a1cb11"/> |
99 | 91 | </diskarea> |
100 | 92 | </part> |
101 | 93 | </software> |
102 | 94 | |
103 | | <!-- size="397092409" crc="17f17815" --> |
104 | 95 | <software name="intcdv7"> |
105 | 96 | <description>Interactive CD Sampler Disc - Volume 07</description> |
106 | 97 | <year>1998</year> |
107 | 98 | <publisher>SCEA</publisher> |
108 | 99 | <part name="cdrom" interface="psx_cdrom"> |
109 | 100 | <diskarea name="cdrom"> |
110 | | <disk name="Interactive CD Sampler Disc - Volume 7" sha1="81db574e4599e022cfac938516cff29bb09d1388"/> |
| 101 | <disk name="Interactive CD Sampler Disc - Volume 7" sha1="73e8215a98da98d9f2d1468c62354b46af77fa56"/> |
111 | 102 | </diskarea> |
112 | 103 | </part> |
113 | 104 | </software> |
114 | 105 | |
115 | | <!-- size="420000809" crc="91d8b335" --> |
116 | 106 | <software name="intcdv8"> |
117 | 107 | <description>Interactive CD Sampler Disc - Volume 08</description> |
118 | 108 | <year>1998</year> |
119 | 109 | <publisher>SCEA</publisher> |
120 | 110 | <part name="cdrom" interface="psx_cdrom"> |
121 | 111 | <diskarea name="cdrom"> |
122 | | <disk name="Interactive CD Sampler Disc - Volume 8" sha1="7f23e2d284a104e6914d34527960567111914264"/> |
| 112 | <disk name="Interactive CD Sampler Disc - Volume 8" sha1="8145f022b1f44d2ed7140386acf5b293834fc6c8"/> |
123 | 113 | </diskarea> |
124 | 114 | </part> |
125 | 115 | </software> |
126 | 116 | |
127 | | <!-- size="389598196" crc="993e0ab1" --> |
128 | 117 | <software name="intcdv9"> |
129 | 118 | <description>Interactive CD Sampler Disc - Volume 09</description> |
130 | 119 | <year>1998</year> |
131 | 120 | <publisher>SCEA</publisher> |
132 | 121 | <part name="cdrom" interface="psx_cdrom"> |
133 | 122 | <diskarea name="cdrom"> |
134 | | <disk name="Interactive CD Sampler Disc - Volume 9" sha1="286559ce34f06a7f2eb2b441e9188da0e158d107"/> |
| 123 | <disk name="Interactive CD Sampler Disc - Volume 9" sha1="4b504a4ce093c255b40f4cc2cf3fb59b4216f501"/> |
135 | 124 | </diskarea> |
136 | 125 | </part> |
137 | 126 | </software> |
138 | 127 | |
139 | | <!-- size="365007076" crc="5f5fd01f" --> |
140 | 128 | <software name="intcdv10"> |
141 | 129 | <description>Interactive CD Sampler Disc - Volume 10</description> |
142 | 130 | <year>1999</year> |
143 | 131 | <publisher>SCEA</publisher> |
144 | 132 | <part name="cdrom" interface="psx_cdrom"> |
145 | 133 | <diskarea name="cdrom"> |
146 | | <disk name="Interactive CD Sampler Disc - Volume 10" sha1="8c414a1e26ac98d07f774cc8b16eb2fa8da0ca61"/> |
| 134 | <disk name="Interactive CD Sampler Disc - Volume 10" sha1="960319d09f9ca10663f06068a2ff134f343d22ad"/> |
147 | 135 | </diskarea> |
148 | 136 | </part> |
149 | 137 | </software> |
150 | 138 | |
151 | | <!-- size="272935197" crc="82e6fdf0" --> |
152 | 139 | <software name="intcdv11"> |
153 | 140 | <description>Interactive CD Sampler Disc - Volume 11</description> |
154 | 141 | <year>1999</year> |
155 | 142 | <publisher>SCEA</publisher> |
156 | 143 | <part name="cdrom" interface="psx_cdrom"> |
157 | 144 | <diskarea name="cdrom"> |
158 | | <disk name="Interactive CD Sampler Disc - Volume 11" sha1="3029004840d98c2789d2a0d93bdd762b3c56df0f"/> |
| 145 | <disk name="Interactive CD Sampler Disc - Volume 11" sha1="0506aa051708f32f8470a19b7d6c8538ecedecc1"/> |
159 | 146 | </diskarea> |
160 | 147 | </part> |
161 | 148 | </software> |
162 | 149 | |
163 | | <!-- size="149681460" crc="99551669" --> |
164 | 150 | <software name="intcdtru"> |
165 | 151 | <description>Toys R Us - Interactive CD Sampler Disc</description> |
166 | 152 | <year>1998</year> |
167 | 153 | <publisher>SCEA</publisher> |
168 | 154 | <part name="cdrom" interface="psx_cdrom"> |
169 | 155 | <diskarea name="cdrom"> |
170 | | <disk name="Toys R Us - Interactive CD Sampler Disc" sha1="4abae391a7ad1e38c2ee7cbd7401caebcf091df3"/> |
| 156 | <disk name="Toys R Us - Interactive CD Sampler Disc" sha1="65e0b8973fb1c59a3b18e1c21659afb00ff7db33"/> |
171 | 157 | </diskarea> |
172 | 158 | </part> |
173 | 159 | </software> |
174 | 160 | |
175 | | <!-- size="93662349" crc="59bd7278" --> |
176 | 161 | <software name="intcdff7"> |
177 | 162 | <description>Final Fantasy VII Interactive Sampler CD</description> |
178 | 163 | <year>1996</year> |
179 | 164 | <publisher>SCEA</publisher> |
180 | 165 | <part name="cdrom" interface="psx_cdrom"> |
181 | 166 | <diskarea name="cdrom"> |
182 | | <disk name="Final Fantasy VII Interactive Sampler CD" sha1="0a88439b32be5172e79847f79ae33b6ba22b1de6"/> |
| 167 | <disk name="Final Fantasy VII Interactive Sampler CD" sha1="820d6b26f12e68b0eb2a92895132083bb48a29bc"/> |
183 | 168 | </diskarea> |
184 | 169 | </part> |
185 | 170 | </software> |
trunk/hlsl/artwork_support/post.fx
r250317 | r250318 | |
152 | 152 | // Post-Processing Pixel Shader |
153 | 153 | //----------------------------------------------------------------------------- |
154 | 154 | |
| 155 | uniform float2 ScreenScale = float2(1.0f, 1.0f); |
| 156 | uniform float2 ScreenOffset = float2(0.0f, 0.0f); |
| 157 | |
155 | 158 | uniform float ScanlineAlpha = 1.0f; |
156 | 159 | uniform float ScanlineScale = 1.0f; |
157 | 160 | uniform float ScanlineBrightScale = 1.0f; |
r250317 | r250318 | |
232 | 235 | : float2(-0.25f, 0.25f) |
233 | 236 | : OrientationSwapXY |
234 | 237 | ? float2(0.25f, 0.25f) |
235 | | : float2(-0.25f, 0.25f); |
| 238 | : float2(-0.25f, 0.25f); |
236 | 239 | |
237 | 240 | float2 SpotCoord = coord; |
238 | 241 | SpotCoord += spotOffset * RatioCorrection; |
r250317 | r250318 | |
334 | 337 | return coord; |
335 | 338 | } |
336 | 339 | |
| 340 | float2 GetAdjustedCoords(float2 coord, float2 centerOffset, float distortionAmount) |
| 341 | { |
| 342 | float2 RatioCorrection = GetRatioCorrection(); |
| 343 | |
| 344 | // center coordinates |
| 345 | coord -= centerOffset; |
| 346 | |
| 347 | // apply ratio difference between screen and quad |
| 348 | coord /= RatioCorrection; |
| 349 | |
| 350 | // apply screen scale |
| 351 | coord /= ScreenScale; |
| 352 | |
| 353 | // distort coordinates |
| 354 | coord = GetDistortedCoords(coord, distortionAmount); |
| 355 | |
| 356 | // revert ratio difference between screen and quad |
| 357 | coord *= RatioCorrection; |
| 358 | |
| 359 | // un-center coordinates |
| 360 | coord += centerOffset; |
| 361 | |
| 362 | // apply screen offset |
| 363 | coord += (centerOffset * 2.0) * ScreenOffset; |
| 364 | |
| 365 | return coord; |
| 366 | } |
| 367 | |
337 | 368 | float4 ps_main(PS_INPUT Input) : COLOR |
338 | 369 | { |
339 | 370 | float2 ScreenTexelDims = 1.0f / ScreenDims; |
r250317 | r250318 | |
345 | 376 | float2 ScreenCoord = Input.ScreenCoord / ScreenDims; |
346 | 377 | ScreenCoord = GetCoords(ScreenCoord, float2(0.5f, 0.5f), CurvatureAmount); |
347 | 378 | |
| 379 | float2 DistortionCoord = Input.TexCoord; |
| 380 | DistortionCoord = GetCoords(DistortionCoord, HalfSourceRect, CurvatureAmount); |
| 381 | |
348 | 382 | float2 BaseCoord = Input.TexCoord; |
349 | | BaseCoord = GetCoords(BaseCoord, HalfSourceRect, CurvatureAmount); |
| 383 | BaseCoord = GetAdjustedCoords(BaseCoord, HalfSourceRect, CurvatureAmount); |
350 | 384 | |
| 385 | float2 DistortionCoordCentered = DistortionCoord; |
| 386 | DistortionCoordCentered -= HalfSourceRect; |
| 387 | |
351 | 388 | float2 BaseCoordCentered = BaseCoord; |
352 | 389 | BaseCoordCentered -= HalfSourceRect; |
353 | 390 | |
354 | 391 | float4 BaseColor = tex2D(DiffuseSampler, BaseCoord); |
355 | 392 | BaseColor.a = 1.0f; |
356 | 393 | |
| 394 | if (BaseCoord.x < 0.0f || BaseCoord.y < 0.0f) |
| 395 | { |
| 396 | BaseColor.rgb = 0.0f; |
| 397 | } |
| 398 | |
357 | 399 | // Mask Simulation (may not affect bloom) |
358 | 400 | if (!PrepareBloom) |
359 | 401 | { |
r250317 | r250318 | |
431 | 473 | // Vignetting Simulation (may not affect bloom) |
432 | 474 | if (!PrepareBloom) |
433 | 475 | { |
434 | | float2 VignetteCoord = BaseCoordCentered; |
| 476 | float2 VignetteCoord = DistortionCoordCentered; |
435 | 477 | |
436 | 478 | float VignetteFactor = GetVignetteFactor(VignetteCoord, VignettingAmount); |
437 | 479 | Output.rgb *= VignetteFactor; |
r250317 | r250318 | |
442 | 484 | { |
443 | 485 | float3 LightColor = float3(1.0f, 0.90f, 0.80f); |
444 | 486 | |
445 | | float2 SpotCoord = BaseCoordCentered; |
446 | | float2 NoiseCoord = BaseCoordCentered; |
| 487 | float2 SpotCoord = DistortionCoordCentered; |
| 488 | float2 NoiseCoord = DistortionCoordCentered; |
447 | 489 | |
448 | 490 | float SpotAddend = GetSpotAddend(SpotCoord, ReflectionAmount); |
449 | 491 | float NoiseFactor = GetNoiseFactor(SpotAddend, random(NoiseCoord)); |
r250317 | r250318 | |
451 | 493 | } |
452 | 494 | |
453 | 495 | // Round Corners Simulation (may affect bloom) |
454 | | float2 RoundCornerCoord = BaseCoordCentered; |
| 496 | float2 RoundCornerCoord = DistortionCoordCentered; |
455 | 497 | |
456 | 498 | float roundCornerFactor = GetRoundCornerFactor(RoundCornerCoord, RoundCornerAmount, SmoothBorderAmount); |
457 | 499 | Output.rgb *= roundCornerFactor; |
trunk/hlsl/post.fx
r250317 | r250318 | |
77 | 77 | |
78 | 78 | uniform float2 ScreenDims; // size of the window or fullscreen |
79 | 79 | uniform float2 SourceDims; // size of the texture in power-of-two size |
| 80 | uniform float2 SourceRect; // size of the uv rectangle |
80 | 81 | uniform float2 TargetDims; // size of the target surface |
81 | 82 | |
82 | 83 | uniform float2 ShadowDims = float2(32.0f, 32.0f); // size of the shadow texture (extended to power-of-two size) |
r250317 | r250318 | |
87 | 88 | |
88 | 89 | uniform bool PrepareBloom = false; // disables some effects for rendering bloom textures |
89 | 90 | uniform bool PrepareVector = false; |
| 91 | uniform bool PrepareRaster = false; |
90 | 92 | |
91 | 93 | VS_OUTPUT vs_main(VS_INPUT Input) |
92 | 94 | { |
r250317 | r250318 | |
123 | 125 | // Post-Processing Pixel Shader |
124 | 126 | //----------------------------------------------------------------------------- |
125 | 127 | |
| 128 | uniform float2 ScreenScale = float2(1.0f, 1.0f); |
| 129 | uniform float2 ScreenOffset = float2(0.0f, 0.0f); |
| 130 | |
126 | 131 | uniform float ScanlineAlpha = 1.0f; |
127 | 132 | uniform float ScanlineScale = 1.0f; |
128 | 133 | uniform float ScanlineBrightScale = 1.0f; |
r250317 | r250318 | |
137 | 142 | uniform float3 Power = float3(1.0f, 1.0f, 1.0f); |
138 | 143 | uniform float3 Floor = float3(0.0f, 0.0f, 0.0f); |
139 | 144 | |
| 145 | float2 GetAdjustedCoords(float2 coord, float2 centerOffset) |
| 146 | { |
| 147 | // center coordinates |
| 148 | coord -= centerOffset; |
| 149 | |
| 150 | // apply screen scale |
| 151 | coord /= ScreenScale; |
| 152 | |
| 153 | // un-center coordinates |
| 154 | coord += centerOffset; |
| 155 | |
| 156 | // apply screen offset |
| 157 | coord += (centerOffset * 2.0) * ScreenOffset; |
| 158 | |
| 159 | return coord; |
| 160 | } |
| 161 | |
140 | 162 | float4 ps_main(PS_INPUT Input) : COLOR |
141 | 163 | { |
142 | 164 | float2 ScreenTexelDims = 1.0f / ScreenDims; |
143 | 165 | |
| 166 | float2 HalfSourceRect = PrepareVector |
| 167 | ? float2(0.5f, 0.5f) |
| 168 | : SourceRect * 0.5f; |
| 169 | |
144 | 170 | float2 ScreenCoord = Input.ScreenCoord / ScreenDims; |
145 | | float2 BaseCoord = Input.TexCoord; |
| 171 | float2 BaseCoord = GetAdjustedCoords(Input.TexCoord, HalfSourceRect); |
146 | 172 | |
147 | 173 | // Color |
148 | 174 | float4 BaseColor = tex2D(DiffuseSampler, BaseCoord); |
149 | 175 | BaseColor.a = 1.0f; |
150 | 176 | |
| 177 | if (BaseCoord.x < 0.0f || BaseCoord.y < 0.0f) |
| 178 | { |
| 179 | BaseColor.rgb = 0.0f; |
| 180 | } |
| 181 | |
151 | 182 | // Mask Simulation (may not affect bloom) |
152 | 183 | if (!PrepareBloom) |
153 | 184 | { |
r250317 | r250318 | |
204 | 235 | // Scanline Simulation (may not affect bloom) |
205 | 236 | if (!PrepareBloom) |
206 | 237 | { |
207 | | // Scanline Simulation (disabled for vector) |
208 | | if (!PrepareVector) |
| 238 | // Scanline Simulation (only for raster screen) |
| 239 | if (PrepareRaster) |
209 | 240 | { |
210 | 241 | float InnerSine = BaseCoord.y * ScanlineScale * SourceDims.y; |
211 | 242 | float ScanJitter = ScanlineOffset * SourceDims.y; |
trunk/src/devices/bus/isa/cga.cpp
r250317 | r250318 | |
308 | 308 | device_t(mconfig, ISA8_CGA, "IBM Color/Graphics Monitor Adapter", tag, owner, clock, "cga", __FILE__), |
309 | 309 | device_isa8_card_interface(mconfig, *this), |
310 | 310 | m_cga_config(*this, "cga_config"), m_framecnt(0), m_mode_control(0), m_color_select(0), |
311 | | m_update_row_type(-1), m_chr_gen_base(nullptr), m_chr_gen(nullptr), m_vsync(0), m_hsync(0), |
| 311 | m_update_row_type(-1), m_y(0), m_chr_gen_base(nullptr), m_chr_gen(nullptr), m_vsync(0), m_hsync(0), |
312 | 312 | m_vram_size( 0x4000 ), m_plantronics(0), |
313 | 313 | m_palette(*this, "palette"), |
314 | 314 | m_screen(*this, "screen") |
r250317 | r250318 | |
324 | 324 | device_t(mconfig, type, name, tag, owner, clock, shortname, source), |
325 | 325 | device_isa8_card_interface(mconfig, *this), |
326 | 326 | m_cga_config(*this, "cga_config"), m_framecnt(0), m_mode_control(0), m_color_select(0), |
327 | | m_update_row_type(-1), m_chr_gen_base(nullptr), m_chr_gen(nullptr), m_vsync(0), m_hsync(0), |
| 327 | m_update_row_type(-1), m_y(0), m_chr_gen_base(nullptr), m_chr_gen(nullptr), m_vsync(0), m_hsync(0), |
328 | 328 | m_vram_size( 0x4000 ), m_plantronics(0), |
329 | 329 | m_palette(*this, "palette"), |
330 | 330 | m_screen(*this, "screen") |
trunk/src/devices/cpu/e0c6200/e0c6200.h
r250317 | r250318 | |
19 | 19 | e0c6200_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, address_map_constructor program, address_map_constructor data, const char *shortname, const char *source) |
20 | 20 | : cpu_device(mconfig, type, name, tag, owner, clock, shortname, source) |
21 | 21 | , m_program_config("program", ENDIANNESS_BIG, 16, 13, -1, program) |
22 | | , m_data_config("data", ENDIANNESS_BIG, 8, 12, 0, data) |
| 22 | , m_data_config("data", ENDIANNESS_BIG, 8, 12, 0, data), m_program(nullptr), m_data(nullptr), m_op(0), m_prev_op(0), m_irq_vector(0), m_irq_id(0), m_possible_irq(false), m_halt(false), |
| 23 | m_sleep(false), m_icount(0), m_pc(0), m_prev_pc(0), m_npc(0), m_jpc(0), m_a(0), m_b(0), m_xp(0), m_xh(0), m_xl(0), m_yp(0), m_yh(0), m_yl(0), m_sp(0), m_f(0) |
23 | 24 | { } |
24 | 25 | |
25 | 26 | protected: |
trunk/src/devices/cpu/e0c6200/e0c6s46.cpp
r250317 | r250318 | |
48 | 48 | e0c6s46_device::e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
49 | 49 | : e0c6200_cpu_device(mconfig, E0C6S46, "E0C6S46", tag, owner, clock, ADDRESS_MAP_NAME(e0c6s46_program), ADDRESS_MAP_NAME(e0c6s46_data), "e0c6s46", __FILE__) |
50 | 50 | , m_vram1(*this, "vram1") |
51 | | , m_vram2(*this, "vram2") |
52 | | , m_pixel_update_handler(NULL) |
| 51 | , m_vram2(*this, "vram2"), m_osc(0), m_svd(0), m_lcd_control(0), m_lcd_contrast(0) |
| 52 | , m_pixel_update_handler(nullptr) |
53 | 53 | , m_write_r0(*this), m_write_r1(*this), m_write_r2(*this), m_write_r3(*this), m_write_r4(*this) |
54 | 54 | , m_read_p0(*this), m_read_p1(*this), m_read_p2(*this), m_read_p3(*this) |
55 | | , m_write_p0(*this), m_write_p1(*this), m_write_p2(*this), m_write_p3(*this) |
| 55 | , m_write_p0(*this), m_write_p1(*this), m_write_p2(*this), m_write_p3(*this), m_r_dir(0), m_p_dir(0), m_p_pullup(0), m_dfk0(0), m_256_src_pulse(0), m_core_256_handle(nullptr), |
| 56 | m_watchdog_count(0), m_clktimer_count(0), m_stopwatch_on(0), m_swl_cur_pulse(0), m_swl_slice(0), m_swl_count(0), m_swh_count(0), m_prgtimer_select(0), m_prgtimer_on(0), m_prgtimer_src_pulse(0), |
| 57 | m_prgtimer_cur_pulse(0), m_prgtimer_count(0), m_prgtimer_reload(0), m_prgtimer_handle(nullptr), m_bz_43_on(0), m_bz_freq(0), m_bz_envelope(0), m_bz_duty_ratio(0), m_bz_1shot_on(0), m_bz_1shot_running(false), m_bz_1shot_count(0), m_bz_pulse(0), m_buzzer_handle(nullptr) |
56 | 58 | { } |
57 | 59 | |
58 | 60 | |
trunk/src/devices/cpu/h8/h8.cpp
r250317 | r250318 | |
16 | 16 | h8_device::h8_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, bool mode_a16, address_map_delegate map_delegate) : |
17 | 17 | cpu_device(mconfig, type, name, tag, owner, clock, shortname, source), |
18 | 18 | program_config("program", ENDIANNESS_BIG, 16, mode_a16 ? 16 : 24, 0, map_delegate), |
19 | | io_config("io", ENDIANNESS_BIG, 16, 16, -1) |
| 19 | io_config("io", ENDIANNESS_BIG, 16, 16, -1), program(nullptr), io(nullptr), direct(nullptr), PPC(0), NPC(0), PC(0), PIR(0), EXR(0), CCR(0), MAC(0), MACF(0), |
| 20 | TMP1(0), TMP2(0), TMPR(0), inst_state(0), inst_substate(0), icount(0), bcount(0), irq_vector(0), taken_irq_vector(0), irq_level(0), taken_irq_level(0), irq_required(false), irq_nmi(false) |
20 | 21 | { |
21 | 22 | supports_advanced = false; |
22 | 23 | mode_advanced = false; |
trunk/src/devices/cpu/h8/h8_adc.cpp
r250317 | r250318 | |
12 | 12 | |
13 | 13 | h8_adc_device::h8_adc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : |
14 | 14 | device_t(mconfig, type, name, tag, owner, clock, shortname, source), |
15 | | cpu(*this, DEVICE_SELF_OWNER) |
| 15 | cpu(*this, DEVICE_SELF_OWNER), intc(nullptr), io(nullptr), intc_tag(nullptr), intc_vector(0), adcsr(0), adcr(0), register_mask(0), trigger(0), start_mode(0), start_channel(0), |
| 16 | end_channel(0), start_count(0), mode(0), channel(0), count(0), analog_powered(false), adtrg(false), next_event(0) |
16 | 17 | { |
17 | 18 | suspend_on_interrupt = false; |
18 | 19 | analog_power_control = false; |
trunk/src/devices/cpu/h8/h8_intc.cpp
r250317 | r250318 | |
9 | 9 | |
10 | 10 | h8_intc_device::h8_intc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
11 | 11 | device_t(mconfig, H8_INTC, "H8 INTC", tag, owner, clock, "h8_intc", __FILE__), |
12 | | cpu(*this, DEVICE_SELF_OWNER) |
| 12 | cpu(*this, DEVICE_SELF_OWNER), nmi_input(false), irq_input(0), ier(0), isr(0), iscr(0), icr_filter(0), ipr_filter(0) |
13 | 13 | { |
14 | 14 | irq_vector_base = 4; |
15 | 15 | irq_vector_nmi = 3; |
16 | 16 | } |
17 | 17 | |
18 | 18 | h8_intc_device::h8_intc_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : |
19 | | device_t(mconfig, type, name, tag, owner, clock, shortname, source), |
20 | | cpu(*this, DEVICE_SELF_OWNER) |
| 19 | device_t(mconfig, type, name, tag, owner, clock, shortname, source), irq_vector_base(0), irq_vector_nmi(0), |
| 20 | cpu(*this, DEVICE_SELF_OWNER), nmi_input(false), irq_input(0), ier(0), isr(0), iscr(0), icr_filter(0), ipr_filter(0) |
21 | 21 | { |
22 | 22 | } |
23 | 23 | |
trunk/src/devices/cpu/h8/h8_sci.cpp
r250317 | r250318 | |
11 | 11 | device_t(mconfig, H8_SCI, "H8 Serial Communications Interface", tag, owner, clock, "h8_sci", __FILE__), |
12 | 12 | cpu(*this, DEVICE_SELF_OWNER), |
13 | 13 | tx_cb(*this), |
14 | | clk_cb(*this) |
| 14 | clk_cb(*this), intc(nullptr), intc_tag(nullptr), external_to_internal_ratio(0), internal_to_external_ratio(0), sync_timer(nullptr), eri_int(0), rxi_int(0), txi_int(0), tei_int(0), |
| 15 | tx_state(0), rx_state(0), tx_bit(0), rx_bit(0), clock_state(0), clock_mode(0), tx_parity(0), rx_parity(0), ext_clock_counter(0), clock_value(false), ext_clock_value(false), rx_value(false), |
| 16 | rdr(0), tdr(0), smr(0), scr(0), ssr(0), brr(0), rsr(0), tsr(0), clock_base(0), divider(0) |
15 | 17 | { |
16 | 18 | external_clock_period = attotime::never; |
17 | 19 | } |
trunk/src/devices/cpu/h8/h8_timer16.cpp
r250317 | r250318 | |
12 | 12 | |
13 | 13 | h8_timer16_channel_device::h8_timer16_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
14 | 14 | device_t(mconfig, H8_TIMER16_CHANNEL, "H8 16-bits timer channel", tag, owner, clock, "h8_16bits_timer_channel", __FILE__), |
15 | | cpu(*this, "^^") |
| 15 | cpu(*this, "^^"), chained_timer(nullptr), intc(nullptr), intc_tag(nullptr), tier_mask(0), tgr_count(0), tbr_count(0), tgr_clearing(0), tcr(0), tier(0), ier(0), isr(0), clock_type(0), |
| 16 | clock_divider(0), tcnt(0), last_clock_update(0), event_time(0), phase(0), counter_cycle(0), counter_incrementing(false), channel_active(false) |
16 | 17 | { |
17 | 18 | chain_tag = NULL; |
18 | 19 | } |
19 | 20 | |
20 | 21 | h8_timer16_channel_device::h8_timer16_channel_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : |
21 | 22 | device_t(mconfig, type, name, tag, owner, clock, shortname, source), |
22 | | cpu(*this, "^^") |
| 23 | cpu(*this, "^^"), chained_timer(nullptr), intc(nullptr), intc_tag(nullptr), tier_mask(0), tgr_count(0), tbr_count(0), tgr_clearing(0), tcr(0), tier(0), ier(0), isr(0), clock_type(0), |
| 24 | clock_divider(0), tcnt(0), last_clock_update(0), event_time(0), phase(0), counter_cycle(0), counter_incrementing(false), channel_active(false) |
23 | 25 | { |
24 | 26 | chain_tag = NULL; |
25 | 27 | } |
trunk/src/devices/cpu/h8/h8_timer8.cpp
r250317 | r250318 | |
8 | 8 | |
9 | 9 | h8_timer8_channel_device::h8_timer8_channel_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
10 | 10 | device_t(mconfig, H8_TIMER8_CHANNEL, "H8 8-bits timer channel", tag, owner, clock, "h8_8bits_timer_channel", __FILE__), |
11 | | cpu(*this, "^") |
| 11 | cpu(*this, "^"), chained_timer(nullptr), intc(nullptr), chain_tag(nullptr), intc_tag(nullptr), irq_ca(0), irq_cb(0), irq_v(0), chain_type(0), tcr(0), tcsr(0), tcnt(0), extra_clock_bit(false), |
| 12 | has_adte(false), has_ice(false), clock_type(0), clock_divider(0), clear_type(0), counter_cycle(0), last_clock_update(0), event_time(0) |
12 | 13 | { |
13 | 14 | } |
14 | 15 | |
15 | 16 | h8_timer8_channel_device::h8_timer8_channel_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : |
16 | 17 | device_t(mconfig, type, name, tag, owner, clock, shortname, source), |
17 | | cpu(*this, "^") |
| 18 | cpu(*this, "^"), chained_timer(nullptr), intc(nullptr), chain_tag(nullptr), intc_tag(nullptr), irq_ca(0), irq_cb(0), irq_v(0), chain_type(0), tcr(0), tcsr(0), tcnt(0), extra_clock_bit(false), |
| 19 | has_adte(false), has_ice(false), clock_type(0), clock_divider(0), clear_type(0), counter_cycle(0), last_clock_update(0), event_time(0) |
18 | 20 | { |
19 | 21 | } |
20 | 22 | |
trunk/src/devices/cpu/m6502/m6502.cpp
r250317 | r250318 | |
18 | 18 | cpu_device(mconfig, M6502, "M6502", tag, owner, clock, "m6502", __FILE__), |
19 | 19 | sync_w(*this), |
20 | 20 | program_config("program", ENDIANNESS_LITTLE, 8, 16), |
21 | | sprogram_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16) |
| 21 | sprogram_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16), PPC(0), NPC(0), PC(0), SP(0), TMP(0), TMP2(0), A(0), X(0), Y(0), P(0), IR(0), inst_state_base(0), mintf(nullptr), |
| 22 | inst_state(0), inst_substate(0), icount(0), nmi_state(false), irq_state(false), apu_irq_state(false), v_state(false), irq_taken(false), sync(false), inhibit_interrupts(false) |
22 | 23 | { |
23 | 24 | direct_disabled = false; |
24 | 25 | } |
25 | 26 | |
26 | 27 | m6502_device::m6502_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : |
27 | | cpu_device(mconfig, type, name, tag, owner, clock, shortname, source), |
| 28 | cpu_device(mconfig, type, name, tag, owner, clock, shortname, source), |
28 | 29 | sync_w(*this), |
29 | 30 | program_config("program", ENDIANNESS_LITTLE, 8, 16), |
30 | | sprogram_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16) |
| 31 | sprogram_config("decrypted_opcodes", ENDIANNESS_LITTLE, 8, 16), PPC(0), NPC(0), PC(0), SP(0), TMP(0), TMP2(0), A(0), X(0), Y(0), P(0), IR(0), inst_state_base(0), mintf(nullptr), |
| 32 | inst_state(0), inst_substate(0), icount(0), nmi_state(false), irq_state(false), apu_irq_state(false), v_state(false), irq_taken(false), sync(false), inhibit_interrupts(false) |
31 | 33 | { |
32 | 34 | direct_disabled = false; |
33 | 35 | } |
trunk/src/devices/cpu/m6502/m65ce02.cpp
r250317 | r250318 | |
14 | 14 | const device_type M65CE02 = &device_creator<m65ce02_device>; |
15 | 15 | |
16 | 16 | m65ce02_device::m65ce02_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
17 | | m65c02_device(mconfig, M65CE02, "M65CE02", tag, owner, clock, "m65ce02", __FILE__) |
| 17 | m65c02_device(mconfig, M65CE02, "M65CE02", tag, owner, clock, "m65ce02", __FILE__), TMP3(0), Z(0), B(0) |
18 | 18 | { |
19 | 19 | } |
20 | 20 | |
21 | 21 | m65ce02_device::m65ce02_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : |
22 | | m65c02_device(mconfig, type, name, tag, owner, clock, shortname, source) |
| 22 | m65c02_device(mconfig, type, name, tag, owner, clock, shortname, source), TMP3(0), Z(0), B(0) |
23 | 23 | { |
24 | 24 | } |
25 | 25 | |
trunk/src/devices/cpu/m6502/m740.cpp
r250317 | r250318 | |
14 | 14 | const device_type M740 = &device_creator<m740_device>; |
15 | 15 | |
16 | 16 | m740_device::m740_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : |
17 | | m6502_device(mconfig, M740, "M740", tag, owner, clock, "m740", __FILE__) |
| 17 | m6502_device(mconfig, M740, "M740", tag, owner, clock, "m740", __FILE__), m_irq_multiplex(0), m_irq_vector(0) |
18 | 18 | { |
19 | 19 | } |
20 | 20 | |
21 | 21 | m740_device::m740_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : |
22 | | m6502_device(mconfig, type, name, tag, owner, clock, shortname, source) |
| 22 | m6502_device(mconfig, type, name, tag, owner, clock, shortname, source), m_irq_multiplex(0), m_irq_vector(0) |
23 | 23 | { |
24 | 24 | } |
25 | 25 | |
trunk/src/devices/cpu/mb86233/mb86233.cpp
r250317 | r250318 | |
26 | 26 | mb86233_cpu_device::mb86233_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
27 | 27 | : cpu_device(mconfig, MB86233, "MB86233", tag, owner, clock, "mb86233", __FILE__) |
28 | 28 | , m_program_config("program", ENDIANNESS_LITTLE, 32, 32, -2) |
29 | | , m_data_config("data", ENDIANNESS_LITTLE, 32, 32, 0) |
30 | | , m_fifo_read_cb(*this) |
| 29 | , m_data_config("data", ENDIANNESS_LITTLE, 32, 32, 0), m_pc(0), m_reps(0), m_pcsp(0), m_eb(0), m_shift(0), m_repcnt(0), m_sr(0), |
| 30 | m_fpucontrol(0), m_program(nullptr), m_direct(nullptr), m_icount(0), m_fifo_wait(0) |
| 31 | , m_fifo_read_cb(*this) |
31 | 32 | , m_fifo_read_ok_cb(*this) |
32 | 33 | , m_fifo_write_cb(*this) |
33 | | , m_tablergn(NULL) |
34 | | , m_Tables(NULL) |
| 34 | , m_tablergn(nullptr), m_ARAM(nullptr), m_BRAM(nullptr) |
| 35 | , m_Tables(nullptr) |
35 | 36 | { |
36 | 37 | } |
37 | 38 | |
trunk/src/devices/cpu/mn10200/mn10200.h
r250317 | r250318 | |
48 | 48 | // construction/destruction |
49 | 49 | mn10200_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, address_map_constructor program, const char *shortname, const char *source) |
50 | 50 | : cpu_device(mconfig, type, name, tag, owner, clock, shortname, source) |
51 | | , m_program_config("program", ENDIANNESS_LITTLE, 16, 24, 0, program) |
52 | | , m_read_port0(*this), m_read_port1(*this), m_read_port2(*this), m_read_port3(*this), m_read_port4(*this) |
53 | | , m_write_port0(*this), m_write_port1(*this), m_write_port2(*this), m_write_port3(*this), m_write_port4(*this) |
| 51 | , m_program_config("program", ENDIANNESS_LITTLE, 16, 24, 0, program), m_program(nullptr) |
| 52 | , m_read_port0(*this), m_read_port1(*this), m_read_port2(*this), m_read_port3(*this), m_read_port4(*this) |
| 53 | , m_write_port0(*this), m_write_port1(*this), m_write_port2(*this), m_write_port3(*this), m_write_port4(*this), m_cycles(0), m_pc(0), m_psw(0), m_mdr(0), m_nmicr(0), m_iagr(0), |
| 54 | m_extmdl(0), m_extmdh(0), m_possible_irq(false), m_pplul(0), m_ppluh(0), m_p3md(0), m_p4(0) |
54 | 55 | { } |
55 | 56 | |
56 | 57 | // static configuration helpers |
trunk/src/devices/cpu/pdp1/tx0.cpp
r250317 | r250318 | |
46 | 46 | |
47 | 47 | tx0_device::tx0_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source, int addr_bits, int address_mask, int ir_mask) |
48 | 48 | : cpu_device(mconfig, type, name, tag, owner, clock, shortname, source) |
49 | | , m_program_config("program", ENDIANNESS_BIG, 32, addr_bits , -2) |
50 | | , m_address_mask(address_mask) |
51 | | , m_ir_mask(ir_mask) |
52 | | , m_cpy_handler(*this) |
| 49 | , m_program_config("program", ENDIANNESS_BIG, 32, addr_bits , -2), m_mbr(0), m_ac(0), m_mar(0), m_pc(0), m_ir(0), m_lr(0), m_xr(0), m_pf(0), m_tbr(0), m_tac(0), m_cm_sel(0), |
| 50 | m_lr_sel(0), m_gbl_cm_sel(0), m_stop_cyc0(0), m_stop_cyc1(0), m_run(0), m_rim(0), m_cycle(0), m_ioh(0), m_ios(0), m_rim_step(0) |
| 51 | , m_address_mask(address_mask) |
| 52 | , m_ir_mask(ir_mask), m_icount(0), m_program(nullptr) |
| 53 | , m_cpy_handler(*this) |
53 | 54 | , m_r1l_handler(*this) |
54 | 55 | , m_dis_handler(*this) |
55 | 56 | , m_r3l_handler(*this) |
trunk/src/devices/cpu/scmp/scmp.cpp
r250317 | r250318 | |
23 | 23 | |
24 | 24 | scmp_device::scmp_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
25 | 25 | : cpu_device(mconfig, SCMP, "INS 8050 SC/MP", tag, owner, clock, "ins8050", __FILE__) |
26 | | , m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0) |
27 | | , m_flag_out_func(*this) |
| 26 | , m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0), m_AC(0), m_ER(0), m_SR(0), m_program(nullptr), m_direct(nullptr), m_icount(0) |
| 27 | , m_flag_out_func(*this) |
28 | 28 | , m_sout_func(*this) |
29 | 29 | , m_sin_func(*this) |
30 | 30 | , m_sensea_func(*this) |
r250317 | r250318 | |
36 | 36 | |
37 | 37 | scmp_device::scmp_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) |
38 | 38 | : cpu_device(mconfig, type, name, tag, owner, clock, shortname, source) |
39 | | , m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0) |
40 | | , m_flag_out_func(*this) |
| 39 | , m_program_config("program", ENDIANNESS_LITTLE, 8, 16, 0), m_AC(0), m_ER(0), m_SR(0), m_program(nullptr), m_direct(nullptr), m_icount(0) |
| 40 | , m_flag_out_func(*this) |
41 | 41 | , m_sout_func(*this) |
42 | 42 | , m_sin_func(*this) |
43 | 43 | , m_sensea_func(*this) |
trunk/src/devices/cpu/superfx/superfx.cpp
r250317 | r250318 | |
10 | 10 | superfx_device::superfx_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
11 | 11 | : cpu_device(mconfig, SUPERFX, "SuperFX", tag, owner, clock, "superfx", __FILE__) |
12 | 12 | , m_program_config("program", ENDIANNESS_LITTLE, 8, 32, 0) |
13 | | , m_out_irq_func(*this) |
| 13 | , m_out_irq_func(*this), m_pipeline(0), m_ramaddr(0), m_sfr(0), m_pbr(0), m_rombr(0), m_rambr(0), m_cbr(0), m_scbr(0), m_scmr(0), m_colr(0), m_por(0), |
| 14 | m_bramr(0), m_vcr(0), m_cfgr(0), m_clsr(0), m_romcl(0), m_romdr(0), m_ramcl(0), m_ramar(0), m_ramdr(0), m_sreg(nullptr), m_sreg_idx(0), m_dreg(nullptr), |
| 15 | m_dreg_idx(0), m_r15_modified(0), m_irq(0), m_cache_access_speed(0), m_memory_access_speed(0), m_program(nullptr), m_icount(0), m_debugger_temp(0) |
14 | 16 | { |
15 | 17 | } |
16 | 18 | |
trunk/src/devices/cpu/tms34010/tms34010.cpp
r250317 | r250318 | |
36 | 36 | tms340x0_device::tms340x0_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname) |
37 | 37 | : cpu_device(mconfig, type, name, tag, owner, clock, shortname, __FILE__) |
38 | 38 | , device_video_interface(mconfig, *this) |
39 | | , m_program_config("program", ENDIANNESS_LITTLE, 16, 32, 3) |
40 | | , m_halt_on_reset(FALSE) |
41 | | , m_pixclock(0) |
42 | | , m_pixperclock(0) |
43 | | , m_output_int_cb(*this) |
| 39 | , m_program_config("program", ENDIANNESS_LITTLE, 16, 32, 3), m_pc(0), m_ppc(0), m_st(0), m_pixel_write(nullptr), m_pixel_read(nullptr), m_raster_op(nullptr), m_pixel_op(nullptr), m_pixel_op_timing(0), m_convsp(0), m_convdp(0), m_convmp(0), m_gfxcycles(0), m_pixelshift(0), m_is_34020(0), m_reset_deferred(false) |
| 40 | , m_halt_on_reset(FALSE), m_hblank_stable(0), m_external_host_access(0), m_executing(0), m_program(nullptr), m_direct(nullptr) |
| 41 | , m_pixclock(0) |
| 42 | , m_pixperclock(0), m_scantimer(nullptr), m_icount(0) |
| 43 | , m_output_int_cb(*this) |
44 | 44 | { |
45 | 45 | } |
46 | 46 | |
trunk/src/devices/cpu/z8000/z8000.cpp
r250317 | r250318 | |
37 | 37 | : cpu_device(mconfig, Z8002, "Z8002", tag, owner, clock, "z8002", __FILE__) |
38 | 38 | , m_program_config("program", ENDIANNESS_BIG, 16, 16, 0) |
39 | 39 | , m_io_config("io", ENDIANNESS_BIG, 8, 16, 0) |
40 | | , m_mo_out(*this) |
41 | | , m_vector_mult(1) |
| 40 | , m_mo_out(*this), m_ppc(0), m_pc(0), m_psapseg(0), m_psapoff(0), m_fcw(0), m_refresh(0), m_nspseg(0), m_nspoff(0), m_irq_req(0), m_irq_vec(0), m_op_valid(0), m_nmi_state(0), m_mi(0), m_program(nullptr), m_data(nullptr), m_direct(nullptr), m_io(nullptr), m_icount(0) |
| 41 | , m_vector_mult(1) |
42 | 42 | { |
43 | 43 | } |
44 | 44 | |
r250317 | r250318 | |
47 | 47 | : cpu_device(mconfig, type, name, tag, owner, clock, shortname, source) |
48 | 48 | , m_program_config("program", ENDIANNESS_BIG, 16, 20, 0) |
49 | 49 | , m_io_config("io", ENDIANNESS_BIG, 16, 16, 0) |
50 | | , m_mo_out(*this) |
| 50 | , m_mo_out(*this), m_ppc(0), m_pc(0), m_psapseg(0), m_psapoff(0), m_fcw(0), m_refresh(0), m_nspseg(0), m_nspoff(0), m_irq_req(0), m_irq_vec(0), m_op_valid(0), m_nmi_state(0), m_mi(0), m_program(nullptr), m_data(nullptr), m_direct(nullptr), m_io(nullptr), m_icount(0) |
51 | 51 | , m_vector_mult(2) |
52 | 52 | { |
53 | 53 | } |
trunk/src/devices/cpu/z8000/z8000tbl.inc
r250317 | r250318 | |
81 | 81 | {0x2100,0x210f, 1,2, 7,&z8002_device::Z21_0000_dddd_imm16, "ld %rw3,%#w1", 0}, |
82 | 82 | {0x2110,0x21ff, 1,1, 7,&z8002_device::Z21_ssN0_dddd, "ld %rw3,@%rw2", 0}, |
83 | 83 | {0x2200,0x220f, 1,2, 10,&z8002_device::Z22_0000_ssss_0000_dddd_0000_0000, "resb %rb5,%rw3", 0}, |
84 | | {0x2210,0x22ff, 1,1, 11,&z8002_device::Z22_ddN0_imm4, "resb @%rw3,%3", 0}, |
| 84 | {0x2210,0x22ff, 1,1, 11,&z8002_device::Z22_ddN0_imm4, "resb @%rw2,%3", 0}, |
85 | 85 | {0x2300,0x230f, 1,2, 10,&z8002_device::Z23_0000_ssss_0000_dddd_0000_0000, "res %rw5,%rw3", 0}, |
86 | | {0x2310,0x23ff, 1,1, 11,&z8002_device::Z23_ddN0_imm4, "res @%rw3,%3", 0}, |
| 86 | {0x2310,0x23ff, 1,1, 11,&z8002_device::Z23_ddN0_imm4, "res @%rw2,%3", 0}, |
87 | 87 | {0x2400,0x240f, 1,2, 10,&z8002_device::Z24_0000_ssss_0000_dddd_0000_0000, "setb %rb5,%rw3", 0}, |
88 | | {0x2410,0x24ff, 1,1, 11,&z8002_device::Z24_ddN0_imm4, "setb @%rw3,%3", 0}, |
| 88 | {0x2410,0x24ff, 1,1, 11,&z8002_device::Z24_ddN0_imm4, "setb @%rw2,%3", 0}, |
89 | 89 | {0x2500,0x250f, 1,2, 10,&z8002_device::Z25_0000_ssss_0000_dddd_0000_0000, "set %rw5,%rw3", 0}, |
90 | | {0x2510,0x25ff, 1,1, 11,&z8002_device::Z25_ddN0_imm4, "set @%rw3,%3", 0}, |
| 90 | {0x2510,0x25ff, 1,1, 11,&z8002_device::Z25_ddN0_imm4, "set @%rw2,%3", 0}, |
91 | 91 | {0x2600,0x260f, 1,2, 10,&z8002_device::Z26_0000_ssss_0000_dddd_0000_0000, "bitb %rb5,%rw3", 0}, |
92 | | {0x2610,0x26ff, 1,1, 8,&z8002_device::Z26_ddN0_imm4, "bitb @%rw3,%3", 0}, |
| 92 | {0x2610,0x26ff, 1,1, 8,&z8002_device::Z26_ddN0_imm4, "bitb @%rw2,%3", 0}, |
93 | 93 | {0x2700,0x270f, 1,2, 10,&z8002_device::Z27_0000_ssss_0000_dddd_0000_0000, "bit %rw5,%rw3", 0}, |
94 | 94 | {0x2710,0x27ff, 1,1, 8,&z8002_device::Z27_ddN0_imm4, "bit @%rw2,%3", 0}, |
95 | 95 | {0x2810,0x28ff, 1,1, 11,&z8002_device::Z28_ddN0_imm4m1, "incb @%rw2,%+3", 0}, |