Rev 883 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
716 | lvd | 1 | ---------------------------------------------------------------------- |
2 | UnrealSpeccy 0.36.7 by SMT |
||
3 | ---------------------------------------------------------------------- |
||
4 | |||
5 | contents |
||
6 | |||
7 | 1. features |
||
8 | 2. system requirements |
||
9 | 3. keys in emulator |
||
10 | 4. bugs and incompatibilities |
||
11 | 5. greets |
||
12 | 6. license |
||
13 | |||
14 | |||
15 | ---------------------------------------------------------------------- |
||
16 | |||
17 | features |
||
18 | |||
19 | |||
20 | cpu |
||
21 | Z80: all (un)documented commands and flags |
||
22 | |||
23 | |||
24 | memory |
||
25 | |||
26 | Pentagon 128/512/1024 and 48K ROM |
||
27 | Scorpion 256/1024 RAM and 64K ROM |
||
28 | Scorpion PROF-ROM with SMUC support (128/256/512K) |
||
29 | KAY-256/1024 and 64K ROM |
||
30 | Profi 1024 RAM/ROM and memory mapper |
||
31 | ATM TURBO 1 v4.50 512/1024 RAM, 64-1024K ROM |
||
32 | ATM TURBO 2+ v7.10 128/512/1024 RAM, 64-1024K ROM |
||
33 | cache 16/32K |
||
34 | CMOS/RTC: russian chip (512Bu1, 64 bytes, 1st day is monday) or |
||
35 | pc-compatible (DALLAS, 256 bytes, 1st day of week is sunday) |
||
36 | SMUC RTC and NVRAM (24LC16) |
||
37 | |||
38 | sound |
||
39 | |||
40 | beeper, tape saving and loading tones |
||
41 | |||
42 | AY-3-8910/YM2149: excellent sound emulation, including digital |
||
43 | and unusual effects, parallel ports on R14/R15 are not emulated |
||
44 | |||
45 | Turbo-AY (Turbo-Sound): two AY(or YM) chips by PoS and NedoPC schemes |
||
46 | |||
47 | TurboSound FM: two YM2203 chips (6 AY channels + 6 FM channels) |
||
48 | |||
49 | also there is 'unreal' (not available in real Spectrum) mode: |
||
50 | playing AY music using digital player - emul plays three sound samples |
||
51 | with volumes and frequencies taken from corresponding AY registers |
||
52 | and 'pseudo-turbo' - two parallel YM chips with some phase shift |
||
53 | |||
54 | two covoxes - Pentagon (port #FB) & Scorpion (port #DD) |
||
55 | |||
56 | SounDrive |
||
57 | |||
58 | saving sound to WAV or VTX (VTX - good format for AY sound, much |
||
59 | more compact than PSG, but you need lha.exe somewhere in %PATH%) |
||
60 | |||
61 | General Sound - FX & MOD player through BASS sound system. |
||
62 | You can save music and listen it in your favourite mod-player |
||
63 | |||
64 | General Sound low level emulation (including internal Z80 on 12MHz, |
||
65 | 512Kb onboard memory, internal ports and DACs) |
||
66 | |||
67 | BASS offers higher quality and more sound channels than low-level |
||
68 | emulation. Low-level emulation is useful for programs altering the |
||
69 | firmware player and using second Z80 for their own needs. In general, |
||
70 | use BASS for games, and low-level emulation for advanced sound/music |
||
71 | editors (RIFF tracker) |
||
72 | |||
73 | video |
||
74 | |||
75 | several video drivers, from simple and fastest to complex bi-linear |
||
76 | filtering, that upsamples Spectrum display to 512x384 * 64 colors; |
||
77 | 'noflic' filter is specially for programs fast switching two screens |
||
78 | to get more colors; |
||
79 | several chunky filters for 21st century demos |
||
80 | |||
81 | amazing video filter: Anti-Text64. Designed for reading e-zines. |
||
82 | It converts 4x8 fonts to 8x8 or 8x16 on the fly and saves your eyes |
||
83 | |||
84 | multicolors are fixed for Pentagon & Scorpion, 1T screen update |
||
85 | for all border effects |
||
86 | |||
87 | able to emulate scorpion timings, including scorpion border update |
||
88 | |||
89 | nopaper mode for debugging border effects |
||
90 | |||
91 | flash-color (using 128 ink colors with black paper when FLASH bit on) |
||
92 | |||
93 | hi-res modes: Pentagon 512x192, Profi 512x240, ATM |
||
94 | (works with 'double' video filter) |
||
95 | |||
96 | ATM-TURBO color video modes (works with 'double' video filter): |
||
97 | text mode 80x25, EGA mode 320x200, 640x200. |
||
98 | To use custom text-mode font, place your "SGEN.ROM" to unreal directory. |
||
99 | Don't use border=none with ATM video modes |
||
100 | |||
101 | Pentagon 384x304 mode [see ZX-Guide#2, AlCoNews#32] |
||
102 | |||
103 | Pentagon color-per-pixel mode [see Info Guide#8, #9] |
||
104 | |||
105 | hardware multicolor |
||
106 | |||
107 | attribute port #FF |
||
108 | |||
109 | |||
110 | tune-up video/sound with hotkeys |
||
111 | |||
112 | change video settings, such as number of t-states/frame, t-states/line, |
||
113 | fix with grey+, grey-, grey* |
||
114 | |||
115 | t-states/frame is a computer speed, so it's easy to adjust speed in |
||
116 | fast (or slow) games in very wide range for comfortable playing |
||
117 | |||
118 | alt+grey*, grey-, grey+ selects soundchip (AY/YM) and |
||
119 | stereo mode (ABC/ACB), or palette |
||
120 | |||
121 | |||
122 | beta 128 disk interface |
||
123 | |||
124 | implemented all FDC WD1793 commands, including read/format track |
||
125 | |||
126 | traps for read/write sector - more then 256 times speedup |
||
127 | |||
128 | |||
129 | tape |
||
130 | |||
131 | full TAP and TZX support |
||
132 | |||
133 | CSW support |
||
134 | |||
135 | tape browser |
||
136 | |||
137 | auto-start tape when accessing to ROM load routine |
||
138 | |||
139 | fast loading: UnrealSpeccy is able to recognize loader logic |
||
140 | and speed up loader by removing delay loops and edge detection loops. |
||
141 | (Of course, UnrealSpeccy leaves original t-states timing, |
||
142 | so max speed mode must be enabled for fast loading - press NumLock) |
||
143 | With this technique any 128K game may be loaded in 10-20 secs. |
||
144 | I've developed this feature independent from RAMSOFT, but looks like |
||
145 | they used the same idea in RS 0.90.38... |
||
146 | For really fast loading, also choose 'normal' video driver |
||
147 | |||
148 | |||
149 | IDE |
||
150 | |||
151 | UnrealSpeccy is able to use KAY, SCORPION and ATM-2 IDE interfaces with |
||
152 | two devices on it (hard disks or CD-ROMs) |
||
153 | |||
154 | for hard disks you may use image file or Spectrum drive, connected to |
||
155 | computer. CD-ROM requires physical or windows-level emulated device |
||
156 | |||
157 | schemes supported: |
||
158 | Nemo - controller for ZX-BUS manufactured by Nemo and NedoPC |
||
159 | ATM - ATM TURBO 2+ v7.10 |
||
160 | Nemo(A8) - Nemo scheme modification: uses A8 instead of A0 to |
||
161 | select high/low byte of 16bit data (easy to |
||
162 | transfer sector with just two commands INIR:INIR) |
||
163 | SMUC - IDE controller for ZS Scorpion |
||
164 | |||
165 | modem |
||
166 | |||
167 | ISA modem, configured to use COM1 ports 03F8-03FF |
||
168 | translated to Spectrum's ports #F8EF-#FFEF. |
||
169 | Modem interrupt (translated to Spectrum NMI) is not emulated |
||
170 | Host computer should have installed windows driver for real modem. |
||
171 | At least ping/dns by Kamil Karimov tested and works fine |
||
172 | with empty 'modem initialization string' |
||
173 | |||
174 | |||
175 | input devices |
||
176 | |||
177 | fully customizable keyboard |
||
178 | copy text from clipboard via emulation of Spectrum keyboard |
||
179 | AY-mouse (KORVET mouse, connected to AY-3-8910/12 port A) |
||
180 | kempston mouse with adjustable speed and swap-buttons option, |
||
181 | mouse wheel included (D7..D4 in buttons' port or UP/DOWN keys) |
||
182 | kempston joystick on keyboard |
||
183 | kempston joystick on mouse (joystick will follow mouse cursor) |
||
184 | mouse wheel and buttons can be bound to any zx keys or kempston |
||
185 | PC joystick/gamepad can be bound to any zx keys or kempston |
||
186 | sticky keys mode [stolen from ZX_Emul, read description there] |
||
187 | autofire (with adjustable key and period) |
||
188 | |||
189 | files |
||
190 | |||
191 | reading: |
||
192 | |||
193 | SP, SNA and Z80 (all versions, 48k and 128k) |
||
194 | TAP, TZX, CSW |
||
195 | FDI, TRD, SCL, TD0, UDI |
||
196 | if disk image does not contain boot.B, it may be appended. |
||
197 | Disk images for every drive may be loaded automatically |
||
198 | at start of UnrealSpeccy |
||
199 | HOBETA format - appends file to existing disk; if no disk, then empty |
||
200 | TR-DOS disk will be created. Best use with command line: |
||
201 | unreal.exe prog.$B prog.$C <- will be placed on same disk |
||
202 | You can also load it from 'F3' dialog, but only by one file |
||
203 | |||
204 | writing: |
||
205 | |||
206 | SNA 48k and 128k |
||
207 | TRD, FDI, UDI |
||
208 | TD0 (saved unpacked, so expect saved file larger than loaded) |
||
209 | SCR, BMP (screenshots) |
||
210 | WAV, VTX |
||
211 | |||
212 | |||
213 | disk images converter: |
||
214 | |||
215 | emulator can open disk image in any format (TRD/TD0/FDI/SCL/UDI) |
||
216 | and save it to any other format |
||
217 | |||
218 | |||
219 | leds |
||
220 | |||
221 | 1. AY volume/status. Just for fun. White color - tone, yellow - noise, |
||
222 | green - envelope; also shows YM2203 and GS volumes |
||
223 | |||
224 | 2. perfomance leds. One displays how much Z80 t-states is between two |
||
225 | interrupts. While watching some demo you can see how much time |
||
226 | takes one or another effect. Second led shows PC framerate - at |
||
227 | normal speed it must be 50. If it is less, then your CPU is too |
||
228 | slow, and sound may be jerky - try to select faster video driver, |
||
229 | disable some devices, increase skipframe or decrease t-states |
||
230 | per int. When running on max speed, framerate shows how fast you |
||
231 | computer is. For example, 800 fps is 16 times faster than |
||
232 | Spectrum, so average game will load in 20 secs. |
||
233 | |||
234 | 3. input led. Shows which input devices are active - keyboard, mouse, |
||
235 | kempston joystick. For keyboard, displays queried keyrows. |
||
236 | One example: I've noticed, that in KOL0BOK2 intro active keyrows |
||
237 | are <B>-<SPACE> and A-G. <SPACE> is an exit, but why program |
||
238 | scans <A>-<G> ? I've pressed <A>, and I saw that now program |
||
239 | queries <Y>-<P>. After pressing A+P, program queries <CAPS>-<V>. |
||
240 | When pressing A+P+X active keyrow areonly <B>-<SPACE>. So, I've |
||
241 | found cheat without digging in program code! (Another way was to |
||
242 | set breakpoint on reading port #FE and analyze code nearby) |
||
243 | |||
244 | 4. loading led. When saving/loading from disk, emulator shows |
||
245 | blue or red diskette. When formatting track, yellow disk is |
||
246 | displayed. When loading from tape, emulator displays |
||
247 | cassette picture and progress for current block (or 'PS' - tape |
||
248 | silence) |
||
249 | |||
250 | 5. local time - for those ZX Spectrum fans, who spend all their |
||
251 | time with virtual Spectrum |
||
252 | |||
253 | 6. on-screen watches - display used RAM and ROM banks in last frame, |
||
254 | count user-defined expressions |
||
255 | |||
256 | 7. using leds on AT keyboard to display AY amplitude peaks |
||
257 | |||
258 | |||
259 | leds look strange when flash-color is enabled. It's not a bug |
||
260 | |||
261 | |||
262 | monitor |
||
263 | |||
264 | software that in PC world is called 'debugger', in Spectrum world |
||
265 | is often called 'monitor' |
||
266 | |||
267 | find text or code. |
||
268 | Using mask: code matches when ((code & mask) == (pattern & mask)) |
||
269 | |||
270 | unlimited number of code breakpoints |
||
271 | |||
272 | conditional breakpoints of any complexity, uses C-like expression |
||
273 | syntax (with this feature can be easily done: breakpoint on range, |
||
274 | breakpoint to port in and out, on instruction, etc..) |
||
275 | |||
276 | memory access breakpoints (on reading/writing/executing of given memory |
||
277 | areas) |
||
278 | |||
279 | built-in Z80 assembler/disassembler |
||
280 | |||
281 | save-load memory blocks |
||
282 | |||
283 | disk editor |
||
284 | |||
285 | ripper's tool: for ripping routines with their data. |
||
286 | Marks which bytes were read/written, and saves whole 64kb memory, |
||
287 | replacing unreferenced bytes with user-defined byte (default is #CF) |
||
288 | |||
289 | hotkeys to save/restore cursor position in disasm window |
||
290 | |||
291 | hotkeys for location instruction operand in Z80 or dump window |
||
292 | |||
293 | on-screen watches: show memory areas addressed by register pairs |
||
294 | |||
295 | |||
296 | GUI |
||
297 | |||
298 | all settings, that present in INI file, may be changed in GUI |
||
299 | (but will not be saved, for permanent effect edit INI file) |
||
300 | |||
301 | easy entering POKEs, if you don't want to use monitor or use |
||
302 | HEX addresses. Delimiters for numbers are space, comma, colon, |
||
303 | semicolon - so POKEs can be cut'n'pasted from any cheats collection |
||
304 | |||
305 | loading from archives. Now supported: CAB,ZIP,RAR. |
||
306 | You can add your own archivers to INI file |
||
307 | |||
308 | ---------------------------------------------------------------------- |
||
309 | |||
310 | system requirements |
||
311 | |||
312 | Windows 95 or higher, or NT (not tested). |
||
313 | Windows 2000/XP/2003 are required for real HDD support. |
||
314 | |||
315 | for running UnrealSpeccy you need: |
||
316 | |||
317 | Pentium-166 CPU MMX for basic functionality |
||
318 | Celeron-266 CPU for Profi/Pentagon/ATM/Anti-Text64 hi-res modes |
||
319 | Celeron-400 CPU for GS low-level emulation |
||
320 | UnrealSpeccy eats only 12Mb of RAM, so |
||
321 | if you've started Windows, then memory is enough |
||
322 | 2D accelerared video card with hardware support of |
||
323 | video overlays and color keying for overlay modes |
||
324 | 3D accelerared video card for hardware chunky bilinear filter |
||
325 | 2 Mb of video memory in fullscreen |
||
326 | 4 Mb of video memory for windowed mode |
||
327 | 16-bit sound card [optional, but recommended] |
||
328 | |||
329 | |||
330 | if you have such hardware, but emulator runs slow, try the |
||
331 | following: |
||
332 | |||
333 | 0. install latest directX and videocard drivers |
||
334 | 1. increase sound buffer size (especially for Win95) in INI file |
||
335 | 2. select video filter='small', video driver='ddraw' |
||
336 | 3. disable vsync |
||
337 | 4. set 'ShareCPU=0' in INI file |
||
338 | 5. do not use General Sound low-level emulation |
||
339 | 6. do not use YM2203 |
||
340 | 7. set 'skipframe=4' in INI file |
||
341 | 8. set 'Frame=30000' in INI file (if nothing else does not work) |
||
342 | 9. disable sound (without sound emulator runs much faster) |
||
343 | |||
344 | this should help |
||
345 | |||
346 | |||
347 | ---------------------------------------------------------------------- |
||
348 | |||
349 | keys in emulator |
||
350 | |||
351 | these are default keys, can be changed in INI file |
||
352 | |||
353 | |||
354 | Ctrl-F1 monitor |
||
355 | Shift-ESC only for windowed mode: give mouse to emulator or to MS Windows |
||
356 | Alt-F1 help on keys |
||
357 | F1 options/GUI |
||
358 | F2 write snapshot/disk image |
||
359 | Alt-F2 quicksave to qsave1.sna |
||
360 | Ctrl-F2 quicksave to qsave2.sna |
||
361 | Shift-F2 quicksave to qsave3.sna |
||
362 | F3 read snapshot/tape/disk image |
||
363 | Alt-F3 quickload from qsave1.sna |
||
364 | Ctrl-F3 quickload from qsave2.sna |
||
365 | Shift-F3 quickload from qsave3.sna |
||
366 | (SHIFT+)F4 select video driver (filter) |
||
367 | Alt-F4 exit emulator |
||
368 | F5 start/stop saving sound (WAV or VTX formats). |
||
369 | May be used from monitor: set breakpoint to |
||
370 | start/stop routines and save; |
||
371 | when saving to vtx, start and end silence are wiped |
||
372 | F6 enter POKE(s) |
||
373 | Alt-F6 search in memory for changed values (cheats, etc) |
||
374 | F7 start/stop tape |
||
375 | Shift-F7 tape browser |
||
376 | Alt-F8 screenshot |
||
377 | F9 quicksave all altered disk images and CMOS |
||
378 | Alt-Shift-F11 NMI |
||
379 | Alt-F11 NMI to cache |
||
380 | Ctrl-F11 NMI to TR-DOS ("magic") |
||
381 | F12 reset to default mode, as specified in INI file |
||
382 | Ctrl-Shift-F12 reset to basic-128 |
||
383 | Ctrl-F12 reset TR-DOS (128) |
||
384 | Shift-F12 reset to 48 basic, but port 7FFD unlocked |
||
385 | Alt-Shift-F12 reset to 48 basic, port 7FFD locked |
||
386 | Alt-F12 reset to system ROM |
||
387 | Ctrl-Alt-F12 reset to cache |
||
388 | pause/break pause |
||
389 | grey/ leds on/off |
||
390 | grey* select parameter to change: t-states/int (speed), fix, etc... |
||
391 | Alt+grey* select parameter to change: AY/palette |
||
392 | grey+,grey- change sound/video parameter (press with SHIFT for finetuning) |
||
393 | NumLock max speed on/off (no sound on max speed) |
||
394 | Alt-NumLock toggle autofire on/off |
||
395 | Alt-Ctrl-Z toggle ATM XT(AT)-keyboard controller on/off |
||
396 | Alt-Enter toggle full-screen mode |
||
397 | Alt-Shift-Ins copy text from clipboard to keyboard buffer |
||
398 | Alt-1 set window size to 1x scale in windowed mode |
||
399 | Alt-2 set window size to 2x scale, useful for hardware-stretched |
||
400 | modes like overlay and blitter |
||
401 | Alt-3 maximize window |
||
402 | |||
403 | |||
404 | keys in monitor |
||
405 | |||
406 | (CTRL,SHIFT,ALT+)F1,F2,F3,F5,F11,F12 - see above |
||
407 | Ctrl-F1 exit, run program |
||
408 | F7 step |
||
409 | F8 trace, skip calls and loops |
||
410 | F9 show Spectrum screen |
||
411 | Shift-F9 show alternative 128k screen |
||
412 | Alt-F9 show screen until painted point with border, mc and 2-scr |
||
413 | effects |
||
414 | F11 run program until address (SP) |
||
415 | TAB next window |
||
416 | SHIFT-TAB previous window |
||
417 | Alt-D toggle text/hex dump |
||
418 | Alt-B write to port 7FFD (select bank / screen) |
||
419 | Alt-M write to model-specific extended memory port (like |
||
420 | #1FFD,#FDFD,#DFFD,...) |
||
421 | Alt-P enter POKE(s) |
||
422 | Alt-F6 search in memory for changed values (cheats, etc) |
||
423 | Alt-R load memory block from file |
||
424 | Alt-W save memory block to file |
||
425 | Alt-F fill memory block with hex pattern |
||
426 | (note: to copy block, please use save+load) |
||
427 | Alt-G General Sound status (double-click - play sample) |
||
428 | Alt-T ripper's tool |
||
429 | Alt-O configure on-screen watches |
||
430 | Alt-U disasm to file |
||
431 | Alt-S cycle screenshot (ray-painted) / screendump (screen memory) / |
||
432 | watches |
||
433 | Alt-F render current frame to video buffer without border and MC |
||
434 | effects |
||
435 | Ctrl-U set user-defined watch address |
||
436 | Ctrl-L view labels, visible for Z80 in current memory state |
||
437 | Ctrl-J select and go to label |
||
438 | Alt-C breakpoints manager |
||
439 | Alt-Y switch active sound chip in Turbo-Sound mode |
||
440 | |||
441 | |||
442 | manager can handle 3 types of breakpoints: |
||
443 | |||
444 | 1. conditional breakpoints and on-screen watches |
||
445 | are using C expression syntax. |
||
446 | |||
447 | operators (in priority order): |
||
448 | () ! ~ M(x) -> * % / + - >> << > < == = <= >= != & ^ | && || |
||
449 | operands: |
||
450 | a,b,c,d,e,h,l,bc,de,hl - common registers |
||
451 | a',b',c',d',e',h',l',bc',de',hl' - alternative registers |
||
452 | ix,iy,pc,sp,i,r - control registers |
||
453 | FD - memory port #FD (also known as #7FFD) |
||
454 | OUT - port used in 'OUT' command (or 0FFFFFFFF when no outs) |
||
455 | IN - port used in 'IN' command (or 0FFFFFFFF when no ins) |
||
456 | VAL - read/written value to port (only meaningful when OUT != |
||
457 | 0FFFFFFFF or IN != 0FFFFFFFF) |
||
458 | numbers - hex, must start with digit: DFFD - wrong, 0DFFD - right |
||
459 | characters - must be enclosed in single quotes ('A','B',etc..) |
||
460 | All calculations use 32-bit unsigned interger arithmetic. |
||
461 | If you are not familiar with C, use brackets as much as possible, due to |
||
462 | non-intuitive operator's precedence, e.g. |
||
463 | out & 0FF == 0FE is treated as 'out & (0FF == 0FE)' <- always 0 |
||
464 | |||
465 | M(x) is byte from memory address x (same as x->0) |
||
466 | '=' is an alias for '==' (for Pascal programmers) |
||
467 | |||
468 | examples: |
||
469 | |||
470 | (out+1) | (in+1) - in/out to any port |
||
471 | (in & 8001) == 0 - read keyboard row from <B> to <SPACE> |
||
472 | !(out & 1) - any out to port #FE |
||
473 | (out & 0FF)==0BB && (val==0F3 || val==0F4) - reset General Sound |
||
474 | (out & 0FF)==0FD && (val&7)==3 - set 3rd memory page |
||
475 | (FD & 7) == 3 - the same |
||
476 | M(pc)==0CB && pc->1 >= 10 && pc->1 <= 17 |
||
477 | - set break on executing instruction "rl <reg>" |
||
478 | |||
479 | I hope, these examples will be enough to get idea |
||
480 | |||
481 | note: double-click on breakpoint to edit it |
||
482 | |||
483 | 2. execution breakpoints (also set in CPU window by pressing SPACE). |
||
484 | In manager window it is easy to setup breakpoint on execution |
||
485 | range like 6000-FFFF |
||
486 | |||
487 | 3. breakpoints on reading/writing memory. Similar to execution |
||
488 | breakpoints, but have flags "R" and "W" to issue interrupt on |
||
489 | reading/writing memory address (flags may be set together) |
||
490 | |||
491 | |||
492 | monitor: registers window |
||
493 | |||
494 | Cursor select register |
||
495 | ENTER,0-F change register |
||
496 | Ctrl+A,F,B,D,H,S,P,X,Y,I,R,M,1,2 edit A,F,BC,DE,HL,SP,PC,IX,IY,I,R,IM,IFF1,IFF2 |
||
497 | Alt+S,Z,5,H,3,P,N,C toggle flag |
||
498 | ' go to value under cursor in CPU window |
||
499 | ; go to value under cursor in memory window |
||
500 | |||
501 | |||
502 | monitor: CPU window |
||
503 | |||
504 | F4 trace to cursor |
||
505 | Alt-F7 find text |
||
506 | Ctrl-F7 find code with mask |
||
507 | HOME go to PC |
||
508 | Ctrl-G go to address |
||
509 | SPACE set/reset breakpoint under cursor |
||
510 | ENTER edit Z80 instruction, opcode bytes or cursor address |
||
511 | A-X assemble new Z80 instruction |
||
512 | Z set PC to cursor |
||
513 | Ctrl-1,.,Ctrl-8 save current position to slot 1-8 |
||
514 | 1-8 save current position to stack, go to saved position in slot 1-8 |
||
515 | Backspace restore position from jumpstack |
||
516 | ' push cursor position and go to instruction operand |
||
517 | ; jump to instruction operand in data window |
||
518 | Ctrl-A reading labels from XAS or ALASM, using 3 methods: |
||
519 | 1. XAS7: assembler should be in bank 6 (or bank #46 for Pentagon-512) |
||
520 | 2. ALASM: version 4.42-5.0x should be in 128k-memory (pages 1-7) |
||
521 | 3. ALASM+STS: STS should be in bank#7 (or bank #47 for Pentagon-512) |
||
522 | |||
523 | |||
524 | monitor: memory window |
||
525 | |||
526 | Alt-F7 find text in memory / disk track |
||
527 | Ctrl-F7 find code with mask in memory / disk track |
||
528 | Cursor,Home,End,PgUp,PgDn move |
||
529 | Ctrl-G go to address |
||
530 | Ctrl-M select memory editor |
||
531 | Ctrl-V select disk editor (physical track) |
||
532 | Ctrl-O select disk editor (logical sectors) |
||
533 | Ctrl-T select disk/track/sector in diskeditor |
||
534 | Ctrl-TAB move to hex/ascii |
||
535 | Ctrl+S,P,B,D,H,X,Y go to SP,PC,BC,DE,HL,IX,IY |
||
536 | other keys edit |
||
537 | |||
538 | monitor: Beta 128 window |
||
539 | |||
540 | here is a typical FDC indicator content |
||
541 | CD:1820 |
||
542 | STAT:21 |
||
543 | SECT:09 |
||
544 | T:01/01 |
||
545 | S:3C/00 |
||
546 | |||
547 | first line is command and data register (cmd18,data20 - seek track 20) |
||
548 | 2nd line - status register |
||
549 | 3rd line - sector register |
||
550 | 4th line - actual FDD head position and track register |
||
551 | 5th line - Beta disk system register and DRQ/INTRQ port |
||
552 | |||
553 | ---------------------------------------------------------------------- |
||
554 | |||
555 | bugs and incompatibilities |
||
556 | |||
557 | |||
558 | some programs, such as Manic Miner and Lode Runner, require |
||
559 | old 48K ROM (1982.rom), while some other programs require |
||
560 | ZX Spectrum 128 ROM (48for128.rom + 128tr!.rom) |
||
561 | |||
562 | some TR-DOS programs (Unreal Megademo by KSA, Street Fighter) |
||
563 | work only if TR-DOS traps are disabled and all delays enabled |
||
564 | |||
565 | Profi service ROM can work only when all TR-DOS delays are enabled |
||
566 | |||
567 | Bumpy does not work in default configuration, it tries to read port |
||
568 | #FFDF for kempston joystick - so disable kempston mouse before |
||
569 | playing [bug found by Paul Pavlov] |
||
570 | |||
571 | sounddrv=wave does not work with CTSB128PCI (Creative Sound Blaster), |
||
572 | there is a bug in drivers for this card. [bug found by Nuts] |
||
573 | |||
574 | some ABS adventures (ALIEN.SCL, LENIN.SCL) do not work with TR-DOS 5.04TM, |
||
575 | use version 5.03 - it is most compatible [bug found by Paul Pavlov] |
||
576 | |||
577 | Vixen 1,2,3 - incompatible with SounDrive [bug found by Paul Pavlov] |
||
578 | Fernandez - incompatible with SounDrive [bug found by Shadow Maker] |
||
579 | |||
580 | port #FF sometimes is not responding when SkipFrame!=0 |
||
581 | (the same to SkipFrameMaxSpeed!=0 and max speed mode) |
||
582 | |||
583 | Scorpion 'MAGIC' generates NMI even if PC < #4000, but shadow |
||
584 | monitor is not designed for this situation and may crash |
||
585 | |||
586 | CacheVox by AlCo requires TR-DOS delays enabled and [BETA128] IL=1 |
||
587 | |||
588 | If the emulator after returning of focus seems to have a sticky key, |
||
589 | press Scroll Lock, deactivate blinking key, then press Scroll Lock again. |
||
590 | |||
591 | If emulator control keys work wrong after returning of focus, press Enter, |
||
592 | and keys must go normal. |
||
593 | |||
594 | If emulator hangs with General Sound, try DSPrimary=0. |
||
595 | |||
596 | If emulator crashes with General Sound, try GSType=Z80. |
||
597 | |||
598 | If Kempston Joystick doesn't work, go to menu, press NumLock there, |
||
599 | then return. |
||
600 | |||
601 | In case of bad sound, try DSPrimary=1 (may crash emulator eventually!) |
||
602 | or SoundDrv=wave in .ini. |
||
603 | |||
604 | Screenshots are saved to the emulator directory. |
||
605 | Files to read and write via debugger are situated in a current directory |
||
606 | (which is seen by F3). |
||
607 | |||
608 | Download sys.trd (for drive B:) from http://alonecoder.narod.ru/zx/SYS.rar |
||
609 | Download xBIOS for ATM Turbo2+ from http://atmturbo.nedopc.com/ |
||
610 | Get WNASPI32.DLL from Ahead Nero or from Ahead website |
||
611 | |||
612 | BASS.DLL v2.3 was taken from http://www.un4seen.com/ |
||
613 | |||
614 | ---------------------------------------------------------------------- |
||
615 | |||
616 | greetings from SMT: |
||
617 | |||
618 | * dj.Z, IMP and MIC - I enjoyed your music a lot ! |
||
619 | * Nik-O and Fatal Snipe - for adherence to ay scene |
||
620 | * Hacker KAY - thanks for most accurate information about AY/YM |
||
621 | * Paul Pavlov - maintainer of largest TR-DOS archive |
||
622 | * Raul Gomez Sanchez (author of R80) |
||
623 | * Stalker - thanks for STS |
||
624 | * Placebo, Extreme, Digital Reality, CBS - for quality demos |
||
625 | * V_Soft (Roman Scherbakov) - for Vortex format |
||
626 | * Sergey Bulba - for AY_Emul |
||
627 | * Alone Coder - you keep Spectrum alive |
||
628 | * Ian Luck - thanks for BASS |
||
629 | * SirX - just a hello |
||
630 | * all ZX Spectrum fans - Speccy is da best! |
||
631 | |||
632 | |||
633 | special thanks to people, who were interested in |
||
634 | UnrealSpeccy's development and sent me info about hard/soft: |
||
635 | |||
636 | * Maxim Vasilyev - sent me many bugreports |
||
637 | * Mac Buster - some info about beta 128 disk interface |
||
638 | * Shiru Otaku - sent me GSPAK.ZIP |
||
639 | * Alexey Kravchenko - Scorpion timing info |
||
640 | * Vitaliy Pigo - testing and benchmarking |
||
641 | * Alex Baskakov - helped me with TD0 format |
||
642 | * Alone Coder - thnx for many info about Pentagon hardware |
||
643 | * Dexus - for integrating YM2203 support |
||
644 | * Maksagor - ATM information |
||
645 | * and many others, who emailed me congratulations/suggestions/etc |
||
646 | |||
647 | ---------------------------------------------------------------------- |
||
648 | |||
649 | license |
||
650 | |||
651 | UnrealSpeccy is completely freeware. You may use this emulator |
||
652 | and its sources without any restrictions. You may use the |
||
653 | sources in your own emul or to release bugfixed/new versions. |
||
654 | in this case you do not have to release updated source code, |
||
655 | (unlike GNU Public License requires, for example). You may port |
||
656 | emulator to any other platform (but there are many |
||
657 | MSVC-specific language constructions, so it's doubtful that |
||
658 | you can compile it with another compiler) |
||
659 | |||
660 | Send me bug reports, ideas, and changed source lines |
||
661 | http://dlcorp.nedopc.com/viewforum.php?f=8 |
||
662 |