8000 GitHub - learosema/muzimake: Work in progress project to explore sound programming
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Work in progress project to explore sound programming

License

Notifications You must be signed in to change notification settings

learosema/muzimake

< 8000 button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 gMOVLe prc-Button-ButtonBase-c50BI overview-ref-selector width-full" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector">
 main

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MUZIMAKE

Just a plain C++ project exploring AdLib Sound Programming. Still in a very early state. Not sure where it leads to. I want to build a basic composing tool some day.

I followed tutorials by root42 to get me started.

Also started to explore how to mess with int 10 and text mode, and tried to mess with the OPL2 chip of the old Sound Blaster and Adlib cards.

Vendor libs

AdLib Programming

Rabbit Hole:

Building

32bit DOS4GW

The only 32 bit platform tested so far is 32Bit DOS with DOS4GW and Watcom C.

Type wmake. It will create an MUZIMAKE.EXE and copy DOS4GW.EXE into the current dir. In the current state, this one is only a bare bone skeleton.

"tests"

There are a couple "tests" in this project. Well, they're not unit tests, just tinier programs I built for experimentation and testing. They do give some confidence to ensure the things work :D.

wmake tests

This builds a couple of test programs:

  • testinst for testing the instrument data structure
  • test_bnk for testing bnk files, playing every instrument inside a bnk
  • test_rol for testing the rol file loading routine
  • test_tmr for testing timer interrupts
  • test_kbd for testing the keyboard interrupt
  • test_evt for testing an event system, inspired by the Windows API
  • test_ui for testing the textmode UI. It has knobs, inputs, lists and more

Real mode

Type wmake /f makefile.16

Is DJGPP supported?

Not yet. I need to understand how video ram access works and put together the makefile. I guess this is a good place to start: https://www.delorie.com/djgpp/doc/ug/compiling/port16.html

Why?

Because I can. Yeah, there is perfect music software out there. Adlib Visual Composer by Ad Lib Inc or Adlib tracker, for example. They're awesome <3.

I still wanted to code something like that myself, for educational purposes.

Like the hard mode in Monkey Island.

Attributions

  • thank you root42 for making dosadlib and making a youtube video about it! Helped me a lot to get started.
  • Angela Galliat helped me a lot with the programming and optimization of the software architecture
  • OPL2 code taken from lib16 by SuperIlu which is in turn based on ArduinoOPL2, ported from a class interface to plain C
  • STANDARD.BNK is the default instrument bank library shipped with AdLib Visual Composer, (C) 1987 Adlib Inc.
  • STARTREK.ROL contains a minimalistic soundtrack of the Startrek TNG TV series, created by an unknown artist, originally composed by Dennis McCarthy.

About

Work in progress project to explore sound programming

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0