Thread: [Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx: [240] trunk/fuse
Brought to you by:
fredm
|
From: <fr...@us...> - 2006-11-26 11:24:44
|
Revision: 240
http://svn.sourceforge.net/fuse-for-macosx/?rev=240&view=rev
Author: fredm
Date: 2006-11-26 03:24:42 -0800 (Sun, 26 Nov 2006)
Log Message:
-----------
Fix joystick support.
Modified Paths:
--------------
trunk/fuse/fusepb/controllers/PreferencesController.m
trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
trunk/fuse/ui/sdl/sdljoystick.c
Modified: trunk/fuse/fusepb/controllers/PreferencesController.m
===================================================================
--- trunk/fuse/fusepb/controllers/PreferencesController.m 2006-11-26 08:44:30 UTC (rev 239)
+++ trunk/fuse/fusepb/controllers/PreferencesController.m 2006-11-26 11:24:42 UTC (rev 240)
@@ -121,6 +121,9 @@
settings_get_rom_array( &settings_current, machineRoms );
[machineRoms release];
+ fuse_joystick_end();
+ fuse_joystick_init();
+
fuse_emulation_unpause();
}
Modified: trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
===================================================================
--- trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2006-11-26 08:44:30 UTC (rev 239)
+++ trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2006-11-26 11:24:42 UTC (rev 240)
@@ -11,32 +11,32 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>1528</integer>
+ <integer>1532</integer>
</dict>
<key>NSAccessibilityConnectors</key>
<dict>
<key>CF$UID</key>
- <integer>1525</integer>
+ <integer>1529</integer>
</dict>
<key>NSAccessibilityOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1526</integer>
+ <integer>1530</integer>
</dict>
<key>NSAccessibilityOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1527</integer>
+ <integer>1531</integer>
</dict>
<key>NSClassesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1227</integer>
+ <integer>1231</integer>
</dict>
<key>NSClassesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1228</integer>
+ <integer>1232</integer>
</dict>
<key>NSConnections</key>
<dict>
@@ -56,34 +56,34 @@
<key>NSNamesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1164</integer>
+ <integer>1168</integer>
</dict>
<key>NSNamesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1165</integer>
+ <integer>1169</integer>
</dict>
<key>NSNextOid</key>
- <integer>1012</integer>
+ <integer>1014</integer>
<key>NSObjectsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1157</integer>
+ <integer>1161</integer>
</dict>
<key>NSObjectsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1163</integer>
+ <integer>1167</integer>
</dict>
<key>NSOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1229</integer>
+ <integer>1233</integer>
</dict>
<key>NSOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1230</integer>
+ <integer>1234</integer>
</dict>
<key>NSRoot</key>
<dict>
@@ -142,7 +142,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>73</integer>
+ <integer>75</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -164,18 +164,14 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>826</integer>
+ <integer>829</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>827</integer>
+ <integer>830</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>831</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
<integer>834</integer>
</dict>
<dict>
@@ -256,19 +252,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>899</integer>
+ <integer>894</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>906</integer>
+ <integer>902</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>908</integer>
+ <integer>909</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>910</integer>
+ <integer>911</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -276,39 +272,39 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>915</integer>
+ <integer>916</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>917</integer>
+ <integer>918</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>919</integer>
+ <integer>920</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>921</integer>
+ <integer>922</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>923</integer>
+ <integer>924</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>925</integer>
+ <integer>926</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>927</integer>
+ <integer>928</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>929</integer>
+ <integer>930</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>935</integer>
+ <integer>932</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -316,15 +312,15 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>939</integer>
+ <integer>941</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>941</integer>
+ <integer>942</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>950</integer>
+ <integer>944</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -332,23 +328,23 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>957</integer>
+ <integer>956</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>973</integer>
+ <integer>960</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>977</integer>
+ <integer>976</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>981</integer>
+ <integer>980</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>985</integer>
+ <integer>984</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -364,7 +360,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1000</integer>
+ <integer>997</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -376,43 +372,43 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1010</integer>
+ <integer>1009</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1012</integer>
+ <integer>1013</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1014</integer>
+ <integer>1015</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1016</integer>
+ <integer>1017</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1018</integer>
+ <integer>1019</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1020</integer>
+ <integer>1021</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1021</integer>
+ <integer>1023</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1022</integer>
+ <integer>1024</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1023</integer>
+ <integer>1025</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1025</integer>
+ <integer>1026</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -432,19 +428,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1044</integer>
+ <integer>1040</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1045</integer>
+ <integer>1047</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1046</integer>
+ <integer>1048</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1047</integer>
+ <integer>1049</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -452,7 +448,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1051</integer>
+ <integer>1053</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -464,7 +460,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1058</integer>
+ <integer>1060</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -472,19 +468,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1066</integer>
+ <integer>1064</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1067</integer>
+ <integer>1069</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1068</integer>
+ <integer>1070</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1069</integer>
+ <integer>1071</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -496,35 +492,35 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1076</integer>
+ <integer>1078</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1081</integer>
+ <integer>1082</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1085</integer>
+ <integer>1087</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1090</integer>
+ <integer>1092</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1095</integer>
+ <integer>1096</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1099</integer>
+ <integer>1100</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1103</integer>
+ <integer>1102</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1105</integer>
+ <integer>1103</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -536,15 +532,15 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1112</integer>
+ <integer>1113</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1116</integer>
+ <integer>1115</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1118</integer>
+ <integer>1117</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -556,11 +552,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1126</integer>
+ <integer>1125</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1128</integer>
+ <integer>1127</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -580,19 +576,23 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1142</integer>
+ <integer>1141</integer>
</dict>
<dict>
<key>CF$UID</key>
+ <integer>1143</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
<integer>1144</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1146</integer>
+ <integer>1145</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1147</integer>
+ <integer>1146</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -600,19 +600,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1149</integer>
+ <integer>1150</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1151</integer>
+ <integer>1152</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1153</integer>
+ <integer>1154</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1155</integer>
+ <integer>1158</integer>
</dict>
</array>
</dict>
@@ -673,12 +673,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>154</integer>
+ <integer>118</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>256</integer>
+ <integer>304</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -688,7 +688,7 @@
<key>NSSubviews</key>
<dict>
<key>CF$UID</key>
- <integer>159</integer>
+ <integer>207</integer>
</dict>
</dict>
<string>{{18, 103}, {105, 18}}</string>
@@ -1195,7 +1195,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>154</integer>
+ <integer>118</integer>
</dict>
<key>NSFrame</key>
<dict>
@@ -1217,7 +1217,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>73</integer>
+ <integer>75</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1253,7 +1253,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>155</integer>
+ <integer>203</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1263,7 +1263,7 @@
<key>NSSelectedTabViewItem</key>
<dict>
<key>CF$UID</key>
- <integer>725</integer>
+ <integer>536</integer>
</dict>
<key>NSSubviews</key>
<dict>
@@ -1278,7 +1278,7 @@
<key>NSTabViewItems</key>
<dict>
<key>CF$UID</key>
- <integer>156</integer>
+ <integer>204</integer>
</dict>
<key>NSTvFlags</key>
<integer>4</integer>
@@ -1287,7 +1287,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>73</integer>
+ <integer>75</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1301,12 +1301,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>154</integer>
+ <integer>118</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>153</integer>
+ <integer>202</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1328,7 +1328,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>73</integer>
+ <integer>75</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1336,213 +1336,247 @@
<key>CF$UID</key>
<integer>52</integer>
</dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>129</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>172</integer>
+ </dict>
</array>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>152</integer>
+ <integer>128</integer>
</dict>
- <key>NSBackgroundColor</key>
+ <key>NSBorderType</key>
+ <integer>3</integer>
+ <key>NSBoxType</key>
+ <integer>0</integer>
+ <key>NSContentView</key>
<dict>
<key>CF$UID</key>
- <integer>147</integer>
+ <integer>54</integer>
</dict>
- <key>NSCellBackgroundColor</key>
+ <key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>151</integer>
+ <integer>119</integer>
</dict>
- <key>NSCellClass</key>
+ <key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
- <integer>145</integer>
+ <integer>50</integer>
</dict>
- <key>NSCellSize</key>
+ <key>NSOffsets</key>
<dict>
<key>CF$UID</key>
- <integer>143</integer>
+ <integer>120</integer>
</dict>
- <key>NSCells</key>
+ <key>NSSubviews</key>
<dict>
<key>CF$UID</key>
- <integer>54</integer>
+ <integer>53</integer>
</dict>
- <key>NSEnabled</key>
- <true/>
- <key>NSFont</key>
+ <key>NSSuperview</key>
<dict>
<key>CF$UID</key>
- <integer>15</integer>
+ <integer>50</integer>
</dict>
- <key>NSFrame</key>
+ <key>NSTitleCell</key>
<dict>
<key>CF$UID</key>
- <integer>53</integer>
+ <integer>121</integer>
</dict>
- <key>NSIntercellSpacing</key>
+ <key>NSTitlePosition</key>
+ <integer>2</integer>
+ <key>NSTransparent</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>144</integer>
+ <integer>75</integer>
</dict>
- <key>NSMatrixFlags</key>
- <integer>1143472128</integer>
- <key>NSNextResponder</key>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>54</integer>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>118</integer>
</dict>
- <key>NSNumCols</key>
- <integer>1</integer>
- <key>NSNumRows</key>
- <integer>13</integer>
- <key>NSProtoCell</key>
+ <key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>146</integer>
+ <integer>117</integer>
</dict>
- <key>NSSelectedCell</key>
+ <key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
+ <integer>52</integer>
+ </dict>
+ <key>NSSubviews</key>
+ <dict>
+ <key>CF$UID</key>
<integer>55</integer>
</dict>
<key>NSSuperview</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>52</integer>
</dict>
- <key>NSvFlags</key>
- <integer>274</integer>
</dict>
- <string>{{18, 23}, {134, 258}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>73</integer>
+ <integer>75</integer>
</dict>
<key>NS.objects</key>
<array>
<dict>
<key>CF$UID</key>
- <integer>55</integer>
+ <integer>56</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>60</integer>
+ <integer>79</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>62</integer>
+ <integer>94</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>77</integer>
+ <integer>108</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>83</integer>
+ <integer>112</integer>
</dict>
- <dict>
- <key>CF$UID</key>
- <integer>85</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>87</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>95</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>103</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>111</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>119</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>127</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>135</integer>
- </dict>
</array>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
+ <integer>78</integer>
</dict>
+ <key>NSCell</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>58</integer>
+ </dict>
+ <key>NSEnabled</key>
+ <true/>
+ <key>NSFrame</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>57</integer>
+ </dict>
+ <key>NSNextResponder</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>54</integer>
+ </dict>
+ <key>NSSuperview</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>54</integer>
+ </dict>
+ <key>NSvFlags</key>
+ <integer>256</integer>
+ </dict>
+ <string>{{144, 44}, {249, 26}}</string>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>77</integer>
+ </dict>
<key>NSAlternateContents</key>
<dict>
<key>CF$UID</key>
- <integer>21</integer>
+ <integer>60</integer>
</dict>
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>57</integer>
+ <integer>59</integer>
</dict>
+ <key>NSAltersState</key>
+ <true/>
+ <key>NSArrowPosition</key>
+ <integer>1</integer>
<key>NSButtonFlags</key>
- <integer>1211912703</integer>
+ <integer>109199615</integer>
<key>NSButtonFlags2</key>
- <integer>0</integer>
+ <integer>1</integer>
<key>NSCellFlags</key>
- <integer>-2080244224</integer>
+ <integer>-2076049856</integer>
<key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
+ <integer>134218752</integer>
+ <key>NSControlView</key>
<dict>
<key>CF$UID</key>
<integer>56</integer>
</dict>
- <key>NSControlView</key>
+ <key>NSKeyEquivalent</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>61</integer>
</dict>
- <key>NSKeyEquivalent</key>
+ <key>NSMenu</key>
<dict>
<key>CF$UID</key>
- <integer>59</integer>
+ <integer>63</integer>
</dict>
+ <key>NSMenuItem</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>62</integer>
+ </dict>
<key>NSPeriodicDelay</key>
- <integer>200</integer>
+ <integer>400</integer>
<key>NSPeriodicInterval</key>
- <integer>25</integer>
+ <integer>75</integer>
+ <key>NSPreferredEdge</key>
+ <integer>3</integer>
<key>NSSupport</key>
<dict>
<key>CF$UID</key>
<integer>15</integer>
</dict>
- <key>NSTag</key>
- <integer>8</integer>
+ <key>NSUsesItemFromMenu</key>
+ <true/>
</dict>
- <string>Spectrum 16K</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>20</integer>
+ <integer>17</integer>
</dict>
- <key>NSImageName</key>
+ <key>NSName</key>
<dict>
<key>CF$UID</key>
- <integer>58</integer>
+ <integer>16</integer>
</dict>
+ <key>NSSize</key>
+ <real>13</real>
+ <key>NSfFlags</key>
+ <integer>16</integer>
</dict>
- <string>NSRadioButton</string>
<dict>
<key>$class</key>
<dict>
@@ -1556,58 +1590,241 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
+ <integer>45</integer>
</dict>
- <key>NSAlternateContents</key>
+ <key>NS.string</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>$class</key>
<dict>
<key>CF$UID</key>
+ <integer>72</integer>
+ </dict>
+ <key>NSAction</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>71</integer>
+ </dict>
+ <key>NSKeyEquiv</key>
+ <dict>
+ <key>CF$UID</key>
<integer>21</integer>
</dict>
- <key>NSAlternateImage</key>
+ <key>NSKeyEquivModMask</key>
+ <integer>1048576</integer>
+ <key>NSMenu</key>
<dict>
<key>CF$UID</key>
- <integer>57</integer>
+ <integer>63</integer>
</dict>
- <key>NSButtonFlags</key>
- <integer>1211912703</integer>
- <key>NSButtonFlags2</key>
- <integer>0</integer>
- <key>NSCellFlags</key>
- <integer>67239424</integer>
- <key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
+ <key>NSMixedImage</key>
<dict>
<key>CF$UID</key>
- <integer>61</integer>
+ <integer>69</integer>
</dict>
- <key>NSControlView</key>
+ <key>NSMnemonicLoc</key>
+ <integer>2147483647</integer>
+ <key>NSOnImage</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>65</integer>
</dict>
- <key>NSKeyEquivalent</key>
+ <key>NSState</key>
+ <integer>1</integer>
+ <key>NSTarget</key>
<dict>
<key>CF$UID</key>
- <integer>59</integer>
+ <integer>58</integer>
</dict>
- <key>NSPeriodicDelay</key>
- <integer>200</integer>
- <key>NSPeriodicInterval</key>
- <integer>25</integer>
- <key>NSSupport</key>
+ <key>NSTitle</key>
<dict>
<key>CF$UID</key>
- <integer>15</integer>
+ <integer>64</integer>
</dict>
</dict>
- <string>Spectrum 48K</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
+ <integer>76</integer>
</dict>
+ <key>NSMenuItems</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>74</integer>
+ </dict>
+ <key>NSTitle</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>73</integer>
+ </dict>
+ </dict>
+ <string>Item1</string>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>68</integer>
+ </dict>
+ <key>NSClassName</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>66</integer>
+ </dict>
+ <key>NSResourceName</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>67</integer>
+ </dict>
+ </dict>
+ <string>NSImage</string>
+ <string>NSMenuCheckmark</string>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSCustomResource</string>
+ <string>%NSCustomResource</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSCustomResource</string>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>68</integer>
+ </dict>
+ <key>NSClassName</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>66</integer>
+ </dict>
+ <key>NSResourceName</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>70</integer>
+ </dict>
+ </dict>
+ <string>NSMenuMixedState</string>
+ <string>_popUpItemAction:</string>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSMenuItem</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSMenuItem</string>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>45</integer>
+ </dict>
+ <key>NS.string</key>
+ <string>OtherViews</string>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>75</integer>
+ </dict>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>62</integer>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSMutableArray</string>
+ <string>NSArray</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSMutableArray</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSMenu</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSMenu</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSPopUpButtonCell</string>
+ <string>NSMenuItemCell</string>
+ <string>NSButtonCell</string>
+ <string>%NSButtonCell</string>
+ <string>NSActionCell</string>
+ <string>NSCell</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSPopUpButtonCell</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSPopUpButton</string>
+ <string>NSButton</string>
+ <string>NSControl</string>
+ <string>NSView</string>
+ <string>NSResponder</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSPopUpButton</string>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>78</integer>
+ </dict>
+ <key>NSCell</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>81</integer>
+ </dict>
+ <key>NSEnabled</key>
+ <true/>
+ <key>NSFrame</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>80</integer>
+ </dict>
+ <key>NSNextResponder</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>54</integer>
+ </dict>
+ <key>NSSuperview</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>54</integer>
+ </dict>
+ <key>NSvFlags</key>
+ <integer>256</integer>
+ </dict>
+ <string>{{144, 12}, {125, 26}}</string>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>77</integer>
+ </dict>
<key>NSAlternateContents</key>
<dict>
<key>CF$UID</key>
@@ -1616,302 +1833,541 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>57</integer>
+ <integer>59</integer>
</dict>
+ <key>NSAltersState</key>
+ <true/>
+ <key>NSArrowPosition</key>
+ <integer>1</integer>
<key>NSButtonFlags</key>
- <integer>1211912703</integer>
+ <integer>109199615</integer>
<key>NSButtonFlags2</key>
- <integer>0</integer>
+ <integer>1</integer>
<key>NSCellFlags</key>
- <integer>67239424</integer>
+ <integer>-2076049856</integer>
<key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
+ <integer>134218752</integer>
+ <key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>63</integer>
+ <integer>79</integer>
</dict>
- <key>NSControlView</key>
+ <key>NSKeyEquivalent</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>82</integer>
</dict>
- <key>NSKeyEquivalent</key>
+ <key>NSMenu</key>
<dict>
<key>CF$UID</key>
- <integer>21</integer>
+ <integer>84</integer>
</dict>
- <key>NSNormalImage</key>
+ <key>NSMenuItem</key>
<dict>
<key>CF$UID</key>
- <integer>64</integer>
+ <integer>83</integer>
</dict>
<key>NSPeriodicDelay</key>
<integer>400</integer>
<key>NSPeriodicInterval</key>
<integer>75</integer>
+ <key>NSPreferredEdge</key>
+ <integer>3</integer>
<key>NSSupport</key>
<dict>
<key>CF$UID</key>
<integer>15</integer>
</dict>
- <key>NSTag</key>
- <integer>2</integer>
+ <key>NSUsesItemFromMenu</key>
+ <true/>
</dict>
- <string>Spectrum 128K</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>76</integer>
+ <integer>45</integer>
</dict>
- <key>NSColor</key>
+ <key>NS.string</key>
+ <string></string>
+ </dict>
+ <dict>
+ <key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>74</integer>
+ <integer>72</integer>
</dict>
- <key>NSImageFlags</key>
- <integer>549453824</integer>
- <key>NSReps</key>
+ <key>NSAction</key>
<dict>
<key>CF$UID</key>
- <integer>66</integer>
+ <integer>85</integer>
</dict>
- <key>NSSize</key>
+ <key>NSKeyEquiv</key>
<dict>
<key>CF$UID</key>
+ <integer>21</integer>
+ </dict>
+ <key>NSKeyEquivModMask</key>
+ <integer>1048576</integer>
+ <key>NSMenu</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>84</integer>
+ </dict>
+ <key>NSMixedImage</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>69</integer>
+ </dict>
+ <key>NSMnemonicLoc</key>
+ <integer>2147483647</integer>
+ <key>NSOnImage</key>
+ <dict>
+ <key>CF$UID</key>
<integer>65</integer>
</dict>
+ <key>NSState</key>
+ <integer>1</integer>
+ <key>NSTarget</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>81</integer>
+ </dict>
+ <key>NSTitle</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>64</integer>
+ </dict>
</dict>
- <string>{18, 18}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>73</integer>
+ <integer>76</integer>
</dict>
- <key>NS.objects</key>
- <array>
- <dict>
- <key>CF$UID</key>
- <integer>67</integer>
- </dict>
- </array>
+ <key>NSMenuItems</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>87</integer>
+ </dict>
+ <key>NSTitle</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>86</integer>
+ </dict>
</dict>
+ <string>_popUpItemAction:</string>
<dict>
<key>$class</key>
<dict>...
[truncated message content] |
|
From: <fr...@us...> - 2006-12-17 13:51:09
|
Revision: 251
http://svn.sourceforge.net/fuse-for-macosx/?rev=251&view=rev
Author: fredm
Date: 2006-12-17 05:51:06 -0800 (Sun, 17 Dec 2006)
Log Message:
-----------
Merge up to fuse-20061217.
Modified Paths:
--------------
trunk/fuse/debugger/breakpoint.c
trunk/fuse/hacking/ChangeLog
trunk/fuse/machine.c
trunk/fuse/man/fuse.1
trunk/fuse/ui/xlib/xdisplay.c
trunk/fuse/widget/widget.c
Modified: trunk/fuse/debugger/breakpoint.c
===================================================================
--- trunk/fuse/debugger/breakpoint.c 2006-12-17 13:31:05 UTC (rev 250)
+++ trunk/fuse/debugger/breakpoint.c 2006-12-17 13:51:06 UTC (rev 251)
@@ -1,7 +1,7 @@
/* breakpoint.c: a debugger breakpoint
Copyright (c) 2002-2004 Philip Kendall
- $Id: breakpoint.c,v 1.7 2004/06/16 14:46:34 pak21 Exp $
+ $Id: breakpoint.c,v 1.8 2006/12/15 20:50:47 pak21 Exp $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -440,11 +440,11 @@
found++;
+ free( ptr->data );
+
debugger_breakpoints = g_slist_remove( debugger_breakpoints, ptr->data );
if( debugger_mode == DEBUGGER_MODE_ACTIVE && !debugger_breakpoints )
debugger_mode = DEBUGGER_MODE_INACTIVE;
-
- free( ptr->data );
}
if( !found ) {
Modified: trunk/fuse/hacking/ChangeLog
===================================================================
--- trunk/fuse/hacking/ChangeLog 2006-12-17 13:31:05 UTC (rev 250)
+++ trunk/fuse/hacking/ChangeLog 2006-12-17 13:51:06 UTC (rev 251)
@@ -1469,3 +1469,15 @@
specplus3e.c,tc2048.c,tc2068.c,ts2068.c},profile.c,settings-header.pl,
settings.dat,settings.pl,widget/roms.c: fallback to loading default ROM
if custom ROM is not found (Fred).
+20061126 ui/sdl/sdljoystick.c: fix joystick support in SDL UI (Fred).
+20061126 man/fuse.1: add a smidgeon of content about Interface I (Fred).
+20061202 widget/widget.c: guard against the double free on the options dialog
+ (Fred).
+20061202 widget/widget.c: use checkbox instead of "On/Off" text in widget UIs
+ (patch #1309374) (Gergely Szasz).
+20061202 man/fuse.1: add some more TS2068 stuff (Fred).
+20061213 ui/xlib/xdisplay.c: fix compilation.
+20061215 debugger/breakpoint.c: fix segfault on "clear" command (thanks,
+ Stuart Brady)
+20061217 machine.c: load rom into correct memory bank (fixes If1 ROM paging)
+ (Fred).
Modified: trunk/fuse/machine.c
===================================================================
--- trunk/fuse/machine.c 2006-12-17 13:31:05 UTC (rev 250)
+++ trunk/fuse/machine.c 2006-12-17 13:51:06 UTC (rev 251)
@@ -1,7 +1,7 @@
/* machine.c: Routines for handling the various machine types
Copyright (c) 1999-2005 Philip Kendall
- $Id: machine.c,v 1.117 2006/10/21 05:28:33 fredm Exp $
+ $Id: machine.c,v 1.118 2006/12/17 12:47:01 fredm Exp $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -360,10 +360,10 @@
const char *filename, const char *fallback,
size_t expected_length )
{
- int retval = machine_load_rom_bank_internal( memory_map_rom, which, page_num,
+ int retval = machine_load_rom_bank_internal( bank_map, which, page_num,
filename, expected_length );
if( retval && fallback )
- retval = machine_load_rom_bank_internal( memory_map_rom, which, page_num,
+ retval = machine_load_rom_bank_internal( bank_map, which, page_num,
fallback, expected_length );
return retval;
}
Modified: trunk/fuse/man/fuse.1
===================================================================
--- trunk/fuse/man/fuse.1 2006-12-17 13:31:05 UTC (rev 250)
+++ trunk/fuse/man/fuse.1 2006-12-17 13:51:06 UTC (rev 251)
@@ -58,7 +58,8 @@
the old DAT-file variant is not. DSK disk images are supported when
emulating a +3, TRD and SCL disk images are supported when emulating
a Pentagon or Scorpion and DCK cartridge images are supported when
-emulating a TC2068. Interface II ROM cartridges are also supported.
+emulating a Timex 2068 variant. Interface II ROM cartridges are also
+supported.
.PP
Finally, there is also support for reading and writing the RZX input recording
format.
@@ -181,8 +182,8 @@
.PP
.I "\-\-dock file"
.RS
-Insert the specified file into the emulated Timex TC2068 dock; also select
-the TC2068 on startup if available.
+Insert the specified file into the emulated Timex 2068 variant dock;
+also select the TC2068 on startup if available.
.RE
.PP
.I "\-\-embed\-snapshot"
@@ -269,6 +270,13 @@
Insert the specified file into the emulated Interface II.
.RE
.PP
+.I \-\-interface1
+.RS
+Emulate a Sinclair Interface I. Same as the Peripherals Options dialog's
+.I "Interface I"
+option.
+.RE
+.PP
.I \-\-interface2
.RS
Emulate a Sinclair Interface II. Same as the Peripherals Options dialog's
@@ -345,8 +353,10 @@
.IR plus3 ,
.IR 2048 ,
.IR 2068 ,
+.IR ts2068 ,
+.IR pentagon ,
and
-.IR pentagon .
+.IR scorpion .
.RE
.PP
.I "\-p file"
@@ -1246,6 +1256,15 @@
it successfully opens one. The first of these is preferred since (at least on
Linux, with a 2.6-series kernel) any type of mouse can be used and any
connected mouse may be used.
+.PP
+.I "Interface I"
+.RS
+If this option is selected, Fuse will emulate the simple Sinclair
+Interface I, and allow microdrive cartriges to be
+connected and disconnected via the
+.I "Media, Interface I, Microdrive"
+menus. It also enables support for the Interface I RS-232 and Sinclair
+network interfaces.
.RE
.PP
.I "Interface II"
@@ -1458,8 +1477,8 @@
.br
.I Timex 2
.RS
-The `left' and `right' joysticks as attached to the TC2068's built-in
-joystick interface.
+The `left' and `right' joysticks as attached to the Timex 2068 variant's
+built-in joystick interface.
.RE
.RE
.PP
@@ -1524,9 +1543,11 @@
.RS
Choose a type of Spectrum to emulate. An brief overview of the
Sinclair, Amstrad and Timex can be found at
-.IR "http://www.nvg.ntnu.no/sinclair/computers/zxspectrum/zxspectrum.htm" ,
+.IR "http://www.nvg.ntnu.no/sinclair/computers/zxspectrum/zxspectrum.htm"
while more technical information can be found at
-.IR "http://www.worldofspectrum.org/faq/reference/reference.htm" .
+.IR "http://www.worldofspectrum.org/faq/reference/reference.htm" ,
+and
+.IR "http://www.worldofspectrum.org/faq/reference/tmxreference.htm" .
.PP
.I "Spectrum 16K"
.br
@@ -1570,10 +1591,12 @@
.br
.I "Timex TC2068"
.RS
-The variants of the Spectrum as released by Timex in Portugal. See
-.I "http://www.worldofspectrum.org/faq/reference/tmxreference.htm"
-for more details.
+The variants of the Spectrum as released by Timex in Portugal.
.RE
+.I "Timex TS2048"
+.RS
+The variant of the Spectrum released by Timex in North America.
+.RE
.PP
.I "Pentagon 128K"
.br
@@ -1792,14 +1815,14 @@
.PP
.I "Media, Cartridge, Timex Dock, Insert..."
.RS
-Insert a cartridge into the TC2068's dock. This will cause the
-emulated machine to be changed to the TC2068 (if it wasn't already)
-and reset.
+Insert a cartridge into the Timex 2068 dock. This will cause the
+emulated machine to be changed to the TC2068 (if it wasn't already
+a 2068 variant) and reset.
.RE
.PP
.I "Media, Cartridge, Timex Dock, Eject"
.RS
-Remove the cartridge from the TC2068's dock. This will cause the
+Remove the cartridge from the Timex 2068 dock. This will cause the
emulated machine to be reset.
.RE
.PP
@@ -2090,7 +2113,7 @@
printers, three of which are supported by Fuse. Different printers are
made available for the different models:
.TP
-.IR 16 ", " 48 ", " TC2048 ", " TC2068
+.IR 16 ", " 48 ", " TC2048 ", " TC2068 ", " TS2068
ZX Printer
.TP
.IR 128 / +2 / Pentagon
@@ -2709,9 +2732,9 @@
.PP
Alexander Yurchenko wrote the OpenBSD/Solaris-specific sound code.
.PP
-Fredrick Meunier wrote the TC2048, Pentagon and Spectrum SE support as
-well as maintaining the OS X port and importing the graphics filter
-code.
+Fredrick Meunier wrote the TC2048, TS2068, Pentagon and Spectrum SE
+support as well as maintaining the OS X port and importing the
+graphics filter code.
.PP
Ludvig Strigeus and The ScummVM project wrote the original graphics
filter code.
Modified: trunk/fuse/ui/xlib/xdisplay.c
===================================================================
--- trunk/fuse/ui/xlib/xdisplay.c 2006-12-17 13:31:05 UTC (rev 250)
+++ trunk/fuse/ui/xlib/xdisplay.c 2006-12-17 13:51:06 UTC (rev 251)
@@ -1,7 +1,7 @@
/* xdisplay.c: Routines for dealing with drawing the Speccy's screen via Xlib
Copyright (c) 2000-2005 Philip Kendall, Darren Salt
- $Id: xdisplay.c,v 1.53 2006/09/17 00:56:20 fredm Exp $
+ $Id: xdisplay.c,v 1.54 2006/12/13 22:01:04 pak21 Exp $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -452,7 +452,7 @@
scaled_x = scale * x; scaled_y = scale * y;
/* Create scaled image */
- scaler_proc16( (libspectrum_byte*)&xdisplay_image[y][x], display_pitch,
+ scaler_proc16( (libspectrum_byte*)&xdisplay_image[y][x], xdisplay_pitch,
(libspectrum_byte*)&scaled_image[scaled_y][scaled_x],
scaled_pitch, w, h );
Modified: trunk/fuse/widget/widget.c
===================================================================
--- trunk/fuse/widget/widget.c 2006-12-17 13:31:05 UTC (rev 250)
+++ trunk/fuse/widget/widget.c 2006-12-17 13:51:06 UTC (rev 251)
@@ -1,7 +1,7 @@
/* widget.c: Simple dialog boxes for all user interfaces.
Copyright (c) 2001-2005 Matan Ziv-Av, Philip Kendall, Russell Marks
- $Id: widget.c,v 1.111 2006/09/17 00:56:20 fredm Exp $
+ $Id: widget.c,v 1.113 2006/12/02 03:24:17 fredm Exp $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -315,6 +315,28 @@
widget_putpixel( x + mx, y + my, col );
}
+void widget_print_checkbox( int x, int y, int value )
+{
+ static const int CHECK_COLOR=7;
+ int z;
+
+ y += 2;
+ x += 6;
+ widget_rectangle( x, y - 1, 3, 3, WIDGET_COLOUR_BACKGROUND );
+ widget_rectangle( x - 5, y, 5, 5, 0 );
+ widget_rectangle( x - 4, y + 1, 3, 3, WIDGET_COLOUR_BACKGROUND );
+ if( value ) { /* checked */
+ for( z = -1; z < 3; z++ ) {
+ widget_putpixel( x - z, y + z, CHECK_COLOR );
+ widget_putpixel( x - z + 1, y + z, CHECK_COLOR );
+ }
+ widget_putpixel( x - z + 1, y + z, CHECK_COLOR );
+ widget_putpixel( x - z, y + z - 1, CHECK_COLOR );
+ widget_putpixel( x - z, y + z - 2, CHECK_COLOR );
+ widget_putpixel( x - z - 1, y + z - 2, CHECK_COLOR );
+ }
+}
+
/* Arrows for any scrollable widget */
void
widget_up_arrow( int x, int y, int colour )
@@ -566,7 +588,10 @@
int widget_options_print_value( int number, int value )
{
- return widget_options_print_data( number, value ? "On" : "Off" );
+ widget_rectangle( 233, number * 8 + 28, 7, 8, WIDGET_COLOUR_BACKGROUND );
+ widget_print_checkbox( 233, number * 8 + 28, value );
+ widget_display_rasters( number * 8 + 28, 8 );
+ return 0;
}
static int widget_options_print_data( int number, const char *string )
@@ -599,6 +624,7 @@
if( finished == WIDGET_FINISHED_OK ) {
error = settings_copy( &settings_current, &widget_options_settings );
settings_free( &widget_options_settings );
+ memset( &widget_options_settings, 0, sizeof( settings_info ) );
if( error ) return error;
/* Bring the peripherals list into sync with the new options */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-01-09 21:02:26
|
Revision: 288
http://svn.sourceforge.net/fuse-for-macosx/?rev=288&view=rev
Author: fredm
Date: 2007-01-09 13:02:14 -0800 (Tue, 09 Jan 2007)
Log Message:
-----------
Fix distorted AY sound on snapshot load.
Modified Paths:
--------------
trunk/fuse/fuse.cpp
trunk/fuse/fuse.h
trunk/fuse/machine.c
trunk/fuse/sound.c
trunk/fuse/sound.h
trunk/fuse/tape.c
Modified: trunk/fuse/fuse.cpp
===================================================================
--- trunk/fuse/fuse.cpp 2007-01-09 21:00:00 UTC (rev 287)
+++ trunk/fuse/fuse.cpp 2007-01-09 21:02:14 UTC (rev 288)
@@ -94,12 +94,6 @@
/* Is Spectrum emulation currently paused, and if so, how many times? */
int fuse_emulation_paused;
-/* Are we going to try and use the sound card; this differs from
- sound.c:sound_enabled in that this gives a desire, whereas sound_enabled
- is an actual state; when the Spectrum emulation is not running, this
- stores whether we try to reenable the sound card afterwards */
-int fuse_sound_in_use;
-
/* The creator information we'll store in file formats that support this */
libspectrum_creator *fuse_creator;
@@ -245,16 +239,6 @@
z80_init();
- fuse_sound_in_use = 0;
- if( settings_current.sound && settings_current.emulation_speed == 100 )
- sound_init( settings_current.sound_device );
-
- if( sound_enabled ) {
- fuse_sound_in_use = 1;
- } else {
- settings_current.sound = 0;
- }
-
if( timer_init() ) return 1;
error = timer_estimate_reset(); if( error ) return error;
@@ -431,43 +415,6 @@
"--version Print version number and exit.\n\n" );
}
-/* Start sound output */
-void
-fuse_sound_enable(void)
-{
- /* No sound if fastloading in progress */
- if( settings_current.fastload && tape_is_playing() ) return;
-
- /* If we now want sound, enable it */
- if( settings_current.sound && settings_current.emulation_speed == 100 ) {
-
- sound_init( settings_current.sound_device );
- sound_ay_reset();
-
- /* If the sound code couldn't re-initialise, fall back to the
- signal based routines */
- if( !sound_enabled ) {
- /* Increment pause_count, report, decrement pause_count
- * (i.e. avoid the effects of fuse_emulation_{,un}pause).
- * Otherwise, we may be recursively reporting this error. */
- fuse_emulation_paused++;
- fuse_emulation_paused--;
- settings_current.sound = fuse_sound_in_use = 0;
-
- }
- fuse_sound_in_use = sound_enabled;
- } else if( fuse_sound_in_use ) {
- fuse_sound_in_use = 0;
- }
-}
-
-/* Stop sound output */
-void
-fuse_sound_disable(void)
-{
- if( sound_enabled ) sound_end();
-}
-
/* Stop all activities associated with actual Spectrum emulation */
int fuse_emulation_pause(void)
{
@@ -485,7 +432,7 @@
/* If we had sound enabled (and hence doing the speed regulation),
turn it off */
- if( sound_enabled ) sound_end();
+ sound_pause();
return 0;
}
@@ -499,11 +446,12 @@
decrement the pause count */
if( --fuse_emulation_paused ) return 0;
+ /* If we now want sound, enable it */
+ sound_unpause();
+
/* Restart speed estimation with no information */
error = timer_estimate_reset(); if( error ) return error;
- fuse_sound_enable();
-
return 0;
}
Modified: trunk/fuse/fuse.h
===================================================================
--- trunk/fuse/fuse.h 2007-01-09 21:00:00 UTC (rev 287)
+++ trunk/fuse/fuse.h 2007-01-09 21:02:14 UTC (rev 288)
@@ -43,13 +43,8 @@
int fuse_emulation_pause(void); /* Stop and start emulation */
int fuse_emulation_unpause(void);
-void fuse_sound_enable(); /* Start sound output */
-void fuse_sound_disable(); /* Stop sound output */
-
void fuse_abort( void ) GCC_NORETURN; /* Emergency shutdown */
-extern int fuse_sound_in_use; /* Are we trying to produce sound? */
-
extern libspectrum_creator *fuse_creator; /* Creator information for file
formats which support this */
Modified: trunk/fuse/machine.c
===================================================================
--- trunk/fuse/machine.c 2007-01-09 21:00:00 UTC (rev 287)
+++ trunk/fuse/machine.c 2007-01-09 21:02:14 UTC (rev 288)
@@ -256,6 +256,8 @@
if( event_add( machine->timings.tstates_per_frame, EVENT_TYPE_FRAME ) )
return 1;
+ sound_end();
+
if( uidisplay_end() ) return 1;
capabilities = libspectrum_machine_capabilities( machine->machine );
@@ -271,6 +273,8 @@
if( uidisplay_init( width, height ) ) return 1;
+ sound_init( settings_current.sound_device );
+
/* Mark RAM as not-present/read-only. The machine's reset function will
* mark available pages as present/writeable.
*/
@@ -385,8 +389,6 @@
/* These things should happen on all resets */
z80_reset();
- /* sound_ay_reset() *absolutely must* be called before either
- sound_frame() or sound_ay_write() */
sound_ay_reset();
printer_zxp_reset();
Modified: trunk/fuse/sound.c
===================================================================
--- trunk/fuse/sound.c 2007-01-09 21:00:00 UTC (rev 287)
+++ trunk/fuse/sound.c 2007-01-09 21:02:14 UTC (rev 288)
@@ -44,13 +44,13 @@
#include "settings.h"
#include "sound.h"
#include "sound/lowlevel.h"
+#include "tape.h"
#include "ui/ui.h"
/* Do we have any of our sound devices available? */
/* configuration */
-int sound_enabled=0; /* Are we currently using the sound card;
- cf fuse.c:fuse_sound_in_use */
+int sound_enabled=0; /* Are we currently using the sound card */
int sound_enabled_ever=0; /* if it's *ever* been in use; see
sound_ay_write() and sound_ay_reset() */
int sound_stereo=0; /* true for stereo *output sample* (only) */
@@ -147,10 +147,6 @@
for(f=0;f<3;f++)
ay_tone_tick[f]=ay_tone_high[f]=0,ay_tone_period[f]=1;
-ay_tick_incr=(int)(65536.*
- libspectrum_timings_ay_speed(machine_current->machine)/
- settings_current.sound_freq);
-
ay_change_count=0;
}
@@ -159,20 +155,19 @@
{
static int first_init=1;
int f,ret;
-int sound_max_framesiz;
+float hz;
/* if we don't have any sound I/O code compiled in, don't do sound */
#ifndef HAVE_SOUND
return;
#endif
-if(sound_enabled)
- {
- ui_error(UI_ERROR_ERROR,
- "sound_init() called with sound_enabled set, can't happen!" );
- sound_end();
+/* sound_enabled can be set here if we are in the SDL UI and have start
+ machine set, or if we have a snapshot set at the command line on
+ program start */
+if( !(!sound_enabled && settings_current.sound &&
+ settings_current.emulation_speed == 100) )
return;
- }
sound_stereo_ay=settings_current.stereo_ay;
sound_stereo_beeper=settings_current.stereo_beeper;
@@ -199,11 +194,15 @@
sound_enabled=sound_enabled_ever=1;
sound_channels=(sound_stereo?2:1);
-sound_max_framesiz=settings_current.sound_freq/50;
+hz = (float)machine_current->timings.processor_speed /
+ machine_current->timings.tstates_per_frame;
+
+sound_framesiz = settings_current.sound_freq / hz;
+
if((sound_buf=malloc(sizeof(libspectrum_signed_word)*
- sound_max_framesiz*sound_channels))==NULL ||
- (tape_buf=malloc(sizeof(libspectrum_signed_word)*sound_max_framesiz))==NULL)
+ sound_framesiz*sound_channels))==NULL ||
+ (tape_buf=malloc(sizeof(libspectrum_signed_word)*sound_framesiz))==NULL)
{
if(sound_buf)
{
@@ -258,10 +257,39 @@
rchan2pos=pos,rchan3pos=0;
}
-fuse_sound_in_use=1;
+ay_tick_incr=(int)(65536.*
+ libspectrum_timings_ay_speed(machine_current->machine)/
+ settings_current.sound_freq);
}
+void sound_pause(void)
+{
+if(sound_enabled) sound_end();
+}
+
+
+void sound_unpause(void)
+{
+/* No sound if fastloading in progress */
+if( settings_current.fastload && tape_is_playing() ) return;
+
+sound_init( settings_current.sound_device );
+
+/* If the sound code couldn't re-initialise, fall back to the
+ signal based routines */
+if(!sound_enabled)
+ {
+ /* Increment pause_count, report, decrement pause_count
+ * (i.e. avoid the effects of fuse_emulation_{,un}pause).
+ * Otherwise, we may be recursively reporting this error. */
+ fuse_emulation_paused++;
+ fuse_emulation_paused--;
+ settings_current.sound = 0;
+ }
+}
+
+
void sound_end(void)
{
if(sound_enabled)
@@ -605,11 +633,6 @@
*/
void sound_ay_write(int reg,int val,libspectrum_dword now)
{
-/* have to allow it across pauses for snap-loading to work,
- * so see if sound has *ever* been enabled.
- */
-if(!sound_enabled_ever) return;
-
if(ay_change_count<AY_CHANGE_MAX)
{
ay_change[ay_change_count].tstates=now;
@@ -626,11 +649,7 @@
void sound_ay_reset(void)
{
int f;
-float hz = 50;
-/* as above... */
-if(!sound_enabled_ever) return;
-
/* recalculate timings based on new machines ay clock */
sound_ay_init();
@@ -640,11 +659,6 @@
for(f=0;f<3;f++)
ay_tone_high[f]=0;
ay_tone_subcycles=ay_env_subcycles=0;
-
-hz = (float)machine_current->timings.processor_speed /
- machine_current->timings.tstates_per_frame;
-
-sound_framesiz = settings_current.sound_freq / hz;
}
Modified: trunk/fuse/sound.h
===================================================================
--- trunk/fuse/sound.h 2007-01-09 21:00:00 UTC (rev 287)
+++ trunk/fuse/sound.h 2007-01-09 21:02:14 UTC (rev 288)
@@ -30,6 +30,8 @@
#include <libspectrum.h>
void sound_init( const char *device );
+void sound_pause( void );
+void sound_unpause( void );
void sound_end( void );
void sound_ay_write( int reg, int val, libspectrum_dword now );
void sound_ay_reset( void );
Modified: trunk/fuse/tape.c
===================================================================
--- trunk/fuse/tape.c 2007-01-09 21:00:00 UTC (rev 287)
+++ trunk/fuse/tape.c 2007-01-09 21:02:14 UTC (rev 288)
@@ -600,7 +600,7 @@
sound_beeper( 1, tape_microphone );
/* If we're fastloading, turn sound off */
- if( settings_current.fastload ) fuse_sound_disable();
+ if( settings_current.fastload ) sound_pause();
loader_tape_play();
@@ -639,7 +639,7 @@
/* If we were fastloading, sound was off, so turn it back on, and
reset the speed counter */
if( settings_current.fastload ) {
- fuse_sound_enable();
+ sound_unpause();
timer_estimate_reset();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-06-11 01:28:56
|
Revision: 377
http://svn.sourceforge.net/fuse-for-macosx/?rev=377&view=rev
Author: fredm
Date: 2007-06-10 18:28:54 -0700 (Sun, 10 Jun 2007)
Log Message:
-----------
Update some version numbers and update TODO
Modified Paths:
--------------
trunk/fuse/TODO
trunk/fuse/fusepb/English.lproj/InfoPlist.strings
trunk/fuse/fusepb/Info-Fuse.plist
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2007-06-10 15:44:08 UTC (rev 376)
+++ trunk/fuse/TODO 2007-06-11 01:28:54 UTC (rev 377)
@@ -26,20 +26,20 @@
X Restore joystick processing (re-use SDL joystick input files from SDL)
X Sort out remaining FuseController calls into emulator object/thread
X Restore application level volume adjustment
-* Use double buffered texture (in cocoadisplay have screen 0 and 1 for use of
+X Use double buffered texture (in cocoadisplay have screen 0 and 1 for use of
DisplayOpenGLView and flip between them on frame end), should also have a
mutex taken while DisplayOpenGLView changes and cocoadisplay flips to
prevent thread sync problems
+* Add .WAV loader using audiofile
* Quit keyhandling when command key is pressed
* Use sheets rather than modal dialogs (for Save As)
* Put in latest hq[23]x filters (HQ2x_555 from ScummVM should do the trick)
* Make border display optional
* Figure out why minimise icon image is partially blanked when minimise starts
-* Allow Cmd-w to close as many operations as possible
+* Allow Cmd-w to close as many windows as possible
* Make activity icons transparent
* Seperate out sound buffer interleaving code to allow for the use of hardware etc.
sound mixing
-* Add .WAV loader using audiofile
* Shouldn't be able to load Interface II carts in Pentagon
* Add volume option to standard fuse + a sound API method to set volume (or a
parameter to sound_lowlevel_init)
Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings
===================================================================
(Binary files differ)
Modified: trunk/fuse/fusepb/Info-Fuse.plist
===================================================================
--- trunk/fuse/fusepb/Info-Fuse.plist 2007-06-10 15:44:08 UTC (rev 376)
+++ trunk/fuse/fusepb/Info-Fuse.plist 2007-06-11 01:28:54 UTC (rev 377)
@@ -361,11 +361,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>0.8.0.1</string>
+ <string>20070611</string>
<key>CFBundleSignature</key>
<string>FUSE</string>
<key>CFBundleVersion</key>
- <string>0.8.0.1</string>
+ <string>20070611</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-06-17 01:28:17
|
Revision: 383
http://svn.sourceforge.net/fuse-for-macosx/?rev=383&view=rev
Author: fredm
Date: 2007-06-16 18:28:16 -0700 (Sat, 16 Jun 2007)
Log Message:
-----------
Add OS X support for HiFi beeper.
Modified Paths:
--------------
trunk/fuse/fusepb/nibs/Preferences.nib/info.nib
trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
trunk/fuse/sound/coreaudiosound.c
trunk/fuse/sound.c
Modified: trunk/fuse/fusepb/nibs/Preferences.nib/info.nib
===================================================================
--- trunk/fuse/fusepb/nibs/Preferences.nib/info.nib 2007-06-16 13:20:50 UTC (rev 382)
+++ trunk/fuse/fusepb/nibs/Preferences.nib/info.nib 2007-06-17 01:28:16 UTC (rev 383)
@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
- <string>112 18 356 240 0 0 1440 878 </string>
+ <string>69 14 356 240 0 0 1024 746 </string>
<key>IBFramework Version</key>
<string>446.1</string>
<key>IBGroupedObjects</key>
@@ -32,7 +32,7 @@
<integer>5</integer>
</array>
<key>IBSystem Version</key>
- <string>8P2137</string>
+ <string>8P135</string>
<key>IBUsesTextArchiving</key>
<true/>
</dict>
Modified: trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
===================================================================
--- trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2007-06-16 13:20:50 UTC (rev 382)
+++ trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2007-06-17 01:28:16 UTC (rev 383)
@@ -11,32 +11,32 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>1566</integer>
+ <integer>1564</integer>
</dict>
<key>NSAccessibilityConnectors</key>
<dict>
<key>CF$UID</key>
- <integer>1563</integer>
+ <integer>1561</integer>
</dict>
<key>NSAccessibilityOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1564</integer>
+ <integer>1562</integer>
</dict>
<key>NSAccessibilityOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1565</integer>
+ <integer>1563</integer>
</dict>
<key>NSClassesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1260</integer>
+ <integer>1256</integer>
</dict>
<key>NSClassesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1261</integer>
+ <integer>1257</integer>
</dict>
<key>NSConnections</key>
<dict>
@@ -56,34 +56,34 @@
<key>NSNamesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1195</integer>
+ <integer>1190</integer>
</dict>
<key>NSNamesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1196</integer>
+ <integer>1191</integer>
</dict>
<key>NSNextOid</key>
- <integer>1106</integer>
+ <integer>1109</integer>
<key>NSObjectsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1188</integer>
+ <integer>1183</integer>
</dict>
<key>NSObjectsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1194</integer>
+ <integer>1189</integer>
</dict>
<key>NSOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1262</integer>
+ <integer>1258</integer>
</dict>
<key>NSOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1263</integer>
+ <integer>1259</integer>
</dict>
<key>NSRoot</key>
<dict>
@@ -142,7 +142,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>90</integer>
+ <integer>94</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -160,22 +160,18 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>827</integer>
+ <integer>830</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>836</integer>
+ <integer>839</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>837</integer>
+ <integer>840</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>841</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
<integer>844</integer>
</dict>
<dict>
@@ -256,11 +252,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>910</integer>
+ <integer>904</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>917</integer>
+ <integer>913</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -268,15 +264,15 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>921</integer>
+ <integer>923</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>923</integer>
+ <integer>924</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>932</integer>
+ <integer>926</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -284,23 +280,23 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>939</integer>
+ <integer>938</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>955</integer>
+ <integer>942</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>959</integer>
+ <integer>958</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>963</integer>
+ <integer>962</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>968</integer>
+ <integer>966</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -316,7 +312,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>983</integer>
+ <integer>980</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -328,43 +324,43 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>993</integer>
+ <integer>992</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>995</integer>
+ <integer>996</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>997</integer>
+ <integer>998</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>999</integer>
+ <integer>1000</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1001</integer>
+ <integer>1002</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1003</integer>
+ <integer>1004</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1004</integer>
+ <integer>1006</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1005</integer>
+ <integer>1007</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1006</integer>
+ <integer>1008</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1008</integer>
+ <integer>1009</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -384,19 +380,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1027</integer>
+ <integer>1023</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1028</integer>
+ <integer>1030</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1029</integer>
+ <integer>1031</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1030</integer>
+ <integer>1032</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -404,7 +400,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1034</integer>
+ <integer>1036</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -416,7 +412,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1041</integer>
+ <integer>1043</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -424,55 +420,55 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1049</integer>
+ <integer>1047</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1050</integer>
+ <integer>1052</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1051</integer>
+ <integer>1053</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1052</integer>
+ <integer>1054</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1053</integer>
+ <integer>1055</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1058</integer>
+ <integer>1056</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1062</integer>
+ <integer>1061</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1068</integer>
+ <integer>1065</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1073</integer>
+ <integer>1071</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1077</integer>
+ <integer>1076</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1081</integer>
+ <integer>1080</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1083</integer>
+ <integer>1084</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1084</integer>
+ <integer>1086</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -484,15 +480,15 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1094</integer>
+ <integer>1093</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1096</integer>
+ <integer>1097</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1098</integer>
+ <integer>1099</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -504,11 +500,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1106</integer>
+ <integer>1107</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1108</integer>
+ <integer>1109</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -528,39 +524,39 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1122</integer>
+ <integer>1123</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1124</integer>
+ <integer>1125</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1125</integer>
+ <integer>1127</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1126</integer>
+ <integer>1128</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1127</integer>
+ <integer>1129</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1129</integer>
+ <integer>1130</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1131</integer>
+ <integer>1132</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1133</integer>
+ <integer>1134</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1135</integer>
+ <integer>1136</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -576,11 +572,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1148</integer>
+ <integer>1147</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1152</integer>
+ <integer>1150</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -588,43 +584,51 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1161</integer>
+ <integer>1156</integer>
</dict>
<dict>
<key>CF$UID</key>
+ <integer>1158</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>1160</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
<integer>1163</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1166</integer>
+ <integer>1165</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1168</integer>
+ <integer>1167</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1170</integer>
+ <integer>1169</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1172</integer>
+ <integer>1171</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1174</integer>
+ <integer>1173</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1176</integer>
+ <integer>1175</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1178</integer>
+ <integer>1177</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1183</integer>
+ <integer>1179</integer>
</dict>
</array>
</dict>
@@ -685,12 +689,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>115</integer>
+ <integer>96</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>217</integer>
+ <integer>199</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -700,7 +704,7 @@
<key>NSSubviews</key>
<dict>
<key>CF$UID</key>
- <integer>120</integer>
+ <integer>101</integer>
</dict>
</dict>
<string>{{18, 103}, {105, 18}}</string>
@@ -1120,7 +1124,7 @@
<key>NSLabel</key>
<dict>
<key>CF$UID</key>
- <integer>826</integer>
+ <integer>829</integer>
</dict>
<key>NSSource</key>
<dict>
@@ -1132,22 +1136,22 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>825</integer>
+ <integer>828</integer>
</dict>
<key>NSMaxSize</key>
<dict>
<key>CF$UID</key>
- <integer>824</integer>
+ <integer>827</integer>
</dict>
<key>NSMinSize</key>
<dict>
<key>CF$UID</key>
- <integer>823</integer>
+ <integer>826</integer>
</dict>
<key>NSScreenRect</key>
<dict>
<key>CF$UID</key>
- <integer>822</integer>
+ <integer>825</integer>
</dict>
<key>NSViewClass</key>
<dict>
@@ -1181,7 +1185,7 @@
<integer>46</integer>
</dict>
</dict>
- <string>{{153, 336}, {634, 393}}</string>
+ <string>{{153, 331}, {634, 393}}</string>
<string>Preferences</string>
<string>NSPanel</string>
<dict>
@@ -1207,12 +1211,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>115</integer>
+ <integer>96</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>821</integer>
+ <integer>824</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1229,7 +1233,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>90</integer>
+ <integer>94</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1239,11 +1243,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>783</integer>
+ <integer>786</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>816</integer>
+ <integer>819</integer>
</dict>
</array>
</dict>
@@ -1251,7 +1255,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>782</integer>
+ <integer>785</integer>
</dict>
<key>NSAllowTruncatedLabels</key>
<true/>
@@ -1265,7 +1269,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>116</integer>
+ <integer>97</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1275,7 +1279,7 @@
<key>NSSelectedTabViewItem</key>
<dict>
<key>CF$UID</key>
- <integer>780</integer>
+ <integer>202</integer>
</dict>
<key>NSSubviews</key>
<dict>
@@ -1290,7 +1294,7 @@
<key>NSTabViewItems</key>
<dict>
<key>CF$UID</key>
- <integer>117</integer>
+ <integer>98</integer>
</dict>
<key>NSTvFlags</key>
<integer>4</integer>
@@ -1299,7 +1303,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>90</integer>
+ <integer>94</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1313,12 +1317,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>115</integer>
+ <integer>96</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>114</integer>
+ <integer>95</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1340,7 +1344,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>90</integer>
+ <integer>94</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1350,87 +1354,53 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>102</integer>
+ <integer>56</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>106</integer>
+ <integer>60</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>110</integer>
+ <integer>64</integer>
</dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>72</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>76</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>90</integer>
+ </dict>
</array>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>101</integer>
+ <integer>23</integer>
</dict>
- <key>NSBackgroundColor</key>
+ <key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>95</integer>
- </dict>
- <key>NSCellBackgroundColor</key>
- <dict>
- <key>CF$UID</key>
- <integer>100</integer>
- </dict>
- <key>NSCellClass</key>
- <dict>
- <key>CF$UID</key>
- <integer>93</integer>
- </dict>
- <key>NSCellSize</key>
- <dict>
- <key>CF$UID</key>
- <integer>91</integer>
- </dict>
- <key>NSCells</key>
- <dict>
- <key>CF$UID</key>
<integer>54</integer>
</dict>
<key>NSEnabled</key>
<true/>
- <key>NSFont</key>
- <dict>
- <key>CF$UID</key>
- <integer>15</integer>
- </dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
<integer>53</integer>
</dict>
- <key>NSIntercellSpacing</key>
- <dict>
- <key>CF$UID</key>
- <integer>92</integer>
- </dict>
- <key>NSMatrixFlags</key>
- <integer>1143472128</integer>
<key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
<integer>50</integer>
</dict>
- <key>NSNumCols</key>
- <integer>2</integer>
- <key>NSNumRows</key>
- <integer>8</integer>
- <key>NSProtoCell</key>
- <dict>
- <key>CF$UID</key>
- <integer>94</integer>
- </dict>
- <key>NSSelectedCell</key>
- <dict>
- <key>CF$UID</key>
- <integer>55</integer>
- </dict>
<key>NSSuperview</key>
<dict>
<key>CF$UID</key>
@@ -1439,85 +1409,11 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{13, 122}, {244, 158}}</string>
+ <string>{{18, 168}, {154, 18}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>90</integer>
- </dict>
- <key>NS.objects</key>
- <array>
- <dict>
- <key>CF$UID</key>
- <integer>55</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>59</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>61</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>63</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>66</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>68</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>70</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>72</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>74</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>76</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>78</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>80</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>82</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>84</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>86</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>88</integer>
- </dict>
- </array>
- </dict>
- <dict>
- <key>$class</key>
- <dict>
- <key>CF$UID</key>
<integer>22</integer>
</dict>
<key>NSAlternateContents</key>
@@ -1528,20 +1424,20 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>57</integer>
+ <integer>18</integer>
</dict>
<key>NSButtonFlags</key>
<integer>1211912703</integer>
<key>NSButtonFlags2</key>
- <integer>0</integer>
+ <integer>2</integer>
<key>NSCellFlags</key>
- <integer>-2080244224</integer>
+ <integer>67239424</integer>
<key>NSCellFlags2</key>
<integer>0</integer>
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>56</integer>
+ <integer>55</integer>
</dict>
<key>NSControlView</key>
<dict>
@@ -1562,75 +1458,40 @@
<key>CF$UID</key>
<integer>15</integer>
</dict>
- <key>NSTag</key>
- <integer>2</integer>
</dict>
- <string>None</string>
+ <string>AY stereo seperation</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>20</integer>
+ <integer>23</integer>
</dict>
- <key>NSImageName</key>
+ <key>NSCell</key>
<dict>
<key>CF$UID</key>
<integer>58</integer>
</dict>
- </dict>
- <string>NSRadioButton</string>
- <dict>
- <key>$class</key>
+ <key>NSEnabled</key>
+ <true/>
+ <key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
- </dict>
- <key>NSAlternateContents</key>
- <dict>
- <key>CF$UID</key>
- <integer>21</integer>
- </dict>
- <key>NSAlternateImage</key>
- <dict>
- <key>CF$UID</key>
<integer>57</integer>
</dict>
- <key>NSButtonFlags</key>
- <integer>1211912703</integer>
- <key>NSButtonFlags2</key>
- <integer>0</integer>
- <key>NSCellFlags</key>
- <integer>67239424</integer>
- <key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
+ <key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
- <integer>60</integer>
+ <integer>50</integer>
</dict>
- <key>NSControlView</key>
+ <key>NSSuperview</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>50</integer>
</dict>
- <key>NSKeyEquivalent</key>
- <dict>
- <key>CF$UID</key>
- <integer>21</integer>
- </dict>
- <key>NSPeriodicDelay</key>
- <integer>400</integer>
- <key>NSPeriodicInterval</key>
- <integer>75</integer>
- <key>NSSupport</key>
- <dict>
- <key>CF$UID</key>
- <integer>15</integer>
- </dict>
- <key>NSTag</key>
- <integer>12</integer>
+ <key>NSvFlags</key>
+ <integer>256</integer>
</dict>
- <string>Timex TV</string>
+ <string>{{18, 146}, {162, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1645,12 +1506,12 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>57</integer>
+ <integer>18</integer>
</dict>
<key>NSButtonFlags</key>
<integer>1211912703</integer>
<key>NSButtonFlags2</key>
- <integer>0</integer>
+ <integer>2</integer>
<key>NSCellFlags</key>
<integer>67239424</integer>
<key>NSCellFlags2</key>
@@ -1658,12 +1519,12 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>62</integer>
+ <integer>59</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>56</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -1671,71 +1532,48 @@
<integer>21</integer>
</dict>
<key>NSPeriodicDelay</key>
- <integer>400</integer>
+ <integer>200</integer>
<key>NSPeriodicInterval</key>
- <integer>75</integer>
+ <integer>25</integer>
<key>NSSupport</key>
<dict>
<key>CF$UID</key>
<integer>15</integer>
</dict>
- <key>NSTag</key>
- <integer>5</integer>
</dict>
- <string>2xSaI</string>
+ <string>Beeper pseudo-stereo</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
+ <integer>23</integer>
</dict>
- <key>NSAlternateContents</key>
+ <key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>65</integer>
+ <integer>62</integer>
</dict>
- <key>NSAlternateImage</key>
+ <key>NSEnabled</key>
+ <true/>
+ <key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>57</integer>
+ <integer>61</integer>
</dict>
- <key>NSButtonFlags</key>
- <integer>1211912703</integer>
- <key>NSButtonFlags2</key>
- <integer>0</integer>
- <key>NSCellFlags</key>
- <integer>67239424</integer>
- <key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
+ <key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
- <integer>64</integer>
+ <integer>50</integer>
</dict>
- <key>NSControlView</key>
+ <key>NSSuperview</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>50</integer>
</dict>
- <key>NSKeyEquivalent</key>
- <dict>
- <key>CF$UID</key>
- <integer>21</integer>
- </dict>
- <key>NSPeriodicDelay</key>
- <integer>400</integer>
- <key>NSPeriodicInterval</key>
- <integer>75</integer>
- <key>NSSupport</key>
- <dict>
- <key>CF$UID</key>
- <integer>15</integer>
- </dict>
- <key>NSTag</key>
- <integer>15</integer>
+ <key>NSvFlags</key>
+ <integer>256</integer>
</dict>
- <string>PAL TV</string>
- <string></string>
+ <string>{{18, 190}, {126, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1750,12 +1588,12 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>57</integer>
+ <integer>18</integer>
</dict>
<key>NSButtonFlags</key>
<integer>1211912703</integer>
<key>NSButtonFlags2</key>
- <integer>0</integer>
+ <integer>2</integer>
<key>NSCellFlags</key>
<integer>67239424</integer>
<key>NSCellFlags2</key>
@@ -1763,12 +1601,12 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>67</integer>
+ <integer>63</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>60</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -1776,90 +1614,58 @@
<integer>21</integer>
</dict>
<key>NSPeriodicDelay</key>
- <integer>400</integer>
+ <integer>200</integer>
<key>NSPeriodicInterval</key>
- <integer>75</integer>
+ <integer>25</integer>
<key>NSSupport</key>
<dict>
<key>CF$UID</key>
<integer>15</integer>
</dict>
- <key>NSTag</key>
- <integer>6</integer>
</dict>
- <string>Super 2xSaI</string>
+ <string>Loading sounds</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
+ <integer>71</integer>
</dict>
- <key>NSAlternateContents</key>
+ <key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>65</integer>
+ <integer>66</integer>
</dict>
- <key>NSAlternateImage</key>
+ <key>NSEnabled</key>
+ <true/>
+ <key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>57</integer>
+ <integer>65</integer>
</dict>
- <key>NSButtonFlags</key>
- <integer>1211912703</integer>
- <key>NSButtonFlags2</key>
- <integer>0</integer>
- <key>NSCellFlags</key>
- <integer>67239424</integer>
- <key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
+ <key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
- <integer>69</integer>
+ <integer>50</integer>
</dict>
- <key>NSControlView</key>
+ <key>NSSuperview</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>50</integer>
</dict>
- <key>NSKeyEquivalent</key>
- <dict>
- <key>CF$UID</key>
- <integer>21</integer>
- </dict>
- <key>NSPeriodicDelay</key>
- <integer>400</integer>
- <key>NSPeriodicInterval</key>
- <integer>75</integer>
- <key>NSSupport</key>
- <dict>
- <key>CF$UID</key>
- <integer>15</integer>
- </dict>
- <key>NSTag</key>
- <integer>16</integer>
+ <key>NSvFlags</key>
+ <integer>256</integer>
</dict>
- <string>PAL TV 2x</string>
+ <string>{{97, 222}, {115, 25}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
+ <integer>70</integer>
</dict>
- <key>NSAlternateContents</key>
- <dict>
- <key>CF$UID</key>
- <integer>21</integer>
- </dict>
- <key>NSAlternateImage</key>
- <dict>
- <key>CF$UID</key>
- <integer>57</integer>
- </dict>
- <key>NSButtonFlags</key>
- <integer>1211912703</integer>
- <key>NSButtonFlags2</key>
- <integer>0</integer>
+ <key>NSAllowsTickMarkValuesOnly</key>
+ <true/>
+ <key>NSAltIncValue</key>
+ <real>0.0</real>
<key>NSCellFlags</key>
<integer>67239424</integer>
<key>NSCellFlags2</key>
@@ -1867,187 +1673,112 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>71</integer>
+ <integer>67</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>52</integer>
+ <integer>64</integer>
</dict>
- <key>NSKeyEquivalent</key>
- <dict>
- <key>CF$UID</key>
- <integer>21</integer>
- </dict>
- <key>NSPeriodicDelay</key>
- <integer>400</integer>
- <key>NSPeriodicInterval</key>
- <integer>75</integer>
+ <key>NSMaxValue</key>
+ <real>8</real>
+ <key>NSMinValue</key>
+ <real>3</real>
+ <key>NSNumberOfTickMarks</key>
+ <integer>6</integer>
<key>NSSupport</key>
<dict>
<key>CF$UID</key>
- <integer>15</integer>
+ <integer>68</integer>
</dict>
- <key>NSTag</key>
- <integer>7</integer>
+ <key>NSTickMarkPosition</key>
+ <integer>0</integer>
+ <key>NSValue</key>
+ <real>8</real>
+ <key>NSVertical</key>
+ <false/>
</dict>
- <string>SuperEagle</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
+ <integer>45</integer>
</dict>
- <key>NSAlternateContents</key>
- <dict>
- <key>CF$UID</key>
- <integer>65</integer>
- </dict>
- <key>NSAlternateImage</key>
- <dict>
- <key>CF$UID</key>
- <integer>57</integer>
- </dict>
- <key>NSButtonFlags</key>
- <integer>1211912703</integer>
- <key>NSButtonFlags2</key>
- <integer>0</integer>
- <key>NSCellFlags</key>
- <integer>67239424</integer>
- <key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
- <dict>
- <key>CF$UID</key>
- <integer>73</integer>
- </dict>
- <key>NSControlView</key>
- <dict>
- <key>CF$UID</key>
- <integer>52</integer>
- </dict>
- <key>NSKeyEquivalent</key>
- ...
[truncated message content] |
|
From: <fr...@us...> - 2007-06-18 12:03:28
|
Revision: 389
http://svn.sourceforge.net/fuse-for-macosx/?rev=389&view=rev
Author: fredm
Date: 2007-06-18 05:03:30 -0700 (Mon, 18 Jun 2007)
Log Message:
-----------
Make sure error alert panels are invoked from the main thread.
Modified Paths:
--------------
trunk/fuse/fusepb/controllers/FuseController.h
trunk/fuse/fusepb/controllers/FuseController.m
trunk/fuse/ui/cocoa/cocoaerror.m
Modified: trunk/fuse/fusepb/controllers/FuseController.h
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.h 2007-06-17 14:04:21 UTC (rev 388)
+++ trunk/fuse/fusepb/controllers/FuseController.h 2007-06-18 12:03:30 UTC (rev 389)
@@ -191,6 +191,9 @@
- (void)setTapeState:(NSNumber*)state;
- (void)setMdrState:(NSNumber*)state;
+- (void)showAlertPanel:(NSString*)message;
+- (void)showCriticalAlertPanel:(NSString*)message;
+
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication;
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename;
Modified: trunk/fuse/fusepb/controllers/FuseController.m
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.m 2007-06-17 14:04:21 UTC (rev 388)
+++ trunk/fuse/fusepb/controllers/FuseController.m 2007-06-18 12:03:30 UTC (rev 389)
@@ -1436,6 +1436,16 @@
{
}
+- (void)showAlertPanel:(NSString*)message
+{
+ NSRunAlertPanel(@"Fuse - Info", message, nil, nil, nil);
+}
+
+- (void)showCriticalAlertPanel:(NSString*)message
+{
+ NSRunCriticalAlertPanel(@"Fuse - Error", message, nil, nil, nil);
+}
+
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication
{
return YES;
Modified: trunk/fuse/ui/cocoa/cocoaerror.m
===================================================================
--- trunk/fuse/ui/cocoa/cocoaerror.m 2007-06-17 14:04:21 UTC (rev 388)
+++ trunk/fuse/ui/cocoa/cocoaerror.m 2007-06-18 12:03:30 UTC (rev 389)
@@ -34,6 +34,8 @@
#include <stdio.h>
#include <unistd.h>
+#import "FuseController.h"
+
#include "fuse.h"
#include "ui/ui.h"
#include "settings.h"
@@ -41,30 +43,21 @@
int
aqua_verror( ui_error_level severity, const char *message )
{
- NSString *title;
-
- /* Set the appropriate title */
- switch( severity ) {
- case UI_ERROR_INFO:
- title = @"Fuse - Info";
- break;
- case UI_ERROR_ERROR:
- title = @"Fuse - Error";
- break;
- default:
- title = @"Fuse - (Unknown error)";
- break;
- }
-
NSString *alertString = [NSString stringWithUTF8String:message];
switch( severity ) {
case UI_ERROR_INFO:
- NSRunAlertPanel(title, alertString, nil, nil, nil);
+ [[FuseController singleton]
+ performSelectorOnMainThread:@selector(showAlertPanel:)
+ withObject:alertString
+ waitUntilDone:YES];
break;
case UI_ERROR_ERROR:
default:
- NSRunCriticalAlertPanel(title, alertString, nil, nil, nil);
+ [[FuseController singleton]
+ performSelectorOnMainThread:@selector(showCriticalAlertPanel:)
+ withObject:alertString
+ waitUntilDone:YES];
break;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-06-20 02:25:53
|
Revision: 391
http://svn.sourceforge.net/fuse-for-macosx/?rev=391&view=rev
Author: fredm
Date: 2007-06-19 19:25:45 -0700 (Tue, 19 Jun 2007)
Log Message:
-----------
AppKit can only be called from the main thread, so pass any calls in the
emulator back to FuseController.
Modified Paths:
--------------
trunk/fuse/fusepb/controllers/FuseController.h
trunk/fuse/fusepb/controllers/FuseController.m
trunk/fuse/fusepb/models/Emulator.h
trunk/fuse/fusepb/models/Emulator.m
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/ui/cocoa/cocoaui.m
Modified: trunk/fuse/fusepb/controllers/FuseController.h
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.h 2007-06-19 02:56:57 UTC (rev 390)
+++ trunk/fuse/fusepb/controllers/FuseController.h 2007-06-20 02:25:45 UTC (rev 391)
@@ -196,6 +196,12 @@
- (void)showAlertPanel:(NSString*)message;
- (void)showCriticalAlertPanel:(NSString*)message;
+-(ui_confirm_save_t) confirmSave:(NSString*)theMessage;
+-(int) tapeWrite;
+-(int) plus3DiskWrite:(specplus3_drive_number)which;
+-(int) trdosDiskWrite:(trdos_drive_number)which;
+-(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs;
+
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication;
- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender;
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename;
Modified: trunk/fuse/fusepb/controllers/FuseController.m
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.m 2007-06-19 02:56:57 UTC (rev 390)
+++ trunk/fuse/fusepb/controllers/FuseController.m 2007-06-20 02:25:45 UTC (rev 391)
@@ -117,6 +117,12 @@
static NSSavePanel *sPanel = nil;
+const char* connection_names[] = {
+ "the keyboard",
+ "joystick 1",
+ "joystick 2",
+};
+
@implementation FuseController
static FuseController *singleton = nil;
@@ -749,7 +755,7 @@
- (IBAction)tape_write:(id)sender
{
- ui_tape_write();
+ [self tapeWrite];
}
- (IBAction)tape_record:(id)sender
@@ -1466,6 +1472,199 @@
NSRunCriticalAlertPanel(@"Fuse - Error", message, nil, nil, nil);
}
+-(ui_confirm_save_t) confirmSave:(NSString*)theMessage
+{
+ int result;
+
+ ui_confirm_save_t confirm;
+
+ if( !settings_current.confirm_actions ) return UI_CONFIRM_SAVE_DONTSAVE;
+
+ [[DisplayOpenGLView instance] pause];
+
+ if( ui_mouse_grabbed ) ui_mouse_grabbed = ui_mouse_release( 1 );
+
+ confirm = UI_CONFIRM_SAVE_CANCEL;
+
+ result = NSRunAlertPanel(@"Confirm", theMessage, @"Save",
+ @"Don't Save", @"Cancel");
+
+ switch( result ) {
+ case NSAlertDefaultReturn:
+ confirm = UI_CONFIRM_SAVE_SAVE;
+ break;
+ case NSAlertAlternateReturn:
+ confirm = UI_CONFIRM_SAVE_DONTSAVE;
+ break;
+ case NSAlertOtherReturn:
+ default:
+ confirm = UI_CONFIRM_SAVE_CANCEL;
+ }
+
+ [[DisplayOpenGLView instance] unpause];
+
+ return confirm;
+}
+
+-(int) tapeWrite
+{
+ char *filename = NULL;
+
+ [[DisplayOpenGLView instance] pause];
+
+ filename = cocoaui_savepanel_get_filename( @"Write Tape As", [NSArray arrayWithObjects:@"tzx", @"tap", @"csw", nil] );
+
+ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
+
+ /* We will be calling this from the main thread while the emulator is
+ paused */
+ tape_write( filename );
+
+ [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]];
+
+ free( filename );
+
+ [[DisplayOpenGLView instance] unpause];
+
+ return 0;
+}
+
+-(int) plus3DiskWrite:(specplus3_drive_number)which
+{
+ char drive, *filename = NULL;
+
+ drive = which == SPECPLUS3_DRIVE_A ? 'A' : 'B';
+
+ if( !specplus3_disk_present( which ) ) {
+ ui_error( UI_ERROR_INFO, "No disk present in drive %c:", drive );
+ return 0;
+ }
+
+ [[DisplayOpenGLView instance] pause];
+
+ NSString *title = [NSString stringWithFormat:@"Write +3 Disk %c: As", drive];
+ filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"dsk", nil] );
+
+ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
+
+ /* We will be calling this from the Emulator thread */
+ specplus3_disk_write( which, filename );
+
+ [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]];
+
+ free( filename );
+
+ [[DisplayOpenGLView instance] unpause];
+
+ return 0;
+}
+
+-(int) trdosDiskWrite:(trdos_drive_number)which
+{
+ char drive, *filename = NULL;
+
+ switch( which ) {
+ case TRDOS_DRIVE_A: drive = 'A'; break;
+ case TRDOS_DRIVE_B: drive = 'B'; break;
+ case TRDOS_DRIVE_C: drive = 'C'; break;
+ case TRDOS_DRIVE_D: drive = 'D'; break;
+ default: drive = '?'; break;
+ }
+
+ [[DisplayOpenGLView instance] pause];
+
+ NSString *title = [NSString stringWithFormat:@"Write TR-DOS Disk %c: As", drive];
+ filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"trd", nil] );
+
+ if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
+
+ /* We will be calling this from the main thread with emulator paused */
+ trdos_disk_write( which, filename );
+
+ [self addRecentSnapshotWithString:[NSString stringWithUTF8String:filename]];
+
+ free( filename );
+
+ [[DisplayOpenGLView instance] unpause];
+
+ return 0;
+}
+
+-(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs
+{
+ char* joystick_name;
+ char input_names[256] = "";
+ NSString *alertString;
+ NSAlert *alert;
+
+ if( !settings_current.joy_prompt ) return UI_CONFIRM_JOYSTICK_NONE;
+
+ alert = [[NSAlert alloc] init];
+ [alert addButtonWithTitle:@"None"];
+ [alert addButtonWithTitle:@"Joystick 2"];
+ [alert addButtonWithTitle:@"Joystick 1"];
+ [alert addButtonWithTitle:@"Keyboard"];
+
+ [alert setMessageText:@"Configure joystick"];
+ joystick_name = strdup( libspectrum_joystick_name( type ) );
+ joystick_name[0] = tolower( joystick_name[0] );
+ if( theInputs ) {
+ int num_inputs = 0;
+ int i = 0;
+ const char* conn_names[3];
+
+ for( i = 0; theInputs>>i; i++ ) {
+ if( ( theInputs>> i ) & 0x01 ) {
+ conn_names[num_inputs++] = connection_names[i];
+ }
+ }
+
+ if( num_inputs >= 1 ) {
+ sprintf(input_names, " connected to %s", conn_names[0]);
+ }
+ if( num_inputs >= 3 ) {
+ sprintf(input_names, "%s, %s", input_names, conn_names[2]);
+ }
+ if( num_inputs >= 2 ) {
+ sprintf(input_names, "%s and %s", input_names, conn_names[1]);
+ }
+ }
+ alertString = [NSString stringWithFormat:@"The snapshot you are loading is configured for a %s joystick%s. Fuse is not currently configured for a %s joystick, would you like to connect the joystick to:", joystick_name, input_names, joystick_name ];
+ free( joystick_name );
+
+ [alert setInformativeText:alertString];
+ [alert setAlertStyle:NSWarningAlertStyle];
+
+ ui_confirm_joystick_t confirm;
+
+ if( ui_mouse_grabbed ) ui_mouse_grabbed = ui_mouse_release( 1 );
+
+ [[DisplayOpenGLView instance] pause];
+
+ confirm = UI_CONFIRM_JOYSTICK_NONE;
+
+ switch( [alert runModal] ) {
+ case NSAlertFirstButtonReturn:
+ confirm = UI_CONFIRM_JOYSTICK_NONE;
+ break;
+ case NSAlertSecondButtonReturn:
+ confirm = UI_CONFIRM_JOYSTICK_JOYSTICK_2;
+ break;
+ case NSAlertThirdButtonReturn:
+ confirm = UI_CONFIRM_JOYSTICK_JOYSTICK_1;
+ break;
+ case NSAlertThirdButtonReturn+1:
+ confirm = UI_CONFIRM_JOYSTICK_KEYBOARD;
+ break;
+ }
+
+ [alert release];
+
+ [[DisplayOpenGLView instance] unpause];
+
+ return confirm;
+}
+
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication
{
return YES;
@@ -1865,222 +2064,6 @@
return 0;
}
-int
-ui_tape_write( void )
-{
- char *filename = NULL;
-
- [[DisplayOpenGLView instance] pause];
-
- filename = cocoaui_savepanel_get_filename( @"Write Tape As", [NSArray arrayWithObjects:@"tzx", @"tap", @"csw", nil] );
-
- if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
-
- /* We will be calling this from the Emulator thread */
- tape_write( filename );
-
- [[FuseController singleton]
- performSelectorOnMainThread:@selector(addRecentSnapshotWithString:)
- withObject:[NSString stringWithUTF8String:filename]
- waitUntilDone:NO
- ];
-
- free( filename );
-
- [[DisplayOpenGLView instance] unpause];
-
- return 0;
-}
-
-int
-ui_plus3_disk_write( specplus3_drive_number which )
-{
- char drive, *filename = NULL;
-
- drive = which == SPECPLUS3_DRIVE_A ? 'A' : 'B';
-
- if( !specplus3_disk_present( which ) ) {
- ui_error( UI_ERROR_INFO, "No disk present in drive %c:", drive );
- return 0;
- }
-
- [[DisplayOpenGLView instance] pause];
-
- NSString *title = [NSString stringWithFormat:@"Write +3 Disk %c: As", drive];
- filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"dsk", nil] );
-
- if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
-
- /* We will be calling this from the Emulator thread */
- specplus3_disk_write( which, filename );
-
- [[FuseController singleton]
- performSelectorOnMainThread:@selector(addRecentSnapshotWithString:)
- withObject:[NSString stringWithUTF8String:filename]
- waitUntilDone:NO
- ];
-
- free( filename );
-
- [[DisplayOpenGLView instance] unpause];
-
- return 0;
-}
-
-int
-ui_trdos_disk_write( trdos_drive_number which )
-{
- char drive, *filename = NULL;
-
- switch( which ) {
- case TRDOS_DRIVE_A: drive = 'A'; break;
- case TRDOS_DRIVE_B: drive = 'B'; break;
- case TRDOS_DRIVE_C: drive = 'C'; break;
- case TRDOS_DRIVE_D: drive = 'D'; break;
- default: drive = '?'; break;
- }
-
- [[DisplayOpenGLView instance] pause];
-
- NSString *title = [NSString stringWithFormat:@"Write TR-DOS Disk %c: As", drive];
- filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"trd", nil] );
-
- if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
-
- /* We will be calling this from the Emulator thread */
- trdos_disk_write( which, filename );
-
- [[FuseController singleton]
- performSelectorOnMainThread:@selector(addRecentSnapshotWithString:)
- withObject:[NSString stringWithUTF8String:filename]
- waitUntilDone:NO
- ];
-
- free( filename );
-
- [[DisplayOpenGLView instance] unpause];
-
- return 0;
-}
-
-ui_confirm_save_t
-ui_confirm_save( const char *message )
-{
- NSString *alertString = [NSString stringWithUTF8String:message];
- int result;
-
- ui_confirm_save_t confirm;
-
- if( !settings_current.confirm_actions ) return UI_CONFIRM_SAVE_DONTSAVE;
-
- if( ui_mouse_grabbed ) ui_mouse_grabbed = ui_mouse_release( 1 );
-
- [[DisplayOpenGLView instance] pause];
-
- confirm = UI_CONFIRM_SAVE_CANCEL;
-
- result = NSRunAlertPanel(@"Confirm", alertString, @"Save",
- @"Don't Save", @"Cancel");
-
- switch( result ) {
- case NSAlertDefaultReturn:
- confirm = UI_CONFIRM_SAVE_SAVE;
- break;
- case NSAlertAlternateReturn:
- confirm = UI_CONFIRM_SAVE_DONTSAVE;
- break;
- case NSAlertOtherReturn:
- default:
- confirm = UI_CONFIRM_SAVE_CANCEL;
- }
-
- [[DisplayOpenGLView instance] unpause];
-
- return confirm;
-}
-
-const char* connection_names[] = {
- "the keyboard",
- "joystick 1",
- "joystick 2",
-};
-
-ui_confirm_joystick_t
-ui_confirm_joystick( libspectrum_joystick libspectrum_type, int inputs )
-{
- char* joystick_name;
- char input_names[256] = "";
- NSString *alertString;
- NSAlert *alert;
-
- if( !settings_current.joy_prompt ) return UI_CONFIRM_JOYSTICK_NONE;
-
- alert = [[NSAlert alloc] init];
- [alert addButtonWithTitle:@"None"];
- [alert addButtonWithTitle:@"Joystick 2"];
- [alert addButtonWithTitle:@"Joystick 1"];
- [alert addButtonWithTitle:@"Keyboard"];
-
- [alert setMessageText:@"Configure joystick"];
- joystick_name = strdup( libspectrum_joystick_name( libspectrum_type ) );
- joystick_name[0] = tolower( joystick_name[0] );
- if( inputs ) {
- int num_inputs = 0;
- int i = 0;
- const char* conn_names[3];
-
- for( i = 0; inputs>>i; i++ ) {
- if( ( inputs >> i ) & 0x01 ) {
- conn_names[num_inputs++] = connection_names[i];
- }
- }
-
- if( num_inputs >= 1 ) {
- sprintf(input_names, " connected to %s", conn_names[0]);
- }
- if( num_inputs >= 3 ) {
- sprintf(input_names, "%s, %s", input_names, conn_names[2]);
- }
- if( num_inputs >= 2 ) {
- sprintf(input_names, "%s and %s", input_names, conn_names[1]);
- }
- }
- alertString = [NSString stringWithFormat:@"The snapshot you are loading is configured for a %s joystick%s. Fuse is not currently configured for a %s joystick, would you like to connect the joystick to:", joystick_name, input_names, joystick_name ];
- free( joystick_name );
-
- [alert setInformativeText:alertString];
- [alert setAlertStyle:NSWarningAlertStyle];
-
- ui_confirm_joystick_t confirm;
-
- if( ui_mouse_grabbed ) ui_mouse_grabbed = ui_mouse_release( 1 );
-
- [[DisplayOpenGLView instance] pause];
-
- confirm = UI_CONFIRM_JOYSTICK_NONE;
-
- switch( [alert runModal] ) {
- case NSAlertFirstButtonReturn:
- confirm = UI_CONFIRM_JOYSTICK_NONE;
- break;
- case NSAlertSecondButtonReturn:
- confirm = UI_CONFIRM_JOYSTICK_JOYSTICK_2;
- break;
- case NSAlertThirdButtonReturn:
- confirm = UI_CONFIRM_JOYSTICK_JOYSTICK_1;
- break;
- case NSAlertThirdButtonReturn+1:
- confirm = UI_CONFIRM_JOYSTICK_KEYBOARD;
- break;
- }
-
- [alert release];
-
- [[DisplayOpenGLView instance] unpause];
-
- return confirm;
-}
-
static int
cocoaui_confirm( const char *message )
{
Modified: trunk/fuse/fusepb/models/Emulator.h
===================================================================
--- trunk/fuse/fusepb/models/Emulator.h 2007-06-19 02:56:57 UTC (rev 390)
+++ trunk/fuse/fusepb/models/Emulator.h 2007-06-20 02:25:45 UTC (rev 391)
@@ -29,7 +29,10 @@
#include "input.h"
#include "machines/specplus3.h"
#include "trdos.h"
+#include "ui/ui.h"
+@class DisplayOpenGLView;
+
@interface Emulator : NSObject
{
BOOL isEmulating;
@@ -46,6 +49,8 @@
int cocoakeyboard_caps_shift_pressed;
int cocoakeyboard_symbol_shift_pressed;
input_key unicode_keysym;
+
+ DisplayOpenGLView *proxy_view;
}
+(Emulator *) instance;
@@ -158,4 +163,10 @@
-(void) keyDown:(NSEvent *)theEvent;
-(void) keyUp:(NSEvent *)theEvent;
+-(ui_confirm_save_t) confirmSave:(NSString*)theMessage;
+-(int) tapeWrite;
+-(int) plus3DiskWrite:(specplus3_drive_number)which;
+-(int) trdosDiskWrite:(trdos_drive_number)which;
+-(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs;
+
@end
Modified: trunk/fuse/fusepb/models/Emulator.m
===================================================================
--- trunk/fuse/fusepb/models/Emulator.m 2007-06-19 02:56:57 UTC (rev 390)
+++ trunk/fuse/fusepb/models/Emulator.m 2007-06-20 02:25:45 UTC (rev 391)
@@ -76,7 +76,8 @@
connectionWithReceivePort:[portArray objectAtIndex:0]
sendPort:[portArray objectAtIndex:1]];
[serverConnection setRootObject:self];
- [(id)[serverConnection rootProxy] setServer:self];
+ proxy_view = (id)[serverConnection rootProxy];
+ [proxy_view setServer:self];
if( fuse_init( ac, av ) ) {
fprintf( stderr, "%s: error initialising -- giving up!\n", fuse_progname );
@@ -687,4 +688,29 @@
[self keyChange:theEvent type:INPUT_EVENT_KEYRELEASE];
}
+-(ui_confirm_save_t) confirmSave:(NSString*)theMessage
+{
+ return [proxy_view confirmSave:theMessage];
+}
+
+-(int) tapeWrite
+{
+ return [proxy_view tapeWrite];
+}
+
+-(int) plus3DiskWrite:(specplus3_drive_number)which
+{
+ return [proxy_view plus3DiskWrite:which];
+}
+
+-(int) trdosDiskWrite:(trdos_drive_number)which
+{
+ return [proxy_view trdosDiskWrite:which];
+}
+
+-(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs
+{
+ return [proxy_view confirmJoystick:type inputs:theInputs];
+}
+
@end
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-06-19 02:56:57 UTC (rev 390)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-06-20 02:25:45 UTC (rev 391)
@@ -185,6 +185,12 @@
-(void) setTapeState:(NSNumber*)state;
-(void) setMdrState:(NSNumber*)state;
+-(ui_confirm_save_t) confirmSave:(NSString*)theMessage;
+-(int) tapeWrite;
+-(int) plus3DiskWrite:(specplus3_drive_number)which;
+-(int) trdosDiskWrite:(trdos_drive_number)which;
+-(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs;
+
-(void) mouseMoved:(NSEvent *)theEvent;
-(void) mouseDown:(NSEvent *)theEvent;
-(void) mouseUp:(NSEvent *)theEvent;
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-19 02:56:57 UTC (rev 390)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-20 02:25:45 UTC (rev 391)
@@ -573,9 +573,7 @@
-(void) openFile:(const char *)filename
{
- /* openFile can end up calling a dialog for joystick selection, this must
- run on the main thread */
- [real_emulator openFile:filename];
+ [proxy_emulator openFile:filename];
}
-(void) tapeOpen:(const char *)filename
@@ -887,6 +885,31 @@
//[[FuseController singleton] setMdrState:state];
}
+-(ui_confirm_save_t) confirmSave:(NSString*)theMessage
+{
+ return [[FuseController singleton] confirmSave:theMessage];
+}
+
+-(int) tapeWrite
+{
+ return [[FuseController singleton] tapeWrite];
+}
+
+-(int) plus3DiskWrite:(specplus3_drive_number)which
+{
+ return [[FuseController singleton] plus3DiskWrite:which];
+}
+
+-(int) trdosDiskWrite:(trdos_drive_number)which
+{
+ return [[FuseController singleton] trdosDiskWrite:which];
+}
+
+-(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs
+{
+ return [[FuseController singleton] confirmJoystick:type inputs:theInputs];
+}
+
-(void) mouseMoved:(NSEvent *)theEvent
{
[proxy_emulator mouseMoved:theEvent];
Modified: trunk/fuse/ui/cocoa/cocoaui.m
===================================================================
--- trunk/fuse/ui/cocoa/cocoaui.m 2007-06-19 02:56:57 UTC (rev 390)
+++ trunk/fuse/ui/cocoa/cocoaui.m 2007-06-20 02:25:45 UTC (rev 391)
@@ -29,6 +29,7 @@
#include <stdio.h>
#import "FuseController.h"
+#import "Emulator.h"
#include "display.h"
#include "fuse.h"
@@ -106,3 +107,34 @@
return 0;
}
+
+ui_confirm_save_t
+ui_confirm_save( const char *message )
+{
+ return [[Emulator instance]
+ confirmSave:[NSString stringWithUTF8String:message]];
+}
+
+int
+ui_tape_write( void )
+{
+ return [[Emulator instance] tapeWrite];
+}
+
+int
+ui_plus3_disk_write( specplus3_drive_number which )
+{
+ return [[Emulator instance] plus3DiskWrite:which];
+}
+
+int
+ui_trdos_disk_write( trdos_drive_number which )
+{
+ return [[Emulator instance] trdosDiskWrite:which];
+}
+
+ui_confirm_joystick_t
+ui_confirm_joystick( libspectrum_joystick libspectrum_type, int inputs )
+{
+ return [[Emulator instance] confirmJoystick:libspectrum_type inputs:inputs];
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-06-23 16:11:42
|
Revision: 395
http://svn.sourceforge.net/fuse-for-macosx/?rev=395&view=rev
Author: fredm
Date: 2007-06-23 09:11:43 -0700 (Sat, 23 Jun 2007)
Log Message:
-----------
Attempt to limit the memory bus requirements of the program by tracking dirty
rects through the render pipeline and just updating the dirty info in the
texture. Should help older PPC machines in particular.
Modified Paths:
--------------
trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/ui/cocoa/cocoadisplay.h
trunk/fuse/ui/cocoa/cocoadisplay.m
Added Paths:
-----------
trunk/fuse/ui/cocoa/dirty.c
trunk/fuse/ui/cocoa/dirty.h
trunk/fuse/ui/cocoa/dirtyrects.txt
Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj
===================================================================
--- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2007-06-23 15:20:36 UTC (rev 394)
+++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2007-06-23 16:11:43 UTC (rev 395)
@@ -280,6 +280,8 @@
B6B076B20B59FE9A00D4F95C /* Emulator.h in Headers */ = {isa = PBXBuildFile; fileRef = B6B076B00B59FE9A00D4F95C /* Emulator.h */; };
B6B076B30B59FE9A00D4F95C /* Emulator.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B076B10B59FE9A00D4F95C /* Emulator.m */; };
B6B99F8A0B5F798700EE408F /* cocoadisplay.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B99F890B5F798700EE408F /* cocoadisplay.m */; };
+ B6CA27A70C2CDBC500F06FB3 /* dirty.c in Sources */ = {isa = PBXBuildFile; fileRef = B6CA27A50C2CDBC500F06FB3 /* dirty.c */; };
+ B6CA27A80C2CDBC500F06FB3 /* dirty.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CA27A60C2CDBC500F06FB3 /* dirty.h */; };
B6CE7F410B2830A300EB65B3 /* cocoadisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CE7F3B0B2830A300EB65B3 /* cocoadisplay.h */; };
B6CE7F420B2830A300EB65B3 /* cocoajoystick.c in Sources */ = {isa = PBXBuildFile; fileRef = B6CE7F3C0B2830A300EB65B3 /* cocoajoystick.c */; };
B6CE7F440B2830A300EB65B3 /* cocoaui.h in Headers */ = {isa = PBXBuildFile; fileRef = B6CE7F3E0B2830A300EB65B3 /* cocoaui.h */; };
@@ -514,6 +516,8 @@
B6C86978065611B3003000A6 /* intern.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = intern.h; path = scaler/intern.h; sourceTree = SOURCE_ROOT; };
B6C8B723076D2B1A0007B7B5 /* if1.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = if1.c; path = ../if1.c; sourceTree = SOURCE_ROOT; };
B6C8B724076D2B1A0007B7B5 /* if1.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = if1.h; path = ../if1.h; sourceTree = SOURCE_ROOT; };
+ B6CA27A50C2CDBC500F06FB3 /* dirty.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; path = dirty.c; sourceTree = "<group>"; };
+ B6CA27A60C2CDBC500F06FB3 /* dirty.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = dirty.h; sourceTree = "<group>"; };
B6CA304C049CEC410037E9F2 /* psg.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = psg.c; path = ../psg.c; sourceTree = SOURCE_ROOT; };
B6CA304D049CEC410037E9F2 /* psg.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = psg.h; path = ../psg.h; sourceTree = SOURCE_ROOT; };
B6CC82FF0800E408006EFFB9 /* CAMachines.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CAMachines.h; path = content_arrays/CAMachines.h; sourceTree = SOURCE_ROOT; };
@@ -959,6 +963,8 @@
B67DC2180B63835100FA31B6 /* cocoastatusbar.m */,
B6CE7F3E0B2830A300EB65B3 /* cocoaui.h */,
B6A6F0D90B3D141B000B88E9 /* cocoaui.m */,
+ B6CA27A50C2CDBC500F06FB3 /* dirty.c */,
+ B6CA27A60C2CDBC500F06FB3 /* dirty.h */,
B6E0252B0B38AFE500E23A0F /* keysyms.m */,
);
path = cocoa;
@@ -1278,6 +1284,7 @@
B6B076B20B59FE9A00D4F95C /* Emulator.h in Headers */,
B65352DB0B8CF6780083F942 /* SDL_joystick.h in Headers */,
B65352F30B8CF6CC0083F942 /* SDL_sysjoystick.h in Headers */,
+ B6CA27A80C2CDBC500F06FB3 /* dirty.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1519,6 +1526,7 @@
B67DC2190B63835100FA31B6 /* cocoastatusbar.m in Sources */,
B65352F20B8CF6CC0083F942 /* SDL_sysjoystick.c in Sources */,
B65353150B8FF3D20083F942 /* SDL_joystick.c in Sources */,
+ B6CA27A70C2CDBC500F06FB3 /* dirty.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-06-23 15:20:36 UTC (rev 394)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-06-23 16:11:43 UTC (rev 395)
@@ -42,8 +42,8 @@
@interface DisplayOpenGLView : NSOpenGLView
{
- /* Need texture size and dimensions and two backing textures */
- Cocoa_Texture screenTex[MAX_SCREEN_BUFFERS]; /* Screen texture */
+ /* Two backing textures */
+ Cocoa_Texture screenTex[MAX_SCREEN_BUFFERS];
GLuint screenTexId[MAX_SCREEN_BUFFERS];
int currentScreenTex;
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-23 15:20:36 UTC (rev 394)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-23 16:11:43 UTC (rev 395)
@@ -33,6 +33,7 @@
#include "fuse.h"
#include "fusepb/main.h"
#include "settings.h"
+#include "ui/cocoa/dirty.h"
unsigned char *
NSBitmapImageRepToRGBAPixelArray(NSBitmapImageRep * bitmap, int red)
@@ -383,19 +384,33 @@
-(void) drawRect:(NSRect)aRect
{
+ int i;
+ PIG_dirtytable *workdirty = NULL;
+
if( NO == screenTexInitialised ) return;
+ [buffered_screen_lock lock];
+ if( screenTex[currentScreenTex].dirty )
+ pig_dirty_copy( &workdirty, screenTex[currentScreenTex].dirty );
+
currentScreenTex = !currentScreenTex;
- /* Need to draw texture to screen here */
- /* FIXME: lock screen - direct lock probably faster [emulation lockScreen]; */
- [buffered_screen_lock lock];
- /* should draw directly from emulation screen instead of screenTex, switch between
- buffers there */
- memcpy( screenTex[currentScreenTex].pixels, buffered_screen.pixels, screenTex[currentScreenTex].pitch * screenTex[currentScreenTex].full_height );
- /* FIXME: unlock screen - direct lock probably faster [emulation unlockScreen]; */
- [buffered_screen_lock unlock];
+ pig_dirty_copy( &screenTex[currentScreenTex].dirty, buffered_screen.dirty );
+ if( workdirty )
+ pig_dirty_merge(workdirty, screenTex[currentScreenTex].dirty);
+ else
+ pig_dirty_copy(&workdirty, screenTex[currentScreenTex].dirty);
+
+ /* Draw texture to screen */
+ for(i = 0; i < workdirty->count; ++i)
+ copy_area( &screenTex[currentScreenTex], &buffered_screen,
+ workdirty->rects + i );
+
+ buffered_screen.dirty->count = 0;
+
+ pig_dirty_close( workdirty );
+
[[self openGLContext] makeCurrentContext];
glClear( GL_COLOR_BUFFER_BIT );
@@ -427,6 +442,8 @@
/* Swap buffer to screen */
[[self openGLContext] flushBuffer];
+
+ [buffered_screen_lock unlock];
}
/* want to keep image in the original aspect ratio in the face of window resizing */
@@ -496,12 +513,15 @@
GLuint i;
if( screenTexInitialised == NO) return;
- /* FIXME: May want to have a double buffered texture later */
+
glDeleteTextures( MAX_SCREEN_BUFFERS, screenTexId );
for(i = 0; i < MAX_SCREEN_BUFFERS; i++)
{
free( screenTex[i].pixels );
screenTex[i].pixels = NULL;
+ if(screenTex[i].dirty)
+ pig_dirty_close( screenTex[i].dirty );
+ screenTex[i].dirty = NULL;
}
screenTexInitialised = NO;
}
@@ -513,7 +533,6 @@
[[self openGLContext] makeCurrentContext];
[[self openGLContext] update];
- /* FIXME: May want to have a double buffered texture later */
glGenTextures( MAX_SCREEN_BUFFERS, screenTexId );
for(i = 0; i < MAX_SCREEN_BUFFERS; i++)
Modified: trunk/fuse/ui/cocoa/cocoadisplay.h
===================================================================
--- trunk/fuse/ui/cocoa/cocoadisplay.h 2007-06-23 15:20:36 UTC (rev 394)
+++ trunk/fuse/ui/cocoa/cocoadisplay.h 2007-06-23 16:11:43 UTC (rev 395)
@@ -30,9 +30,11 @@
#import <Foundation/NSLock.h>
#include "ui/ui.h"
+#include "dirty.h"
typedef struct Cocoa_Texture {
void *pixels;
+ PIG_dirtytable *dirty;
int full_height;
int full_width;
int image_height;
@@ -50,4 +52,6 @@
void cocoadisplay_display_updated( void );
+void copy_area( Cocoa_Texture *dest_screen, Cocoa_Texture *src_screen, PIG_rect *r );
+
#endif /* #ifndef FUSE_COCOADISPLAY_H */
Modified: trunk/fuse/ui/cocoa/cocoadisplay.m
===================================================================
--- trunk/fuse/ui/cocoa/cocoadisplay.m 2007-06-23 15:20:36 UTC (rev 394)
+++ trunk/fuse/ui/cocoa/cocoadisplay.m 2007-06-23 16:11:43 UTC (rev 395)
@@ -36,6 +36,7 @@
#import "DisplayOpenGLView.h"
#include "cocoadisplay.h"
+#include "dirty.h"
#include "display.h"
#include "fuse.h"
#include "machine.h"
@@ -92,6 +93,10 @@
static int display_updated = 0;
+/* This is a rule of thumb for the maximum number of rects that can be updated
+ each frame. */
+#define MAX_UPDATE_RECT 300
+
static void
init_scalers( void )
{
@@ -138,12 +143,20 @@
screen->full_height = screen->image_height+3;
screen->image_yoffset = 1;
- screen->pixels = calloc( screen->full_width*screen->full_height, sizeof(uint16_t) );
+ screen->pixels = calloc( screen->full_width*screen->full_height,
+ sizeof(uint16_t) );
if( !screen->pixels ) {
fprintf( stderr, "%s: couldn't allocate screen.pixels\n", fuse_progname );
return 1;
}
+ screen->dirty = pig_dirty_open( MAX_UPDATE_RECT );
+ if( !screen->dirty ) {
+ free( screen->pixels );
+ fprintf( stderr, "%s: couldn't allocate screen.dirty\n", fuse_progname );
+ return 1;
+ }
+
screen->pitch = screen->full_width * sizeof(uint16_t);
return 0;
@@ -154,8 +167,12 @@
{
if( screen->pixels ) {
free( screen->pixels );
- screen->pixels=NULL;
+ screen->pixels = NULL;
}
+ if( screen->dirty ) {
+ pig_dirty_close( screen->dirty );
+ screen->dirty = NULL;
+ }
}
static int
@@ -182,6 +199,9 @@
screen->image_width, 1.0f );
if( error ) return error;
+ /* Destroy any existing OpenGL textures (and their dirty lists) */
+ [[DisplayOpenGLView instance] destroyTexture];
+
/* Create OpenGL textures for the image in DisplayOpenGLView */
[[DisplayOpenGLView instance] createTexture:&buffered_screen];
@@ -388,44 +408,82 @@
}
void
+copy_area( Cocoa_Texture *dest_screen, Cocoa_Texture *src_screen, PIG_rect *r )
+{
+ int y;
+
+ for( y = r->y; y <= r->y + r->h; y++ ) {
+ int src_offset = (y + src_screen->image_yoffset) * src_screen->pitch +
+ sizeof(uint16_t) * ( r->x + src_screen->image_xoffset);
+ int dest_offset = (y + dest_screen->image_yoffset) * dest_screen->pitch +
+ sizeof(uint16_t) * ( r->x + dest_screen->image_xoffset);
+ memcpy( dest_screen->pixels + dest_offset, src_screen->pixels + src_offset,
+ r->w * sizeof(uint16_t) );
+ }
+}
+
+void
uidisplay_frame_end( void )
{
- if( display_updated )
+ int i;
+
+ if( display_updated ) {
/* obtain lock for buffered screen */
[buffered_screen_lock lock];
+
/* copy screen data to buffered screen */
- memcpy( buffered_screen.pixels, screen->pixels, screen->pitch * screen->full_height );
+ for(i = 0; i < screen->dirty->count; ++i)
+ copy_area( &buffered_screen, screen, screen->dirty->rects + i );
+
+ pig_dirty_merge( buffered_screen.dirty, screen->dirty );
+
+ /* We usually can't call AppKit stuff from other threads, but we seem to be
+ able to call setNeedsDisplay as long as we are not in drawRect: in the
+ main thread - prefer this to sending a message to the main thread as we
+ can send loads of messages when we are fastloading and can clog up the
+ pipes, the buffered_screen_lock should protect us from drawRect: */
+ [[DisplayOpenGLView instance] setNeedsDisplay:YES];
+
/* release lock for buffered screen */
[buffered_screen_lock unlock];
- [[DisplayOpenGLView instance]
- performSelectorOnMainThread:@selector(setNeedsDisplayYes)
- withObject:nil
- waitUntilDone:NO
- ];
- display_updated = 0;
+
+ display_updated = 0;
+ unscaled_screen.dirty->count = 0;
+ if( current_scaler != SCALER_NORMAL ) scaled_screen.dirty->count = 0;
+ }
}
void
uidisplay_area( int x, int y, int width, int height )
{
- int scaled_x, scaled_y;
+ PIG_rect r = { x, y, width, height };
- display_updated=1;
+ display_updated = 1;
- if( current_scaler == SCALER_NORMAL ) return;
+ if( current_scaler == SCALER_NORMAL ) {
+ pig_dirty_add( unscaled_screen.dirty, &r );
+ return;
+ }
/* Extend the dirty region by 1 pixel for scalers that "smear" the screen,
e.g. 2xSAI */
if( scaler_flags & SCALER_FLAGS_EXPAND )
scaler_expander( &x, &y, &width, &height, image_width, image_height );
- scaled_x = display_current_size * x;
- scaled_y = display_current_size * y;
+ r.x = display_current_size * x;
+ r.y = display_current_size * y;
+ r.w = display_current_size * width;
+ r.h = display_current_size * height;
+ pig_dirty_add( scaled_screen.dirty, &r );
/* Create scaled image */
- scaler_proc16( unscaled_screen.pixels + ( y + 1 ) * unscaled_screen.pitch + sizeof(uint16_t) * ( x + 1 ),
+ scaler_proc16( unscaled_screen.pixels + ( y + unscaled_screen.image_yoffset ) *
+ unscaled_screen.pitch + sizeof(uint16_t) *
+ ( x + unscaled_screen.image_xoffset ),
unscaled_screen.pitch,
- scaled_screen.pixels + scaled_y * scaled_screen.pitch + sizeof(uint16_t) * scaled_x,
+ scaled_screen.pixels + ( r.y + scaled_screen.image_yoffset ) *
+ scaled_screen.pitch + sizeof(uint16_t) *
+ ( r.x + scaled_screen.image_xoffset ),
scaled_screen.pitch, width, height );
}
@@ -448,5 +506,5 @@
void
cocoadisplay_display_updated( void )
{
- display_updated=1;
+ display_updated = 1;
}
Added: trunk/fuse/ui/cocoa/dirty.c
===================================================================
--- trunk/fuse/ui/cocoa/dirty.c (rev 0)
+++ trunk/fuse/ui/cocoa/dirty.c 2007-06-23 16:11:43 UTC (rev 395)
@@ -0,0 +1,188 @@
+/*
+------------------------------------------------------------
+ Fixed Rate Pig - a fixed logic frame rate demo
+------------------------------------------------------------
+ * Copyright (C) 2004 David Olofson <da...@ol...>
+ *
+ * This software is released under the terms of the GPL.
+ *
+ * Contact author for permission if you want to use this
+ * software, or work derived from it, under other terms.
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include "dirty.h"
+
+/* Approximate worth of one dirtyrect in pixels. */
+#define PIG_WORST_MERGE 300
+
+/*
+ * If the merged result gets at most this many percent
+ * bigger than the larger of the two input rects,
+ * accept it as Perfect.
+ */
+#define PIG_INSTANT_MERGE 10
+
+
+PIG_dirtytable *pig_dirty_open(int size)
+{
+ PIG_dirtytable *pdt = (PIG_dirtytable *)malloc(sizeof(PIG_dirtytable));
+ if(!pdt)
+ return NULL;
+
+ pdt->size = size;
+ pdt->rects = (PIG_rect *)calloc(size, sizeof(PIG_rect));
+ if(!pdt->rects)
+ {
+ free(pdt);
+ return NULL;
+ }
+
+ pdt->count = 0;
+ pdt->best = 0;
+ return pdt;
+}
+
+
+void pig_dirty_close(PIG_dirtytable *pdt)
+{
+ free(pdt->rects);
+ free(pdt);
+}
+
+
+void pig_mergerect(PIG_rect *from, PIG_rect *to)
+{
+ int x1 = from->x;
+ int y1 = from->y;
+ int x2 = from->x + from->w;
+ int y2 = from->y + from->h;
+ if(to->x < x1)
+ x1 = to->x;
+ if(to->y < y1)
+ y1 = to->y;
+ if(to->x + to->w > x2)
+ x2 = to->x + to->w;
+ if(to->y + to->h > y2)
+ y2 = to->y + to->h;
+ to->x = x1;
+ to->y = y1;
+ to->w = x2 - x1;
+ to->h = y2 - y1;
+}
+
+
+void pig_intersectrect(PIG_rect *from, PIG_rect *to)
+{
+ int Amin, Amax, Bmin, Bmax;
+ Amin = to->x;
+ Amax = Amin + to->w;
+ Bmin = from->x;
+ Bmax = Bmin + from->w;
+ if(Bmin > Amin)
+ Amin = Bmin;
+ to->x = Amin;
+ if(Bmax < Amax)
+ Amax = Bmax;
+ to->w = Amax - Amin > 0 ? Amax - Amin : 0;
+
+ Amin = to->y;
+ Amax = Amin + to->h;
+ Bmin = from->y;
+ Bmax = Bmin + from->h;
+ if(Bmin > Amin)
+ Amin = Bmin;
+ to->y = Amin;
+ if(Bmax < Amax)
+ Amax = Bmax;
+ to->h = Amax - Amin > 0 ? Amax - Amin : 0;
+}
+
+
+void pig_dirty_add(PIG_dirtytable *pdt, PIG_rect *dr)
+{
+ int i, j, best_i, best_loss;
+ /*
+ * Look for merger candidates.
+ *
+ * We start right before the best match we
+ * had the last time around. This can give
+ * us large numbers of direct or quick hits
+ * when dealing with old/new rects for moving
+ * objects and the like.
+ */
+ best_i = -1;
+ best_loss = 100000000;
+ if(pdt->count)
+ i = (pdt->best + pdt->count - 1) % pdt->count;
+ for(j = 0; j < pdt->count; ++j)
+ {
+ int a1, a2, am, ratio, loss;
+ PIG_rect testr;
+
+ a1 = dr->w * dr->h;
+
+ testr = pdt->rects[i];
+ a2 = testr.w * testr.h;
+
+ pig_mergerect(dr, &testr);
+ am = testr.w * testr.h;
+
+ /* Perfect or Instant Pick? */
+ ratio = 100 * am / (a1 > a2 ? a1 : a2);
+ if(ratio < PIG_INSTANT_MERGE)
+ {
+ /* Ok, this is good enough! Stop searching. */
+ pig_mergerect(dr, &pdt->rects[i]);
+ pdt->best = i;
+ return;
+ }
+
+ loss = am - a1 - a2;
+ if(loss < best_loss)
+ {
+ best_i = i;
+ best_loss = loss;
+ pdt->best = i;
+ }
+
+ ++i;
+ i %= pdt->count;
+ }
+ /* ...and if the best result is good enough, merge! */
+ if((best_i >= 0) && (best_loss < PIG_WORST_MERGE))
+ {
+ pig_mergerect(dr, &pdt->rects[best_i]);
+ return;
+ }
+
+ /* Try to add to table... */
+ if(pdt->count < pdt->size)
+ {
+ pdt->rects[pdt->count++] = *dr;
+ return;
+ }
+
+ /* Emergency: Table full! Grab best candidate... */
+ pig_mergerect(dr, &pdt->rects[best_i]);
+}
+
+
+void pig_dirty_copy(PIG_dirtytable **pdt, PIG_dirtytable *from)
+{
+ if(*pdt) pig_dirty_close(*pdt);
+ *pdt = pig_dirty_open(from->size);
+ if(*pdt) {
+ memcpy((*pdt)->rects, from->rects, from->count * sizeof(PIG_rect));
+ (*pdt)->count = from->count;
+ }
+}
+
+
+void pig_dirty_merge(PIG_dirtytable *pdt, PIG_dirtytable *from)
+{
+ int i;
+ for(i = 0; i < from->count; ++i)
+ pig_dirty_add(pdt, from->rects + i);
+}
Added: trunk/fuse/ui/cocoa/dirty.h
===================================================================
--- trunk/fuse/ui/cocoa/dirty.h (rev 0)
+++ trunk/fuse/ui/cocoa/dirty.h 2007-06-23 16:11:43 UTC (rev 395)
@@ -0,0 +1,52 @@
+/*
+------------------------------------------------------------
+ Fixed Rate Pig - a fixed logic frame rate demo
+------------------------------------------------------------
+ * Copyright (C) 2004 David Olofson <da...@ol...>
+ *
+ * This software is released under the terms of the GPL.
+ *
+ * Contact author for permission if you want to use this
+ * software, or work derived from it, under other terms.
+ */
+
+#ifndef PIG_DIRTY_H
+#define PIG_DIRTY_H
+
+typedef struct PIG_rect
+{
+ int x;
+ int y;
+ int w;
+ int h;
+} PIG_rect;
+
+/* A table of dirtyrects for one display page */
+typedef struct PIG_dirtytable
+{
+ int size; /* Table size */
+ PIG_rect *rects; /* Table of rects */
+ int count; /* # of rects currently used */
+ int best; /* Merge testing starts here! */
+} PIG_dirtytable;
+
+
+PIG_dirtytable *pig_dirty_open(int size);
+void pig_dirty_close(PIG_dirtytable *pdt);
+
+/* Add rectangle 'dr' to table 'pdt' */
+void pig_dirty_add(PIG_dirtytable *pdt, PIG_rect *dr);
+
+/* Copy table 'from' into 'pdt' */
+void pig_dirty_copy(PIG_dirtytable **pdt, PIG_dirtytable *from);
+
+/* Merge table 'from' into 'pdt' */
+void pig_dirty_merge(PIG_dirtytable *pdt, PIG_dirtytable *from);
+
+/* Extend 'to' to a new rect that includes both 'from' and 'to' */
+void pig_mergerect(PIG_rect *from, PIG_rect *to);
+
+/* Clip 'to' into a rect that is the intersection of 'from' and 'to' */
+void pig_intersectrect(PIG_rect *from, PIG_rect *to);
+
+#endif /* PIG_DIRTY_H */
Added: trunk/fuse/ui/cocoa/dirtyrects.txt
===================================================================
--- trunk/fuse/ui/cocoa/dirtyrects.txt (rev 0)
+++ trunk/fuse/ui/cocoa/dirtyrects.txt 2007-06-23 16:11:43 UTC (rev 395)
@@ -0,0 +1,83 @@
+
+ Smart Dirty Rectangle Management
+ --------------------------------
+
+pig_dirty() contains an algorithm that tries to find
+the the best dirtyrect candidates for merging. While
+searching, it looks out for perfect or sufficiently
+good candidates.
+
+(Perfect candidate:)
+ The merged rectangle is of the same size
+ as the largest of the two input rectangles:
+
+ Amerged <= MAX(A1, A2)
+
+ We don't actually test for this, but rather for...
+
+Instant Pick candidate:
+ Not Perfect, but good enough to be treated
+ as such, considering the cost of going on
+ searching for a better candidate:
+ Amerged 100 / MAX(A1, A2) - 100 <= PIG_INSTANT_MERGE
+
+ (That is, the area of the merged rect must be
+ no more than PIG_INSTANT_MERGE % bigger than
+ the area of the larger of the two input rects.)
+
+ Note that this is also about how likely it is
+ that thereis* a better candidate. Assuming
+ that PIG_INSTANT_MERGE is set to a sensible
+ value, it is not very likely at all. There
+ would have to be another dirtyrect nearby, and
+ the chance of that being a better match is
+ rather low, since that would most likely have
+ caused it to be merged with the tested dirtyrect
+ long before our new rect came in.
+
+(Good candidate:)
+ The area of the merged rectangle is smaller
+ than the total area of the two input rectangles:
+
+ (Amerged - A1 - A2) < 0
+
+ We don't actually test for this, but rather for...
+
+Acceptable candidate:
+ The area of the merged rectangle is larger
+ than the total of the two input rectangles, but
+ since there is some per-rectangle overhead,
+ merging is still a win:
+
+ (Amerged - A1 - A2) <= PIG_WORST_MERGE
+
+ The default setting assumes that the cost of a
+ rectangle is in the range of 300 pixels. One
+ should probably benchmark a few different systems
+ to see if that's reasonable.
+
+Unacceptable candidate:
+ The area of the merged rectangle is larger than
+ the total of the input rectangles to the degree
+ that merging is a definite loss:
+
+ (Amerged - A1 - A2) > PIG_WORST_MERGE
+
+The algorithm instantly returns Perfect candidates as
+solutions. If there are only Good and Acceptable
+candidates, the best one (lowest number of wasted
+pixels) is the solution.
+
+If there are only Unacceptable candidates, there is no
+sensible merger solution, so pig_dirty() will try to add
+a new dirtyrect.
+
+If that fails (table full), the best candidate is used,
+even though it would have been Unacceptable under normal
+circumstances.
+
+
+TODO: Thereare* more alternatives than just "merge" or
+TODO: "don't merge"! For example, it might pay off to
+TODO: detect overlapping and clip dirtyrects to avoid
+TODO: it, when merging is not a viable option.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-06-24 21:52:30
|
Revision: 399
http://svn.sourceforge.net/fuse-for-macosx/?rev=399&view=rev
Author: fredm
Date: 2007-06-24 14:52:32 -0700 (Sun, 24 Jun 2007)
Log Message:
-----------
Use a CoreVideo display link rather than setting needs display from the
emulator thread.
Modified Paths:
--------------
trunk/fuse/TODO
trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/ui/cocoa/cocoadisplay.m
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2007-06-24 01:06:12 UTC (rev 398)
+++ trunk/fuse/TODO 2007-06-24 21:52:32 UTC (rev 399)
@@ -30,12 +30,12 @@
DisplayOpenGLView and flip between them on frame end), should also have a
mutex taken while DisplayOpenGLView changes and cocoadisplay flips to
prevent thread sync problems
-* Add .WAV loader using audiofile
+X Add .WAV loader using audiofile
+X Figure out why minimise icon image is partially blanked when minimise starts
* Quit keyhandling when command key is pressed
* Use sheets rather than modal dialogs (for Save As)
* Put in latest hq[23]x filters (HQ2x_555 from ScummVM should do the trick)
* Make border display optional
-* Figure out why minimise icon image is partially blanked when minimise starts
* Allow Cmd-w to close as many windows as possible
* Make activity icons transparent
* Seperate out sound buffer interleaving code to allow for the use of hardware etc.
Modified: trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj
===================================================================
--- trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2007-06-24 01:06:12 UTC (rev 398)
+++ trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj 2007-06-24 21:52:32 UTC (rev 399)
@@ -241,6 +241,7 @@
B61F46A109121DF100C8096C /* gcrypt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6BA1A8B04E4F3290017354F /* gcrypt.framework */; };
B61F46A209121DF100C8096C /* libbz2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6202BD105BD43D800A1EA8F /* libbz2.framework */; };
B61F46A409121DF100C8096C /* FuseImporter.mdimporter in CopyFiles */ = {isa = PBXBuildFile; fileRef = B64FEA96084F8EC300879389 /* FuseImporter.mdimporter */; };
+ B6251C3E0C2EB24500BD5543 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6251C3D0C2EB24500BD5543 /* QuartzCore.framework */; };
B639B7680A6BAFCF00927E24 /* csw.icns in Resources */ = {isa = PBXBuildFile; fileRef = B639B7670A6BAFCF00927E24 /* csw.icns */; };
B639B7D10A6BB45600927E24 /* raw.icns in Resources */ = {isa = PBXBuildFile; fileRef = B639B7D00A6BB45600927E24 /* raw.icns */; };
B6403FD80A7E4B1A00E00B11 /* loader.c in Sources */ = {isa = PBXBuildFile; fileRef = B6403FD60A7E4B1A00E00B11 /* loader.c */; };
@@ -378,6 +379,7 @@
B6202BD105BD43D800A1EA8F /* libbz2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = libbz2.framework; path = ../../bzip2/build/Deployment/libbz2.framework; sourceTree = SOURCE_ROOT; };
B621A11E062E92FB00F63DBC /* if2.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = if2.c; path = ../if2.c; sourceTree = SOURCE_ROOT; };
B621A11F062E92FB00F63DBC /* if2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = if2.h; path = ../if2.h; sourceTree = SOURCE_ROOT; };
+ B6251C3D0C2EB24500BD5543 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
B62E1BC303E298B200A80002 /* Debugger.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = Debugger.nib; path = nibs/Debugger.nib; sourceTree = SOURCE_ROOT; };
B62F3BB4059F5B5900A7009A /* PokeFinder.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = PokeFinder.nib; path = nibs/PokeFinder.nib; sourceTree = "<group>"; };
B62F3BCE059F5BF300A7009A /* PokeFinderController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PokeFinderController.h; path = controllers/PokeFinderController.h; sourceTree = "<group>"; };
@@ -666,6 +668,7 @@
B6A6F0F30B3D602F000B88E9 /* AudioUnit.framework in Frameworks */,
B6A6F1060B3D60D0000B88E9 /* OpenGL.framework in Frameworks */,
B653532B0B902CB20083F942 /* IOKit.framework in Frameworks */,
+ B6251C3E0C2EB24500BD5543 /* QuartzCore.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -693,17 +696,18 @@
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
+ F541C0750396490901C2A5B9 /* 765.framework */,
B6FA759C0C1D7507007F5A10 /* audiofile.framework */,
B6A6F0F20B3D602F000B88E9 /* AudioUnit.framework */,
B64E2A160A6534A3006863D9 /* Carbon.framework */,
+ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
B6A6F0ED0B3D5F9E000B88E9 /* CoreAudio.framework */,
+ B6BA1A8B04E4F3290017354F /* gcrypt.framework */,
B653532A0B902CB20083F942 /* IOKit.framework */,
B6202BD105BD43D800A1EA8F /* libbz2.framework */,
- 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
F520C8BC038D022E01A804BA /* OpenGL.framework */,
+ B6251C3D0C2EB24500BD5543 /* QuartzCore.framework */,
F541C04303963A9F01C2A5B9 /* spectrum.framework */,
- F541C0750396490901C2A5B9 /* 765.framework */,
- B6BA1A8B04E4F3290017354F /* gcrypt.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
@@ -1548,8 +1552,8 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
+ i386,
ppc,
- i386,
);
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-06-24 01:06:12 UTC (rev 398)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-06-24 21:52:32 UTC (rev 399)
@@ -23,6 +23,7 @@
*/
#import <Cocoa/Cocoa.h>
+#import <QuartzCore/QuartzCore.h>
#include <OpenGL/gl.h>
#include <OpenGL/glext.h>
@@ -74,6 +75,9 @@
Emulator *real_emulator;
Emulator *proxy_emulator;
NSConnection *kitConnection;
+
+ CVDisplayLinkRef displayLink;
+ CGDirectDisplayID mainViewDisplayID;
}
+(DisplayOpenGLView *) instance;
@@ -213,4 +217,7 @@
-(void) windowWillMiniaturize:(NSNotification *)aNotification;
-(void) windowDidMiniaturize:(NSNotification *)notification;
+-(CVReturn) displayFrame:(const CVTimeStamp *)timeStamp;
+-(void) windowChangedScreen:(NSNotification*)inNotification;
+
@end
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-24 01:06:12 UTC (rev 398)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-24 21:52:32 UTC (rev 399)
@@ -89,6 +89,19 @@
return bitmap;
}
+CVReturn MyDisplayLinkCallback (
+ CVDisplayLinkRef displayLink,
+ const CVTimeStamp *inNow,
+ const CVTimeStamp *inOutputTime,
+ CVOptionFlags flagsIn,
+ CVOptionFlags *flagsOut,
+ void *displayLinkContext)
+{
+ CVReturn error =
+ [(DisplayOpenGLView*) displayLinkContext displayFrame:inOutputTime];
+ return error;
+}
+
@implementation DisplayOpenGLView
static DisplayOpenGLView *instance = nil;
@@ -249,6 +262,29 @@
{
/* keep the window in the standard aspect ratio if the user resizes */
[[self window] setContentAspectRatio:NSMakeSize(4.0,3.0)];
+
+ CVReturn error = kCVReturnSuccess;
+ CGDirectDisplayID displayID = CGMainDisplayID();
+
+ mainViewDisplayID = displayID;
+
+ error = CVDisplayLinkCreateWithCGDisplay( displayID, &displayLink );
+ if( error ) {
+ NSLog( @"DisplayLink created with error:%d", error );
+ displayLink = NULL;
+ return;
+ }
+ error = CVDisplayLinkSetOutputCallback( displayLink,
+ MyDisplayLinkCallback, self );
+ if( error ) {
+ NSLog( @"Callback created with error:%d", error );
+ return;
+ }
+
+ error = CVDisplayLinkStart( displayLink );
+ if( error ) {
+ NSLog( @"error starting displayLink:%d", error );
+ }
}
- (void)windowWillClose:(NSNotification *)notification
@@ -393,8 +429,11 @@
int i;
PIG_dirtytable *workdirty = NULL;
- if( NO == screenTexInitialised ) return;
[buffered_screen_lock lock];
+ if( NO == screenTexInitialised ) {
+ [buffered_screen_lock unlock];
+ return;
+ }
if( screenTex[currentScreenTex].dirty )
pig_dirty_copy( &workdirty, screenTex[currentScreenTex].dirty );
@@ -1113,4 +1152,23 @@
[[self window] setOpaque:YES];
}
+-(CVReturn) displayFrame:(const CVTimeStamp *)timeStamp
+{
+ [self drawRect:NSZeroRect];
+
+ return kCVReturnSuccess;
+}
+
+-(void) windowChangedScreen:(NSNotification*)inNotification
+{
+ NSWindow *window = [self window];
+ CGDirectDisplayID displayID = (CGDirectDisplayID)[[[[window screen]
+ deviceDescription] objectForKey:@"NSScreenNumber"] intValue];
+ if((displayID != NULL) && (mainViewDisplayID != displayID))
+ {
+ CVDisplayLinkSetCurrentCGDisplay(displayLink, displayID);
+ mainViewDisplayID = displayID;
+ }
+}
+
@end
Modified: trunk/fuse/ui/cocoa/cocoadisplay.m
===================================================================
--- trunk/fuse/ui/cocoa/cocoadisplay.m 2007-06-24 01:06:12 UTC (rev 398)
+++ trunk/fuse/ui/cocoa/cocoadisplay.m 2007-06-24 21:52:32 UTC (rev 399)
@@ -437,13 +437,6 @@
pig_dirty_merge( buffered_screen.dirty, screen->dirty );
- /* We usually can't call AppKit stuff from other threads, but we seem to be
- able to call setNeedsDisplay as long as we are not in drawRect: in the
- main thread - prefer this to sending a message to the main thread as we
- can send loads of messages when we are fastloading and can clog up the
- pipes, the buffered_screen_lock should protect us from drawRect: */
- [[DisplayOpenGLView instance] setNeedsDisplay:YES];
-
/* release lock for buffered screen */
[buffered_screen_lock unlock];
@@ -490,10 +483,13 @@
int
uidisplay_end( void )
{
+ [buffered_screen_lock lock];
+
if( screen && screen->pixels ) {
[[DisplayOpenGLView instance] destroyTexture];
}
+ [buffered_screen_lock unlock];
[buffered_screen_lock release];
free_screen( &unscaled_screen );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-06-26 12:07:48
|
Revision: 400
http://svn.sourceforge.net/fuse-for-macosx/?rev=400&view=rev
Author: fredm
Date: 2007-06-26 05:07:47 -0700 (Tue, 26 Jun 2007)
Log Message:
-----------
Don't bother updating the screen if nothing has changed.
Modified Paths:
--------------
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/ui/cocoa/cocoadisplay.h
trunk/fuse/ui/cocoa/cocoadisplay.m
trunk/fuse/ui/cocoa/cocoastatusbar.m
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-06-24 21:52:32 UTC (rev 399)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-06-26 12:07:47 UTC (rev 400)
@@ -66,6 +66,7 @@
ui_statusbar_state disk_state;
ui_statusbar_state mdr_state;
ui_statusbar_state tape_state;
+ BOOL statusbar_updated;
NSWindow *fullscreenWindow;
NSWindow *windowedWindow;
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-24 21:52:32 UTC (rev 399)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-06-26 12:07:47 UTC (rev 400)
@@ -255,6 +255,8 @@
currentScreenTex = 0;
+ statusbar_updated = NO;
+
return self;
}
@@ -430,7 +432,8 @@
PIG_dirtytable *workdirty = NULL;
[buffered_screen_lock lock];
- if( NO == screenTexInitialised ) {
+ if( NO == screenTexInitialised ||
+ ( 0 == buffered_screen.dirty->count && NO == statusbar_updated ) ) {
[buffered_screen_lock unlock];
return;
}
@@ -488,6 +491,8 @@
/* Swap buffer to screen */
[[self openGLContext] flushBuffer];
+ statusbar_updated = NO;
+
[buffered_screen_lock unlock];
}
@@ -941,18 +946,21 @@
-(void) setDiskState:(NSNumber*)state
{
disk_state = [state unsignedCharValue];
+ statusbar_updated = YES;
[[FuseController singleton] setDiskState:state];
}
-(void) setTapeState:(NSNumber*)state
{
tape_state = [state unsignedCharValue];
+ statusbar_updated = YES;
[[FuseController singleton] setTapeState:state];
}
-(void) setMdrState:(NSNumber*)state
{
mdr_state = [state unsignedCharValue];
+ statusbar_updated = YES;
[[FuseController singleton] setMdrState:state];
}
Modified: trunk/fuse/ui/cocoa/cocoadisplay.h
===================================================================
--- trunk/fuse/ui/cocoa/cocoadisplay.h 2007-06-24 21:52:32 UTC (rev 399)
+++ trunk/fuse/ui/cocoa/cocoadisplay.h 2007-06-26 12:07:47 UTC (rev 400)
@@ -50,8 +50,6 @@
extern NSLock *buffered_screen_lock;
extern Cocoa_Texture buffered_screen;
-void cocoadisplay_display_updated( void );
-
void copy_area( Cocoa_Texture *dest_screen, Cocoa_Texture *src_screen, PIG_rect *r );
#endif /* #ifndef FUSE_COCOADISPLAY_H */
Modified: trunk/fuse/ui/cocoa/cocoadisplay.m
===================================================================
--- trunk/fuse/ui/cocoa/cocoadisplay.m 2007-06-24 21:52:32 UTC (rev 399)
+++ trunk/fuse/ui/cocoa/cocoadisplay.m 2007-06-26 12:07:47 UTC (rev 400)
@@ -498,9 +498,3 @@
return 0;
}
-
-void
-cocoadisplay_display_updated( void )
-{
- display_updated = 1;
-}
Modified: trunk/fuse/ui/cocoa/cocoastatusbar.m
===================================================================
--- trunk/fuse/ui/cocoa/cocoastatusbar.m 2007-06-24 21:52:32 UTC (rev 399)
+++ trunk/fuse/ui/cocoa/cocoastatusbar.m 2007-06-26 12:07:47 UTC (rev 400)
@@ -42,7 +42,6 @@
withObject:[NSNumber numberWithUnsignedChar:state]
waitUntilDone:NO
];
- if ( settings_current.statusbar ) cocoadisplay_display_updated();
return 0;
case UI_STATUSBAR_ITEM_PAUSED:
@@ -55,7 +54,6 @@
withObject:[NSNumber numberWithUnsignedChar:state]
waitUntilDone:NO
];
- if ( settings_current.statusbar ) cocoadisplay_display_updated();
return 0;
case UI_STATUSBAR_ITEM_MICRODRIVE:
@@ -64,7 +62,6 @@
withObject:[NSNumber numberWithUnsignedChar:state]
waitUntilDone:NO
];
- if ( settings_current.statusbar ) cocoadisplay_display_updated();
return 0;
case UI_STATUSBAR_ITEM_MOUSE:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-07-01 07:05:10
|
Revision: 419
http://svn.sourceforge.net/fuse-for-macosx/?rev=419&view=rev
Author: fredm
Date: 2007-07-01 00:05:12 -0700 (Sun, 01 Jul 2007)
Log Message:
-----------
Add +D disk write functions to Emulator and cocoaui.
Modified Paths:
--------------
trunk/fuse/fusepb/models/Emulator.h
trunk/fuse/fusepb/models/Emulator.m
trunk/fuse/ui/cocoa/cocoaui.m
Modified: trunk/fuse/fusepb/models/Emulator.h
===================================================================
--- trunk/fuse/fusepb/models/Emulator.h 2007-07-01 04:50:32 UTC (rev 418)
+++ trunk/fuse/fusepb/models/Emulator.h 2007-07-01 07:05:12 UTC (rev 419)
@@ -172,6 +172,7 @@
-(int) tapeWrite;
-(int) plus3DiskWrite:(specplus3_drive_number)which;
-(int) trdosDiskWrite:(trdos_drive_number)which;
+-(int) plusdDiskWrite:(plusd_drive_number)which;
-(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs;
-(void) debuggerActivate;
Modified: trunk/fuse/fusepb/models/Emulator.m
===================================================================
--- trunk/fuse/fusepb/models/Emulator.m 2007-07-01 04:50:32 UTC (rev 418)
+++ trunk/fuse/fusepb/models/Emulator.m 2007-07-01 07:05:12 UTC (rev 419)
@@ -739,6 +739,11 @@
return [proxy_view trdosDiskWrite:which];
}
+-(int) plusdDiskWrite:(plusd_drive_number)which
+{
+ return [proxy_view plusdDiskWrite:which];
+}
+
-(ui_confirm_joystick_t) confirmJoystick:(libspectrum_joystick)type inputs:(int)theInputs
{
return [proxy_view confirmJoystick:type inputs:theInputs];
Modified: trunk/fuse/ui/cocoa/cocoaui.m
===================================================================
--- trunk/fuse/ui/cocoa/cocoaui.m 2007-07-01 04:50:32 UTC (rev 418)
+++ trunk/fuse/ui/cocoa/cocoaui.m 2007-07-01 07:05:12 UTC (rev 419)
@@ -132,6 +132,12 @@
return [[Emulator instance] trdosDiskWrite:which];
}
+int
+ui_plusd_disk_write( plusd_drive_number which )
+{
+ return [[Emulator instance] plusdDiskWrite:which];
+}
+
ui_confirm_joystick_t
ui_confirm_joystick( libspectrum_joystick libspectrum_type, int inputs )
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-07-05 10:02:12
|
Revision: 422
http://svn.sourceforge.net/fuse-for-macosx/?rev=422&view=rev
Author: fredm
Date: 2007-07-05 03:02:14 -0700 (Thu, 05 Jul 2007)
Log Message:
-----------
Rest of media check change, plus more locking around the emulator and display
threads.
Modified Paths:
--------------
trunk/fuse/TODO
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/ui/cocoa/cocoadisplay.m
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2007-07-04 12:33:56 UTC (rev 421)
+++ trunk/fuse/TODO 2007-07-05 10:02:14 UTC (rev 422)
@@ -32,7 +32,7 @@
prevent thread sync problems
X Add .WAV loader using audiofile
X Figure out why minimise icon image is partially blanked when minimise starts
-* Quit keyhandling when command key is pressed
+X Quit keyhandling when command key is pressed
* Use sheets rather than modal dialogs (for Save As)
* Put in latest hq[23]x filters (HQ2x_555 from ScummVM should do the trick)
* Make border display optional
@@ -46,5 +46,6 @@
* Save ROM into szx when using a non-default one
* Randomise FRAMES sys var after autoload snapshot loaded in order to try and
get less deterministic program behaviour after load is complete
+* Allow zoom in fullscreen mode for widescreen displays
$Id: TODO 2026 2004-03-02 13:38:08Z pak21 $
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-07-04 12:33:56 UTC (rev 421)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2007-07-05 10:02:14 UTC (rev 422)
@@ -68,6 +68,8 @@
ui_statusbar_state tape_state;
BOOL statusbar_updated;
+ NSLock *view_lock;
+
NSWindow *fullscreenWindow;
NSWindow *windowedWindow;
@@ -124,6 +126,7 @@
-(void) reset;
-(void) hard_reset;
-(int) nmi;
+-(int) checkMediaChanged;
-(void) specplus3DiskInsert:(const char *)filename inDrive:(specplus3_drive_number)which;
-(void) specplus3DiskEject:(specplus3_drive_number)drive saveFirst:(int)write;
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-07-04 12:33:56 UTC (rev 421)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2007-07-05 10:02:14 UTC (rev 422)
@@ -142,10 +142,16 @@
[fullscreenWindow makeFirstResponder:self];
settings_current.full_screen = 1;
if( !ui_mouse_grabbed ) ui_mouse_grabbed = ui_mouse_grab( 0 );
+
+ [[self openGLContext] makeCurrentContext];
+
+ glClear( GL_COLOR_BUFFER_BIT );
}
}
+ [view_lock lock];
statusbar_updated = YES;
+ [view_lock unlock];
}
-(IBAction) zoom:(id)sender
@@ -268,6 +274,9 @@
/* keep the window in the standard aspect ratio if the user resizes */
[[self window] setContentAspectRatio:NSMakeSize(4.0,3.0)];
+ view_lock = [[NSLock alloc] init];
+ [view_lock retain];
+
CVReturn error = kCVReturnSuccess;
CGDirectDisplayID displayID = CGMainDisplayID();
@@ -314,6 +323,8 @@
glDeleteTextures(1, &greenDisk);
greenDisk = 0;
+ [buffered_screen_lock release];
+
[self release];
}
@@ -434,10 +445,12 @@
int i;
PIG_dirtytable *workdirty = NULL;
+ [view_lock lock];
[buffered_screen_lock lock];
if( NO == screenTexInitialised ||
( 0 == buffered_screen.dirty->count && NO == statusbar_updated ) ) {
[buffered_screen_lock unlock];
+ [view_lock unlock];
return;
}
@@ -464,8 +477,6 @@
[[self openGLContext] makeCurrentContext];
- glClear( GL_COLOR_BUFFER_BIT );
-
/* Bind, update and draw new image */
glBindTexture( GL_TEXTURE_RECTANGLE_EXT, screenTexId[currentScreenTex] );
@@ -497,6 +508,7 @@
statusbar_updated = NO;
[buffered_screen_lock unlock];
+ [view_lock unlock];
}
/* want to keep image in the original aspect ratio in the face of window resizing */
@@ -518,6 +530,7 @@
/* moved or resized */
-(void) update
{
+ [view_lock lock];
NSRect rect;
[super update];
@@ -536,11 +549,13 @@
glLoadIdentity();
statusbar_updated = YES;
+ [view_lock unlock];
}
/* scrolled, moved or resized */
-(void) reshape
{
+ [view_lock lock];
NSRect rect;
[super reshape];
@@ -559,28 +574,35 @@
glLoadIdentity();
statusbar_updated = YES;
+ [view_lock unlock];
}
-(void) destroyTexture
{
GLuint i;
- if( screenTexInitialised == NO) return;
+ [view_lock lock];
+ if( screenTexInitialised == NO) {
+ [view_lock unlock];
+ return;
+ }
glDeleteTextures( MAX_SCREEN_BUFFERS, screenTexId );
for(i = 0; i < MAX_SCREEN_BUFFERS; i++)
{
free( screenTex[i].pixels );
screenTex[i].pixels = NULL;
- if(screenTex[i].dirty)
+ if( screenTex[i].dirty )
pig_dirty_close( screenTex[i].dirty );
screenTex[i].dirty = NULL;
}
screenTexInitialised = NO;
+ [view_lock unlock];
}
-(void) createTexture:(Cocoa_Texture*)newScreen
{
+ [view_lock lock];
GLuint i;
[[self openGLContext] makeCurrentContext];
@@ -626,6 +648,7 @@
screenTex[i].pixels );
}
screenTexInitialised = YES;
+ [view_lock unlock];
}
-(void) uploadIconTexture:(GLuint*)textureName
@@ -726,6 +749,11 @@
return [proxy_emulator nmi];
}
+-(int) checkMediaChanged
+{
+ return [proxy_emulator checkMediaChanged];
+}
+
-(void) specplus3DiskInsert:(const char *)filename inDrive:(specplus3_drive_number)which
{
[proxy_emulator specplus3DiskInsert:filename inDrive:which];
@@ -969,21 +997,27 @@
-(void) setDiskState:(NSNumber*)state
{
disk_state = [state unsignedCharValue];
+ [view_lock lock];
statusbar_updated = YES;
+ [view_lock unlock];
[[FuseController singleton] setDiskState:state];
}
-(void) setTapeState:(NSNumber*)state
{
tape_state = [state unsignedCharValue];
+ [view_lock lock];
statusbar_updated = YES;
+ [view_lock unlock];
[[FuseController singleton] setTapeState:state];
}
-(void) setMdrState:(NSNumber*)state
{
mdr_state = [state unsignedCharValue];
+ [view_lock lock];
statusbar_updated = YES;
+ [view_lock unlock];
[[FuseController singleton] setMdrState:state];
}
Modified: trunk/fuse/ui/cocoa/cocoadisplay.m
===================================================================
--- trunk/fuse/ui/cocoa/cocoadisplay.m 2007-07-04 12:33:56 UTC (rev 421)
+++ trunk/fuse/ui/cocoa/cocoadisplay.m 2007-07-05 10:02:14 UTC (rev 422)
@@ -249,7 +249,9 @@
buffered_screen_lock = [[NSLock alloc] init];
[buffered_screen_lock retain];
+ [buffered_screen_lock lock];
cocoadisplay_load_gfx_mode();
+ [buffered_screen_lock unlock];
/* We can now output error messages to our output device */
display_ui_initialised = 1;
@@ -262,6 +264,9 @@
{
fuse_emulation_pause();
+ /* obtain lock for buffered screen */
+ [buffered_screen_lock lock];
+
/* Free the old surfaces */
free_screen( &unscaled_screen );
free_screen( &scaled_screen );
@@ -270,6 +275,8 @@
/* Setup the new GFX mode */
cocoadisplay_load_gfx_mode();
+ [buffered_screen_lock unlock];
+
fuse_emulation_unpause();
return 0;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-07-05 11:57:12
|
Revision: 426
http://svn.sourceforge.net/fuse-for-macosx/?rev=426&view=rev
Author: fredm
Date: 2007-07-05 04:56:57 -0700 (Thu, 05 Jul 2007)
Log Message:
-----------
Complete merge up to vendor rev 3044
Revision Links:
--------------
http://svn.sourceforge.net/fuse-for-macosx/?rev=3044&view=rev
Modified Paths:
--------------
trunk/fuse/fusepb/English.lproj/InfoPlist.strings
trunk/fuse/fusepb/Info-Fuse.plist
trunk/fuse/menu.c
Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings
===================================================================
(Binary files differ)
Modified: trunk/fuse/fusepb/Info-Fuse.plist
===================================================================
--- trunk/fuse/fusepb/Info-Fuse.plist 2007-07-05 11:48:04 UTC (rev 425)
+++ trunk/fuse/fusepb/Info-Fuse.plist 2007-07-05 11:56:57 UTC (rev 426)
@@ -407,7 +407,7 @@
<key>CFBundleSignature</key>
<string>FUSE</string>
<key>CFBundleVersion</key>
- <string>3018</string>
+ <string>3044</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
Modified: trunk/fuse/menu.c
===================================================================
--- trunk/fuse/menu.c 2007-07-05 11:48:04 UTC (rev 425)
+++ trunk/fuse/menu.c 2007-07-05 11:56:57 UTC (rev 426)
@@ -613,20 +613,6 @@
}
int
-menu_open_snap( void )
-{
- char *filename;
- int error;
-
- filename = menu_get_open_filename( "Fuse - Load Snapshot" );
- if( !filename ) return -1;
-
- error = snapshot_read( filename );
- free( filename );
- return error;
-}
-
-int
menu_check_media_changed( void )
{
int confirm;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2007-07-27 14:13:12
|
Revision: 434
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=434&view=rev
Author: fredm
Date: 2007-07-27 07:13:11 -0700 (Fri, 27 Jul 2007)
Log Message:
-----------
We can't get a precise 0.5x, 2x and 3x scale with many OpenGL drivers, so
we will restore the old filters and switch to bilinear whenever the window
is sized away from it's "native" size.
Modified Paths:
--------------
trunk/fuse/fusepb/controllers/PreferencesController.m
trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/settings.dat
trunk/fuse/ui/cocoa/cocoadisplay.m
Modified: trunk/fuse/fusepb/controllers/PreferencesController.m
===================================================================
--- trunk/fuse/fusepb/controllers/PreferencesController.m 2007-07-22 12:41:19 UTC (rev 433)
+++ trunk/fuse/fusepb/controllers/PreferencesController.m 2007-07-27 14:13:11 UTC (rev 434)
@@ -142,8 +142,6 @@
[[NSNotificationCenter defaultCenter] removeObserver:self];
- int old_bilinear = settings_current.bilinear_filter;
-
/* Values in shared defaults have been updated, pass them onto Fuse */
read_config_file( &settings_current );
@@ -154,9 +152,8 @@
// B&W TV status may have changed
display_refresh_all();
- if( ( ( current_scaler != scaler_get_type(settings_current.start_scaler_mode) )
- && !scaler_select_id(settings_current.start_scaler_mode) ) ||
- old_bilinear != settings_current.bilinear_filter ) {
+ if( current_scaler != scaler_get_type(settings_current.start_scaler_mode)
+ && !scaler_select_id(settings_current.start_scaler_mode) ) {
uidisplay_hotswap_gfx_mode();
}
Modified: trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
===================================================================
--- trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2007-07-22 12:41:19 UTC (rev 433)
+++ trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2007-07-27 14:13:11 UTC (rev 434)
@@ -11,32 +11,32 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>1565</integer>
+ <integer>1569</integer>
</dict>
<key>NSAccessibilityConnectors</key>
<dict>
<key>CF$UID</key>
- <integer>1562</integer>
+ <integer>1566</integer>
</dict>
<key>NSAccessibilityOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1563</integer>
+ <integer>1567</integer>
</dict>
<key>NSAccessibilityOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1564</integer>
+ <integer>1568</integer>
</dict>
<key>NSClassesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1256</integer>
+ <integer>1260</integer>
</dict>
<key>NSClassesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1257</integer>
+ <integer>1261</integer>
</dict>
<key>NSConnections</key>
<dict>
@@ -56,34 +56,34 @@
<key>NSNamesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1190</integer>
+ <integer>1195</integer>
</dict>
<key>NSNamesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1191</integer>
+ <integer>1196</integer>
</dict>
<key>NSNextOid</key>
- <integer>1116</integer>
+ <integer>1053</integer>
<key>NSObjectsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1183</integer>
+ <integer>1188</integer>
</dict>
<key>NSObjectsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1189</integer>
+ <integer>1194</integer>
</dict>
<key>NSOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1258</integer>
+ <integer>1262</integer>
</dict>
<key>NSOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1259</integer>
+ <integer>1263</integer>
</dict>
<key>NSRoot</key>
<dict>
@@ -142,7 +142,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
+ <integer>94</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -160,159 +160,151 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>833</integer>
+ <integer>841</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>840</integer>
+ <integer>850</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>841</integer>
+ <integer>851</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>845</integer>
+ <integer>855</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>848</integer>
+ <integer>858</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>851</integer>
+ <integer>861</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>854</integer>
+ <integer>864</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>857</integer>
+ <integer>867</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>860</integer>
+ <integer>870</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>863</integer>
+ <integer>873</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>866</integer>
+ <integer>876</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>869</integer>
+ <integer>879</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>872</integer>
+ <integer>882</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>875</integer>
+ <integer>885</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>878</integer>
+ <integer>888</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>881</integer>
+ <integer>891</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>884</integer>
+ <integer>894</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>887</integer>
+ <integer>897</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>890</integer>
+ <integer>900</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>893</integer>
+ <integer>903</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>896</integer>
+ <integer>906</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>899</integer>
+ <integer>909</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>902</integer>
+ <integer>912</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>905</integer>
+ <integer>915</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>914</integer>
+ <integer>923</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>921</integer>
+ <integer>930</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>924</integer>
+ <integer>933</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>925</integer>
+ <integer>934</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>927</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
<integer>936</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>939</integer>
+ <integer>945</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>943</integer>
+ <integer>948</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>959</integer>
+ <integer>952</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>963</integer>
+ <integer>968</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>967</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
<integer>972</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>975</integer>
+ <integer>976</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>978</integer>
+ <integer>981</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>981</integer>
+ <integer>984</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -324,55 +316,51 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>993</integer>
+ <integer>996</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>997</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
<integer>999</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1001</integer>
+ <integer>1002</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1003</integer>
+ <integer>1006</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1005</integer>
+ <integer>1008</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1007</integer>
+ <integer>1010</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1008</integer>
+ <integer>1012</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1009</integer>
+ <integer>1014</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1010</integer>
+ <integer>1016</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1012</integer>
+ <integer>1017</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1015</integer>
+ <integer>1018</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1018</integer>
+ <integer>1019</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -384,11 +372,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1031</integer>
+ <integer>1027</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1032</integer>
+ <integer>1030</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -396,31 +384,31 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1034</integer>
+ <integer>1040</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1037</integer>
+ <integer>1041</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1038</integer>
+ <integer>1042</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1041</integer>
+ <integer>1043</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1044</integer>
+ <integer>1046</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1045</integer>
+ <integer>1047</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1048</integer>
+ <integer>1050</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -432,59 +420,59 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1055</integer>
+ <integer>1057</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1056</integer>
+ <integer>1062</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1057</integer>
+ <integer>1063</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1062</integer>
+ <integer>1064</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1066</integer>
+ <integer>1065</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1072</integer>
+ <integer>1066</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1077</integer>
+ <integer>1071</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1081</integer>
+ <integer>1075</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1085</integer>
+ <integer>1081</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1087</integer>
+ <integer>1086</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1088</integer>
+ <integer>1090</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1091</integer>
+ <integer>1094</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1094</integer>
+ <integer>1096</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1098</integer>
+ <integer>1097</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -492,31 +480,31 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1102</integer>
+ <integer>1103</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1105</integer>
+ <integer>1107</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1108</integer>
+ <integer>1109</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1110</integer>
+ <integer>1111</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1112</integer>
+ <integer>1114</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1115</integer>
+ <integer>1117</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1118</integer>
+ <integer>1119</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -528,47 +516,47 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1126</integer>
+ <integer>1127</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1128</integer>
+ <integer>1130</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1129</integer>
+ <integer>1133</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1130</integer>
+ <integer>1135</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1131</integer>
+ <integer>1137</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1133</integer>
+ <integer>1138</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1135</integer>
+ <integer>1139</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1137</integer>
+ <integer>1140</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1139</integer>
+ <integer>1142</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1142</integer>
+ <integer>1144</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1145</integer>
+ <integer>1146</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -580,56 +568,60 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1155</integer>
+ <integer>1154</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1157</integer>
+ <integer>1158</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1159</integer>
+ <integer>1161</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1161</integer>
+ <integer>1163</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1164</integer>
+ <integer>1165</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1166</integer>
+ <integer>1167</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1168</integer>
+ <integer>1169</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1170</integer>
+ <integer>1171</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1172</integer>
+ <integer>1173</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1174</integer>
+ <integer>1175</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1176</integer>
+ <integer>1177</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1178</integer>
+ <integer>1179</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1180</integer>
+ <integer>1181</integer>
</dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>1184</integer>
+ </dict>
</array>
</dict>
<dict>
@@ -689,12 +681,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>200</integer>
+ <integer>96</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>322</integer>
+ <integer>199</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -704,10 +696,10 @@
<key>NSSubviews</key>
<dict>
<key>CF$UID</key>
- <integer>256</integer>
+ <integer>101</integer>
</dict>
</dict>
- <string>{{18, 127}, {105, 18}}</string>
+ <string>{{18, 103}, {105, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -862,7 +854,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{187, 207}, {151, 18}}</string>
+ <string>{{187, 183}, {151, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -977,7 +969,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 207}, {113, 18}}</string>
+ <string>{{18, 183}, {113, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1059,7 +1051,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 147}, {165, 18}}</string>
+ <string>{{18, 123}, {165, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1124,7 +1116,7 @@
<key>NSLabel</key>
<dict>
<key>CF$UID</key>
- <integer>832</integer>
+ <integer>840</integer>
</dict>
<key>NSSource</key>
<dict>
@@ -1136,22 +1128,22 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>831</integer>
+ <integer>839</integer>
</dict>
<key>NSMaxSize</key>
<dict>
<key>CF$UID</key>
- <integer>830</integer>
+ <integer>838</integer>
</dict>
<key>NSMinSize</key>
<dict>
<key>CF$UID</key>
- <integer>829</integer>
+ <integer>837</integer>
</dict>
<key>NSScreenRect</key>
<dict>
<key>CF$UID</key>
- <integer>828</integer>
+ <integer>836</integer>
</dict>
<key>NSViewClass</key>
<dict>
@@ -1185,7 +1177,7 @@
<integer>46</integer>
</dict>
</dict>
- <string>{{153, 301}, {634, 423}}</string>
+ <string>{{153, 336}, {634, 393}}</string>
<string>Preferences</string>
<string>NSPanel</string>
<dict>
@@ -1211,12 +1203,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>200</integer>
+ <integer>96</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>827</integer>
+ <integer>835</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1233,7 +1225,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
+ <integer>94</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1243,11 +1235,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>789</integer>
+ <integer>797</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>822</integer>
+ <integer>830</integer>
</dict>
</array>
</dict>
@@ -1255,7 +1247,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>788</integer>
+ <integer>796</integer>
</dict>
<key>NSAllowTruncatedLabels</key>
<true/>
@@ -1269,7 +1261,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>252</integer>
+ <integer>97</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1279,7 +1271,7 @@
<key>NSSelectedTabViewItem</key>
<dict>
<key>CF$UID</key>
- <integer>366</integer>
+ <integer>202</integer>
</dict>
<key>NSSubviews</key>
<dict>
@@ -1294,7 +1286,7 @@
<key>NSTabViewItems</key>
<dict>
<key>CF$UID</key>
- <integer>253</integer>
+ <integer>98</integer>
</dict>
<key>NSTvFlags</key>
<integer>4</integer>
@@ -1303,7 +1295,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
+ <integer>94</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1317,12 +1309,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>200</integer>
+ <integer>96</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>251</integer>
+ <integer>95</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1344,7 +1336,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
+ <integer>94</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1366,8 +1358,16 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>211</integer>
+ <integer>72</integer>
</dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>76</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>90</integer>
+ </dict>
</array>
</dict>
<dict>
@@ -1401,7 +1401,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{378, 287}, {198, 18}}</string>
+ <string>{{18, 168}, {154, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1451,7 +1451,7 @@
<integer>15</integer>
</dict>
</dict>
- <string>Kempston joystick interface</string>
+ <string>AY stereo seperation</string>
<dict>
<key>$class</key>
<dict>
@@ -1483,7 +1483,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{378, 243}, {138, 18}}</string>
+ <string>{{18, 146}, {162, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1533,7 +1533,7 @@
<integer>15</integer>
</dict>
</dict>
- <string>Interface II</string>
+ <string>Beeper pseudo-stereo</string>
<dict>
<key>$class</key>
<dict>
@@ -1565,7 +1565,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{378, 265}, {187, 18}}</string>
+ <string>{{18, 190}, {126, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1615,252 +1615,166 @@
<integer>15</integer>
</dict>
</dict>
- <string>Kempston mouse</string>
+ <string>Loading sounds</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>210</integer>
+ <integer>71</integer>
</dict>
- <key>NSBorderType</key>
- <integer>3</integer>
- <key>NSBoxType</key>
- <integer>0</integer>
- <key>NSContentView</key>
+ <key>NSCell</key>
<dict>
<key>CF$UID</key>
<integer>66</integer>
</dict>
+ <key>NSEnabled</key>
+ <true/>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>201</integer>
+ <integer>65</integer>
</dict>
<key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
<integer>50</integer>
</dict>
- <key>NSOffsets</key>
- <dict>
- <key>CF$UID</key>
- <integer>202</integer>
- </dict>
- <key>NSSubviews</key>
- <dict>
- <key>CF$UID</key>
- <integer>65</integer>
- </dict>
<key>NSSuperview</key>
<dict>
<key>CF$UID</key>
<integer>50</integer>
</dict>
- <key>NSTitleCell</key>
- <dict>
- <key>CF$UID</key>
- <integer>203</integer>
- </dict>
- <key>NSTitlePosition</key>
- <integer>2</integer>
- <key>NSTransparent</key>
- <false/>
+ <key>NSvFlags</key>
+ <integer>256</integer>
</dict>
+ <string>{{97, 222}, {115, 25}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
+ <integer>70</integer>
</dict>
- <key>NS.objects</key>
- <array>
- <dict>
- <key>CF$UID</key>
- <integer>66</integer>
- </dict>
- </array>
- </dict>
- <dict>
- <key>$class</key>
+ <key>NSAllowsTickMarkValuesOnly</key>
+ <true/>
+ <key>NSAltIncValue</key>
+ <real>0.0</real>
+ <key>NSCellFlags</key>
+ <integer>67239424</integer>
+ <key>NSCellFlags2</key>
+ <integer>0</integer>
+ <key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>200</integer>
+ <integer>67</integer>
</dict>
- <key>NSFrame</key>
+ <key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>199</integer>
- </dict>
- <key>NSNextResponder</key>
- <dict>
- <key>CF$UID</key>
<integer>64</integer>
</dict>
- <key>NSSubviews</key>
+ <key>NSMaxValue</key>
+ <real>8</real>
+ <key>NSMinValue</key>
+ <real>3</real>
+ <key>NSNumberOfTickMarks</key>
+ <integer>6</integer>
+ <key>NSSupport</key>
<dict>
<key>CF$UID</key>
- <integer>67</integer>
+ <integer>68</integer>
</dict>
- <key>NSSuperview</key>
- <dict>
- <key>CF$UID</key>
- <integer>64</integer>
- </dict>
+ <key>NSTickMarkPosition</key>
+ <integer>0</integer>
+ <key>NSValue</key>
+ <real>8</real>
+ <key>NSVertical</key>
+ <false/>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
+ <integer>45</integer>
</dict>
- <key>NS.objects</key>
- <array>
- <dict>
- <key>CF$UID</key>
- <integer>68</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>131</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>135</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>139</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>143</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>147</integer>
- </dict>
- </array>
+ <key>NS.string</key>
+ <string></string>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>130</integer>
+ <integer>17</integer>
</dict>
- <key>NSBackgroundColor</key>
+ <key>NSName</key>
<dict>
<key>CF$UID</key>
- <integer>125</integer>
+ <integer>69</integer>
</dict>
- <key>NSCellBackgroundColor</key>
+ <key>NSSize</key>
+ <real>12</real>
+ <key>NSfFlags</key>
+ <integer>16</integer>
+ </dict>
+ <string>Helvetica</string>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSSliderCell</string>
+ <string>NSActionCell</string>
+ <string>NSCell</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSSliderCell</string>
+ </dict>
+ <dict>
+ <key>$classes</key>
+ <array>
+ <string>NSSlider</string>
+ <string>NSControl</string>
+ <string>NSView</string>
+ <string>NSResponder</string>
+ <string>NSObject</string>
+ </array>
+ <key>$classname</key>
+ <string>NSSlider</string>
+ </dict>
+ <dict>
+ <key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>129</integer>
+ <integer>23</integer>
</dict>
- <key>NSCellClass</key>
+ <key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>122</integer>
+ <integer>74</integer>
</dict>
- <key>NSCellSize</key>
- <dict>
- <key>CF$UID</key>
- <integer>120</integer>
- </dict>
- <key>NSCells</key>
- <dict>
- <key>CF$UID</key>
- <integer>70</integer>
- </dict>
<key>NSEnabled</key>
<true/>
- <key>NSFont</key>
- <dict>
- <key>CF$UID</key>
- <integer>15</integer>
- </dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>69</integer>
+ <integer>73</integer>
</dict>
- <key>NSIntercellSpacing</key>
- <dict>
- <key>CF$UID</key>
- <integer>121</integer>
- </dict>
- <key>NSMatrixFlags</key>
- <integer>1076363264</integer>
<key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
- <integer>66</integer>
+ <integer>50</integer>
</dict>
- <key>NSNumCols</key>
- <integer>1</integer>
- <key>NSNumRows</key>
- <integer>7</integer>
- <key>NSProtoCell</key>
- <dict>
- <key>CF$UID</key>
- <integer>123</integer>
- </dict>
- <key>NSSelectedCell</key>
- <dict>
- <key>CF$UID</key>
- <integer>71</integer>
- </dict>
<key>NSSuperview</key>
<dict>
<key>CF$UID</key>
- <integer>66</integer>
+ <integer>50</integer>
</dict>
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 16}, {138, 138}}</string>
+ <string>{{18, 249}, {116, 18}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
- </dict>
- <key>NS.objects</key>
- <array>
- <dict>
- <key>CF$UID</key>
- <integer>71</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>75</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>78</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>93</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>101</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>109</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>117</integer>
- </dict>
- </array>
- </dict>
- <dict>
- <key>$class</key>
- <dict>
- <key>CF$UID</key>
<integer>22</integer>
</dict>
<key>NSAlternateContents</key>
@@ -1871,25 +1785,25 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>73</integer>
+ <integer>18</integer>
</dict>
<key>NSButtonFlags</key>
<integer>1211912703</integer>
<key>NSButtonFlags2</key>
<integer>2</integer>
<key>NSCellFlags</key>
- <integer>-2080244224</integer>
+ <integer>67239424</integer>
<key>NSCellFlags2</key>
<integer>0</integer>
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>72</integer>
+ <integer>75</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>68</integer>
+ <integer>72</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -1906,100 +1820,54 @@
<integer>15</integer>
</dict>
</dict>
- <string>None</string>
+ <string>Enabled</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>20</integer>
+ <integer>89</integer>
</dict>
- <key>NSImageName</key>
+ <key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>74</integer>
+ <integer>78</integer>
</dict>
- </dict>
- <string>NSRadioButton</string>
- <dict>
- <key>$class</key>
+ <key>NSEnabled</key>
+ <true/>
+ <key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>22</integer>
- </dict>
- <key>NSAlternateContents</key>
- <dict>
- <key>CF$UID</key>
<integer>77</integer>
</dict>
- <key>NSAlternateImage</key>
+ <key>NSNextResponder</key>
<dict>
<key>CF$UID...
[truncated message content] |
|
From: <fr...@us...> - 2007-08-06 02:24:36
|
Revision: 450
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=450&view=rev
Author: fredm
Date: 2007-08-05 19:24:38 -0700 (Sun, 05 Aug 2007)
Log Message:
-----------
Merge up to vendor revision 3095.
Revision Links:
--------------
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=3095&view=rev
Modified Paths:
--------------
trunk/fuse/Makefile.am
trunk/fuse/compat/Makefile.am
trunk/fuse/compat/dirname.c
trunk/fuse/compat/getopt.c
trunk/fuse/compat/getopt1.c
trunk/fuse/compat/mkstemp.c
trunk/fuse/compat.h
trunk/fuse/configure.in
trunk/fuse/event.c
trunk/fuse/fuse.cpp
trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj
trunk/fuse/fusepb/Info-Fuse.plist
trunk/fuse/fusepb/config.h
trunk/fuse/hacking/ChangeLog
trunk/fuse/machines/tc2048.c
trunk/fuse/menu_data.pl
trunk/fuse/printer.c
trunk/fuse/rzx.c
trunk/fuse/settings.pl
trunk/fuse/sound/Makefile.am
trunk/fuse/sound/alsasound.c
trunk/fuse/sound/aosound.c
trunk/fuse/sound/coreaudiosound.c
trunk/fuse/sound/dxsound.c
trunk/fuse/sound/hpsound.c
trunk/fuse/sound/nullsound.c
trunk/fuse/sound/osssound.c
trunk/fuse/sound/sdlsound.c
trunk/fuse/sound/sfifo.c
trunk/fuse/sound/sunsound.c
trunk/fuse/sound.c
trunk/fuse/spectrum.c
trunk/fuse/tape.c
trunk/fuse/tape.h
trunk/fuse/trdos.c
trunk/fuse/ui/gtk/debugger.c
trunk/fuse/ui/gtk/gtkjoystick.c
trunk/fuse/ui/gtk/gtkmouse.c
trunk/fuse/ui/gtk/gtkui.c
trunk/fuse/ui/gtk/pokefinder.c
trunk/fuse/ui/gtk/stock.c
trunk/fuse/ula.c
trunk/fuse/utils.c
trunk/fuse/widget/widget.c
trunk/fuse/z80/coretest.c
Added Paths:
-----------
trunk/fuse/compat/amiga/
trunk/fuse/compat/amiga/Makefile.am
trunk/fuse/compat/amiga/paths.c
trunk/fuse/compat/morphos/
trunk/fuse/compat/morphos/Makefile.am
trunk/fuse/compat/morphos/osname.c
trunk/fuse/compat/unix/
trunk/fuse/compat/unix/Makefile.am
trunk/fuse/compat/unix/osname.c
trunk/fuse/compat/unix/paths.c
trunk/fuse/compat/win32/
trunk/fuse/compat/win32/Makefile.am
trunk/fuse/compat/win32/osname.c
trunk/fuse/compat/win32/paths.c
trunk/fuse/timer/
trunk/fuse/timer/Makefile.am
trunk/fuse/timer/sdl.c
trunk/fuse/timer/timer.c
trunk/fuse/timer/timer.h
trunk/fuse/timer/unix.c
trunk/fuse/timer/win32.c
Removed Paths:
-------------
trunk/fuse/compat/amiga/Makefile.am
trunk/fuse/compat/amiga/paths.c
trunk/fuse/compat/morphos/Makefile.am
trunk/fuse/compat/morphos/osname.c
trunk/fuse/compat/unix/Makefile.am
trunk/fuse/compat/unix/osname.c
trunk/fuse/compat/unix/paths.c
trunk/fuse/compat/win32/Makefile.am
trunk/fuse/compat/win32/osname.c
trunk/fuse/compat/win32/paths.c
trunk/fuse/sound/lowlevel.h
trunk/fuse/timer/Makefile.am
trunk/fuse/timer/sdl.c
trunk/fuse/timer/timer.c
trunk/fuse/timer/timer.h
trunk/fuse/timer/unix.c
trunk/fuse/timer/win32.c
trunk/fuse/timer.c
trunk/fuse/timer.h
Modified: trunk/fuse/Makefile.am
===================================================================
--- trunk/fuse/Makefile.am 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
## Copyright (c) 1999-2004 Philip Kendall
-## $Id: Makefile.am 3007 2007-06-17 18:50:48Z zubzero $
+## $Id: Makefile.am 3091 2007-08-04 16:44:45Z pak21 $
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -36,6 +36,7 @@
pokefinder \
roms \
sound \
+ timer \
ui \
@WIDGET@ \
z80
@@ -87,7 +88,6 @@
sound.c \
spectrum.c \
tape.c \
- timer.c \
trdos.c \
ui.c \
uidisplay.c \
@@ -107,19 +107,18 @@
sound/libsound.a \
ui/scaler/libscaler.a \
debugger/libdebugger.a \
+timer/libtimer.a \
z80/libz80.a \
@DSKLIBS@ \
@LIBSPEC_LIBS@ \
@GLIB_LIBS@ \
@PNG_LIBS@ \
-@ASOUND_LIBS@ \
-@AO_LIBS@ \
+@SOUND_LIBS@ \
@SAMPLERATE_LIBS@ \
-@DIRECTSOUND_LIBS@ \
-@COREAUDIO_LIBS@ \
@X_LIBS@ \
@XML_LIBS@ \
compat/libcompat.a \
+compat/unix/libcompatos.a \
@WINDRES_OBJ@
fuse_DEPENDENCIES = @UI_LIBS@ \
@@ -173,7 +172,6 @@
sound.h \
spectrum.h \
tape.h \
- timer.h \
trdos.h \
utils.h \
joystick.h \
Modified: trunk/fuse/compat/Makefile.am
===================================================================
--- trunk/fuse/compat/Makefile.am 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
-## Copyright (c) 2003 Philip Kendall
+## Copyright (c) 2003-2007 Philip Kendall
-## $Id: Makefile.am 2889 2007-05-26 17:45:08Z zubzero $
+## $Id: Makefile.am 3091 2007-08-04 16:44:45Z pak21 $
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -23,13 +23,25 @@
AUTOMAKE_OPTIONS = foreign
+SUBDIRS = @COMPAT_OSNAME@
+
+DIST_SUBDIRS = amiga \
+ morphos \
+ unix \
+ win32
+
noinst_LIBRARIES = libcompat.a
-libcompat_a_SOURCES = dirname.c \
- getopt.c \
- getopt1.c \
- mkstemp.c
+libcompat_a_SOURCES =
+EXTRA_libcompat_a_SOURCES = dirname.c \
+ getopt.c \
+ getopt1.c \
+ mkstemp.c
+
+libcompat_a_LIBADD = $(COMPAT_LIBADD)
+libcompat_a_DEPENDENCIES = $(COMPAT_LIBADD)
+
INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@
noinst_HEADERS = getopt.h
Copied: trunk/fuse/compat/amiga (from rev 449, vendor/fuse-emulator/current/fuse/compat/amiga)
Deleted: trunk/fuse/compat/amiga/Makefile.am
===================================================================
--- vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/amiga/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,31 +0,0 @@
-## Process this file with automake to produce Makefile.in
-## Copyright (c) 2007 Philip Kendall
-
-## $Id: Makefile.am 3092 2007-08-04 19:20:58Z pak21 $
-
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with this program; if not, write to the Free Software Foundation, Inc.,
-## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-##
-## Author contact information:
-##
-## E-mail: phi...@sh...
-
-AUTOMAKE_OPTIONS = foreign
-
-noinst_LIBRARIES = libcompatos.a
-
-libcompatos_a_SOURCES = ../unix/osname.c \
- paths.c
-
-INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@
Copied: trunk/fuse/compat/amiga/Makefile.am (from rev 449, vendor/fuse-emulator/current/fuse/compat/amiga/Makefile.am)
===================================================================
--- trunk/fuse/compat/amiga/Makefile.am (rev 0)
+++ trunk/fuse/compat/amiga/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -0,0 +1,31 @@
+## Process this file with automake to produce Makefile.in
+## Copyright (c) 2007 Philip Kendall
+
+## $Id: Makefile.am 3092 2007-08-04 19:20:58Z pak21 $
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with this program; if not, write to the Free Software Foundation, Inc.,
+## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+##
+## Author contact information:
+##
+## E-mail: phi...@sh...
+
+AUTOMAKE_OPTIONS = foreign
+
+noinst_LIBRARIES = libcompatos.a
+
+libcompatos_a_SOURCES = ../unix/osname.c \
+ paths.c
+
+INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@
Deleted: trunk/fuse/compat/amiga/paths.c
===================================================================
--- vendor/fuse-emulator/current/fuse/compat/amiga/paths.c 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/amiga/paths.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,40 +0,0 @@
-/* paths.c: Path-related compatability routines
- Copyright (c) 1999-2007 Philip Kendall
-
- $Id: paths.c 3092 2007-08-04 19:20:58Z pak21 $
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Author contact information:
-
- E-mail: phi...@sh...
-
-*/
-
-#include <config.h>
-
-#include "compat.h"
-
-const char*
-compat_get_temp_path( void )
-{
- return "T:";
-}
-
-const char*
-compat_get_home_path( void )
-{
- return "PROGDIR:settings";
-}
Copied: trunk/fuse/compat/amiga/paths.c (from rev 449, vendor/fuse-emulator/current/fuse/compat/amiga/paths.c)
===================================================================
--- trunk/fuse/compat/amiga/paths.c (rev 0)
+++ trunk/fuse/compat/amiga/paths.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -0,0 +1,40 @@
+/* paths.c: Path-related compatability routines
+ Copyright (c) 1999-2007 Philip Kendall
+
+ $Id: paths.c 3092 2007-08-04 19:20:58Z pak21 $
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Author contact information:
+
+ E-mail: phi...@sh...
+
+*/
+
+#include <config.h>
+
+#include "compat.h"
+
+const char*
+compat_get_temp_path( void )
+{
+ return "T:";
+}
+
+const char*
+compat_get_home_path( void )
+{
+ return "PROGDIR:settings";
+}
Modified: trunk/fuse/compat/dirname.c
===================================================================
--- trunk/fuse/compat/dirname.c 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/dirname.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -26,8 +26,6 @@
#include <config.h>
-#ifndef HAVE_DIRNAME
-
#include <string.h>
#include "fuse.h"
@@ -99,5 +97,3 @@
return path;
}
-
-#endif /* #ifndef HAVE_DIRNAME */
Modified: trunk/fuse/compat/getopt.c
===================================================================
--- trunk/fuse/compat/getopt.c 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/getopt.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -34,8 +34,6 @@
# include <config.h>
#endif
-#if !defined HAVE_GETOPT_LONG && !defined AMIGA && !defined __MORPHOS__
-
#if !defined __STDC__ || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
@@ -1280,5 +1278,3 @@
}
#endif /* TEST */
-
-#endif /* #ifndef HAVE_GETOPT_LONG */
Modified: trunk/fuse/compat/getopt1.c
===================================================================
--- trunk/fuse/compat/getopt1.c 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/getopt1.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -24,8 +24,6 @@
#include <config.h>
#endif
-#if !defined HAVE_GETOPT_LONG && !defined AMIGA && !defined __MORPHOS__
-
#ifdef _LIBC
# include <getopt.h>
#else
@@ -198,5 +196,3 @@
}
#endif /* TEST */
-
-#endif /* #ifndef HAVE_GETOPT_LONG */
Modified: trunk/fuse/compat/mkstemp.c
===================================================================
--- trunk/fuse/compat/mkstemp.c 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/mkstemp.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -20,8 +20,6 @@
#include <config.h>
-#ifndef HAVE_MKSTEMP
-
#include <errno.h>
#include <stdlib.h>
#include <string.h>
@@ -109,5 +107,3 @@
errno = EEXIST;
return -1;
}
-
-#endif /* #ifdef HAVE_MKSTEMP */
Copied: trunk/fuse/compat/morphos (from rev 449, vendor/fuse-emulator/current/fuse/compat/morphos)
Deleted: trunk/fuse/compat/morphos/Makefile.am
===================================================================
--- vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/morphos/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,31 +0,0 @@
-## Process this file with automake to produce Makefile.in
-## Copyright (c) 2007 Philip Kendall
-
-## $Id: Makefile.am 3092 2007-08-04 19:20:58Z pak21 $
-
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with this program; if not, write to the Free Software Foundation, Inc.,
-## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-##
-## Author contact information:
-##
-## E-mail: phi...@sh...
-
-AUTOMAKE_OPTIONS = foreign
-
-noinst_LIBRARIES = libcompatos.a
-
-libcompatos_a_SOURCES = osname.c \
- ../amiga/paths.c
-
-INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@
Copied: trunk/fuse/compat/morphos/Makefile.am (from rev 449, vendor/fuse-emulator/current/fuse/compat/morphos/Makefile.am)
===================================================================
--- trunk/fuse/compat/morphos/Makefile.am (rev 0)
+++ trunk/fuse/compat/morphos/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -0,0 +1,31 @@
+## Process this file with automake to produce Makefile.in
+## Copyright (c) 2007 Philip Kendall
+
+## $Id: Makefile.am 3092 2007-08-04 19:20:58Z pak21 $
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with this program; if not, write to the Free Software Foundation, Inc.,
+## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+##
+## Author contact information:
+##
+## E-mail: phi...@sh...
+
+AUTOMAKE_OPTIONS = foreign
+
+noinst_LIBRARIES = libcompatos.a
+
+libcompatos_a_SOURCES = osname.c \
+ ../amiga/paths.c
+
+INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@
Deleted: trunk/fuse/compat/morphos/osname.c
===================================================================
--- vendor/fuse-emulator/current/fuse/compat/morphos/osname.c 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/morphos/osname.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,34 +0,0 @@
-/* osname.c: Get a representation of the OS we're running on
- Copyright (c) 1999-2007 Philip Kendall
-
- $Id: osname.c 3091 2007-08-04 16:44:45Z pak21 $
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Author contact information:
-
- E-mail: phi...@sh...
-
-*/
-
-#include <config.h>
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int compat_osname( char *buffer, size_t length )
-{
- snprintf( buffer, length, "%s %s %s", "MorphOS", "Pegasos", "1.4.4" );
-}
Copied: trunk/fuse/compat/morphos/osname.c (from rev 449, vendor/fuse-emulator/current/fuse/compat/morphos/osname.c)
===================================================================
--- trunk/fuse/compat/morphos/osname.c (rev 0)
+++ trunk/fuse/compat/morphos/osname.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -0,0 +1,34 @@
+/* osname.c: Get a representation of the OS we're running on
+ Copyright (c) 1999-2007 Philip Kendall
+
+ $Id: osname.c 3091 2007-08-04 16:44:45Z pak21 $
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Author contact information:
+
+ E-mail: phi...@sh...
+
+*/
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int compat_osname( char *buffer, size_t length )
+{
+ snprintf( buffer, length, "%s %s %s", "MorphOS", "Pegasos", "1.4.4" );
+}
Copied: trunk/fuse/compat/unix (from rev 449, vendor/fuse-emulator/current/fuse/compat/unix)
Deleted: trunk/fuse/compat/unix/Makefile.am
===================================================================
--- vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/unix/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,31 +0,0 @@
-## Process this file with automake to produce Makefile.in
-## Copyright (c) 2007 Philip Kendall
-
-## $Id: Makefile.am 3092 2007-08-04 19:20:58Z pak21 $
-
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 2 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with this program; if not, write to the Free Software Foundation, Inc.,
-## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-##
-## Author contact information:
-##
-## E-mail: phi...@sh...
-
-AUTOMAKE_OPTIONS = foreign
-
-noinst_LIBRARIES = libcompatos.a
-
-libcompatos_a_SOURCES = osname.c \
- paths.c
-
-INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@
Copied: trunk/fuse/compat/unix/Makefile.am (from rev 449, vendor/fuse-emulator/current/fuse/compat/unix/Makefile.am)
===================================================================
--- trunk/fuse/compat/unix/Makefile.am (rev 0)
+++ trunk/fuse/compat/unix/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -0,0 +1,31 @@
+## Process this file with automake to produce Makefile.in
+## Copyright (c) 2007 Philip Kendall
+
+## $Id: Makefile.am 3092 2007-08-04 19:20:58Z pak21 $
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with this program; if not, write to the Free Software Foundation, Inc.,
+## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+##
+## Author contact information:
+##
+## E-mail: phi...@sh...
+
+AUTOMAKE_OPTIONS = foreign
+
+noinst_LIBRARIES = libcompatos.a
+
+libcompatos_a_SOURCES = osname.c \
+ paths.c
+
+INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@
Deleted: trunk/fuse/compat/unix/osname.c
===================================================================
--- vendor/fuse-emulator/current/fuse/compat/unix/osname.c 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/unix/osname.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,50 +0,0 @@
-/* osname.c: Get a representation of the OS we're running on
- Copyright (c) 1999-2007 Philip Kendall
-
- $Id: osname.c 3094 2007-08-05 14:20:15Z fredm $
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Author contact information:
-
- E-mail: phi...@sh...
-
-*/
-
-#include <config.h>
-
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/utsname.h>
-
-#include "ui/ui.h"
-
-int compat_osname( char *buffer, size_t length )
-{
- struct utsname osname;
- int error;
-
- error = uname( &osname );
- if( error ) {
- ui_error( UI_ERROR_ERROR, "error getting system information: %s",
- strerror( errno ) );
- return 1;
- }
-
- snprintf( buffer, length, "%s %s %s", osname.sysname, osname.machine,
- osname.release );
- return 0;
-}
Copied: trunk/fuse/compat/unix/osname.c (from rev 449, vendor/fuse-emulator/current/fuse/compat/unix/osname.c)
===================================================================
--- trunk/fuse/compat/unix/osname.c (rev 0)
+++ trunk/fuse/compat/unix/osname.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -0,0 +1,50 @@
+/* osname.c: Get a representation of the OS we're running on
+ Copyright (c) 1999-2007 Philip Kendall
+
+ $Id: osname.c 3094 2007-08-05 14:20:15Z fredm $
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Author contact information:
+
+ E-mail: phi...@sh...
+
+*/
+
+#include <config.h>
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/utsname.h>
+
+#include "ui/ui.h"
+
+int compat_osname( char *buffer, size_t length )
+{
+ struct utsname osname;
+ int error;
+
+ error = uname( &osname );
+ if( error ) {
+ ui_error( UI_ERROR_ERROR, "error getting system information: %s",
+ strerror( errno ) );
+ return 1;
+ }
+
+ snprintf( buffer, length, "%s %s %s", osname.sysname, osname.machine,
+ osname.release );
+ return 0;
+}
Deleted: trunk/fuse/compat/unix/paths.c
===================================================================
--- vendor/fuse-emulator/current/fuse/compat/unix/paths.c 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/unix/paths.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,48 +0,0 @@
-/* paths.c: Path-related compatability routines
- Copyright (c) 1999-2007 Philip Kendall
-
- $Id: paths.c 3092 2007-08-04 19:20:58Z pak21 $
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Author contact information:
-
- E-mail: phi...@sh...
-
-*/
-
-#include <config.h>
-
-#include <stdlib.h>
-
-#include "compat.h"
-
-const char*
-compat_get_temp_path( void )
-{
- const char *dir;
-
- /* Use TMPDIR if specified, if not /tmp */
- dir = getenv( "TMPDIR" ); if( dir ) return dir;
- return "/tmp";
-}
-
-const char*
-compat_get_home_path( void )
-{
- const char *dir;
- dir = getenv( "HOME" ); if( dir ) return dir;
- return ".";
-}
Copied: trunk/fuse/compat/unix/paths.c (from rev 449, vendor/fuse-emulator/current/fuse/compat/unix/paths.c)
===================================================================
--- trunk/fuse/compat/unix/paths.c (rev 0)
+++ trunk/fuse/compat/unix/paths.c 2007-08-06 02:24:38 UTC (rev 450)
@@ -0,0 +1,48 @@
+/* paths.c: Path-related compatability routines
+ Copyright (c) 1999-2007 Philip Kendall
+
+ $Id: paths.c 3092 2007-08-04 19:20:58Z pak21 $
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Author contact information:
+
+ E-mail: phi...@sh...
+
+*/
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include "compat.h"
+
+const char*
+compat_get_temp_path( void )
+{
+ const char *dir;
+
+ /* Use TMPDIR if specified, if not /tmp */
+ dir = getenv( "TMPDIR" ); if( dir ) return dir;
+ return "/tmp";
+}
+
+const char*
+compat_get_home_path( void )
+{
+ const char *dir;
+ dir = getenv( "HOME" ); if( dir ) return dir;
+ return ".";
+}
Copied: trunk/fuse/compat/win32 (from rev 449, vendor/fuse-emulator/current/fuse/compat/win32)
Deleted: trunk/fuse/compat/win32/Makefile.am
===================================================================
--- vendor/fuse-emulator/current/fuse/compat/win32/Makefile.am 2007-08-06 01:18:06 UTC (rev 449)
+++ trunk/fuse/compat/win32/Makefile.am 2007-08-06 02:24:38 UTC (rev 450)
@@ -1,31 +0,0 @@
-## Process this file with automake to produce Makefile.in
-## Copyright (c) 2007 Philip Kendall
-
-## $Id: Makefile.am 3092 2007-08-04 19:20:58Z pak21 $
-
-## This program is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free ...
[truncated message content] |
|
From: <fr...@us...> - 2007-08-12 05:49:32
|
Revision: 453
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=453&view=rev
Author: fredm
Date: 2007-08-11 22:49:27 -0700 (Sat, 11 Aug 2007)
Log Message:
-----------
Rollback revision 434 now we understand what was causing the texture
distortion.
Revision Links:
--------------
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=434&view=rev
Modified Paths:
--------------
trunk/fuse/fusepb/controllers/PreferencesController.m
trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/settings.dat
trunk/fuse/ui/cocoa/cocoadisplay.m
Modified: trunk/fuse/fusepb/controllers/PreferencesController.m
===================================================================
--- trunk/fuse/fusepb/controllers/PreferencesController.m 2007-08-12 00:30:35 UTC (rev 452)
+++ trunk/fuse/fusepb/controllers/PreferencesController.m 2007-08-12 05:49:27 UTC (rev 453)
@@ -142,6 +142,8 @@
[[NSNotificationCenter defaultCenter] removeObserver:self];
+ int old_bilinear = settings_current.bilinear_filter;
+
/* Values in shared defaults have been updated, pass them onto Fuse */
read_config_file( &settings_current );
@@ -152,8 +154,9 @@
// B&W TV status may have changed
display_refresh_all();
- if( current_scaler != scaler_get_type(settings_current.start_scaler_mode)
- && !scaler_select_id(settings_current.start_scaler_mode) ) {
+ if( ( ( current_scaler != scaler_get_type(settings_current.start_scaler_mode) )
+ && !scaler_select_id(settings_current.start_scaler_mode) ) ||
+ old_bilinear != settings_current.bilinear_filter ) {
uidisplay_hotswap_gfx_mode();
}
Modified: trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
===================================================================
--- trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2007-08-12 00:30:35 UTC (rev 452)
+++ trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2007-08-12 05:49:27 UTC (rev 453)
@@ -11,32 +11,32 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>1569</integer>
+ <integer>1565</integer>
</dict>
<key>NSAccessibilityConnectors</key>
<dict>
<key>CF$UID</key>
- <integer>1566</integer>
+ <integer>1562</integer>
</dict>
<key>NSAccessibilityOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1567</integer>
+ <integer>1563</integer>
</dict>
<key>NSAccessibilityOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1568</integer>
+ <integer>1564</integer>
</dict>
<key>NSClassesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1260</integer>
+ <integer>1256</integer>
</dict>
<key>NSClassesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1261</integer>
+ <integer>1257</integer>
</dict>
<key>NSConnections</key>
<dict>
@@ -56,34 +56,34 @@
<key>NSNamesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1195</integer>
+ <integer>1190</integer>
</dict>
<key>NSNamesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1196</integer>
+ <integer>1191</integer>
</dict>
<key>NSNextOid</key>
- <integer>1053</integer>
+ <integer>1116</integer>
<key>NSObjectsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1188</integer>
+ <integer>1183</integer>
</dict>
<key>NSObjectsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1194</integer>
+ <integer>1189</integer>
</dict>
<key>NSOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1262</integer>
+ <integer>1258</integer>
</dict>
<key>NSOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1263</integer>
+ <integer>1259</integer>
</dict>
<key>NSRoot</key>
<dict>
@@ -142,7 +142,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>94</integer>
+ <integer>89</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -160,151 +160,159 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>841</integer>
+ <integer>833</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>850</integer>
+ <integer>840</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>851</integer>
+ <integer>841</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>855</integer>
+ <integer>845</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>858</integer>
+ <integer>848</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>861</integer>
+ <integer>851</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>864</integer>
+ <integer>854</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>867</integer>
+ <integer>857</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>870</integer>
+ <integer>860</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>873</integer>
+ <integer>863</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>876</integer>
+ <integer>866</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>879</integer>
+ <integer>869</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>882</integer>
+ <integer>872</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>885</integer>
+ <integer>875</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>888</integer>
+ <integer>878</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>891</integer>
+ <integer>881</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>894</integer>
+ <integer>884</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>897</integer>
+ <integer>887</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>900</integer>
+ <integer>890</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>903</integer>
+ <integer>893</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>906</integer>
+ <integer>896</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>909</integer>
+ <integer>899</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>912</integer>
+ <integer>902</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>915</integer>
+ <integer>905</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>923</integer>
+ <integer>914</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>930</integer>
+ <integer>921</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>933</integer>
+ <integer>924</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>934</integer>
+ <integer>925</integer>
</dict>
<dict>
<key>CF$UID</key>
+ <integer>927</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
<integer>936</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>945</integer>
+ <integer>939</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>948</integer>
+ <integer>943</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>952</integer>
+ <integer>959</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>968</integer>
+ <integer>963</integer>
</dict>
<dict>
<key>CF$UID</key>
+ <integer>967</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
<integer>972</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>976</integer>
+ <integer>975</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>981</integer>
+ <integer>978</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>984</integer>
+ <integer>981</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -316,51 +324,55 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>996</integer>
+ <integer>993</integer>
</dict>
<dict>
<key>CF$UID</key>
+ <integer>997</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
<integer>999</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1002</integer>
+ <integer>1001</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1006</integer>
+ <integer>1003</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1008</integer>
+ <integer>1005</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1010</integer>
+ <integer>1007</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1012</integer>
+ <integer>1008</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1014</integer>
+ <integer>1009</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1016</integer>
+ <integer>1010</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1017</integer>
+ <integer>1012</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1018</integer>
+ <integer>1015</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1019</integer>
+ <integer>1018</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -372,11 +384,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1027</integer>
+ <integer>1031</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1030</integer>
+ <integer>1032</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -384,31 +396,31 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1040</integer>
+ <integer>1034</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1041</integer>
+ <integer>1037</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1042</integer>
+ <integer>1038</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1043</integer>
+ <integer>1041</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1046</integer>
+ <integer>1044</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1047</integer>
+ <integer>1045</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1050</integer>
+ <integer>1048</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -420,59 +432,59 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1057</integer>
+ <integer>1055</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1062</integer>
+ <integer>1056</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1063</integer>
+ <integer>1057</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1064</integer>
+ <integer>1062</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1065</integer>
+ <integer>1066</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1066</integer>
+ <integer>1072</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1071</integer>
+ <integer>1077</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1075</integer>
+ <integer>1081</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1081</integer>
+ <integer>1085</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1086</integer>
+ <integer>1087</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1090</integer>
+ <integer>1088</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1094</integer>
+ <integer>1091</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1096</integer>
+ <integer>1094</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1097</integer>
+ <integer>1098</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -480,31 +492,31 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1103</integer>
+ <integer>1102</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1107</integer>
+ <integer>1105</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1109</integer>
+ <integer>1108</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1111</integer>
+ <integer>1110</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1114</integer>
+ <integer>1112</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1117</integer>
+ <integer>1115</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1119</integer>
+ <integer>1118</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -516,47 +528,47 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1127</integer>
+ <integer>1126</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1130</integer>
+ <integer>1128</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1133</integer>
+ <integer>1129</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1135</integer>
+ <integer>1130</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1137</integer>
+ <integer>1131</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1138</integer>
+ <integer>1133</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1139</integer>
+ <integer>1135</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1140</integer>
+ <integer>1137</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1142</integer>
+ <integer>1139</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1144</integer>
+ <integer>1142</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1146</integer>
+ <integer>1145</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -568,60 +580,56 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1154</integer>
+ <integer>1155</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1158</integer>
+ <integer>1157</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1161</integer>
+ <integer>1159</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1163</integer>
+ <integer>1161</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1165</integer>
+ <integer>1164</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1167</integer>
+ <integer>1166</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1169</integer>
+ <integer>1168</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1171</integer>
+ <integer>1170</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1173</integer>
+ <integer>1172</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1175</integer>
+ <integer>1174</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1177</integer>
+ <integer>1176</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1179</integer>
+ <integer>1178</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1181</integer>
+ <integer>1180</integer>
</dict>
- <dict>
- <key>CF$UID</key>
- <integer>1184</integer>
- </dict>
</array>
</dict>
<dict>
@@ -681,12 +689,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>96</integer>
+ <integer>200</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>199</integer>
+ <integer>322</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -696,10 +704,10 @@
<key>NSSubviews</key>
<dict>
<key>CF$UID</key>
- <integer>101</integer>
+ <integer>256</integer>
</dict>
</dict>
- <string>{{18, 103}, {105, 18}}</string>
+ <string>{{18, 127}, {105, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -854,7 +862,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{187, 183}, {151, 18}}</string>
+ <string>{{187, 207}, {151, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -969,7 +977,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 183}, {113, 18}}</string>
+ <string>{{18, 207}, {113, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1051,7 +1059,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 123}, {165, 18}}</string>
+ <string>{{18, 147}, {165, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1116,7 +1124,7 @@
<key>NSLabel</key>
<dict>
<key>CF$UID</key>
- <integer>840</integer>
+ <integer>832</integer>
</dict>
<key>NSSource</key>
<dict>
@@ -1128,22 +1136,22 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>839</integer>
+ <integer>831</integer>
</dict>
<key>NSMaxSize</key>
<dict>
<key>CF$UID</key>
- <integer>838</integer>
+ <integer>830</integer>
</dict>
<key>NSMinSize</key>
<dict>
<key>CF$UID</key>
- <integer>837</integer>
+ <integer>829</integer>
</dict>
<key>NSScreenRect</key>
<dict>
<key>CF$UID</key>
- <integer>836</integer>
+ <integer>828</integer>
</dict>
<key>NSViewClass</key>
<dict>
@@ -1177,7 +1185,7 @@
<integer>46</integer>
</dict>
</dict>
- <string>{{153, 336}, {634, 393}}</string>
+ <string>{{153, 301}, {634, 423}}</string>
<string>Preferences</string>
<string>NSPanel</string>
<dict>
@@ -1203,12 +1211,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>96</integer>
+ <integer>200</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>835</integer>
+ <integer>827</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1225,7 +1233,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>94</integer>
+ <integer>89</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1235,11 +1243,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>797</integer>
+ <integer>789</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>830</integer>
+ <integer>822</integer>
</dict>
</array>
</dict>
@@ -1247,7 +1255,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>796</integer>
+ <integer>788</integer>
</dict>
<key>NSAllowTruncatedLabels</key>
<true/>
@@ -1261,7 +1269,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>97</integer>
+ <integer>252</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1271,7 +1279,7 @@
<key>NSSelectedTabViewItem</key>
<dict>
<key>CF$UID</key>
- <integer>202</integer>
+ <integer>366</integer>
</dict>
<key>NSSubviews</key>
<dict>
@@ -1286,7 +1294,7 @@
<key>NSTabViewItems</key>
<dict>
<key>CF$UID</key>
- <integer>98</integer>
+ <integer>253</integer>
</dict>
<key>NSTvFlags</key>
<integer>4</integer>
@@ -1295,7 +1303,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>94</integer>
+ <integer>89</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1309,12 +1317,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>96</integer>
+ <integer>200</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>95</integer>
+ <integer>251</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1336,7 +1344,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>94</integer>
+ <integer>89</integer>
</dict>
<key>NS.objects</key>
<array>
@@ -1358,16 +1366,8 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>72</integer>
+ <integer>211</integer>
</dict>
- <dict>
- <key>CF$UID</key>
- <integer>76</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>90</integer>
- </dict>
</array>
</dict>
<dict>
@@ -1401,7 +1401,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 168}, {154, 18}}</string>
+ <string>{{378, 287}, {198, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1451,7 +1451,7 @@
<integer>15</integer>
</dict>
</dict>
- <string>AY stereo seperation</string>
+ <string>Kempston joystick interface</string>
<dict>
<key>$class</key>
<dict>
@@ -1483,7 +1483,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 146}, {162, 18}}</string>
+ <string>{{378, 243}, {138, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1533,7 +1533,7 @@
<integer>15</integer>
</dict>
</dict>
- <string>Beeper pseudo-stereo</string>
+ <string>Interface II</string>
<dict>
<key>$class</key>
<dict>
@@ -1565,7 +1565,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 190}, {126, 18}}</string>
+ <string>{{378, 265}, {187, 18}}</string>
<dict>
<key>$class</key>
<dict>
@@ -1615,166 +1615,252 @@
<integer>15</integer>
</dict>
</dict>
- <string>Loading sounds</string>
+ <string>Kempston mouse</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>71</integer>
+ <integer>210</integer>
</dict>
- <key>NSCell</key>
+ <key>NSBorderType</key>
+ <integer>3</integer>
+ <key>NSBoxType</key>
+ <integer>0</integer>
+ <key>NSContentView</key>
<dict>
<key>CF$UID</key>
<integer>66</integer>
</dict>
- <key>NSEnabled</key>
- <true/>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>65</integer>
+ <integer>201</integer>
</dict>
<key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
<integer>50</integer>
</dict>
+ <key>NSOffsets</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>202</integer>
+ </dict>
+ <key>NSSubviews</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>65</integer>
+ </dict>
<key>NSSuperview</key>
<dict>
<key>CF$UID</key>
<integer>50</integer>
</dict>
- <key>NSvFlags</key>
- <integer>256</integer>
+ <key>NSTitleCell</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>203</integer>
+ </dict>
+ <key>NSTitlePosition</key>
+ <integer>2</integer>
+ <key>NSTransparent</key>
+ <false/>
</dict>
- <string>{{97, 222}, {115, 25}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>70</integer>
+ <integer>89</integer>
</dict>
- <key>NSAllowsTickMarkValuesOnly</key>
- <true/>
- <key>NSAltIncValue</key>
- <real>0.0</real>
- <key>NSCellFlags</key>
- <integer>67239424</integer>
- <key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>66</integer>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>67</integer>
+ <integer>200</integer>
</dict>
- <key>NSControlView</key>
+ <key>NSFrame</key>
<dict>
<key>CF$UID</key>
+ <integer>199</integer>
+ </dict>
+ <key>NSNextResponder</key>
+ <dict>
+ <key>CF$UID</key>
<integer>64</integer>
</dict>
- <key>NSMaxValue</key>
- <real>8</real>
- <key>NSMinValue</key>
- <real>3</real>
- <key>NSNumberOfTickMarks</key>
- <integer>6</integer>
- <key>NSSupport</key>
+ <key>NSSubviews</key>
<dict>
<key>CF$UID</key>
- <integer>68</integer>
+ <integer>67</integer>
</dict>
- <key>NSTickMarkPosition</key>
- <integer>0</integer>
- <key>NSValue</key>
- <real>8</real>
- <key>NSVertical</key>
- <false/>
+ <key>NSSuperview</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>64</integer>
+ </dict>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>45</integer>
+ <integer>89</integer>
</dict>
- <key>NS.string</key>
- <string></string>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>68</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>131</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>135</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>139</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>143</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>147</integer>
+ </dict>
+ </array>
</dict>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>17</integer>
+ <integer>130</integer>
</dict>
- <key>NSName</key>
+ <key>NSBackgroundColor</key>
<dict>
<key>CF$UID</key>
- <integer>69</integer>
+ <integer>125</integer>
</dict>
- <key>NSSize</key>
- <real>12</real>
- <key>NSfFlags</key>
- <integer>16</integer>
- </dict>
- <string>Helvetica</string>
- <dict>
- <key>$classes</key>
- <array>
- <string>NSSliderCell</string>
- <string>NSActionCell</string>
- <string>NSCell</string>
- <string>NSObject</string>
- </array>
- <key>$classname</key>
- <string>NSSliderCell</string>
- </dict>
- <dict>
- <key>$classes</key>
- <array>
- <string>NSSlider</string>
- <string>NSControl</string>
- <string>NSView</string>
- <string>NSResponder</string>
- <string>NSObject</string>
- </array>
- <key>$classname</key>
- <string>NSSlider</string>
- </dict>
- <dict>
- <key>$class</key>
+ <key>NSCellBackgroundColor</key>
<dict>
<key>CF$UID</key>
- <integer>23</integer>
+ <integer>129</integer>
</dict>
- <key>NSCell</key>
+ <key>NSCellClass</key>
<dict>
<key>CF$UID</key>
- <integer>74</integer>
+ <integer>122</integer>
</dict>
+ <key>NSCellSize</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>120</integer>
+ </dict>
+ <key>NSCells</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>70</integer>
+ </dict>
<key>NSEnabled</key>
<true/>
+ <key>NSFont</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>15</integer>
+ </dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>73</integer>
+ <integer>69</integer>
</dict>
+ <key>NSIntercellSpacing</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>121</integer>
+ </dict>
+ <key>NSMatrixFlags</key>
+ <integer>1076363264</integer>
<key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>66</integer>
</dict>
+ <key>NSNumCols</key>
+ <integer>1</integer>
+ <key>NSNumRows</key>
+ <integer>7</integer>
+ <key>NSProtoCell</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>123</integer>
+ </dict>
+ <key>NSSelectedCell</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>71</integer>
+ </dict>
<key>NSSuperview</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>66</integer>
</dict>
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{18, 249}, {116, 18}}</string>
+ <string>{{18, 16}, {138, 138}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
+ <integer>89</integer>
+ </dict>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>71</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>75</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>78</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>93</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>101</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>109</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>117</integer>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
<integer>22</integer>
</dict>
<key>NSAlternateContents</key>
@@ -1785,25 +1871,25 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>18</integer>
+ <integer>73</integer>
</dict>
<key>NSButtonFlags</key>
<integer>1211912703</integer>
<key>NSButtonFlags2</key>
<integer>2</integer>
<key>NSCellFlags</key>
- <integer>67239424</integer>
+ <integer>-2080244224</integer>
<key>NSCellFlags2</key>
<integer>0</integer>
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>75</integer>
+ <integer>72</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>72</integer>
+ <integer>68</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -1820,54 +1906,100 @@
<integer>15</integer>
</dict>
</dict>
- <string>Enabled</string>
+ <string>None</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
+ <integer>20</integer>
</dict>
- <key>NSCell</key>
+ <key>NSImageName</key>
<dict>
<key>CF$UID</key>
- <integer>78</integer>
+ <integer>74</integer>
</dict>
- <key>NSEnabled</key>
- <true/>
- <key>NSFrame</key>
+ </dict>
+ <string>NSRadioButton</string>
+ <dict>
+ <key>$class</key>
<dict>
<key>CF$UID</key>
+ <integer>22</integer>
+ </dict>
+ <key>NSAlternateContents</key>
+ <dict>
+ <key>CF$UID</key>
<integer>77</integer>
</dict>
- <key>NSNextResponder</key>
+ <key>NSAlternateImage</key>
<dict>
<key>...
[truncated message content] |
|
From: <fr...@us...> - 2007-08-14 14:04:54
|
Revision: 454
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=454&view=rev
Author: fredm
Date: 2007-08-14 07:04:35 -0700 (Tue, 14 Aug 2007)
Log Message:
-----------
Refactor display link starting and stopping and try to only stop and start the
display link at appropriate times, add support for panoramic fullscreen mode.
Modified Paths:
--------------
trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/settings.dat
Modified: trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
===================================================================
--- trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2007-08-12 05:49:27 UTC (rev 453)
+++ trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2007-08-14 14:04:35 UTC (rev 454)
@@ -11,32 +11,32 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>1565</integer>
+ <integer>1577</integer>
</dict>
<key>NSAccessibilityConnectors</key>
<dict>
<key>CF$UID</key>
- <integer>1562</integer>
+ <integer>1574</integer>
</dict>
<key>NSAccessibilityOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1563</integer>
+ <integer>1575</integer>
</dict>
<key>NSAccessibilityOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1564</integer>
+ <integer>1576</integer>
</dict>
<key>NSClassesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1256</integer>
+ <integer>1266</integer>
</dict>
<key>NSClassesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1257</integer>
+ <integer>1267</integer>
</dict>
<key>NSConnections</key>
<dict>
@@ -56,34 +56,34 @@
<key>NSNamesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1190</integer>
+ <integer>1199</integer>
</dict>
<key>NSNamesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1191</integer>
+ <integer>1200</integer>
</dict>
<key>NSNextOid</key>
- <integer>1116</integer>
+ <integer>1119</integer>
<key>NSObjectsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1183</integer>
+ <integer>1192</integer>
</dict>
<key>NSObjectsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1189</integer>
+ <integer>1198</integer>
</dict>
<key>NSOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1258</integer>
+ <integer>1268</integer>
</dict>
<key>NSOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1259</integer>
+ <integer>1269</integer>
</dict>
<key>NSRoot</key>
<dict>
@@ -160,267 +160,263 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>833</integer>
+ <integer>836</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>840</integer>
+ <integer>845</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>841</integer>
+ <integer>846</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>845</integer>
+ <integer>850</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>848</integer>
+ <integer>853</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>851</integer>
+ <integer>856</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>854</integer>
+ <integer>859</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>857</integer>
+ <integer>862</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>860</integer>
+ <integer>865</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>863</integer>
+ <integer>868</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>866</integer>
+ <integer>871</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>869</integer>
+ <integer>874</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>872</integer>
+ <integer>877</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>875</integer>
+ <integer>880</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>878</integer>
+ <integer>883</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>881</integer>
+ <integer>886</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>884</integer>
+ <integer>889</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>887</integer>
+ <integer>892</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>890</integer>
+ <integer>895</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>893</integer>
+ <integer>898</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>896</integer>
+ <integer>901</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>899</integer>
+ <integer>904</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>902</integer>
+ <integer>907</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>905</integer>
+ <integer>910</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>914</integer>
+ <integer>919</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>921</integer>
+ <integer>926</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>924</integer>
+ <integer>929</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>925</integer>
+ <integer>930</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>927</integer>
+ <integer>932</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>936</integer>
+ <integer>941</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>939</integer>
+ <integer>944</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>943</integer>
+ <integer>948</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>959</integer>
+ <integer>964</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>963</integer>
+ <integer>968</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>967</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
<integer>972</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>975</integer>
+ <integer>977</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>978</integer>
+ <integer>980</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>981</integer>
+ <integer>983</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>987</integer>
+ <integer>986</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>990</integer>
+ <integer>992</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>993</integer>
+ <integer>995</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>997</integer>
+ <integer>998</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>999</integer>
+ <integer>1002</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1001</integer>
+ <integer>1004</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1003</integer>
+ <integer>1006</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1005</integer>
+ <integer>1008</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1007</integer>
+ <integer>1010</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1008</integer>
+ <integer>1012</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1009</integer>
+ <integer>1013</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1010</integer>
+ <integer>1014</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1012</integer>
+ <integer>1015</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1015</integer>
+ <integer>1017</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1018</integer>
+ <integer>1020</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1021</integer>
+ <integer>1023</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1024</integer>
+ <integer>1026</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1031</integer>
+ <integer>1029</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1032</integer>
+ <integer>1036</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1033</integer>
+ <integer>1037</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1034</integer>
+ <integer>1038</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1037</integer>
+ <integer>1039</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1038</integer>
+ <integer>1042</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1041</integer>
+ <integer>1043</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1044</integer>
+ <integer>1046</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1045</integer>
+ <integer>1049</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1048</integer>
+ <integer>1050</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -428,19 +424,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1054</integer>
+ <integer>1058</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1055</integer>
+ <integer>1059</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1056</integer>
+ <integer>1060</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1057</integer>
+ <integer>1061</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -448,11 +444,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1066</integer>
+ <integer>1067</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1072</integer>
+ <integer>1071</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -460,47 +456,43 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1081</integer>
+ <integer>1082</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1085</integer>
+ <integer>1086</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1087</integer>
+ <integer>1090</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1088</integer>
+ <integer>1092</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1091</integer>
+ <integer>1093</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1094</integer>
+ <integer>1096</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1098</integer>
+ <integer>1099</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1100</integer>
+ <integer>1103</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1102</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
<integer>1105</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1108</integer>
+ <integer>1107</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -508,7 +500,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1112</integer>
+ <integer>1113</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -516,15 +508,15 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1118</integer>
+ <integer>1117</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1121</integer>
+ <integer>1120</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1124</integer>
+ <integer>1123</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -532,35 +524,35 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1128</integer>
+ <integer>1129</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1129</integer>
+ <integer>1131</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1130</integer>
+ <integer>1133</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1131</integer>
+ <integer>1134</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1133</integer>
+ <integer>1135</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1135</integer>
+ <integer>1136</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1137</integer>
+ <integer>1138</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1139</integer>
+ <integer>1140</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -568,31 +560,31 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1145</integer>
+ <integer>1144</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1148</integer>
+ <integer>1147</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1151</integer>
+ <integer>1150</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1155</integer>
+ <integer>1153</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1157</integer>
+ <integer>1156</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1159</integer>
+ <integer>1160</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1161</integer>
+ <integer>1162</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -604,32 +596,44 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1168</integer>
+ <integer>1169</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1170</integer>
+ <integer>1171</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1172</integer>
+ <integer>1173</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1174</integer>
+ <integer>1175</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1176</integer>
+ <integer>1177</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1178</integer>
+ <integer>1179</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1180</integer>
+ <integer>1181</integer>
</dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>1183</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>1185</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>1188</integer>
+ </dict>
</array>
</dict>
<dict>
@@ -689,12 +693,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>200</integer>
+ <integer>118</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>322</integer>
+ <integer>220</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -704,7 +708,7 @@
<key>NSSubviews</key>
<dict>
<key>CF$UID</key>
- <integer>256</integer>
+ <integer>123</integer>
</dict>
</dict>
<string>{{18, 127}, {105, 18}}</string>
@@ -1124,7 +1128,7 @@
<key>NSLabel</key>
<dict>
<key>CF$UID</key>
- <integer>832</integer>
+ <integer>835</integer>
</dict>
<key>NSSource</key>
<dict>
@@ -1136,22 +1140,22 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>831</integer>
+ <integer>834</integer>
</dict>
<key>NSMaxSize</key>
<dict>
<key>CF$UID</key>
- <integer>830</integer>
+ <integer>833</integer>
</dict>
<key>NSMinSize</key>
<dict>
<key>CF$UID</key>
- <integer>829</integer>
+ <integer>832</integer>
</dict>
<key>NSScreenRect</key>
<dict>
<key>CF$UID</key>
- <integer>828</integer>
+ <integer>831</integer>
</dict>
<key>NSViewClass</key>
<dict>
@@ -1211,12 +1215,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>200</integer>
+ <integer>118</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>827</integer>
+ <integer>830</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1243,11 +1247,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>789</integer>
+ <integer>792</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>822</integer>
+ <integer>825</integer>
</dict>
</array>
</dict>
@@ -1255,7 +1259,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>788</integer>
+ <integer>791</integer>
</dict>
<key>NSAllowTruncatedLabels</key>
<true/>
@@ -1269,7 +1273,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>252</integer>
+ <integer>119</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1279,7 +1283,7 @@
<key>NSSelectedTabViewItem</key>
<dict>
<key>CF$UID</key>
- <integer>366</integer>
+ <integer>789</integer>
</dict>
<key>NSSubviews</key>
<dict>
@@ -1294,7 +1298,7 @@
<key>NSTabViewItems</key>
<dict>
<key>CF$UID</key>
- <integer>253</integer>
+ <integer>120</integer>
</dict>
<key>NSTvFlags</key>
<integer>4</integer>
@@ -1317,12 +1321,12 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>200</integer>
+ <integer>118</integer>
</dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>251</integer>
+ <integer>117</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1354,19 +1358,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>56</integer>
+ <integer>101</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>60</integer>
+ <integer>105</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>64</integer>
+ <integer>109</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>211</integer>
+ <integer>113</integer>
</dict>
</array>
</dict>
@@ -1374,25 +1378,71 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>23</integer>
+ <integer>100</integer>
</dict>
- <key>NSCell</key>
+ <key>NSBackgroundColor</key>
<dict>
<key>CF$UID</key>
+ <integer>94</integer>
+ </dict>
+ <key>NSCellBackgroundColor</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>99</integer>
+ </dict>
+ <key>NSCellClass</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>92</integer>
+ </dict>
+ <key>NSCellSize</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>90</integer>
+ </dict>
+ <key>NSCells</key>
+ <dict>
+ <key>CF$UID</key>
<integer>54</integer>
</dict>
<key>NSEnabled</key>
<true/>
+ <key>NSFont</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>15</integer>
+ </dict>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
<integer>53</integer>
</dict>
+ <key>NSIntercellSpacing</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>91</integer>
+ </dict>
+ <key>NSMatrixFlags</key>
+ <integer>1143472128</integer>
<key>NSNextResponder</key>
<dict>
<key>CF$UID</key>
<integer>50</integer>
</dict>
+ <key>NSNumCols</key>
+ <integer>2</integer>
+ <key>NSNumRows</key>
+ <integer>8</integer>
+ <key>NSProtoCell</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>93</integer>
+ </dict>
+ <key>NSSelectedCell</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>55</integer>
+ </dict>
<key>NSSuperview</key>
<dict>
<key>CF$UID</key>
@@ -1401,11 +1451,85 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{378, 287}, {198, 18}}</string>
+ <string>{{13, 146}, {244, 158}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
+ <integer>89</integer>
+ </dict>
+ <key>NS.objects</key>
+ <array>
+ <dict>
+ <key>CF$UID</key>
+ <integer>55</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>59</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>61</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>63</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>65</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>67</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>69</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>71</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>73</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>75</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>77</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>79</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>81</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>83</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>85</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
+ <integer>87</integer>
+ </dict>
+ </array>
+ </dict>
+ <dict>
+ <key>$class</key>
+ <dict>
+ <key>CF$UID</key>
<integer>22</integer>
</dict>
<key>NSAlternateContents</key>
@@ -1416,20 +1540,20 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>18</integer>
+ <integer>57</integer>
</dict>
<key>NSButtonFlags</key>
<integer>1211912703</integer>
<key>NSButtonFlags2</key>
- <integer>2</integer>
+ <integer>0</integer>
<key>NSCellFlags</key>
- <integer>67239424</integer>
+ <integer>-2080244224</integer>
<key>NSCellFlags2</key>
<integer>0</integer>
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>55</integer>
+ <integer>56</integer>
</dict>
<key>NSControlView</key>
<dict>
@@ -1450,40 +1574,75 @@
<key>CF$UID</key>
<integer>15</integer>
</dict>
+ <key>NSTag</key>
+ <integer>2</integer>
</dict>
- <string>Kempston joystick interface</string>
+ <string>None</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>23</integer>
+ <integer>20</integer>
</dict>
- <key>NSCell</key>
+ <key>NSImageName</key>
<dict>
<key>CF$UID</key>
<integer>58</integer>
</dict>
- <key>NSEnabled</key>
- <true/>
- <key>NSFrame</key>
+ </dict>
+ <string>NSRadioButton</string>
+ <dict>
+ <key>$class</key>
<dict>
<key>CF$UID</key>
+ <integer>22</integer>
+ </dict>
+ <key>NSAlternateContents</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>21</integer>
+ </dict>
+ <key>NSAlternateImage</key>
+ <dict>
+ <key>CF$UID</key>
<integer>57</integer>
</dict>
- <key>NSNextResponder</key>
+ <key>NSButtonFlags</key>
+ <integer>1211912703</integer>
+ <key>NSButtonFlags2</key>
+ <integer>0</integer>
+ <key>NSCellFlags</key>
+ <integer>67239424</integer>
+ <key>NSCellFlags2</key>
+ <integer>0</integer>
+ <key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>60</integer>
</dict>
- <key>NSSuperview</key>
+ <key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>52</integer>
</dict>
- <key>NSvFlags</key>
- <integer>256</integer>
+ <key>NSKeyEquivalent</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>21</integer>
+ </dict>
+ <key>NSPeriodicDelay</key>
+ <integer>400</integer>
+ <key>NSPeriodicInterval</key>
+ <integer>75</integer>
+ <key>NSSupport</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>15</integer>
+ </dict>
+ <key>NSTag</key>
+ <integer>12</integer>
</dict>
- <string>{{378, 243}, {138, 18}}</string>
+ <string>Timex TV</string>
<dict>
<key>$class</key>
<dict>
@@ -1498,12 +1657,12 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>18</integer>
+ <integer>57</integer>
</dict>
<key>NSButtonFlags</key>
<integer>1211912703</integer>
<key>NSButtonFlags2</key>
- <integer>2</integer>
+ <integer>0</integer>
<key>NSCellFlags</key>
<integer>67239424</integer>
<key>NSCellFlags2</key>
@@ -1511,12 +1670,12 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>59</integer>
+ <integer>62</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>56</integer>
+ <integer>52</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -1524,48 +1683,70 @@
<integer>21</integer>
</dict>
<key>NSPeriodicDelay</key>
- <integer>200</integer>
+ <integer>400</integer>
<key>NSPeriodicInterval</key>
- <integer>25</integer>
+ <integer>75</integer>
<key>NSSupport</key>
<dict>
<key>CF$UID</key>
<integer>15</integer>
</dict>
+ <key>NSTag</key>
+ <integer>5</integer>
</dict>
- <string>Interface II</string>
+ <string>2xSaI</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>23</integer>
+ <integer>22</integer>
</dict>
- <key>NSCell</key>
+ <key>NSAlternateContents</key>
<dict>
<key>CF$UID</key>
- <integer>62</integer>
+ <integer>21</integer>
</dict>
- <key>NSEnabled</key>
- <true/>
- <key>NSFrame</key>
+ <key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>61</integer>
+ <integer>57</integer>
</dict>
- <key>NSNextResponder</key>
+ <key>NSButtonFlags</key>
+ <integer>1211912703</integer>
+ <key>NSButtonFlags2</key>
+ <integer>0</integer>
+ <key>NSCellFlags</key>
+ <integer>67239424</integer>
+ <key>NSCellFlags2</key>
+ <integer>0</integer>
+ <key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>64</integer>
</dict>
- <key>NSSuperview</key>
+ <key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>52</integer>
</dict>
- <key>NSvFlags</key>
- <integer>256</integer>
+ <key>NSKeyEquivalent</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>21</integer>
+ </dict>
+ <key>NSPeriodicDelay</key>
+ <integer>400</integer>
+ <key>NSPeriodicInterval</key>
+ <integer>75</integer>
+ <key>NSSupport</key>
+ <dict>
+ <key>CF$UID</key>
+ <integer>15</integer>
+ </dict>
+ <key>NSTag</key>
+ <integer>15</integer>
</dict>
- <string>{{378, 265}, {187, 18}}</string>
+ <string>PAL TV</string>
<dict>
<key>$class</key>
<dict>
@@ -1580,12 +1761,12 @@
<key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>18</integer>
+ <integer>57</integer>
</dict>
<key>NSButtonFlags</key>
<integer>1211912703</integer>
<key>NSButtonFlags2</key>
- <integer>2</integer>
+ <integer>0</integer>
<key>NSCellFlags</key>
<integer>67239424</integer>
<key>NSCellFlags2</key>
@@ -1593,12 +1774,12 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>63</integer>
+ <integer>66</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>60</integer>
+ <integer>52</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -1606,257 +1787,226 @@
<integer>21</integer>
</dict>
<key>NSPeriodicDelay</key>
- <integer>200</integer>
+ <integer>400</integer>
<key>NSPeriodicInterval</key>
- <integer>25</integer>
+ <integer>75</integer>
<key>NSSupport</key>
<dict>
<key>CF$UID</key>
<integer>15</integer>
</dict>
+ <key>NSTag</key>
+ <integer>6</integer>
</dict>
- <string>Kempston mouse</string>
+ <string>Super 2xSaI</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>210</integer>
+ <integer>22</integer>
</dict>
- <key>NSBorderType</key>
- <integer>3</integer>
- <key>NSBoxType</key>
- <integer>0</integer>
- <key>NSContentView</key>
+ <key>NSAlternateContents</key>
<dict>
<key>CF$UID</key>
- <integer>66</integer>
+ <integer>21</integer>
</dict>
- <key>NSFrame</key>
+ <key>NSAlternateImage</key>
<dict>
<key>CF$UID</key>
- <integer>201</integer>
+ <integer>57</integer>
</dict>
- <key>NSNextResponder</key>
+ <key>NSButtonFlags</key>
+ <integer>1211912703</integer>
+ <key>NSButtonFlags2</key>
+ <integer>0</integer>
+ <key>NSCellFlags</key>
+ <integer>67239424</integer>
+ <key>NSCellFlags2</key>
+ <integer>0</integer>
+ <key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>68</integer>
</dict>
- <key>NSOffsets</key>
+ <key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>202</integer>
+ <integer>52</integer>
</dict>
- <key>NSSubviews</key>
+ <key>NSKeyEquivalent</key>
<dict>
<key>CF$UID</key>
- <integer>65</integer>
+ <integer>21</integer>
</dict>
- <key>NSSuperview</key>
+ <key>NSPeriodicDelay</key>
+ <integer>400</integer>
+ <key>NSPeriodicInterval</key>
+ <integer>75</integer>
+ <key>NSSupport</key>
<dict>
<key>CF$UID</key>
- <integer>50</integer>
+ <integer>15</integer>
</dict>
- <key>NSTitleCell</key>
- <dict>
- <key>CF$UID</key>
- <integer>203</integer>
- </dict>
- <key>NSTitlePosition</key>
- <integer>2</integer>
- <key>NSTransparent</key>
- <false/>
+ <key>NSTag</key>
+ <integer>16</integer>
</dict>
+ <string>PAL TV 2x</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>89</integer>
+ <intege...
[truncated message content] |
|
From: <fr...@us...> - 2008-02-17 02:02:30
|
Revision: 479
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=479&view=rev
Author: fredm
Date: 2008-02-16 18:02:27 -0800 (Sat, 16 Feb 2008)
Log Message:
-----------
Merge up to vendor Fuse 0.9.0.
Modified Paths:
--------------
trunk/fuse/ChangeLog
trunk/fuse/Makefile.am
trunk/fuse/README
trunk/fuse/ay.c
trunk/fuse/compat/Makefile.am
trunk/fuse/compat/win32/osname.c
trunk/fuse/configure.in
trunk/fuse/disk/beta.c
trunk/fuse/disk/beta.h
trunk/fuse/disk/disk.c
trunk/fuse/disk/disk.h
trunk/fuse/disk/fdd.c
trunk/fuse/disk/fdd.h
trunk/fuse/disk/plusd.c
trunk/fuse/disk/plusd.h
trunk/fuse/disk/wd_fdc.c
trunk/fuse/disk/wd_fdc.h
trunk/fuse/display.c
trunk/fuse/divide.c
trunk/fuse/fusepb/English.lproj/InfoPlist.strings
trunk/fuse/fusepb/Fuse.xcodeproj/project.pbxproj
trunk/fuse/fusepb/Info-Fuse.plist
trunk/fuse/fusepb/controllers/FuseController.h
trunk/fuse/fusepb/controllers/FuseController.m
trunk/fuse/fusepb/models/Emulator.h
trunk/fuse/fusepb/models/Emulator.m
trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib
trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib
trunk/fuse/fusepb/resources/Fuse Help/Fuse Help idx
trunk/fuse/fusepb/resources/Fuse Help/Fuse Help.helpindex
trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html
trunk/fuse/fusepb/resources/Fuse Help/html/menus.html
trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html
trunk/fuse/fusepb/resources/Fuse Help/html/tocstart.html
trunk/fuse/fusepb/resources/Fuse Help/html/trdos.html
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
trunk/fuse/hacking/ChangeLog
trunk/fuse/hacking/cvs-tags
trunk/fuse/hacking/tc2048_tech_notes.txt
trunk/fuse/if1.c
trunk/fuse/if1.h
trunk/fuse/if2.c
trunk/fuse/input.c
trunk/fuse/joystick.c
trunk/fuse/kempmouse.c
trunk/fuse/keyboard.c
trunk/fuse/machine.c
trunk/fuse/machines/Makefile.am
trunk/fuse/machines/machines.h
trunk/fuse/machines/pentagon.c
trunk/fuse/machines/pentagon1024.c
trunk/fuse/machines/pentagon512.c
trunk/fuse/machines/scorpion.c
trunk/fuse/machines/spec128.c
trunk/fuse/machines/spec16.c
trunk/fuse/machines/spec48.c
trunk/fuse/machines/spec48.h
trunk/fuse/machines/spec_se.c
trunk/fuse/machines/specplus2.c
trunk/fuse/machines/specplus2a.c
trunk/fuse/machines/specplus3.c
trunk/fuse/machines/specplus3.h
trunk/fuse/machines/specplus3e.c
trunk/fuse/machines/tc2048.c
trunk/fuse/machines/tc2068.c
trunk/fuse/machines/ts2068.c
trunk/fuse/man/fuse.1
trunk/fuse/memory.c
trunk/fuse/menu.c
trunk/fuse/menu.h
trunk/fuse/menu_data.dat
trunk/fuse/menu_data.pl
trunk/fuse/module.c
trunk/fuse/module.h
trunk/fuse/periph.c
trunk/fuse/periph.h
trunk/fuse/printer.c
trunk/fuse/profile.c
trunk/fuse/scld.c
trunk/fuse/settings.dat
trunk/fuse/settings.pl
trunk/fuse/simpleide.c
trunk/fuse/slt.c
trunk/fuse/snapshot.c
trunk/fuse/sound/alsasound.c
trunk/fuse/sound/sdlsound.c
trunk/fuse/spectrum.c
trunk/fuse/spectrum.h
trunk/fuse/tape.c
trunk/fuse/tape.h
trunk/fuse/ui/cocoa/cocoaui.m
trunk/fuse/ui/fb/fbdisplay.c
trunk/fuse/ui/fb/fbmouse.c
trunk/fuse/ui/gtk/binary.c
trunk/fuse/ui/gtk/confirm.c
trunk/fuse/ui/gtk/fileselector.c
trunk/fuse/ui/gtk/gtkjoystick.c
trunk/fuse/ui/gtk/gtkui.c
trunk/fuse/ui/gtk/pokefinder.c
trunk/fuse/ui/gtk/rollback.c
trunk/fuse/ui/gtk/roms.c
trunk/fuse/ui/options.dat
trunk/fuse/ui/sdl/sdlui.c
trunk/fuse/ui/ui.h
trunk/fuse/ui/win32/Makefile.am
trunk/fuse/ui/win32/error.c
trunk/fuse/ui/win32/win32internals.h
trunk/fuse/ui/win32/win32ui.c
trunk/fuse/ui.c
trunk/fuse/ula.c
trunk/fuse/utils.c
trunk/fuse/widget/browse.c
trunk/fuse/widget/filesel.c
trunk/fuse/widget/menu.c
trunk/fuse/widget/options.pl
trunk/fuse/widget/roms.c
trunk/fuse/widget/widget.c
trunk/fuse/widget/widget.h
trunk/fuse/widget/widget_internals.h
trunk/fuse/z80/coretest.c
trunk/fuse/z80/tests/Makefile.am
trunk/fuse/z80/z80.c
trunk/fuse/z80/z80.pl
trunk/fuse/z80/z80_macros.h
trunk/fuse/z80/z80_ops.c
trunk/fuse/zxatasp.c
trunk/fuse/zxcf.c
Added Paths:
-----------
trunk/fuse/fusepb/resources/Fuse Help/html/formats.html
trunk/fuse/machines/pentagon.h
Modified: trunk/fuse/ChangeLog
===================================================================
--- trunk/fuse/ChangeLog 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/ChangeLog 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,6 +1,6 @@
-2007-xx-xx Philip Kendall <phi...@sh...>
+2008-01-05 Philip Kendall <phi...@sh...>
- * Fuse 0.x.x released
+ * Fuse 0.9.0 released
* New features:
* Add +D disk interface support (Stuart Brady).
@@ -26,14 +26,43 @@
* Fix undocumented flags after BIT n,(IX+d) instructions (Philip
Kendall).
* Fix undocumented behaviour of DAA (Stuart Brady).
- * Separate out contention when MREQ isn't active, as the +2A/+3 ULA
- applies contention only when MREQ is active (Philip Kendall).
+ * High ports (0xc000 to 0xffff) are contended on the 128K when a
+ contended RAM page is paged in (Philip Kendall; thanks, Patrik
+ Rak).
+ * Correct contention for the +2A/+3 ULA (Philip Kendall).
+ * Machine specific improvements:
+ * Fix joystick port mask on TC2048 (Fredrick Meunier)
+ * Improved keyboard handling for 128K / +3 machines (Philip Kendall).
+ * Improved contention for TC2048 and TC2068 machines (Fredrick
+ Meunier; thanks, Mark Woodmass).
+
* Miscellaneous:
- * Removed the GTK 1.x UI (please note that GTK 2.x will remain
+ * Emulation speed no longer artificially limited to 999% (Stuart
+ Brady).
+ * Much improved debugger for the widget UIs (Darren Salt).
+ * Timed breakpoints now work in the debugger (Philip Kendall).
+ * Keys now repeat in the widget fileselector (Fredrick Meunier;
+ thanks, Cygnus).
+ * Removed the GTK+ 1.x UI (please note that GTK+ 2.x will remain
supported for the foreseeable future) (Philip Kendall).
+ * GTK+ UI now uses the GTK+ 2.x style file selectors (Philip
+ Kendall).
+ * More informative error messages when ejecting disks (Stuart
+ Brady).
+ * Ejecting Microdrive cartridges now checks for changes and doesn't
+ automatically overwrite the original file (Stuart Brady).
+ * Snapshots can no longer cause the profiler to assert (Philip
+ Kendall; thanks, Stuart Brady).
+ * DivIDE could page itself in incorrectly after a reset (Stuart
+ Brady).
+ * Stop invalid input causing segfault in GTK+ 'Load Binary Chunk'
+ dialog, and allow a length of 65536 to be used (Stuart Brady).
* Enable Fuse to build in directories other than the source
directory itself (Philip Kendall).
+ * 'make clean' now cleans generated files (Philip Kendall).
+ * Update +3e ROMs to v1.31 (Fredrick Meunier; thanks, Garry
+ Lancaster).
* Updated X11 UI (Gergely Szasz).
* Updated Win32 UI (Stuart Brady).
* Man page fixes (Stuart Brady).
@@ -69,7 +98,7 @@
when the start/end of a loader is detected (Philip Kendall).
* RZX 'rollback' support (Philip Kendall).
* DivIDE support (Matthew Westcott)
- * Interface I and microdrive emulation (Gergely Szasz).
+ * Interface I and Microdrive emulation (Gergely Szasz).
* TS2068 support (Fredrick Meunier).
* Kempston mouse emulation (Darren Salt).
* TZX generalized data block (0x19) support (Philip Kendall).
@@ -218,7 +247,7 @@
+ Stop output to the serial printer when printer emulation is
disabled; prevents the random appearance of 'printout.txt'
(Philip Kendall).
-
+
2004-02-19 Philip Kendall <pak...@sr...>
* Fuse 0.6.2.1 released.
@@ -261,7 +290,7 @@
printer emulation (Philip Kendall).
* Z80 core improvements:
- + Improved memory handling. Should be both quicker and more
+ + Improved memory handling. Should be both quicker and more
flexible.
+ Support for retriggered interrupts.
+ Don't allow interrupts after an EI instruction.
@@ -312,7 +341,7 @@
+ Make reading from both Timex joysticks simultaneously work
correctly (Fredrick Meunier).
+ Remove a possible segfault caused by the tape initialisation
- code trying to access the tape beeper before the beeper code
+ code trying to access the tape beeper before the beeper code
has been fully initialised (Witold Filipczyk, Fredrick Meunier).
+ Get the pause lengths correct when writing PSG files
(Russell Marks, Philip Kendall).
@@ -715,7 +744,7 @@
* Changed the default install location to `/usr/local' (Philip
Kendall).
- * Generate keysyms.c from keysyms.dat; allows me automatically
+ * Generate keysyms.c from keysyms.dat; allows me automatically
keep the Xlib/GTK+ and svgalib key tables in sync (Philip
Kendall).
@@ -849,4 +878,4 @@
* Version 0.1.0 released.
-$Id: ChangeLog 3253 2007-10-26 02:02:17Z zubzero $
+$Id: ChangeLog 3462 2008-01-04 09:34:40Z pak21 $
Modified: trunk/fuse/Makefile.am
===================================================================
--- trunk/fuse/Makefile.am 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/Makefile.am 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,7 +1,7 @@
# Process this file with automake to produce Makefile.in
## Copyright (c) 1999-2004 Philip Kendall
-## $Id: Makefile.am 3218 2007-10-21 23:25:23Z zubzero $
+## $Id: Makefile.am 3318 2007-11-21 19:25:31Z zubzero $
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
bin_PROGRAMS = fuse
-SUBDIRS = compat \
+SUBDIRS = @COMPAT_SUBDIR@ \
debugger \
disk \
hacking \
@@ -41,8 +41,7 @@
@WIDGET@ \
z80
-DIST_SUBDIRS = compat \
- debugger \
+DIST_SUBDIRS = debugger \
disk \
hacking \
lib \
@@ -97,6 +96,18 @@
zxatasp.c \
zxcf.c
+if COMPAT_DIRNAME
+fuse_SOURCES += compat/dirname.c
+endif
+
+if COMPAT_GETOPT
+fuse_SOURCES += compat/getopt.c compat/getopt1.c
+endif
+
+if COMPAT_MKSTEMP
+fuse_SOURCES += compat/mkstemp.c
+endif
+
EXTRA_fuse_SOURCES = windres.rc
fuse_LDADD = debugger/libdebugger.a \
@@ -117,7 +128,6 @@
@SAMPLERATE_LIBS@ \
@X_LIBS@ \
@XML_LIBS@ \
-compat/libcompat.a \
compat/@COMPAT_OSNAME@/libcompatos.a \
@WINDRES_OBJ@
@@ -195,3 +205,7 @@
CLEANFILES = settings.c \
settings.h
+
+AM_CPPFLAGS =
+
+include compat/Makefile.am
Modified: trunk/fuse/README
===================================================================
--- trunk/fuse/README 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/README 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,5 +1,5 @@
-The Free Unix Spectrum Emulator (Fuse) 0.8.0.1
-==============================================
+The Free Unix Spectrum Emulator (Fuse) 0.9.0
+============================================
Fuse (the Free Unix Spectrum Emulator) was originally, and somewhat
unsurprisingly, an emulator of the ZX Spectrum (a popular 1980s home
@@ -10,10 +10,11 @@
What Fuse does have:
-* Working Spectrum 16K/48K/128K/+2/+2A/+3/+3e/SE, Timex TC2048,
- TC2068 and TS2068, Pentagon 128 and Scorpion ZS 256 emulation,
- running at true Speccy speed on any computer you're likely to try it
- on.
+* Accurate Spectrum 16K/48K/128K/+2/+2A/+3 emulation.
+* Working Spectrum +3e and SE, Timex TC2048, TC2068 and TS2068,
+ Pentagon 128, "512" (Pentagon 128 with extra memory) and 1024 and
+ Scorpion ZS 256 emulation.
+* Runs at true Speccy speed on any computer you're likely to try it on.
* Support for loading from .tzx files.
* Sound (on systems supporting the Open Sound System, SDL, or OpenBSD/
Solaris's /dev/audio).
@@ -23,7 +24,7 @@
* Support for the RZX input recording file format, including
rollback and 'competition mode'.
* Emulation of the DivIDE, Interface I, Kempston mouse, Spectrum +3e,
- ZXATASP and ZXCF interfaces.
+ ZXATASP, ZXCF, Beta 128 and +D interfaces.
What you'll need to run Fuse
----------------------------
@@ -62,6 +63,11 @@
* Either the native port by Fredrick Meunier, or the original version
will compile on OS X 10.3 (Panther) or later.
+Windows
+
+* The Win32 and SDL UIs can be used under Windows, but the Win32 UI is
+ incomplete.
+
Building Fuse
-------------
@@ -141,6 +147,6 @@
( http://www.worldofspectrum.org/faq/index.html ) first!
Philip Kendall <phi...@sh...>
-11 May 2007
+5 January 2008
-$Id: README,v 1.40 2007/02/02 16:21:50 pak21 Exp $
+$Id: README 3462 2008-01-04 09:34:40Z pak21 $
Modified: trunk/fuse/ay.c
===================================================================
--- trunk/fuse/ay.c 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/ay.c 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,7 +1,7 @@
/* ay.c: AY-8-3912 routines
Copyright (c) 1999-2004 Philip Kendall
- $Id: ay.c 3213 2007-10-21 16:37:52Z pak21 $
+ $Id: ay.c 3390 2007-12-03 12:59:54Z fredm $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,6 +25,8 @@
#include <config.h>
+#include <string.h>
+
#include "compat.h"
#include "machine.h"
#include "module.h"
@@ -49,6 +51,7 @@
ay_reset,
NULL,
+ NULL,
ay_from_snapshot,
ay_to_snapshot,
Modified: trunk/fuse/compat/Makefile.am
===================================================================
--- trunk/fuse/compat/Makefile.am 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/compat/Makefile.am 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in
## Copyright (c) 2003-2007 Philip Kendall
-## $Id: Makefile.am 3115 2007-08-19 02:49:14Z fredm $
+## $Id: Makefile.am 3283 2007-11-09 12:21:06Z fredm $
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -21,29 +21,16 @@
##
## E-mail: phi...@sh...
-AUTOMAKE_OPTIONS = foreign
+AM_CPPFLAGS += -I$(srcdir)/compat
-AM_CPPFLAGS = -I$(srcdir)/..
+DIST_SUBDIRS += compat/amiga \
+ compat/morphos \
+ compat/unix \
+ compat/win32
-SUBDIRS = @COMPAT_OSNAME@
+EXTRA_fuse_SOURCES += compat/dirname.c \
+ compat/getopt.c \
+ compat/getopt1.c \
+ compat/mkstemp.c
-DIST_SUBDIRS = amiga \
- morphos \
- unix \
- win32
-
-noinst_LIBRARIES = libcompat.a
-
-libcompat_a_SOURCES =
-
-EXTRA_libcompat_a_SOURCES = dirname.c \
- getopt.c \
- getopt1.c \
- mkstemp.c
-
-libcompat_a_LIBADD = $(COMPAT_LIBADD)
-libcompat_a_DEPENDENCIES = $(COMPAT_LIBADD)
-
-INCLUDES = @GLIB_CFLAGS@ @GTK_CFLAGS@ @LIBSPEC_CFLAGS@
-
-noinst_HEADERS = getopt.h
+noinst_HEADERS += compat/getopt.h
Modified: trunk/fuse/compat/win32/osname.c
===================================================================
--- trunk/fuse/compat/win32/osname.c 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/compat/win32/osname.c 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,7 +1,7 @@
/* osname.c: Get a representation of the OS we're running on
Copyright (c) 1999-2007 Philip Kendall
- $Id: osname.c 3163 2007-09-06 21:41:45Z zubzero $
+ $Id: osname.c 3315 2007-11-20 03:01:59Z zubzero $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -49,9 +49,10 @@
default: windows_name = "unknown"; break;
}
- snprintf( osname, length, "Windows %s %ld.%ld build %ld %s",
- windows_name, buf.dwMajorVersion, buf.dwMinorVersion,
- buf.dwBuildNumber, buf.szCSDVersion );
+ /* The casts to int work around a suspected Wine (or MinGW) bug */
+ snprintf( osname, length, "Windows %s %i.%i build %i %s",
+ windows_name, (int)buf.dwMajorVersion, (int)buf.dwMinorVersion,
+ (int)buf.dwBuildNumber, buf.szCSDVersion );
return 0;
}
Modified: trunk/fuse/configure.in
===================================================================
--- trunk/fuse/configure.in 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/configure.in 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script.
-dnl $Id: configure.in 3253 2007-10-26 02:02:17Z zubzero $
+dnl $Id: configure.in 3429 2007-12-18 20:02:35Z zubzero $
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@
AC_CANONICAL_SYSTEM
dnl Use automake to produce `Makefile.in'
-AM_INIT_AUTOMAKE(fuse, 0.8.0.1)
+AM_INIT_AUTOMAKE(fuse, 0.9.0)
dnl Checks for programs.
AC_PROG_CC
@@ -581,32 +581,31 @@
dnl Work out which standard routines we're missing
AC_MSG_CHECKING(which standard routines we're missing)
-COMPAT_LIBADD=''
missing_routines=''
if test "$ac_cv_func_dirname" = no; then
- COMPAT_LIBADD="$COMPAT_LIBADD"'dirname.$(OBJEXT) '
missing_routines="$missing_routines"'dirname '
fi
+AM_CONDITIONAL(COMPAT_DIRNAME, test "$ac_cv_func_dirname" = no)
if test "$ac_cv_func_getopt_long" = no; then
case "$target_os" in
amigaos|morphos)
dnl Our getopt_long replacement doesn't work, so don't use it
;;
*)
- COMPAT_LIBADD="$COMPAT_LIBADD"'getopt.$(OBJEXT) getopt1.$(OBJEXT) '
+ compat_getopt=yes
missing_routines="$missing_routines"'getopt_long '
;;
esac
fi
+AM_CONDITIONAL(COMPAT_GETOPT, test "$compat_getopt" = yes)
if test "$ac_cv_func_mkstemp" = no; then
- COMPAT_LIBADD="$COMPAT_LIBADD"'mkstemp.$(OBJEXT) '
missing_routines="$missing_routines"'mkstemp '
fi
+AM_CONDITIONAL(COMPAT_MKSTEMP, test "$ac_cv_func_mkstemp" = no)
if test "x$missing_routines" = x; then
missing_routines='(none)'
fi
AC_MSG_RESULT($missing_routines)
-AC_SUBST(COMPAT_LIBADD)
dnl Work out which compatibility routines to use
AC_MSG_CHECKING(which compatibility routines to use)
@@ -625,6 +624,8 @@
;;
esac
AC_MSG_RESULT($COMPAT_OSNAME)
+COMPAT_SUBDIR="compat/$COMPAT_OSNAME"
+AC_SUBST(COMPAT_SUBDIR)
AC_SUBST(COMPAT_OSNAME)
dnl Do we want the low memory compile?
@@ -664,7 +665,6 @@
fi
AC_OUTPUT(Makefile \
-compat/Makefile \
compat/amiga/Makefile \
compat/morphos/Makefile \
compat/unix/Makefile \
@@ -688,6 +688,7 @@
ui/sdl/Makefile \
ui/scaler/Makefile \
ui/win32/Makefile \
+ui/win32/icons/Makefile \
ui/xlib/Makefile \
widget/Makefile \
z80/Makefile \
Modified: trunk/fuse/disk/beta.c
===================================================================
--- trunk/fuse/disk/beta.c 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/disk/beta.c 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,7 +1,7 @@
/* beta.c: Routines for handling the Beta disk interface
Copyright (c) 2004-2007 Stuart Brady
- $Id: beta.c 3227 2007-10-23 14:11:20Z zubzero $
+ $Id: beta.c 3400 2007-12-04 18:24:31Z zubzero $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -56,32 +56,41 @@
int beta_available = 0;
int beta_active = 0;
+int beta_builtin = 0;
static int beta_index_pulse = 0;
#define BETA_NUM_DRIVES 4
-static int beta_datarq;
-static int beta_intrq;
-
static wd_fdc *beta_fdc;
static wd_fdc_drive beta_drives[ BETA_NUM_DRIVES ];
-void beta_reset( void );
+const periph_t beta_peripherals[] = {
+ { 0x00ff, 0x001f, beta_sr_read, beta_cr_write },
+ { 0x00ff, 0x003f, beta_tr_read, beta_tr_write },
+ { 0x00ff, 0x005f, beta_sec_read, beta_sec_write },
+ { 0x00ff, 0x007f, beta_dr_read, beta_dr_write },
+ { 0x00ff, 0x00ff, beta_sp_read, beta_sp_write },
+};
+
+const size_t beta_peripherals_count =
+ sizeof( beta_peripherals ) / sizeof( periph_t );
+
+static void beta_reset( int hard_reset );
static void beta_memory_map( void );
static void beta_from_snapshot( libspectrum_snap *snap );
static void beta_to_snapshot( libspectrum_snap *snap );
static module_info_t beta_module_info = {
- NULL,
+ beta_reset,
beta_memory_map,
+ NULL, /* XXX: beta_enabled_snapshot */
beta_from_snapshot,
beta_to_snapshot,
};
-
void
beta_page( void )
{
@@ -107,24 +116,6 @@
memory_map_read[1] = memory_map_write[1] = memory_map_romcs[ 1 ];
}
-static void
-beta_set_intrq( wd_fdc *f )
-{
- beta_intrq = 1;
-}
-
-static void
-beta_set_datarq( wd_fdc *f )
-{
- beta_datarq = 1;
-}
-
-static void
-beta_reset_datarq( wd_fdc *f )
-{
- beta_datarq = 0;
-}
-
int
beta_init( void )
{
@@ -140,26 +131,32 @@
}
beta_fdc->dden = 1;
- beta_fdc->set_intrq = beta_set_intrq;
+ beta_fdc->set_intrq = NULL;
beta_fdc->reset_intrq = NULL;
- beta_fdc->set_datarq = beta_set_datarq;
- beta_fdc->reset_datarq = beta_reset_datarq;
+ beta_fdc->set_datarq = NULL;
+ beta_fdc->reset_datarq = NULL;
module_register( &beta_module_info );
return 0;
}
-void
-beta_reset( void )
+static void
+beta_reset( int hard_reset )
{
int i;
wd_fdc_drive *d;
- beta_active = 0;
-
event_remove_type( EVENT_TYPE_BETA_INDEX );
+ if( !periph_beta128_active ) {
+ beta_active = 0;
+ beta_available = 0;
+ return;
+ }
+
+ beta_available = 1;
+
wd_fdc_master_reset( beta_fdc );
for( i = 0; i < BETA_NUM_DRIVES; i++ ) {
@@ -169,15 +166,37 @@
d->index_interrupt = 0;
}
+ if( !beta_builtin ) {
+ machine_load_rom_bank( memory_map_romcs, 0, 0,
+ settings_current.rom_beta128,
+ settings_default.rom_beta128, 0x4000 );
+
+ memory_map_romcs[ 0 ].writable = 0;
+ memory_map_romcs[ 1 ].writable = 0;
+
+ memory_map_romcs[0].source = MEMORY_SOURCE_PERIPHERAL;
+ memory_map_romcs[1].source = MEMORY_SOURCE_PERIPHERAL;
+
+ beta_active = 0;
+ }
+
/* We can eject disks only if they are currently present */
ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_A_EJECT,
beta_drives[ BETA_DRIVE_A ].fdd.loaded );
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_A_WP_SET,
+ !beta_drives[ BETA_DRIVE_A ].fdd.wrprot );
ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_B_EJECT,
beta_drives[ BETA_DRIVE_B ].fdd.loaded );
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_B_WP_SET,
+ !beta_drives[ BETA_DRIVE_B ].fdd.wrprot );
ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_C_EJECT,
beta_drives[ BETA_DRIVE_C ].fdd.loaded );
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_C_WP_SET,
+ !beta_drives[ BETA_DRIVE_C ].fdd.wrprot );
ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_D_EJECT,
beta_drives[ BETA_DRIVE_D ].fdd.loaded );
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_D_WP_SET,
+ !beta_drives[ BETA_DRIVE_D ].fdd.wrprot );
beta_fdc->current_drive = &beta_drives[ 0 ];
machine_current->memory_map();
@@ -195,7 +214,7 @@
libspectrum_byte
beta_sr_read( libspectrum_word port GCC_UNUSED, int *attached )
{
- if( !beta_active ) return 0;
+ if( !beta_active ) return 0xff;
*attached = 1;
return wd_fdc_sr_read( beta_fdc );
@@ -212,7 +231,7 @@
libspectrum_byte
beta_tr_read( libspectrum_word port GCC_UNUSED, int *attached )
{
- if( !beta_active ) return 0;
+ if( !beta_active ) return 0xff;
*attached = 1;
return wd_fdc_tr_read( beta_fdc );
@@ -229,7 +248,7 @@
libspectrum_byte
beta_sec_read( libspectrum_word port GCC_UNUSED, int *attached )
{
- if( !beta_active ) return 0;
+ if( !beta_active ) return 0xff;
*attached = 1;
return wd_fdc_sec_read( beta_fdc );
@@ -246,7 +265,7 @@
libspectrum_byte
beta_dr_read( libspectrum_word port GCC_UNUSED, int *attached )
{
- if( !beta_active ) return 0;
+ if( !beta_active ) return 0xff;
*attached = 1;
return wd_fdc_dr_read( beta_fdc );
@@ -278,21 +297,19 @@
{
libspectrum_byte b;
- if( !beta_active ) return 0;
+ if( !beta_active ) return 0xff;
*attached = 1;
b = 0;
- if( beta_intrq )
+ if( beta_fdc->intrq )
b |= 0x80;
- if( beta_datarq )
+ if( beta_fdc->datarq )
b |= 0x40;
- beta_intrq = 0;
/* we should reset beta_datarq, but we first need to raise it for each byte
* transferred in wd_fdc.c */
-/* beta_datarq = 0; */
return b;
}
@@ -317,30 +334,50 @@
/* Abort the insert if we want to keep the current disk */
if( beta_disk_eject( which, 0 ) ) return 0;
}
- if( ( error = disk_open( &d->disk, filename, 0 ) != DISK_OK ) ) {
- ui_error( UI_ERROR_ERROR, "Failed to open disk image: %s",
- disk_strerror( d->disk.status ) );
- return 1;
+
+ if( filename ) {
+ error = disk_open( &d->disk, filename, 0 );
+ if( error != DISK_OK ) {
+ ui_error( UI_ERROR_ERROR, "Failed to open disk image: %s",
+ disk_strerror( d->disk.status ) );
+ return 1;
+ }
+ } else {
+ error = disk_new( &d->disk, 2, 80, DISK_DENS_AUTO, DISK_UDI );
+ if( error != DISK_OK ) {
+ ui_error( UI_ERROR_ERROR, "Failed to create disk image: %s",
+ disk_strerror( d->disk.status ) );
+ return 1;
+ }
}
+
fdd_load( &d->fdd, &d->disk, 0 );
/* Set the 'eject' item active */
switch( which ) {
case BETA_DRIVE_A:
ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_A_EJECT, 1 );
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_A_WP_SET,
+ !beta_drives[ BETA_DRIVE_A ].fdd.wrprot );
break;
case BETA_DRIVE_B:
ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_B_EJECT, 1 );
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_B_WP_SET,
+ !beta_drives[ BETA_DRIVE_B ].fdd.wrprot );
break;
case BETA_DRIVE_C:
ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_C_EJECT, 1 );
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_C_WP_SET,
+ !beta_drives[ BETA_DRIVE_C ].fdd.wrprot );
break;
case BETA_DRIVE_D:
ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_D_EJECT, 1 );
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_D_WP_SET,
+ !beta_drives[ BETA_DRIVE_D ].fdd.wrprot );
break;
}
- if( autoload ) {
+ if( filename && autoload ) {
PC = 0;
machine_current->ram.last_byte |= 0x10; /* Select ROM 1 */
beta_page();
@@ -350,16 +387,47 @@
}
int
-beta_disk_insert_default_autoload( beta_drive_number which,
- const char *filename )
+beta_disk_writeprotect( beta_drive_number which, int wrprot )
{
- return beta_disk_insert( which, filename, settings_current.auto_load );
+ wd_fdc_drive *d;
+
+ if( which >= BETA_NUM_DRIVES )
+ return 1;
+
+ d = &beta_drives[ which ];
+
+ if( !d->fdd.loaded )
+ return 1;
+
+ fdd_wrprot( &d->fdd, wrprot );
+
+ /* Set the 'writeprotect' item */
+ switch( which ) {
+ case BETA_DRIVE_A:
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_A_WP_SET,
+ !beta_drives[ BETA_DRIVE_A ].fdd.wrprot );
+ break;
+ case BETA_DRIVE_B:
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_B_WP_SET,
+ !beta_drives[ BETA_DRIVE_B ].fdd.wrprot );
+ break;
+ case BETA_DRIVE_C:
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_C_WP_SET,
+ !beta_drives[ BETA_DRIVE_C ].fdd.wrprot );
+ break;
+ case BETA_DRIVE_D:
+ ui_menu_activate( UI_MENU_ITEM_MEDIA_DISK_BETA_D_WP_SET,
+ !beta_drives[ BETA_DRIVE_D ].fdd.wrprot );
+ break;
+ }
+ return 0;
}
int
beta_disk_eject( beta_drive_number which, int write )
{
wd_fdc_drive *d;
+ char drive;
if( which >= BETA_NUM_DRIVES )
return 1;
@@ -377,8 +445,18 @@
if( d->disk.dirty ) {
+ switch( which ) {
+ case BETA_DRIVE_A: drive = 'A'; break;
+ case BETA_DRIVE_B: drive = 'B'; break;
+ case BETA_DRIVE_C: drive = 'C'; break;
+ case BETA_DRIVE_D: drive = 'D'; break;
+ default: drive = '?'; break;
+ }
+
ui_confirm_save_t confirm = ui_confirm_save(
- "Disk has been modified.\nDo you want to save it?"
+ "Disk in Beta drive %c: has been modified.\n"
+ "Do you want to save it?",
+ drive
);
switch( confirm ) {
@@ -434,13 +512,6 @@
}
int
-beta_event_cmd_done( libspectrum_dword last_tstates )
-{
- beta_fdc->status_register &= ~WD_FDC_SR_BUSY;
- return 0;
-}
-
-int
beta_event_index( libspectrum_dword last_tstates )
{
int error;
@@ -496,6 +567,7 @@
int attached;
wd_fdc *f = beta_fdc;
+ libspectrum_snap_set_beta_active( snap, 1 );
libspectrum_snap_set_beta_paged ( snap, beta_active );
libspectrum_snap_set_beta_direction( snap, beta_fdc->direction );
libspectrum_snap_set_beta_status( snap, beta_sr_read( 0x001f, &attached ) );
Modified: trunk/fuse/disk/beta.h
===================================================================
--- trunk/fuse/disk/beta.h 2008-02-14 13:00:36 UTC (rev 478)
+++ trunk/fuse/disk/beta.h 2008-02-17 02:02:27 UTC (rev 479)
@@ -1,7 +1,7 @@
/* beta.h: Routines for handling the Beta disk interface
Copyright (c) 2003-2004 Fredrick Meunier, Philip Kendall
- $Id: beta.h 3207 2007-10-19 20:04:47Z zubzero $
+ $Id: beta.h 3400 2007-12-04 18:24:31Z zubzero $
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,9 +30,15 @@
#include <libspectrum.h>
+#include "periph.h"
+
extern int beta_available; /* Is the Beta disk interface available for use? */
extern int beta_active; /* Is the Beta disk interface enabled? */
+extern int beta_builtin; /* Is the Beta disk interface built-in? */
+extern const periph_t beta_peripherals[];
+extern const size_t beta_peripherals_count;
+
int beta_init( void );
void beta_end( void );
@@ -63,15 +69,11 @@
BETA_DRIVE_D,
} beta_drive_number;
-void beta_reset( void );
-
int beta_disk_insert( beta_drive_number which, const char *filename,
int autoload );
-int beta_disk_insert_default_autoload( beta_drive_number which,
- const char *filename );
int beta_disk_eject( beta_drive_number which, int write );
+int beta_disk_writeprotect( beta_drive_number which, int wrprot );
int beta_disk_write( beta_drive_number which, const char *filename );
-int...
[truncated message content] |
|
From: <fr...@us...> - 2008-03-26 10:36:06
|
Revision: 493
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=493&view=rev
Author: fredm
Date: 2008-03-26 03:36:07 -0700 (Wed, 26 Mar 2008)
Log Message:
-----------
Move Emulate keyboard joystick option to to Bind Keys to Joystick option in
Machine menu
Modified Paths:
--------------
trunk/fuse/TODO
trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib
trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib
trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
trunk/fuse/fusepb/resources/Fuse Help/html/menus.html
trunk/fuse/fusepb/resources/Fuse Help/html/preferences.html
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2008-03-26 08:46:09 UTC (rev 492)
+++ trunk/fuse/TODO 2008-03-26 10:36:07 UTC (rev 493)
@@ -35,11 +35,12 @@
X Quit keyhandling when command key is pressed
X Allow zoom in fullscreen mode for widescreen displays
X Shouldn't be able to load Interface II carts in Pentagon
+X Save ROM into szx when using a non-default one
+X Restore functioning of keyboard joystick
* Seperate out sound buffer interleaving code to allow for the use of hardware etc.
sound mixing
* Add volume option to standard fuse + a sound API method to set volume (or a
parameter to sound_lowlevel_init)
-* Save ROM into szx when using a non-default one
* Randomise FRAMES sys var after autoload snapshot loaded in order to try and
get less deterministic program behaviour after load is complete
* Use sheets rather than modal dialogs (for Save As)
Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib
===================================================================
--- trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib 2008-03-26 08:46:09 UTC (rev 492)
+++ trunk/fuse/fusepb/nibs/MainMenu.nib/info.nib 2008-03-26 10:36:07 UTC (rev 493)
@@ -13,10 +13,10 @@
<string>489.0</string>
<key>IBOpenObjects</key>
<array>
+ <integer>29</integer>
<integer>877</integer>
- <integer>29</integer>
</array>
<key>IBSystem Version</key>
- <string>9C31</string>
+ <string>9C7010</string>
</dict>
</plist>
Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib
===================================================================
--- trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2008-03-26 08:46:09 UTC (rev 492)
+++ trunk/fuse/fusepb/nibs/Preferences.nib/keyedobjects.nib 2008-03-26 10:36:07 UTC (rev 493)
@@ -11,32 +11,32 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>1559</integer>
+ <integer>1548</integer>
</dict>
<key>NSAccessibilityConnectors</key>
<dict>
<key>CF$UID</key>
- <integer>1556</integer>
+ <integer>1545</integer>
</dict>
<key>NSAccessibilityOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1557</integer>
+ <integer>1546</integer>
</dict>
<key>NSAccessibilityOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1558</integer>
+ <integer>1547</integer>
</dict>
<key>NSClassesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1246</integer>
+ <integer>1237</integer>
</dict>
<key>NSClassesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1247</integer>
+ <integer>1238</integer>
</dict>
<key>NSConnections</key>
<dict>
@@ -56,34 +56,34 @@
<key>NSNamesKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1179</integer>
+ <integer>1171</integer>
</dict>
<key>NSNamesValues</key>
<dict>
<key>CF$UID</key>
- <integer>1180</integer>
+ <integer>1172</integer>
</dict>
<key>NSNextOid</key>
<integer>1158</integer>
<key>NSObjectsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1172</integer>
+ <integer>1164</integer>
</dict>
<key>NSObjectsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1178</integer>
+ <integer>1170</integer>
</dict>
<key>NSOidsKeys</key>
<dict>
<key>CF$UID</key>
- <integer>1248</integer>
+ <integer>1239</integer>
</dict>
<key>NSOidsValues</key>
<dict>
<key>CF$UID</key>
- <integer>1249</integer>
+ <integer>1240</integer>
</dict>
<key>NSRoot</key>
<dict>
@@ -160,123 +160,127 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>815</integer>
+ <integer>811</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>824</integer>
+ <integer>820</integer>
</dict>
<dict>
<key>CF$UID</key>
+ <integer>821</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
<integer>825</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>829</integer>
+ <integer>828</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>832</integer>
+ <integer>831</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>835</integer>
+ <integer>834</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>838</integer>
+ <integer>837</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>841</integer>
+ <integer>840</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>844</integer>
+ <integer>843</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>847</integer>
+ <integer>846</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>850</integer>
+ <integer>849</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>853</integer>
+ <integer>852</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>856</integer>
+ <integer>855</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>859</integer>
+ <integer>858</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>862</integer>
+ <integer>861</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>865</integer>
+ <integer>864</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>868</integer>
+ <integer>867</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>871</integer>
+ <integer>870</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>874</integer>
+ <integer>873</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>877</integer>
+ <integer>876</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>880</integer>
+ <integer>879</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>883</integer>
+ <integer>882</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>886</integer>
+ <integer>885</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>889</integer>
+ <integer>894</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>898</integer>
+ <integer>901</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>905</integer>
+ <integer>904</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>908</integer>
+ <integer>905</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>909</integer>
+ <integer>907</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>911</integer>
+ <integer>918</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>922</integer>
+ <integer>921</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -284,7 +288,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>929</integer>
+ <integer>942</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -300,15 +304,15 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>958</integer>
+ <integer>960</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>964</integer>
+ <integer>963</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>967</integer>
+ <integer>966</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -316,6 +320,10 @@
</dict>
<dict>
<key>CF$UID</key>
+ <integer>972</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
<integer>974</integer>
</dict>
<dict>
@@ -332,51 +340,51 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>982</integer>
+ <integer>981</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>984</integer>
+ <integer>982</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>985</integer>
+ <integer>983</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>986</integer>
+ <integer>985</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>987</integer>
+ <integer>988</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>989</integer>
+ <integer>991</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>992</integer>
+ <integer>994</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>995</integer>
+ <integer>997</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>998</integer>
+ <integer>1005</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1001</integer>
+ <integer>1006</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1009</integer>
+ <integer>1007</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1010</integer>
+ <integer>1008</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -392,7 +400,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1016</integer>
+ <integer>1018</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -404,43 +412,39 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1023</integer>
+ <integer>1028</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1026</integer>
+ <integer>1029</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1032</integer>
+ <integer>1030</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1033</integer>
+ <integer>1031</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1034</integer>
+ <integer>1032</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1035</integer>
+ <integer>1037</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1036</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
<integer>1041</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1045</integer>
+ <integer>1047</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1051</integer>
+ <integer>1052</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -452,15 +456,15 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1064</integer>
+ <integer>1062</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1066</integer>
+ <integer>1063</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1067</integer>
+ <integer>1066</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -468,19 +472,23 @@
</dict>
<dict>
<key>CF$UID</key>
+ <integer>1072</integer>
+ </dict>
+ <dict>
+ <key>CF$UID</key>
<integer>1074</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1076</integer>
+ <integer>1077</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1078</integer>
+ <integer>1080</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1081</integer>
+ <integer>1082</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -488,23 +496,23 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1086</integer>
+ <integer>1087</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1088</integer>
+ <integer>1090</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1091</integer>
+ <integer>1093</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1094</integer>
+ <integer>1096</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1097</integer>
+ <integer>1098</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -512,19 +520,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1102</integer>
+ <integer>1101</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1104</integer>
+ <integer>1102</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1105</integer>
+ <integer>1103</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1106</integer>
+ <integer>1105</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -540,27 +548,27 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1113</integer>
+ <integer>1114</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1115</integer>
+ <integer>1117</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1118</integer>
+ <integer>1120</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1121</integer>
+ <integer>1123</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1124</integer>
+ <integer>1127</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1127</integer>
+ <integer>1129</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -572,11 +580,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1135</integer>
+ <integer>1136</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1137</integer>
+ <integer>1138</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -608,32 +616,20 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>1154</integer>
+ <integer>1155</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1156</integer>
+ <integer>1158</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>1159</integer>
+ <integer>1160</integer>
</dict>
<dict>
<key>CF$UID</key>
<integer>1162</integer>
</dict>
- <dict>
- <key>CF$UID</key>
- <integer>1164</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>1166</integer>
- </dict>
- <dict>
- <key>CF$UID</key>
- <integer>1168</integer>
- </dict>
</array>
</dict>
<dict>
@@ -698,7 +694,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>301</integer>
+ <integer>297</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -708,7 +704,7 @@
<key>NSSubviews</key>
<dict>
<key>CF$UID</key>
- <integer>205</integer>
+ <integer>201</integer>
</dict>
</dict>
<string>{{18, 127}, {105, 18}}</string>
@@ -1128,7 +1124,7 @@
<key>NSLabel</key>
<dict>
<key>CF$UID</key>
- <integer>814</integer>
+ <integer>810</integer>
</dict>
<key>NSSource</key>
<dict>
@@ -1140,22 +1136,22 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>813</integer>
+ <integer>809</integer>
</dict>
<key>NSMaxSize</key>
<dict>
<key>CF$UID</key>
- <integer>812</integer>
+ <integer>808</integer>
</dict>
<key>NSMinSize</key>
<dict>
<key>CF$UID</key>
- <integer>811</integer>
+ <integer>807</integer>
</dict>
<key>NSScreenRect</key>
<dict>
<key>CF$UID</key>
- <integer>810</integer>
+ <integer>806</integer>
</dict>
<key>NSViewClass</key>
<dict>
@@ -1189,7 +1185,7 @@
<integer>46</integer>
</dict>
</dict>
- <string>{{153, 301}, {634, 423}}</string>
+ <string>{{24, 182}, {634, 423}}</string>
<string>Preferences</string>
<string>NSPanel</string>
<dict>
@@ -1220,7 +1216,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>809</integer>
+ <integer>805</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1247,11 +1243,11 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>771</integer>
+ <integer>767</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>804</integer>
+ <integer>800</integer>
</dict>
</array>
</dict>
@@ -1259,7 +1255,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>770</integer>
+ <integer>766</integer>
</dict>
<key>NSAllowTruncatedLabels</key>
<true/>
@@ -1273,7 +1269,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>201</integer>
+ <integer>197</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -1283,7 +1279,7 @@
<key>NSSelectedTabViewItem</key>
<dict>
<key>CF$UID</key>
- <integer>535</integer>
+ <integer>531</integer>
</dict>
<key>NSSubviews</key>
<dict>
@@ -1298,7 +1294,7 @@
<key>NSTabViewItems</key>
<dict>
<key>CF$UID</key>
- <integer>202</integer>
+ <integer>198</integer>
</dict>
<key>NSTvFlags</key>
<integer>4</integer>
@@ -1326,7 +1322,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>200</integer>
+ <integer>196</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -2463,7 +2459,7 @@
<key>$classname</key>
<string>NSView</string>
</dict>
- <string>{{17, 20}, {481, 100}}</string>
+ <string>{{17, 37}, {481, 100}}</string>
<string>{0, 0}</string>
<dict>
<key>$class</key>
@@ -3418,7 +3414,7 @@
<string></string>
</dict>
<string>{{2, 2}, {477, 82}}</string>
- <string>{{17, 115}, {481, 102}}</string>
+ <string>{{17, 141}, {481, 102}}</string>
<dict>
<key>$class</key>
<dict>
@@ -3482,7 +3478,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>196</integer>
+ <integer>192</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -3507,7 +3503,7 @@
<key>NSTitleCell</key>
<dict>
<key>CF$UID</key>
- <integer>197</integer>
+ <integer>193</integer>
</dict>
<key>NSTitlePosition</key>
<integer>2</integer>
@@ -3537,7 +3533,7 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>195</integer>
+ <integer>191</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -3571,10 +3567,6 @@
<key>CF$UID</key>
<integer>188</integer>
</dict>
- <dict>
- <key>CF$UID</key>
- <integer>191</integer>
- </dict>
</array>
</dict>
<dict>
@@ -3608,7 +3600,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{141, 21}, {125, 26}}</string>
+ <string>{{137, 13}, {125, 26}}</string>
<dict>
<key>$class</key>
<dict>
@@ -3904,7 +3896,7 @@
<key>NSvFlags</key>
<integer>256</integer>
</dict>
- <string>{{17, 27}, {122, 17}}</string>
+ <string>{{13, 23}, {122, 15}}</string>
<dict>
<key>$class</key>
<dict>
@@ -3941,94 +3933,12 @@
<integer>103</integer>
</dict>
</dict>
+ <string>{{2, 2}, {477, 53}}</string>
+ <string>{{17, 247}, {481, 73}}</string>
<dict>
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>23</integer>
- </dict>
- <key>NSCell</key>
- <dict>
- <key>CF$UID</key>
- <integer>193</integer>
- </dict>
- <key>NSEnabled</key>
- <true/>
- <key>NSFrame</key>
- <dict>
- <key>CF$UID</key>
- <integer>192</integer>
- </dict>
- <key>NSNextResponder</key>
- <dict>
- <key>CF$UID</key>
- <integer>173</integer>
- </dict>
- <key>NSSuperview</key>
- <dict>
- <key>CF$UID</key>
- <integer>173</integer>
- </dict>
- <key>NSvFlags</key>
- <integer>256</integer>
- </dict>
- <string>{{18, 51}, {188, 18}}</string>
- <dict>
- <key>$class</key>
- <dict>
- <key>CF$UID</key>
- <integer>22</integer>
- </dict>
- <key>NSAlternateContents</key>
- <dict>
- <key>CF$UID</key>
- <integer>21</integer>
- </dict>
- <key>NSAlternateImage</key>
- <dict>
- <key>CF$UID</key>
- <integer>18</integer>
- </dict>
- <key>NSButtonFlags</key>
- <integer>1211912703</integer>
- <key>NSButtonFlags2</key>
- <integer>2</integer>
- <key>NSCellFlags</key>
- <integer>67239424</integer>
- <key>NSCellFlags2</key>
- <integer>0</integer>
- <key>NSContents</key>
- <dict>
- <key>CF$UID</key>
- <integer>194</integer>
- </dict>
- <key>NSControlView</key>
- <dict>
- <key>CF$UID</key>
- <integer>191</integer>
- </dict>
- <key>NSKeyEquivalent</key>
- <dict>
- <key>CF$UID</key>
- <integer>21</integer>
- </dict>
- <key>NSPeriodicDelay</key>
- <integer>200</integer>
- <key>NSPeriodicInterval</key>
- <integer>25</integer>
- <key>NSSupport</key>
- <dict>
- <key>CF$UID</key>
- <integer>15</integer>
- </dict>
- </dict>
- <string>Emulate keyboard joystick</string>
- <string>{{2, 2}, {477, 87}}</string>
- <string>{{17, 213}, {481, 107}}</string>
- <dict>
- <key>$class</key>
- <dict>
- <key>CF$UID</key>
<integer>106</integer>
</dict>
<key>NSBackgroundColor</key>
@@ -4043,7 +3953,7 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>198</integer>
+ <integer>194</integer>
</dict>
<key>NSSupport</key>
<dict>
@@ -4053,7 +3963,7 @@
<key>NSTextColor</key>
<dict>
<key>CF$UID</key>
- <integer>199</integer>
+ <integer>195</integer>
</dict>
</dict>
<string>Keyboard</string>
@@ -4082,35 +3992,35 @@
<array>
<dict>
<key>CF$UID</key>
- <integer>203</integer>
+ <integer>199</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>304</integer>
+ <integer>300</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>342</integer>
+ <integer>338</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>498</integer>
+ <integer>494</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>535</integer>
+ <integer>531</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>537</integer>
+ <integer>533</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>637</integer>
+ <integer>633</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>712</integer>
+ <integer>708</integer>
</dict>
</array>
</dict>
@@ -4118,7 +4028,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>303</integer>
+ <integer>299</integer>
</dict>
<key>NSColor</key>
<dict>
@@ -4128,12 +4038,12 @@
<key>NSIdentifier</key>
<dict>
<key>CF$UID</key>
- <integer>204</integer>
+ <integer>200</integer>
</dict>
<key>NSLabel</key>
<dict>
<key>CF$UID</key>
- <integer>302</integer>
+ <integer>298</integer>
</dict>
<key>NSTabView</key>
<dict>
@@ -4165,15 +4075,15 @@
<array>
<dict>
<key>CF$UID</key>
- <integer>206</integer>
+ <integer>202</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>210</integer>
+ <integer>206</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>214</integer>
+ <integer>210</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -4189,7 +4099,7 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>218</integer>
+ <integer>214</integer>
</dict>
<dict>
<key>CF$UID</key>
@@ -4197,19 +4107,19 @@
</dict>
<dict>
<key>CF$UID</key>
- <integer>222</integer>
+ <integer>218</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>289</integer>
+ <integer>285</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>293</integer>
+ <integer>289</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>297</integer>
+ <integer>293</integer>
</dict>
</array>
</dict>
@@ -4222,14 +4132,14 @@
<key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>208</integer>
+ <integer>204</integer>
</dict>
<key>NSEnabled</key>
<true/>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>207</integer>
+ <integer>203</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -4272,12 +4182,12 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>209</integer>
+ <integer>205</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>206</integer>
+ <integer>202</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -4304,14 +4214,14 @@
<key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>212</integer>
+ <integer>208</integer>
</dict>
<key>NSEnabled</key>
<true/>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>211</integer>
+ <integer>207</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -4354,12 +4264,12 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>213</integer>
+ <integer>209</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>210</integer>
+ <integer>206</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -4386,14 +4296,14 @@
<key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>216</integer>
+ <integer>212</integer>
</dict>
<key>NSEnabled</key>
<true/>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>215</integer>
+ <integer>211</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -4436,12 +4346,12 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>217</integer>
+ <integer>213</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>214</integer>
+ <integer>210</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -4468,14 +4378,14 @@
<key>NSCell</key>
<dict>
<key>CF$UID</key>
- <integer>220</integer>
+ <integer>216</integer>
</dict>
<key>NSEnabled</key>
<true/>
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>219</integer>
+ <integer>215</integer>
</dict>
<key>NSNextResponder</key>
<dict>
@@ -4518,12 +4428,12 @@
<key>NSContents</key>
<dict>
<key>CF$UID</key>
- <integer>221</integer>
+ <integer>217</integer>
</dict>
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>218</integer>
+ <integer>214</integer>
</dict>
<key>NSKeyEquivalent</key>
<dict>
@@ -4545,7 +4455,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>288</integer>
+ <integer>284</integer>
</dict>
<key>NSBackgroundColor</key>
<dict>
@@ -4560,17 +4470,17 @@
<key>NSCellClass</key>
<dict>
<key>CF$UID</key>
- <integer>284</integer>
+ <integer>280</integer>
</dict>
<key>NSCellSize</key>
<dict>
<key>CF$UID</key>
- <integer>282</integer>
+ <integer>278</integer>
</dict>
<key>NSCells</key>
<dict>
<key>CF$UID</key>
- <integer>224</integer>
+ <integer>220</integer>
</dict>
<key>NSEnabled</key>
<true/>
@@ -4582,12 +4492,12 @@
<key>NSFrame</key>
<dict>
<key>CF$UID</key>
- <integer>223</integer>
+ <integer>219</integer>
</dict>
<key>NSIntercellSpacing</key>
<dict>
<key>CF$UID</key>
- <integer>283</integer>
+ <integer>279</integer>
</dict>
<key>NSMatrixFlags</key>
<integer>67633152</integer>
@@ -4603,7 +4513,7 @@
<key>NSProtoCell</key>
<dict>
<key>CF$UID</key>
- <integer>285</integer>
+ <integer>281</integer>
</dict>
<key>NSSelectedCol</key>
<integer>-1</integer>
@@ -4628,11 +4538,11 @@
<array>
<dict>
<key>CF$UID</key>
- <integer>225</integer>
+ <integer>221</integer>
</dict>
<dict>
<key>CF$UID</key>
- <integer>266</integer>
+ <integer>262</integer>
</dict>
</array>
</dict>
@@ -4640,7 +4550,7 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>265</integer>
+ <integer>261</integer>
</dict>
<key>NSCellFlags</key>
<integer>343014977</integer>
@@ -4654,12 +4564,12 @@
<key>NSControlView</key>
<dict>
<key>CF$UID</key>
- <integer>222</integer>
+ <integer>218</integer>
</dict>
<key>NSFormatter</key>
<dict>
<key>CF$UID</key>
- <integer>226</integer>
+ <integer>222</integer>
</dict>
<key>NSSupport</key>
<dict>
@@ -4669,7 +4579,7 @@
<key>NSTitleCell</key>
<dict>
<key>CF$UID</key>
- <integer>262</integer>
+ <integer>258</integer>
</dict>
<key>NSTitleWidth</key>
<real>161</real>
@@ -4678,19 +4588,19 @@
<key>$class</key>
<dict>
<key>CF$UID</key>
- <integer>261</integer>
+ <integer>257</integer>
</dict>
<key>NS.allowsfloats</key>
<true/>
<key>NS.attributes</key>
<dict>
<key>CF$UID</key>
- <integer>227</integer>
+ <integer>223</integer>
</dict>
<key>NS.decimal</key>
<dict>
<key>CF$UID</key>
- <integer>252</integer>
+ <integer>248</integer>
</dict>
<key>NS.hasthousands</key>
<false/>
@@ -4699,17 +4609,17 @@
<key>NS.max</key>
<dict>
<key>CF$UID</key>
- <integer>260</integer>
+ <integer>256</integer>
</dict>
<key>NS.min</key>
<dict>
<key>CF$UID</key>
- <integer>240</integer>
+ <integer>236</integer>
</dict>
<key>NS.nan</key>
<dict>
<key>CF$UID</key>
- <integer>257</integer>
+ <integer>253</integer>
</dict>
<key>NS.negativeattrs</key>
<dict>
@@ -4719,12 +4629,12 @@
<key>NS.negativeformat</key>
<dict>
<key>CF$UID</key>
- <integer>255...
[truncated message content] |
|
From: <fr...@us...> - 2008-03-31 11:51:21
|
Revision: 501
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=501&view=rev
Author: fredm
Date: 2008-03-31 04:51:27 -0700 (Mon, 31 Mar 2008)
Log Message:
-----------
Allow .img files to be opened as +D images.
Modified Paths:
--------------
trunk/fuse/TODO
trunk/fuse/fusepb/controllers/FuseController.m
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2008-03-29 03:19:57 UTC (rev 500)
+++ trunk/fuse/TODO 2008-03-31 11:51:27 UTC (rev 501)
@@ -1,42 +1,16 @@
TODO
-X Move Fuse to have a loop that runs a single frame at a time (will be callback
- in threaded Cocoa GL UI)
-X Switch to Cocoa run loop for Fuse
-X Add GL renderer
-X Add native keyboard processing (removes SDL keyboard input dependency from
- Fuse)
-X Add native CoreAudio sound processing (removes SDL sound dependency from Fuse)
-X Fix menus, preferences etc.
-X Add native mouse processing (removes SDL mouse input dependency from Fuse)
-X Make it possible to constrain Speccy image to "correct" aspect ratio
-X Restore fullscreen support
-X Fix scalers
-X Add support for bilinear etc. OpenGL filters
-X Add option to snap window size to 1x, 2x, 3x
-X Grab mouse in fullscreen mode
-X Move emulation to it's own object
-X Move emulation object to it's own thread and call main thread methods with
- performSelectorOnMainThread:withObject:waitUntilDone:, call emulation thread
- methods with DO when emulation is not paused, this should avoid sound glitches
- when menus are selected or window is minimised
-X Fix screen updating during fastloading
-X Make sure that fuse_end is called somewhere on exit
-X Restore activity icons
-X Restore joystick processing (re-use SDL joystick input files from SDL)
-X Sort out remaining FuseController calls into emulator object/thread
-X Restore application level volume adjustment
-X Use double buffered texture (in cocoadisplay have screen 0 and 1 for use of
- DisplayOpenGLView and flip between them on frame end), should also have a
- mutex taken while DisplayOpenGLView changes and cocoadisplay flips to
- prevent thread sync problems
-X Add .WAV loader using audiofile
-X Figure out why minimise icon image is partially blanked when minimise starts
-X Quit keyhandling when command key is pressed
-X Allow zoom in fullscreen mode for widescreen displays
-X Shouldn't be able to load Interface II carts in Pentagon
-X Save ROM into szx when using a non-default one
-X Restore functioning of keyboard joystick
+* +D and Beta Insert New... menu items
+* SZX and Pentagon issues
+* Pentagon port #ff returning floating bus issues
+* Timex 2068 fusetests
+* SZX mouse block
+* SZX +3 block
+* SZX DivIDE block
+* FuseGenerator
+* Console mode GUI
+* SZX ZX Printer block
+* PAL Compsite emulation
* Seperate out sound buffer interleaving code to allow for the use of hardware etc.
sound mixing
* Add volume option to standard fuse + a sound API method to set volume (or a
Modified: trunk/fuse/fusepb/controllers/FuseController.m
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.m 2008-03-29 03:19:57 UTC (rev 500)
+++ trunk/fuse/fusepb/controllers/FuseController.m 2008-03-31 11:51:27 UTC (rev 501)
@@ -208,7 +208,8 @@
[betaFileTypes retain];
plusdFileTypes = [NSMutableArray arrayWithObjects:@"dsk", @"DSK", @"mgt",
- @"MGT", nil];
+ @"MGT", @"img", @"IMG",
+ nil];
[plusdFileTypes retain];
allFileTypes = [NSMutableArray arrayWithArray:snapFileTypes];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2008-03-31 12:46:14
|
Revision: 502
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=502&view=rev
Author: fredm
Date: 2008-03-31 05:46:20 -0700 (Mon, 31 Mar 2008)
Log Message:
-----------
Add +D and Beta disk insert menu entries. Allow +D to save .img images.
Modified Paths:
--------------
trunk/fuse/TODO
trunk/fuse/fusepb/controllers/FuseController.h
trunk/fuse/fusepb/controllers/FuseController.m
trunk/fuse/fusepb/models/Emulator.h
trunk/fuse/fusepb/models/Emulator.m
trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib
trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib
trunk/fuse/fusepb/views/DisplayOpenGLView.h
trunk/fuse/fusepb/views/DisplayOpenGLView.m
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/TODO 2008-03-31 12:46:20 UTC (rev 502)
@@ -1,6 +1,5 @@
TODO
-* +D and Beta Insert New... menu items
* SZX and Pentagon issues
* Pentagon port #ff returning floating bus issues
* Timex 2068 fusetests
@@ -8,6 +7,7 @@
* SZX +3 block
* SZX DivIDE block
* FuseGenerator
+* Other disk write formats
* Console mode GUI
* SZX ZX Printer block
* PAL Compsite emulation
Modified: trunk/fuse/fusepb/controllers/FuseController.h
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.h 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/controllers/FuseController.h 2008-03-31 12:46:20 UTC (rev 502)
@@ -88,7 +88,9 @@
- (IBAction)disk_eject_b:(id)sender;
- (IBAction)disk_eject_write_a:(id)sender;
- (IBAction)disk_eject_write_b:(id)sender;
+- (IBAction)disk_new_a:(id)sender;
- (IBAction)disk_open_a:(id)sender;
+- (IBAction)disk_new_b:(id)sender;
- (IBAction)disk_open_b:(id)sender;
- (IBAction)disk_write_protect_a:(id)sender;
- (IBAction)disk_write_protect_b:(id)sender;
@@ -214,6 +216,7 @@
- (void)clearRecentSnapshots;
- (void)setTitle:(NSString*)title;
+- (void)newDisk:(specplus3_drive_number)drive;
- (void)openDisk:(specplus3_drive_number)drive;
- (void)setDiskState:(NSNumber*)state;
Modified: trunk/fuse/fusepb/controllers/FuseController.m
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.m 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/controllers/FuseController.m 2008-03-31 12:46:20 UTC (rev 502)
@@ -280,11 +280,21 @@
[self openDisk:SPECPLUS3_DRIVE_A];
}
+- (IBAction)disk_new_a:(id)sender
+{
+ [self newDisk:SPECPLUS3_DRIVE_A];
+}
+
- (IBAction)disk_open_b:(id)sender
{
[self openDisk:SPECPLUS3_DRIVE_B];
}
+- (IBAction)disk_new_b:(id)sender
+{
+ [self newDisk:SPECPLUS3_DRIVE_B];
+}
+
- (IBAction)dock_open:(id)sender
{
int error;
@@ -1563,6 +1573,21 @@
[window setTitle:title];
}
+- (void)newDisk:(specplus3_drive_number)drive
+{
+ [[DisplayOpenGLView instance] pause];
+
+ if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) {
+ //[[DisplayOpenGLView instance] specplus3DiskInsert:filename inDrive:drive];
+ } else if( beta_active ) {
+ [[DisplayOpenGLView instance] betaDiskInsertNew:drive];
+ } else {
+ [[DisplayOpenGLView instance] plusdDiskInsertNew:drive];
+ }
+
+ [[DisplayOpenGLView instance] unpause];
+}
+
- (void)openDisk:(specplus3_drive_number)drive
{
char *filename = NULL;
@@ -1573,16 +1598,13 @@
if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) {
fileTypes = plus3FileTypes;
- } else if( machine_current->machine == LIBSPECTRUM_MACHINE_PENT ||
- machine_current->machine == LIBSPECTRUM_MACHINE_SCORP ) {
+ } else if( beta_active ) {
fileTypes = betaFileTypes;
} else {
fileTypes = plusdFileTypes;
}
- if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ||
- machine_current->machine == LIBSPECTRUM_MACHINE_PENT ||
- machine_current->machine == LIBSPECTRUM_MACHINE_SCORP ) {
+ if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 || beta_active ) {
message = ( drive == SPECPLUS3_DRIVE_A ? @"Insert disk into drive A:" :
@"Insert disk into drive B:" );
} else {
@@ -1598,8 +1620,7 @@
if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 ) {
[[DisplayOpenGLView instance] specplus3DiskInsert:filename inDrive:drive];
- } else if( machine_current->machine == LIBSPECTRUM_MACHINE_PENT ||
- machine_current->machine == LIBSPECTRUM_MACHINE_SCORP ) {
+ } else if( beta_active ) {
[[DisplayOpenGLView instance] betaDiskInsert:filename inDrive:drive];
} else {
[[DisplayOpenGLView instance] plusdDiskInsert:filename inDrive:drive];
@@ -1764,7 +1785,8 @@
[[DisplayOpenGLView instance] pause];
NSString *title = [NSString stringWithFormat:@"Write +D Disk %c: As", drive];
- filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"mgt", nil] );
+ filename = cocoaui_savepanel_get_filename( title,
+ [NSArray arrayWithObjects:@"mgt", @"img", nil] );
if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
Modified: trunk/fuse/fusepb/models/Emulator.h
===================================================================
--- trunk/fuse/fusepb/models/Emulator.h 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/models/Emulator.h 2008-03-31 12:46:20 UTC (rev 502)
@@ -93,11 +93,13 @@
-(int) specplus3DiskPresent:(specplus3_drive_number)which;
-(void) specplus3DiskWrite:(const char *)filename inDrive:(specplus3_drive_number)which;
+-(void) betaDiskInsertNew:(beta_drive_number)which;
-(void) betaDiskInsert:(const char *)filename inDrive:(beta_drive_number)which;
-(void) betaDiskEject:(beta_drive_number)drive saveFirst:(int)write;
-(void) betaDiskWrite:(const char *)filename inDrive:(beta_drive_number)which;
-(void) betaDiskWriteProtect:(beta_drive_number)which protect:(int)write;
+-(void) plusdDiskInsertNew:(plusd_drive_number)which;
-(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which;
-(void) plusdDiskEject:(plusd_drive_number)drive saveFirst:(int)write;
-(void) plusdDiskWrite:(const char *)filename inDrive:(plusd_drive_number)which;
Modified: trunk/fuse/fusepb/models/Emulator.m
===================================================================
--- trunk/fuse/fusepb/models/Emulator.m 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/models/Emulator.m 2008-03-31 12:46:20 UTC (rev 502)
@@ -306,6 +306,11 @@
specplus3_disk_write( which, filename );
}
+-(void) betaDiskInsertNew:(beta_drive_number)which
+{
+ beta_disk_insert( which, NULL, 0 );
+}
+
-(void) betaDiskInsert:(const char *)filename inDrive:(beta_drive_number)which
{
beta_disk_insert( which, filename, 0 );
@@ -326,6 +331,11 @@
beta_disk_writeprotect( which, write );
}
+-(void) plusdDiskInsertNew:(plusd_drive_number)which
+{
+ plusd_disk_insert( which, NULL, 0 );
+}
+
-(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which
{
plusd_disk_insert( which, filename, 0 );
Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib
===================================================================
--- trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/nibs/MainMenu.nib/classes.nib 2008-03-31 12:46:20 UTC (rev 502)
@@ -21,6 +21,8 @@
"disk_eject_b" = id;
"disk_eject_write_a" = id;
"disk_eject_write_b" = id;
+ "disk_new_a" = id;
+ "disk_new_b" = id;
"disk_open_a" = id;
"disk_open_b" = id;
"disk_write_protect_a" = id;
Modified: trunk/fuse/fusepb/nibs/MainMenu.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.h
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.h 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.h 2008-03-31 12:46:20 UTC (rev 502)
@@ -123,11 +123,13 @@
-(int) specplus3DiskPresent:(specplus3_drive_number)which;
-(void) specplus3DiskWrite:(const char *)filename inDrive:(specplus3_drive_number)which;
+-(void) betaDiskInsertNew:(beta_drive_number)which;
-(void) betaDiskInsert:(const char *)filename inDrive:(beta_drive_number)which;
-(void) betaDiskEject:(beta_drive_number)drive saveFirst:(int)write;
-(void) betaDiskWrite:(const char *)filename inDrive:(beta_drive_number)which;
-(void) betaDiskWriteProtect:(beta_drive_number)which protect:(int)write;
+-(void) plusdDiskInsertNew:(plusd_drive_number)which;
-(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which;
-(void) plusdDiskEject:(plusd_drive_number)drive saveFirst:(int)write;
-(void) plusdDiskWrite:(const char *)filename inDrive:(plusd_drive_number)which;
Modified: trunk/fuse/fusepb/views/DisplayOpenGLView.m
===================================================================
--- trunk/fuse/fusepb/views/DisplayOpenGLView.m 2008-03-31 11:51:27 UTC (rev 501)
+++ trunk/fuse/fusepb/views/DisplayOpenGLView.m 2008-03-31 12:46:20 UTC (rev 502)
@@ -728,6 +728,11 @@
[proxy_emulator specplus3DiskWrite:filename inDrive:which];
}
+-(void) betaDiskInsertNew:(beta_drive_number)which
+{
+ [proxy_emulator betaDiskInsertNew:which];
+}
+
-(void) betaDiskInsert:(const char *)filename inDrive:(beta_drive_number)which
{
[proxy_emulator betaDiskInsert:filename inDrive:which];
@@ -748,6 +753,11 @@
[proxy_emulator betaDiskWriteProtect:which protect:write];
}
+-(void) plusdDiskInsertNew:(plusd_drive_number)which
+{
+ [proxy_emulator plusdDiskInsertNew:which];
+}
+
-(void) plusdDiskInsert:(const char *)filename inDrive:(plusd_drive_number)which
{
[proxy_emulator plusdDiskInsert:filename inDrive:which];
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fr...@us...> - 2008-04-29 12:23:54
|
Revision: 520
http://fuse-for-macosx.svn.sourceforge.net/fuse-for-macosx/?rev=520&view=rev
Author: fredm
Date: 2008-04-29 05:24:00 -0700 (Tue, 29 Apr 2008)
Log Message:
-----------
Add UI support for .udi, .fdi and .scl files for Beta disk images.
Modified Paths:
--------------
trunk/fuse/TODO
trunk/fuse/fusepb/controllers/FuseController.m
trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html
Modified: trunk/fuse/TODO
===================================================================
--- trunk/fuse/TODO 2008-04-28 13:55:35 UTC (rev 519)
+++ trunk/fuse/TODO 2008-04-29 12:24:00 UTC (rev 520)
@@ -2,9 +2,11 @@
* Pentagon port #ff returning floating bus issues - it does it because the RusFAQ says so?
* Timex 2068 fusetests
-* Other disk write formats
+* Add TITLE tags to help files
* Console mode GUI
-* SZX ZX Printer block
+* C version of standard tape loader
+* Add "proper" preferences window
+* SZX ZX Printer block?
* PAL Compsite emulation
* Seperate out sound buffer interleaving code to allow for the use of hardware etc.
sound mixing
Modified: trunk/fuse/fusepb/controllers/FuseController.m
===================================================================
--- trunk/fuse/fusepb/controllers/FuseController.m 2008-04-28 13:55:35 UTC (rev 519)
+++ trunk/fuse/fusepb/controllers/FuseController.m 2008-04-29 12:24:00 UTC (rev 520)
@@ -204,7 +204,7 @@
[plus3FileTypes retain];
betaFileTypes = [NSMutableArray arrayWithObjects:@"trd", @"TRD", @"scl",
- @"SCL", nil];
+ @"SCL", @"udi", @"UDI", @"fdi", "@FDI", nil];
[betaFileTypes retain];
plusdFileTypes = [NSMutableArray arrayWithObjects:@"dsk", @"DSK", @"mgt",
@@ -1756,7 +1756,10 @@
[[DisplayOpenGLView instance] pause];
NSString *title = [NSString stringWithFormat:@"Write Beta Disk %c: As", drive];
- filename = cocoaui_savepanel_get_filename( title, [NSArray arrayWithObjects:@"trd", nil] );
+ filename =
+ cocoaui_savepanel_get_filename( title,
+ [NSArray arrayWithObjects:@"trd", @"scl",
+ @"udi", @"fdi", nil] );
if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
@@ -1785,8 +1788,10 @@
[[DisplayOpenGLView instance] pause];
NSString *title = [NSString stringWithFormat:@"Write +D Disk %c: As", drive];
- filename = cocoaui_savepanel_get_filename( title,
- [NSArray arrayWithObjects:@"mgt", @"img", nil] );
+ filename =
+ cocoaui_savepanel_get_filename( title,
+ [NSArray arrayWithObjects:@"mgt", @"img",
+ nil] );
if( !filename ) { [[DisplayOpenGLView instance] unpause]; return 1; }
Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html
===================================================================
--- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2008-04-28 13:55:35 UTC (rev 519)
+++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2008-04-29 12:24:00 UTC (rev 520)
@@ -30,6 +30,14 @@
</font><font face="Lucida Grande,Helvetica,Arial">graphics mode
in SpotLight importer
(Fredrick Meunier)</font><font face="Lucida Grande,Helvetica,Arial">.</font></li>
+ <li><font face="Lucida Grande,Helvetica,Arial">Add UI support for
+.udi and .fdi files to
+be opened as Beta disk images</font><font
+ face="Lucida Grande,Helvetica,Arial"> (Fredrick Meunier).</font></li>
+ <li><font face="Lucida Grande,Helvetica,Arial">Add UI support for </font><font
+ face="Lucida Grande,Helvetica,Arial">.udi, .fdi and .scl files to
+be saved as Beta disk images</font><font
+ face="Lucida Grande,Helvetica,Arial"> (Fredrick Meunier).</font></li>
</ul>
</ul>
<h2><font face="Lucida Grande,Helvetica,Arial">What's new in Fuse
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|