HSC iNsane Player
AdLib HSC Music module player - DOS

16 Jul 2020 A.M / Fredrik Hüssmän 214 0 comments
  • EN Language
  • IT Language

With this program (Player) I wanted to give a small tribute to Hannes Seifert, the programmer who created this file format for AdLib cards. In fact, the "module" format is based on parameters that must be fed to the OPL chip which is usually also placed on some models of Creative Sound Blaster cards which I will dedicate an article on later.


There are many music-player for AdLib modules, but do we want to put the satisfaction of creating one yourself? ... I think there is nothing better. Obviously you need to know a minimum of programming which in these cases is mandatory and in this regard I have used my UTPK Framework as always to already have a good programmed base of functions implemented.

The programming was fun, not having to worry about the interpretation of HSC files having already implemented them in the framework years ago, I spent more time on the music-player interface that despite being in TUI (text mode) I tried to make it different from many other music-player simply by remapping some characters of the ascii table.


HSC Player Oscilloscope

The ascii table consists of 255 elements made up of characters and symbols that can be different depending on the font loaded in the BIOS. Of course, in a specific area of ​​the BIOS there is already a default font, but it can be replaced easily, however I remember that after a specific soft-reset or shutdown of the PC the default font returns. Returning to the ascii table, I modified some of the symbols that we usually don't use and then I saved the modified table in a font that I incorporated into the executable and it is loaded into the bios when the player is launched.

In addition to the modification of the ascii table, I created an RGB palette of personal colors which, as for the font, can be loaded temporarily to replace the standard of the 16 colors available in text mode.

In the end, a wave oscilloscope could not be missing. For a matter of performance, I preferred to view it in video mode MCGA 320x200. The signal of the DAC is read in bytes that must be adjusted in coordinates on the screen, each signal read corresponds to an array containing the appropriate coordinates that will be used to print a pixel on screen which must be on and then switch off for the next which follows in a continuous cycle that form the wave of the oscilloscope, in the case of the music-player I used an array of 5000 simultaneous pixels to have a better and moderate performance.

Of these programming techniques intend to release some articles over time with practical examples also for beginners.

I leave to you readers a final judgment that you can express by writing some comments always welcome and remember that in the download in addition to the music-player have included some music modules.



System requirements for HSC iNsane Player:
  • IBM PC or compatible (80286 or higher processor).
  • 640KB base memory.
  • Standard VGA graphics card.
  • AdLib or Sound Blaster compatible sound card.

Download
HSC iNsane Player
DOWNLOAD


Con questo programma (Player) ho voluto dare un piccolo tributo ad Hannes Seifert, il programmatore che ha realizzato questo formato di file per schede AdLib. Infatti il formato "modulo" si basa su parametri che vanno dato in pasto al chip OPL che solitamente viene anche disposto su alcuni modelli di schede Creative Sound Blaster che a riguardo dedicherò un articolo in seguito.



Di player per moduli AdLib esistono tantissimi, ma vogliamo mettere la soddisfazione di crearne uno da soli?...credo non ci sia nulla di meglio. Ovviamente bisogna conoscere un minimo di programmazione che in questi casi e obbligatoria e a tal proposito ho sfruttato come sempre il mio Framework UTPK per avere già una buona base programmata di funzioni implementate.

La programmazione è stata divertente, non dovendo preoccuparmi della interpretazione dei file HSC avendone già implementata nel framework anni fa, ho dedicato più tempo all'interfaccia del player che nonostante sia in TUI (modalità testo) ho provato a renderla differente da tanti altri player semplicemente rimappando alcuni caratteri della tabella ascii.


HSC Player Oscilloscope

La tabella ascii e formata da 255 elementi composti da caratteri e simboli che possono essere diversi a seconda del font caricato nel BIOS. Naturalmente in un area specifica del BIOS esiste già un font di default, ma può essere sostituito tranquillamente, ricordo comunque che dopo uno specifico soft-reset o spegnimento del pc ritorna il font di default. Ritornando alla tabella ascii, ho modificato alcuni dei simboli che solitamente non usiamo e quindi ho salvato la tabella modificata in un font che ho inglobato nell' eseguibile e viene caricato nel bios al lancio del player.

Oltre alla modifica della tabella ascii ho creato una paletta rgb di colori personali che come per il font, può essere caricata momentaneamente in sostituzione della standard dei 16 colori disponibili in modalità testo.

In fine non poteva mancare un oscilloscopio d'onda che per una questione di resa ho preferito visualizzarlo in modalità video MCGA 320x200. Il segnale del DAC viene letto in byte che devono essere adeguati in cordinate sullo schermo, ad ogni segnale letto corrisponde un array contenente le cordinate adeguate che serviranno alla stampa a video di un pixel che deve essere su On per poi passare su Off per il prossimo che segue in un ciclo continuo che formano l'onda dell' oscilloscopio, nel caso del player ho utilizzato un array di 5000 pixel contemporanei per avere una resa migliore e moderata.

Di queste tecniche di programmazione ho intenzione di rilasciare nel tempo alcuni articoli con esempi pratici anche per i neofiti.

Lascio a voi lettori un giudizio finale che potete esprimere scrivendo qualche commento sempre gradito e ricordo che nel download oltre al player ho incluso alcuni moduli musicali.

Requisiti di sistema minimi per il Player:

  • PC IBM o compatibili (processore 80286 o superiore).
  • 640KB memoria base.
  • Scheda grafica VGA standard.
  • Scheda audio AdLib o Sound Blaster compatibile.

Download
HSC iNsane Player
DOWNLOAD






Retro Develope




Prev
Phosphor 2.2
Phosphor CRT Emulator
RAD Player II
AdLib Player for RAD Module
Next

Comments (1)

Dennis
07 Aug 2020 at 10:37

A job really well done, congratulations
I installed your software on my old dos pc to keep it fixed and listen to many files that I had when I owned a gravis card.

Your name (required)

E-Mail (will not be published) (required)

Comment: * min 3 letters



Orbital Crew © 1992, 2020
Copyright. All Rights Reserved, Inc
Web Develope: F.H / A.Mazzola