SoundTrack: "FuCK iSn'T A FacT Yet" (A. FER)
__________________________________________
ZX Emulator v0.20b by Lion 17
Rostov-Don, 5.10.97
*
Opening speech:)
In this version I tried to make the emulation of AY-8910 (12),
as far as I could judge you. AY emulation is used
direct output to blaster
because of what the music, and especially noise inhibits the
emulator. As soon learn to work with DMA redesigned sound
output. This should accelerate its work and pretty much raised
sound quality. Please, musicians,
compare the sound with the original AY and write
me your opinion and suggestions. Also, if
anyone have an example of the DMA have gone to me. Oh, I forgot
to say, if You do not have a sound card, turn off the sound AY,
otherwise everything will hang. In this version
also an opportunity to download files Z80 and SNA. Download
file format SNA 48/128k and Z80 128k I checked. Files Z80
48k also be loaded, but there may
errors, as I nebylo these files. If you find errors, please
me and send the file. Z80 and SNA files
vary in size (the SNA files fixed size).
All of your comments, suggestions and information about the
bugs to submit to at 2:5061 / 7.27.
I'll be glad of any information. Just going
grateful to all who provide me with information about the
device AY-8912 (10), VG93, Z80 etc.
A little bit about future plans. Editor
keyboard layout, format support
FDI and Z80, built-in debugger, support for
physical disks TR-DOS, support for loading / unloading of the
tape, printer port, the possibility of switching the frequency
characteristics of the screen under different formats computers
(Original, Pentagon 128 and etc.), graphical interface for
configuring and much more.
Control Keys
F1/F2 - Vertical Int Pos
F3/F4 - Horisontal Int Pos
F8 - Speed Switch
F9 - NMI
F10 - Reset128
F11 - Reset48
F12 - Reset TR-DOS/128
Esc - Exit to DOS
LShift - Caps Shift
RShift - Symbol Shift
Arrows - Cursor Keys
Kempston Joystick:
Delete - Left
Page Down - Right
Home - Up
End - Down
Ctrl - Fire
Kempston Mouse:
Mouse
Required files
ZX_Emul.Exe - Emulator, in-house
persona
ZX_Emul.Ini - The configuration file
Sos.Rom - ROM ZX-Spectrum 48k
Dos.Rom - ROM TR-DOS
128.Rom - ROM ZX-Spectrum 128k
Disk.Trd - floppy image Spectrum
Configuration file ZX_Emul.Ini
In the absence of a configuration file it
created automatically with Auto
default. In the file are valid comments
after the symbol ";" to the end of the line.
ROM_PATH = ""; Reserved for
Interface
ROM_SOS = "Sos.Rom"; ROM mode 48k
(Maximum 63 characters)
ROM_TRD = "Dos.Rom"; ROM for TR-DOS (Max 63)
ROM_128 = "128.Rom"; ROM mode 128k
(Max 63)
DISK_A = "Disk.Trd"; disk image for
drive A (Max 63)
DISK_B = "Disk.Trd"; disk image for
drive B (Max 63)
DISK_C = "Disk.Trd"; disk image for
drive C (Max 63)
DISK_D = "Disk.Trd"; disk image for
drive D (Max 63)
Z80_NAME = ""; Name Snapshot File Z80
Download
INT_LINE = 0; line number on which
Roy is
interrupt (0-319)
INT_POS = 9; shift pulse
interruption from the beginning
strings (0-223)
AUTO_FIRE = OFF; Avtofayr for Kempston
joystick (ON / OFF)
BEEPER = ON; output capability
sound through the speaker
(ON / OFF)
AY_MUSIC = ON; Emulation AY-8910 (12)
(ON / OFF)
SPEED = REAL; Select speed
Emulator (REAL / MAX)
VIDEO_RATE = 49HZ; frame rate selection
(49HZ/53HZ)
SOUND_PORT = 220; Audio Port Selection
Cards
(220,240,260,280)
SOUND_RATE = 15Hz; Frequency Selection
audio sampling
; (500HZ, 1KHZ, 2KHZ, 4KHZ,
8KHZ, 10KHZ, 15KHZ,
20KHZ, 30KHZ, 50KHZ)
Release Notes
[!] Important changes;
[+] New features;
[-] Fixed error;
[*] Known bugs and flaws.
v0.20b
[-] Fixed bug with addressable ports
AY.
[+] Sync video Daudet
Lana finally.
[+] Button appears in NMI - F9.
[+] Button, the mode of the circuit-fire
for Kempston joystick.
[+] Added option mute spin
Kerala and emulation AY.
[!] Emulator learned to understand Snapshot
Files Z80 and SNA.
[-] Found a bug Interline sinhroimpul
Som.
[+] Added option to select the speed of work
You emulator.
[!] Will show a video mode with a frame rate
53Hz monitors for those who do not pa
bot to 49Hz.
[!] There was a complete emulation of AY-8910 (12)
at Sound Blaster'e.
v0.12b
[-] Removed a bug because of which the emulator ve
shalsya in protected mode.
v0.11b
[+] Files with firmware are now considered
extension ROM (at the request of workers).
[-] Removed a bug responsible for the dumping CMOS'a.
[-] Fixed bug due to which no
which graphics card was missing
synchronization of images, but on the other
elastic did not play top
curb.
[-] Fixed bug with C / O
lyucheniem color border on the edge of the screen
at.
[-] Fixed problem with missing audio
while changing the color
curb.
[!] Emulator is no longer slow down at work
those in the TR-DOS.
[-] Fixed a bug with the MSB
status register, because that does not
programs that work directly
controller drive crashed or
an error.
[-] Fixed bug with read command
sectors because of which hung INSULT
computer.
[+] Now the emulator works with 4 discs.
[+] Rewrote the procedure output to the screen
now it works faster.
[!] Will INI file.
[+] F8 key works like a switch
REAL / MAX SPEED.
v0.10b
[!] Completely redesigned display,
now run effects on the curb,
multicolor and switchable video
pages.
[*] Sync sound speaker simply
horrible.
v0.04b
[!] Finally made to count bars
cunts and deceleration to the level of original
tional Spectrum.
[!] Added emulation Kempston Mouse.
[+] Again, a little bit optimized code to increase
lichena speed.
[-] Found and fixed a bug with a team of CPI
which arose from the coincidence of names
macros.
[!] Added missing everything
command processor Z80.
[-] Slightly corrected emulation Kempston
Mouse.
v0.03b
[-] Fixed frequency lines and personnel to
15.62KHz and 48.83Hz, because previous
frequencies were calculated incorrectly.
Now the screen of the Spectrum
448x320 pixels, which is a complete
frequency analog Pentagon'a 128.
[-] Fixed the position of row signal
la quenching vyzyvashego darkening eq
wound on some monitors.
[+] Added a few undocumented
GOVERNMENTAL teams Z80.
[!] Added emulation Kemston Joystick'a
on the keys Home, End, Del, PgDn, Ctrl.
[+] Again, a little bit optimized code to increase
lichena speed.
[+] Now, during the prohibited limit
closing the timer and the clock
after being restored by cha
own real-time.
v0.02b
[-] Fixed the command Halt (do not reset
Xia Halt flag during Reset'e).
[-] Decoding addresses FE ports and 7FFD
become more 'rough': now sampling
port FE occurs when dropped
bit 0, port 7FFD when dropped
bits 15 and 1.
[+] Added emulation registers muse
apical coprocessor.
[+] Added a few undocumented
GOVERNMENTAL teams Z80.
[+] Significantly optimized code that
gave a significant increase in the rate
work.
[+] From the port 1F (Kempston Joystick) readout
is called 0.
v0.01b
[!] The first beta version has its own
number, is able to read _only_ images
TR-DOS disk (file disk.trd), sup
vaccination certificate frame rate of 50.6Hz and often
the row 14.6KHz (which, as then you
yasnilos, it was a mistake to see v0.03b).
[*] Staring at the screen, limiting chatoty
of the monitor.
About the author
Vladimir Yudin, aka Lion17,
2:5061 / 7.27, Rostov-on-Don.
Acknowledgments
Mednonogovu Glory (2:5030 / 362.4)
The information about the Z80 and Kempston Mouse,
Levandinu Dmitry (2:5061 / 2.71)
for beta-testing,
Andrei Mikhailov (2:5050 / 16.16)
The information about the processor cycles
Pyatkova Andrew (2:5000 / 93.21)
for recommendations and software from Enlight'a 96,
Roman Petrov (2:5052 / 7.37)
The information about the music processor,
Frunze, Vladimir (2:469 / 32.7)
for suggestions and information on the AY-Mouse,
Alex Rybinsky
for information about emulation AY.
as well as all the other fans SPECCY
supported me.
ely)? (SS + C)
/ (Grey) / (SS + V)
* (Gray) * (SS + B)
+ (Gray) + (SS + K)
Backspace Delete (CS +0)
Page Up True Video (CS +3)
Page Down Inv Video (CS +4)
Gray arrows left (CS +5),
right (CS +8),
down (CS +6) and
up (CS +7)
1.9 enlarged. Kempston joystick
ESC Exit
F1 Help with your keyboard
F2 Reset 48k
F3 Reset 128k
F4 Reset TR-DOS
F5 Disk selection for TR-DOS
and installation / removal
write protect
Joystick.
When you enable the relevant options
(Panel dialogue "The Office") analog
joystick can be used in programs as the ZX-Spectrum Kempston
(Kempston Interface I and II) and (or) how Sinclair (Interface
II, key "6" - "0") sticks. Check availability and joystick
calibration occurs automatically when you start the emulator.
In this currently handle the joystick must be in
central position.
The emulator also has the support of Kempston joystick on
the keyboard (key "1" - "9" extended keyboard).
Mouse.
In the emulator supports a mouse. The interface is selected
in the panel of the dialogue "The Office" with the switch "type
of mouse." There is also the possibility of installing speed of
movement and change of the left and right mouse buttons.
Speed.
The program has several possible
speed settings of work:
- Normal - the rate is close to the speed
original Spectrum'ma (automatic
setting on your computer's performance);
- Maximum - The maximum speed
What is possible only on the computer;
- Fast - speed at 1 / 8 faster
normal;
- Slow - speed at 1 / 8 slower
normal;
- Custom - the speed with
values of the parameters set by the user.
In most cases, you can set the maximum speed: generally, the
faster than the program works, the better. When
These programs are synchronized with the human interrupts will
work as a original ZX-Spectrum (if installed
frequency of human interruptions as the original: 50 Hz). But
in some cases still require the installation of speed, as in
original.
When choosing the normal velocity of proper installation of
speed parameters will be made not on all computers.
If the speed is slightly different from the original, you can
choose an expedited or slower speeds. If the velocity
differs significantly or need more
accurate installation, it is best to use
sampling rate. When you install a selective speed you need to
enter three parameters of which will depend on the speed work -
the main parameter of speed and two setting speed video memory.
To set the basic parameter for
disk image "SPECTRUM.TRD" present
program "SpdMain", by which
You can measure performance. Result
of this program is on the original
Spectrum is: 410 at start of treatment
128k and 592 when running from the regime of 48k (the value may
change with the inclusion of different versions of the ROM,
this test was carried out with standard ROM: 48k and 128k in
1982 1986). The main parameter of the rate needed
set so that the results of
program were as close as possible to
these values. If at zero
main parameter of the results of this program is lower than the
original ZX-Spectrum, then the speed of your computer enough
for the emulator in real time.
To set the memory speed settings you can use the
"SpdScr" from the same disc. On the original
ZX-Spectrum results of this program are the same: 44,852.
Establish the basic rate parameter on the results of this
program is not recommended, as for measuring performance, it
uses a small instruction set, and run-time commands to
original Spectrum and the emulator is not
are always proportional, so the set speed may be different from
the average. In this case, the rate parameters memory needed to
establish such a way that print out the result as soon as
possible more similar results.
Some programs may not work properly, reset or hang out with
big difference from the original speed
(Especially if the emulator is running slowly
original).
As a rule, regardless of the
speed of the emulator, it is desirable to
performance of TR-DOS was maximal
(Even if the program requires
certain speed, while working with
drive demands for speed available).
To do this, check the "Maximum
rate in TR-DOS ".
Open architecture. Modules.
The emulator can be connected
additional modules. These are files containing routines that
will work in the Emulator. Modules can perform various
functions (such as: support for additional devices, support
other file formats, debuggers, change the CPU and devices in
the emulator, additional features ...).
For their connection, use the panel
Dialogue Modules. After connecting module
You can set its configuration
(The button "Configuration" or double-click
mouse).
All you need to create modules
located in a directory ADDITION. In the delivery of a standard
contains an emulator five additional modules:
TIMES - counting processor cycles and
achieving a given number of cycles to switch to standby. If you
have installed option "Ignore interrupt", the abolition of the
interrupt, if not reached the specified number of cycles. LOG -
logical record of the (extended analog of which was in versions
1.XX this emulator). MEMPROFI - support for extended memory
Profi.
MAGIC - Support Button Magic (NMI
TR-DOS).
REFRESH - update the screen. In some
multitasking system on some video cards is incorrect recovery
of non-standard video mode emulator. This module - support hot
key refresh.
Screen. Human interruption.
Video adapter works in a non-
256x192 mode, with a large border, which
on the proportions of the screen close to the screen of the
original ZX-Spectrum.
ZX-Spectrum has an interrupt, which
synchronized with the personnel (HR interrupt). In the
emulator, there are three regime "generation" human interrupt
(Which can be selected by setting the appropriate value for
"Source Interrupt "):
- Interrupts are generated by a timer. In
this mode, interrupts are not synchronized
with personnel. Images appear on the curb
not, as in the original ZX-Spectrum, and
it is also possible the image to flicker and loss of smooth
movement of objects on the screen (Example: sprites in the
games, the letters in the ticker) in programs that are
synchronized with the interrupts. When selecting this mode you
can set the frequency of personnel interruptions in Hz by using
the "cut-off frequency (can take values from 20 Hz to 100 Hz,
the default - 50 Hz, like a real ZX-Spectrum).
- Interrupts are generated by personnel interrupt the video
adapter. In this mode, interrupts are synchronized with the
frames. If you Select this option, you must install the video
adapter interrupt number (optional "IRQ VGA"). Interrupt
frequency depends on frame rate. Note: Not all video cards
support personnel interrupt as well as an interrupt can be
disabled in the BIOS setup of your computer. - Interrupts are
generated when the reverse During the beam in the frame. This
mode differs from the previous one in that it programmatically
monitored by reverse beam across the frame.
In this mode, the emulator is running slowly
than in the other (because of tracking flyback) as well as
wrong is setting the performance. This regime was introduced as
an alternative for those whose video card does not support the
staffing interrupt. It can pass break (during flyback emulator
can, for example, to handle any appeal to the port program
ZX-Spectrum, thereby miss the moment generate interrupts).
The program includes a video modes
frame rate of 50, 55, 60 and 75 Hz.
- 50 Hz. This video mode is close in frequency to the
ZX-Spectrum. This video mode is frequencies that are outside
the range of allowable frequencies of some VGA monitors and
SVGA. These monitors will not "hold" This video mode. Because
of the low frequency regime for high-image displays too much
"twinkles". - 55 Hz. Intermediate regime between 50 and
60 Hz.
- 60 Hz. Video mode is the standard for
IBM frequencies (Video in frequency sweep mode is equivalent to
320x240). This video mode is supported on any monitor VGA. -
75 Hz. Video mode has increased frequencies. Note. Of frequency
setting interrupt rate may depend on implementation of programs
that are synchronized with interrupts: the speed in general,
the reaction rate on the keys, listening to music keyboard,
timer ...
More options.
Features of work.
- The "Time Interrupt" command specifies the number of
processors in during which the active impulse to interrupt
(Can be from 1 to 100,
Default - 1). Option is provided for compatibility with the
original (some can check this value).
- Length of data format "- the number of bytes of data that
takes VG93 when the command "track record" (can be from 1 to
16384, default - 1). Option is provided for compatibility with
the original (some programs may have to check this value). Than
less than this value, the faster the disk formatting in the
emulator. - Switch Mode restart 'influences
on the mode in which the emulator will start after the Start
button the main menu. - If you check "Always ready drive is
included, there are no delays in emulation of floppy drive
controller is not implemented. The next time after the transfer
of the auxiliary controller commands, This team has already
been done, and the following treatment after the transfer of
any other team, the controller is ready to send or receive
data. Virtual drives are always "rotate". In this mode, the
emulator runs faster but compatibility with the original below.
Option is provided for compatibility with the original (some
programs may check this value).
- Checkbox "Reading track number" affects
the first byte of data (track number), which will be read out
at the SH team "Read address". If not checked, then The track
number is always 1. With this value switch does not work for
some programs. If checked, then the team
"Read address" reads the track number on
which is positioned head drive.
In this case, TR-DOS format disks as one-sided.
- When the option "Auto Save
configuration emulator automatically saves the current
configuration. - Some standard formatted
floppy disk can not be copied to a file.
Error when it occurs on the first sector of each track and is
associated with inadequate for IBM AT distance from the track
before the first sector. Program normally works with disks
formatted for IBM special formatter for TR-DOS (for example,
recorded with this same emulator), as well as with drives
formatted more correct formatter for Spectrum. The problem can
be remove and change to a different model drive with a
controller (basically it refers to the drive controller). Can
help the method of partial sealing up holes synchronization on
a floppy disk: seal something opaque about half hole, which is
next to central hole on the diskette so
to a beam that shines through him, was interrupted earlier.
That's enough to read some of the previously unreadable
floppies.
Thanks.
Special thanks to: Alexis Yemelyanov (AvE), Andrew
Zamesovu, Sergei Jurin, Alexander Miklyaeva, as well as all
those who expressed their wishes and comments.