AminetAminet
Search:
84782 packages online
About
Recent
Browse
Search
Upload
Setup
Services

mus/play/MikMod.lzh

Mirror:Random
Showing: ppc-morphos icongeneric icon
No screenshot available
Short:Amiga Port of the *IX tracker MikMod.
Author: bybell at cse.psu.edu (Tony Bybell)
Uploader:bybell cse psu edu (Tony Bybell)
Type:mus/play
Version:2.09.
Architecture:m68k-amigaos
Date:1997-02-12
Download:mus/play/MikMod.lzh - View contents
Readme:mus/play/MikMod.readme
Downloads:704

Why another MOD player for the Amiga?
Because Intro to Compiler Construction is driving me nuts and I need a break
from LR(k) grammars!

But seriously, the reason I ported this to the Amiga is simple: with the
PowerPC coming soon to the Amiga community, the 680x0 modplayers out there
aren't going to be a viable solution anymore since in terms of speed, C code
on a PPC will easily outstrip assembler on a 68040. Nonetheless, this still
does output regular mods at 22.5kHz per channel in stereo or 44.1 in mono.
As far as XM files go, I hope you have an '060... (The price for
portability, *snif*) Remember you can only get 44.1 if you do the mode
promotion trick to double your audio bandwidth...

This was compiled on an '040 and the compiler sez it'll work on all
processors, but I haven't been able to test it out on anything besides an
A4000. It's probably useless on a 68000 because of the processor intensive
nature of the sound mixing used. (Even regular mod files are mixed at 16-bit
then truncated to 14 bits--all in the name of portability, *snif again*.)

What is it?
This is the Amiga port of MikMod2.09 by Jean-Paul Mikkers. Built-in drivers
for eight and 14-bit Paula sound have been included. Paula14c will be
forthcoming if there is a demand for it. I was going to do this using AHI ,
but for some reason the hook function called by the AHIA_SoundFunc tag kept
crashing my machine. Sorry, Toccata owners. (Well, at least until I can
figure out how to get the hooks working w/o crashing.)

The sound drivers are:
1. Paula 14-bit output driver v1.1a
2. Paula Eight-bit output driver v1.0
3. MikMod music.raw file output driver v1.0
4. MikMod Nosound Driver v2.0 - (c) Creative Silence

By default, Paula14 is used. Something to keep in mind here...note that you
can write out music.raw files for especially slow machines if you use the
-d3 option from the command line. It can then be played using Play16. (e.g.,
Play16 music.raw raw signed bits 16 tracks 2 filter off out paula14)

Module players included are:
1. Portable XM loader v0.4
2. Portable UNI loader v0.3 (This is the internal MikMod format)
3. Portable ULT loader v0.1
4. Portable STM Loader - V 1.2
5. Portable S3M loader v0.2
6. Portable MTM loader v0.1
7. Portable MOD loader v0.11
8. Portable MOD-15 loader v0.1

Miscellany:
Note that all calculations are done internally in 16-bit mode. Using the
eight-bit modes only truncates the output as it copies to Chip RAM.

I handle the 14-bit code in a really bizarre way to keep myself from having
to worry about timing issues. I do a BeginIO() on the channel 0 then write
to chip registers for the rest. Call me lazy, but I have a full courseload
this semester. I'll do this the proper way sometime, but if anyone wants to
beat me to the punch, go ahead. But for now if it crashes your machine or
causes memory leaks the size of Nebraska, please don't burn my house down or
ping-flood my server. ;)

The original archive mikmod209.tgz is also included in case anyone wants to
do diffs on this and see what I changed to get this to run on the Amiga.
Additionally, all the original legalese and caveats are present in that
included archive.

If you're motivated, you can rework the drivers or do whatever you want.
If you have the source, do what you want with it. If you want to port this
to your HP Laserjet, go do it, hehe! 

Have fun!

01Feb97
Tony Bybell
bybell@cse.psu.edu
http://www.cse.psu.edu/~bybell/

----------------------------------------------------------------------------

