home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 19
/
AACD19.BIN
/
CDTools
/
Players
/
DeliTracker
/
Bonus
/
sega.lha
/
sega.doc
Wrap
Text File
|
2000-08-06
|
8KB
|
172 lines
Software and documentation Copyright (C) 2000 by Gaelan Griffin, FREEWARE
Z80 emulation code Copyright (C) Hans Guijt 1994-2000
76489 emulation code Copyright (C) Juan Antonio Gómez Gálvez 1997-2000
Sega, SEGA, Master System, and Game Gear are registered trademarks of
Sega Enterprises, Ltd.
This piece of software has no name. No file name that is associated
with this software or any words used to describe or identify this
software shall constitute any sort of challenge to any rights owned
by any entity, legal or otherwise. In particular, the use of the
word "SEGA®" within the program is meant only to describe the function
of the software and is not meant as any sort of intellectual property.
This software is provided 'as-is', without any express or implied
warranty. In no event shall the authors be held liable for any damages
arising from the use of this software.
Introduction:
This is a DeliPlayer that will attempt to play music from many games
written for the Master System, Game Gear, and SG-1000 through emulation.
Big thanks go to Hans and Juan for their sources which are an integral
part of this program. They wrote the CPU emulation code and the
sound code respectively.
Requirements:
- A 68020 Amiga or better
- A DeliTracker version that implements the noteplayer interface
- Suitable ROM files to play (see below for more information)
Installation:
None, just load it into DeliTracker. Copy it into your DeliPlayers
directory to make it even simpler. Deinstallation is just as
easy: delete the file. I think we need to have fewer programs
that need to be "installed." Software should just RUN without
copying extra files to your disks or changing your Startup-Sequence.
How it works:
In order to prevent the proliferation of inferior file formats
I have made the decision NOT to use any sort of file format for
the music that this emulator plays. In order to get around the
need for a file format I have taken an unusual approach: this
emulator plays music directly out of a ROM file. When a ROM
file is detected the player scans the code in two passes looking
for replay types that it knows. If it finds one, it will emulate
it. If not, it will try to play the music anyway by using the
interrupt vector, which works in some rare cases. It attempts to
change songs with fake input. It will probably be necessary to create
a new file format, however, I do not wish to create a file format
that has an inferior design or is similar enough to other file
formats that it would seem redundant. I hope to create a file
format that can be shared by music emulators for many 8-bit systems,
perhaps even a universal file format. Realistically though, this
may never happen because it would be a tremendous amount of work for
one person. In any event, please do not attempt to create yet another
file format for these or similar systems without contacting me first.
The ROM files that this player loads are raw binary dumps of a game
cartridge. It can handle various ROM "formats" which are nothing
more than a useless header or ignored data appended after the ROM file.
It is impossible to detect ROM files with complete accuracy, but
nearly all ROM files for the supported systems will be detected.
Those files that cannot be detected usually cannot be played either.
Although the detection code is highly accurate it is still possible
that some files could be misidentified. It is extremely unlikely
that any normal music files will be misidentified, however ROM files
for similar systems that use a Z80 as a primary CPU could be falsely
identified, in theory. This player knows how to identify certain ROM
files from other systems, and will ignore them, but there may be other
systems with ROM files that are currently unknown to this player.
If this player ever misidentifies a file, and you care, contact me.
After a ROM file has been identified the ripping occurs in two passes.
The first pass checks for replays at the beginning of each bank, which
is the usual place for replays. If this is unsuccessful it will go
through the entire file, checking part of each bank as it goes along.
This may take several seconds depending on the file size and your
machine but is the only way to find certain replays.
The player currently knows six major replay types and can handle
numerous, but not all, variations of these replays. I am also aware
of some other replay types which may be added in the future but
have not been implemented yet to speed up the detection process.
Subsongs range checking is partially supported, however it is still
possible for sound effects and non-music data to be played. I am not
aware of any way to detect this, at this time. In some cases the first
couple of subsongs may be silent so it is a good idea to try playing
the first two or three subsongs before giving up.
Known Problems and Caveats:
It may take several seconds for the music to start playing,
especially on slower systems and depending on the file. The
reason for this is stated elsewhere in the documentation which
few people will bother to read.
If you force a noteplayer that mixes the audio data then you
should set the mixing frequency as high as possible. For the best
audio quality you should use the Paula noteplayer.
This player uses a large amount of CPU interrupt time which can
cause problems with other programs. There are some programs which
have a tendency to lock up the machine if a large volume of high
priority CPU time is being used. Perhaps it is just a coincidence
that these tend to be MUI programs, but nevertheless, you should
exercise caution when using other programs concurrently with this
player, especially in those situations when a system crash could
cause the loss of important data or damage your disk media.
Emulated replays that crash should not lock up the system because
the emulator will keep track of the number of emulated cycles over
a period of time and shutdown the emulation if it reaches a certain
point. It is still possible that your machine could lock up if the
player does not get enough CPU time in the interrupt because this
could prevent all tasks from running, thus preventing you from giving
the necessary commands to halt the player. Although this is unlikely
to happen under normal circumstances, individuals with slower machines
should be aware of this possibility.
In some instances a bad subsong will cause a replay to crash. If this
occurs it should still be possible to listen to the other subsongs by
stopping the player and changing the subsong number before resuming
play. This will reinitialize the player and allow you to continue
listening to the other subsongs. Note, however, that your player
program may attempt to change modules when the player shuts down the
emulation depending on your configuration and other circumstances.
Although the Z80 emulation code has not been fully adapted for this
player it has been thouroughly tested with many files and none of them
caused the machine to crash outright. However, it may still be possible
for this player to crash under some circumstances. There have been a
few system crashes during the development of this program that have
not been accounted for. Please be cautious when using this player and
report any failures you experience.
The Future:
We have no future.
Contact:
Gaelan Griffin / chinoclast@softhome.net
History:
3.8.2000 - Included in the DeliTracker distribution
But when will I be happy?