Deja Vu #04
31 марта 1998

drop of solder - The emulator ZX-SPECTRUM v0.20b by LION.

<b>drop of solder</b> - The emulator ZX-SPECTRUM v0.20b by LION.
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. 





Other articles:

Aperativchik - On the control of obolochke DEJA VU and the content of 4 issues of the journal

Topic - Immortal SPECCY - "Future Project Speccy".

drop of solder - The emulator ZX-SPECTRUM v3.04 - User's Guide.

drop of solder - The emulator ZX-SPECTRUM v0.20b by LION.

drop of solder - ZX-SPECTRUM NAVIGATOR v1.00beta.

SOFTWARE - The presentation of the game "The Lord of Orion."

SOFTWARE - A Treatise on the Great polzitelnosti some architectural developments.

SOFTWARE - An overview of new games: FISHER pre-reliz, EMPIRE demo, LITTLE GHOST demo, STALKER, ELOPEMENT, WORDLIFE.

SOFTWARE - Overview of new products demoscene: HALLUCINATIONS in OPERA, INFARCT, YER ACHE 2, AMIGA, RAY EURODEMO, ZEST.

CODING - The remix of some procedures in 1993: SCREEN APARAT, umbral path, LOOK BASIC PROGRAMM-2.

CODING - Print numbers in different number systems: print decimal and hexadecimal, binary, and Roman numbers, seal numbers in the radix set by the user.

CODING - the procedure "plasma balls".

CODING - fade out the music at any time.

CODING - THE optimization.

CODING - The rotation of sprites.

ANOTHER WORLD - On a computer Be Box.

ANOTHER WORLD - The arguments and facts (AMIGA vs PC).

Hall of Fame - Official information about the festival FunTop-98.

Hall of Fame - Competition for the best minidemku (1024 bytes).

Seven and 1 / 2 - Lesson Lamer or a hundred and one procedure for cleaning the battery.

Seven and 1 / 2 - April Fools' Day (jokes and humor).

attempt at writing - last tour or VIRTUL-but AMIG-LIMITED syndrome.

attempt at writing - A poem about good and evil.

attempt at writing - The return of Claire.

attempt at writing - Poems: Sleep student Fable of Mattanah, medical board.

attempt at writing - Short Story "The War Continues" (continued, Chapter 6).

Advertising - Advertisements and announcements ...


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Coder - "The Saga of the curb is going on!" (Programming effects on the curb).
Authors - The authors of the magazine.

В этот день...   21 November