Notes:
1) A stock Amiga 4000/040 can successfully play a 4-channel mod file at the
following rates:

mikmod -f 22050 mymodule.mod
mikmod -f 44100 -m mymodule.mod

Higher rates are possible but it depends on background tasks running.

2) Moving the mouse or executing any programs may cause the sound to break
up. I am working on a fix for this.

3) Switching between 8 and 14-bit mode without rebooting causes strange
results. This is being looked into. If you really want to use 8-bit mode, I
suggest using the -8 switch. (I only used this to test that 14-bit mode
really works. You set the volume at 5% and play with -8 then without it.
14-bit mode is an appreciable difference!) That way, when you switch back to
14-bit mode, things will sound normal since you never left 14-bit mode in
the first place!

4) The s.a, s.o files handle the AUD0 interrupt. (It sends a signal back to
the program to tell it that it's OK to continue.) Note that hard disk access
also seems to trigger a level4 interrupt. This is being looked into. The s.a
file is the only nonportable file in this archive as it's 680x0 specific
code usd to signal the AUD0 interrupt back to the Wait() in the update code
for Paula14. Regular 8-bit Paula doesn't need s.o.

5) This is far from "production quality," but it does work... I'm getting
rid of bugs as I find them, but since I'm in my last semester of Computer
Engineering, I'm kind of busy working on other projects like SimYacht for
X-Windows for my project class so I have less time to devote to my Amiga
stuff but I keep trying! =)

----------------------------------------------------------------------------


