File: FAQ

package info (click to toggle)
xzx 2.9.0-1
  • links: PTS
  • area: non-free
  • in suites: potato
  • size: 1,644 kB
  • ctags: 2,195
  • sloc: ansic: 25,375; sh: 1,937; yacc: 714; makefile: 197; lex: 107
file content (159 lines) | stat: -rw-r--r-- 7,069 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
Q: Why does the documentation contain so many grammary errors?

A: Because I always write the documentation in a hurry and I am not a language
   expert.  If you want, correct it and send corrected files to me.

Q: I get a "virtual memory exhausted" message during the compilation of z80.c.

A: The file z80.c contains the code for the emulation of the Z80, which itself
   is a huge switch statement.  With optimizations turned on, gcc needs a huge
   amount of memory in order to compile/optimize this code.  Undef
   HAVE_ENOUGH_SWAP in "config.h" an compile again (this will make the code a
   little slower because it turns parts of the switch statement into sepparate
   functions, but on a fast machine it shouldn't be noticeable).

Q: I get "xzx: warning: output to 128K/+3 port <fffd> in 48K mode" when running
   the emulator in 48K mode.

A: Your (48k) program accesses ports from the 128K machinery.  There are mostly
   BFFDh and FFFDh (the addresses of the AY sound chip).  Remove "-DPEDANTIC"
   from the CDEBUGFLAGS and recompile XZX.

Q: I have a snapshot whose format is not supported by XZX.  What can I do to
   load it and run it in XZX ?

A: Use a snapshot converter, such as SPCONV (which converts to/from almost any
   snap format in existence).  You can download it from the following URLs

   ftp://ftp.gns.getronics.nl/pub/os/sinclair/tools/generic/spconv-110.zip
   ftp://ftp.nvg.unit.no/pub/sinclair/utils/generic/spconv-110.zip.

   Also, you can download the program "zxs2tap" (converter from digital tape
   format ".zxs" to canonical tape format ".tap") from

   http://zx-museum.org.ru/mu/

Q: When I load certain TAP files, it loads the intro/screen and then freezes.

A: Many Spectrum programs use their own loading routine, which is not trapped
   by the emulator (in other words, they have a loop that just sits tight and
   listens to the EAR port).  There's no way to load such programs (your only
   hope is to find someone who hacked them to use the regular ROM load
   routines or get a VOC/TZX file version of the TAP.

Q: When I load certain TAP files, they seem to run fine, but sometimes reboot
   the emulator.  What to do ?

A: It's impossible to detect from the TAP file what kind of Spectrum model is
   needed for that file.  Sometimes, you need to load the TAP in 48k
   architecture, some other times in 128k architecture.  For instance, Rick
   Dangerous 2, only runs in 48k, whereas Turrican 2 and Narc only run in 128k
   mode.  Try both and see which works for you.

Q: When I use '-scale 3' is slows down the emulator.  What should I do ?

A: If you compiled XZX without "-DHAVE_ENOUGH_SWAP" then recompile using this -
   if your machine allows it.

   If you are running on a terminal that does not use MIT shared memory then
   try and find one that does.  Note: MIT shared memory is not possible over
   networks.

   Or try to decrease the screen refresh rate step by step until you get
   reasonable speed.  Alternatively, buy a faster video card :-)

Q: The emulator dies immediately with a message like "xzx: error: can't open
   ROM image <roms/spectrum.rom>".

A: Have you installed the application defaults file? Have you installed the ROM
   images with 'make install' ? There are certain resources that are installed
   in the defaults file and which indicate where the roms are located : make
   sure you've installed the XZX.ad file and that you've placed the roms in the
   right place.

Q: I get a "snapshot uses IF1 but xzx wasn't compiled with IF1 support"
   message when loading a snapshot.

A: You've compiled XZX without Interface I support.  The person who has taken
   the snap had the Interface I activated.  Your snapshot may or may not run
   under XZX (your best shot is to recompile XZX with IF1 activated).

Q: I've downloaded snapshots from the net and they crash the emulator.

A: This is impossible :-) To be seriously: send me a short problem description
   and the file via email.

Q: XZX doesn't compile with debug flags on (-g3 etc.) and complains that it
   cannot find "__outb" in the libraries.

A: This is a problem with the way the include file "/usr/include/asm/io.h" is
   written in Linux 96.  You need to edit it and change "extern inline ..." to
   "static inline ..." in a few places.  Here's a diff between the original
   version that comes with Linux and the patched version:

===============================
diff /usr/include/asm/io.h /usr/include/asm/io.h.orig
91c91
< static inline void __out##s(unsigned x value, unsigned short port) {
---
> extern inline void __out##s(unsigned x value, unsigned short port) {
103c103
< static inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;
---
> extern inline RETURN_TYPE __in##s(unsigned short port) { RETURN_TYPE _v;
115c115
< static inline void ins##s(unsigned short port, void * addr, unsigned
long count) \
---
> extern inline void ins##s(unsigned short port, void * addr, unsigned
long count) \
120c120
< static inline void outs##s(unsigned short port, const void * addr,
unsigned long count) \
---
> extern inline void outs##s(unsigned short port, const void * addr,
unsigned long count) \
===============================

Q: Some games, like Video Olympics, do not respond to keyboard input under XZX
   but do it under xz80.

A: XZX emulates by standard an Issue 3 Spectrum.  Some older programs need an
   Issue 2 emulation in order to respond to key press.

Q: I exited the emulator, and now the key autorepeat is turned off.

A: XZX turns of the autorepeat.  If you kill the window from the window manager
   then the exit routine will never be reached and autorepeat will remain off.
   You may be stuck by the number of function keys on your terminal though,
   since F10 exits the emulator and some keyboards have less than 10 function
   keys.  Enter the OSD's by hitting F1, then you can choose any function key
   option.

Q: Some of the function keys do not work.

A: Some window managers like to steal the function keys for its own purposes.
   As long as F1 works then you can pick up any option.

Q: Can I change the emulation speed?

A: Since version 2.7.1 you can set the emulation speed in percent.

Q: I have problems with the keyboard in some snapshots.

A: The snapshot was probably saved with different joystick settings. At this
   time XZX emulates only a Kempston compatible joystick.

Q: Some programs (Fairlight a Prelude) do not load from a tape file.

A: They check for the original Spectrum ROM and get confused by the traps the
   emulator sets into the ROM.  The only way to get these tapes loaded is to
   remove the traps.  Unfortunately this can only be done on compile time.
   Define 'NO_ED_TRAPS' in config2.h and recompile XZX.

Q: How does one create disk image from +D disks?

A: This is easy if you use Linux.  A +D disks contains of 80 tracks per side.
   Each track has ten setors of 512 bytes.  Create device entry (if not
   already done) with 'mknod /dev/fd0u800 b 2 120' and dump disk info file
   with 'dd if=/dev/fd0u800 of=image.mgt bs=10k'.