Contents of mus/play/MikMod.lzh
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
drwx------  2391/106         0       0 ****** -lhd- 0000 Feb 11  1997 mikmod/
-rw-------  2391/106       322     636  50.6% -lh5- 3f42 Jan 30  1997 mikmod/CompileScript
-rw-------  2391/106       155     294  52.7% -lh5- 495d Jan 31  1997 mikmod/LinkScript
-rw-------  2391/106       480    1053  45.6% -lh5- 25dc Jan 28  1997 mikmod/drv_nos.c
-rw-------  2391/106       430     860  50.0% -lh5- 26b4 Jan 30  1997 mikmod/drv_nos.o
-rw-------  2391/106      3214   16530  19.4% -lh5- c693 Jan 31  1997 mikmod/drv_p14.c
-rw-------  2391/106      3218    6876  46.8% -lh5- 4f95 Jan 31  1997 mikmod/drv_p14.o
-rw-------  2391/106      1972    8129  24.3% -lh5- 056d Jan 29  1997 mikmod/drv_pau.c
-rw-------  2391/106      1945    3780  51.5% -lh5- 2d44 Jan 30  1997 mikmod/drv_pau.o
-rw-------  2391/106       622    1179  52.8% -lh5- 5d7f Jan 28  1997 mikmod/drv_raw.c
-rw-------  2391/106       510    1004  50.8% -lh5- 0f17 Jan 30  1997 mikmod/drv_raw.o
-rw-------  2391/106      1949    4424  44.1% -lh5- 4693 Jan 28  1997 mikmod/getopt.c
-rw-------  2391/106       480     740  64.9% -lh5- 8494 Jan 30  1997 mikmod/getopt.o
-rw-------  2391/106      2468    6643  37.2% -lh5- 66eb Jan 28  1997 mikmod/load_m15.c
-rw-------  2391/106      1769    2948  60.0% -lh5- 31b2 Jan 30  1997 mikmod/load_m15.o
-rw-------  2391/106      2829    7646  37.0% -lh5- 9820 Jan 28  1997 mikmod/load_mod.c
-rw-------  2391/106      2040    3504  58.2% -lh5- 2957 Jan 30  1997 mikmod/load_mod.o
-rw-------  2391/106      1960    5568  35.2% -lh5- 9c65 Jan 28  1997 mikmod/load_mtm.c
-rw-------  2391/106      1721    3132  54.9% -lh5- af0d Jan 30  1997 mikmod/load_mtm.o
-rw-------  2391/106      3378   10973  30.8% -lh5- 6664 Jan 28  1997 mikmod/load_s3m.c
-rw-------  2391/106      2897    5612  51.6% -lh5- 19e9 Jan 30  1997 mikmod/load_s3m.o
-rw-------  2391/106      3415    8977  38.0% -lh5- 85cc Jan 28  1997 mikmod/load_stm.c
-rw-------  2391/106      2083    3912  53.2% -lh5- bdf5 Jan 30  1997 mikmod/load_stm.o
-rw-------  2391/106      1957    5104  38.3% -lh5- efe2 Jan 28  1997 mikmod/load_ult.c
-rw-------  2391/106      1761    3240  54.4% -lh5- 41de Jan 30  1997 mikmod/load_ult.o
-rw-------  2391/106      1144    3355  34.1% -lh5- 64ca Jan 28  1997 mikmod/load_uni.c
-rw-------  2391/106      1316    2520  52.2% -lh5- 6a56 Jan 30  1997 mikmod/load_uni.o
-rw-------  2391/106      4338   15012  28.9% -lh5- 0da1 Jan 28  1997 mikmod/load_xm.c
-rw-------  2391/106      2711    5092  53.2% -lh5- fd00 Jan 30  1997 mikmod/load_xm.o
-rw-------  2391/106      1645    4447  37.0% -lh5- 9dd1 Jan 28  1997 mikmod/mdriver.c
-rw-------  2391/106      1510    2688  56.2% -lh5- edd7 Jan 30  1997 mikmod/mdriver.o
-rw-------  2391/106     32125   61644  52.1% -lh5- 5475 Jan 31  1997 mikmod/mikmod
-rw-------  2391/106      4092   15437  26.5% -lh5- f96c Jan 29  1997 mikmod/mikmod.h
-rw-r--r--  2391/106      2599    5331  48.8% -lh5- 0462 Feb 11  1997 mikmod/mikmod.readme
-rw-------  2391/106    109657  109657 100.0% -lh0- 99cf Jan 29  1997 mikmod/mikmod209.tgz
-rw-------  2391/106      2093    4948  42.3% -lh5- 41ae Jan 29  1997 mikmod/mikxmod.c
-rw-------  2391/106      1929    3684  52.4% -lh5- 6d4a Jan 30  1997 mikmod/mikxmod.o
-rw-------  2391/106      2235    5930  37.7% -lh5- 55a6 Jan 28  1997 mikmod/mloader.c
-rw-------  2391/106      1788    3132  57.1% -lh5- 2ecc Jan 30  1997 mikmod/mloader.o
-rw-------  2391/106      1236    4906  25.2% -lh5- f9e5 Jan 28  1997 mikmod/mmio.c
-rw-------  2391/106      1526    4712  32.4% -lh5- 9423 Jan 30  1997 mikmod/mmio.o
-rw-------  2391/106      9459   28919  32.7% -lh5- a248 Jan 28  1997 mikmod/mplayer.c
-rw-------  2391/106      7593   12476  60.9% -lh5- 5f0f Jan 30  1997 mikmod/mplayer.o
-rw-------  2391/106       356     908  39.2% -lh5- 9ce7 Jan 28  1997 mikmod/mtypes.h
-rw-------  2391/106      2717    7436  36.5% -lh5- fbc0 Jan 28  1997 mikmod/munitrk.c
-rw-------  2391/106      1133    2336  48.5% -lh5- ea7c Jan 30  1997 mikmod/munitrk.o
-rw-------  2391/106       197     316  62.3% -lh5- 3358 Jan 30  1997 mikmod/s.a
-rw-------  2391/106       191     296  64.5% -lh5- 53eb Jan 30  1997 mikmod/s.o
-rw-------  2391/106      4080   13001  31.4% -lh5- c879 Jan 28  1997 mikmod/virtch.c
-rw-------  2391/106      3179    5784  55.0% -lh5- c720 Jan 30  1997 mikmod/virtch.o
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        50 files  244424  436731  56.0%            Feb 12  1997
Page generated in 0.001 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>