Pull to refresh

Comments 66

А я правильно понял что «просто» это устройство к компьютеру подключить нельзя, нужны или дорогие переходники, либо через аудокарту?
Т.е формально это не альтернатива того же Soundblaster (как можно сделать вывод из меню настроек игры), а скорее дополнение к нему?

Да, в большинстве случаев нужен и синтезатор, и Sound Blaster. Roland заменяет встроенный в звуковую карту FM-синтезатор (или в более поздних моделях — табличный синтез). Он не предназначен для воспроизведения оцифрованных звуковых сэмплов. Например в видео из Dune музыка играет через Roland, а речь (по сути WAV-файлы) воспроизводится через SB. В некоторых случаях (Prince of Persia) Roland воспроизводит и саундтрек, и эффекты, но не во всех.

Ох, обожаю эти старые синтезаторы. С точки зрения достоверности имитации звука реальных инструментов они конечно ужасны, но сами по себе их тембры порой просто восхитительны.

Не в тему статьи но вскользь. Есть очень классная библиотека к сэмплеру контакт — Analog Dreams. Для тех.кто испытывает ментальные оргазмы от подобных звуков youtu.be/O312JIRAKCE
Ого, HardMPU – отличная вещь! Кто бы ещё реплику Gravis UltraSound сделал. Люди часто спрашивают.
Только Covox, только хардкор!

PS: На сколько я помню, Sound Blaster AWE32 с двумя SIMM-ами полностью закрывал все вопросы со звуком на PC, в том числе по FM и табличному синтезу, и стоил в половину комплекта от Roland. К тому же, таблицы сэмплов в AWE были загружабельными, а не прибиты насмерть как в MT-32.
Да, авеха была крута. Сначала душил жабу, чтобы купить sb32 (на тот момент awe была дорогой для меня), потом искал пару одинаковых 30-ти пиновых симов как можно большего объёма. В итоге, накопал пару по 4 Мб. Потом начались поиски soundfonts (кажется так назывались). GM, GS и т.д. Игрухи реально преобразились. Например Doom =))).
Doom — эталон эталонов! :)

Так же помню, народ сильно любил Гуся (Gravis Ultra Sound), помоему как раз за табличный синтез, но AWE32 побил всех.
Холивар детектед ;) всех победил Win32 & AC97 (HD Audio)
Гуся любили за аппаратный 32-х канальный микшинг звуковых потоков на GF1, а вот что на нем крутиться будет midi синтез, модули, или что-то свое не имеющее аналогов в мире было не важно.
Ага, победил. Сам AC97 играть MIDI не умеет, запускает эту порнографию — Microsoft GS Wavetable Synth. Сравнение с настоящим Wavetable никак не выдерживает.
Попробуйте сравнить. Без железа это можно сделать с CoolSoft VirtualMIDISynth
Виртуальных MIDI синтезаторов под Win32 (начиная с 95-го была совсем не маленькая кучка). Навскидку Timidity(++), ямаховский S-YXG, Roland Virtual Sound Canvas, да даже Creative в AWE64 программно полифонию до 64 добивал.
А Microsoft GS Wavetable Synth… Дареному коню в зубы не смотрят. Да и Midi как музыкальное сопровождение в играх сейчас скорее исключение, чем правило. Потоковое воспроизведение музыки в играх практически доминирует.
Microsoft GS Wavetable Synth
is the MIDI Synth that is bundled with Windows releases. It is licensed by Roland and based on the first release version of Virtual Sound Canvas, at the time a commercial product. It contains its SC-55-based sound set which, while more compact and downsampled, was considered to be high quality at the time.
Ну дык вам же сказали: эта эпоха продолжалась три года. AWE32 — это уже 1994й год. И да — он крут, но… игры вышедшие до него, разумеется, никто не переиздавал…
Turtle Beach Tropez Plus тоже был очень неплох, у него было 3 сима по 4Гб, что вполне хватало для бюджетного написания музыки (ну и игры, конечно =) )
Отличная опечатка)
Примеры из игр выглядят визуально не кузяво.

Но вот звук с нормальным аудиоустройством, оказыватся, вполне себе современен.
Если говорить о сравнении звука (автор акцентирует внимание именно на этом), то наверное было бы более логичным взять какой нибудь Cubic Player и прогнать одну и ту же композицию с разными вариантами железа.

И кстати, на PC speaker-е тоже можно было выжать кое-что. Кто нибудь помнит как звучали модули S3M на стандартном спикере?
Ничего путного на PC speaker'е было сделать нельзя. Очень много ресурсов уходило. Звук можно было сделать неплохой, но тогда ничего не оставалось уже на саму игру. А когда компьютеры стали достаточно мощными чтобы совмещать — звуковые карты были уже у всех.
Star Control 2 укоризненно качает головой, шепчет не разборчиво «Вона как, надо было писиспикер перед релизом выкинуть и сэкономить тысячу байт в экзешнике. И пусть блястеры покупают и вся не долга»
А дикий народ колхозил усилители динамика для pcspeaker, ну а продвинутые купившие горсть резисторов (9 штук) ваяли модный ковокс.
Усилитель там не нужен был обычно, стандартный выход и так неплохо раскачивал колонку.
Но надо понимать, что это было суррогатное решение с одними минусами и единственным плюсом — спикер был изначально у всех. Да даже ковокс был бесконечно лучше.
Естественно нельзя сравнивать pcspeaker с его 1-bit PWM (насколько я помню там было эквивалент 6бит@14кГц максимум) и Covox 8bit@22kHz.
А про усилители я специально подчеркнул «дикий народ», Продвинутые сразу стали мастрячить ковоксы, более того самая неуемная (в творческом смысле) часть делала ковоксы в виде карт расширения с полноценным декодированием LPT порта и с ЦАП на м/с и с усилителем.
У меня первый PC-совместимый комп был 286-й. Была это первая половина 90-х, точнее уже не вспомню (сам я 81-го года — для ориентира). А звуковуха (ESS688) появилась уже на 386-м или даже 486-м. И вот почему-то в те времена я про Covox знать не знал и не слышал ничего. Хотя паяльник умел держать уже где-то в то время и мог бы себе его спаять. Тяжело было с информацией — интернета не было, во круг про компьютеры не знал никто ничего (включая взрослых). В литературе как-то тоже видимо на глаза не попалось.
Сейчас у меня лежит купленный лет пять назад SB 32 и два SIMM'а по 4 МБ к нему (судя по всему новых, как ни странно). Собирался поставить его в свой 386-й на максималках (прям как у автора), но жизнь так сложилась что руки не дошли. На этих праздниках опять достал всё это дело но понял, что дома нет VGA кабеля к монитору, пришлось опять отложить. И тут такая статья! После прочтения которой я внезапно осознал, что карта поколения AWE32 на 386-м исторически не достоверна и наверно на нём не так много игр получился запустить, что бы послушать табличный синтез. Хотя у меня в памяти отложилось, что я на 386-м проходил DOOM и каких-то проблем не испытывал. Запустив же сейчас DOOM на этом ретро-ПК понимаешь, что это крайне печальное зрелище.
Ковокс пришел вместе с Scream Tracker-ом в виде текстового файла, так что если коллекционирование STM-ок и MOD-ов было твоим интересом то и пайка ковокса была вопросом времени.
А игрушки, это было позже.
Игрушек под Covox считанные десятки были на самом деле.
Generic LPT DAC [x] (6 games)
Leather Goddesses of Phobos! 2: Gas Pump Girls…
Metal Mutant
MicroLeague Baseball IV
Pim-Pam-Pum
The Rocketeer
SimAnt: The Electronic Ant Colony

DA Converter [x] (8 games)
Chess Housers
Joe Montana Football
Perfect Pinball
Pinball Arcade
Pinball Mania
Prince of Persia CD Collection
Uncover It
Yo! Joe! Beat the Ghosts

Covox Speech Thing [x] (56 games)
2x2
3-D Dinosaur Adventure
688 Attack Sub
Aces of the Deep
Aces of the Deep: Expansion Disk
Amarillo Slim Dealer's Choice
Ante-Up at The Friday Night Poker Club
Battle Bugs
Big 10 Strategie-Sport-Adventure
Blood Bowl
Bloodstone: An Epic Dwarven Tale
Captain Bible in Dome of Darkness (Special Edit…
Chess Housers
Chuck Yeager's Air Combat
Combination Lock
Cyberbykes: Shadow Racer VR
DOOM 2D
Electroman
Empire Deluxe Masters Edition
Empire Deluxe
Fatty Bear's Birthday Surprise
Fatty Bear's FunPack
Gender Wars
Gone Fishin'
Hammer of the Gods
Hariboy's Quest
Inferno
John Madden Football II
Jonny Quest: Curse of the Mayan Warriors
Leather Goddesses of Phobos! 2: Gas Pump Girls…
Mario's Early Years: Preschool Fun
Math Blaster: Episode One — In Search of Spot
MicroLeague Baseball IV
Monopoly Deluxe
Night Raid
Norse by Norse West: The Return of the Lost Vik…
The Orion Project
Pinball Fantasies
Pinball Fantasies Deluxe
Pinball Illusions
Pirates! Gold
Putt-Putt Joins the Parade
Rallo Gump
Rex Nebular and the Cosmic Gender Bender
Robbo
Rolling Jack
Shadow President
Space Adventure
Spell It Plus!
Star Control II
Stickybear Town Builder
Super Jeopardy!
Tajemnica Statuetki
Xenocide
XF5700 Mantis Experimental Fighter
Zorro

Disney Sound Source [x] (134 games)
Aces of the Deep
Aces of the Deep: Expansion Disk
Alone in the Dark
Arachnophobia
Battle Bugs
Best of Sierra — 12 Top Games
Best of Sierra Nr. 3
Blake Stone: Aliens of Gold
Blake Stone: Planet Strike!
Bloodstone: An Epic Dwarven Tale
Boppin'
Bridge Master
Call of Cthulhu: Shadow of the Comet
Castle of Dr. Brain
Championship Manager 2
The Chessmaster 3000
Clyde's Revenge
Coaster
Code: Europe
Commander Keen: Keen Dreams
Conquests of the Longbow: The Legend of Robin Hood
Contraption Zack
Cyberbykes: Shadow Racer VR
The Dagger of Amon Ra
Dalek Attack
Dangerous Dave's Risky Rescue
Dick Tracy: The Crime-Solving Adventure
Dinosaur Adventure
Duke Caribbean: Life's A Beach
Duke it out in D.C.
Duke Nukem 3D
Duke Nukem 3D: Atomic Edition
Dungeon Master
Empire Deluxe Masters Edition
Empire Deluxe
Fatty Bear's Birthday Surprise
Fatty Bear's FunPack
FIFA Soccer 96
Freddy Pharkas: Frontier Pharmacist
Gabriel Knight: Sins of the Fathers
Gobliiins
Grandmaster Chess
Hammer of the Gods
Hare Raising Havoc
Hariboy's Quest
Heaven & Earth
Hocus Pocus
Hoyle Classic Card Games
id Anthology
Inferno
The Island of Dr. Brain
Jack in the Dark
Janosik
Jonny Quest: Curse of the Mayan Warriors
King's Quest V: Absence Makes the Heart Go Yonder!
King's Quest VI: Heir Today, Gone Tomorrow
Last Rites
Leather Goddesses of Phobos! 2: Gas Pump Girls…
Leisure Suit Larry 5: Passionate Patti Does a L…
Leisure Suit Larry 6: Shape Up or Slip Out!
Locus
Lost Secret of the Rainforest
The Manhole: New and Enhanced
Math Blaster: Episode One — In Search of Spot
Metaltech: EarthSiege
Mickey's Colors & Shapes
Mickey's Jigsaw Puzzles
MicroLeague Baseball IV
Might and Magic: Clouds of Xeen
Might and Magic: World of Xeen
Mission 2: Return to Danger — Accessory Game fo…
Mission 3: Ultimate Challenge — Accessory Game…
Mixed Up Fairy Tales
Monopoly Deluxe
Network Q RAC Rally
NHL 96
Night Raid
Nomad
Norse by Norse West: The Return of the Lost Vik…
The Orion Project
Out of This World
Pepper's Adventures in Time
Police Quest: In Pursuit of the Death Angel
Prince of Persia
Prince of Persia 2: The Shadow & The Flame
Prince of Persia CD Collection
Putt-Putt Joins the Parade
Quest for Glory I: So You Want To Be A Hero
Quest for Glory III: Wages of War
Ragnarok
Rallo Gump
Realms of Chaos
Redneck Deer Huntin'
Redneck Rampage
Redneck Rampage: Family Reunion
Redneck Rampage: Suckin' Grits on Route 66
Return to Zork
Rise of the Triad: Dark War
Rise of the Triad: The HUNT Begins
Rise of the Triad: The HUNT Begins (Deluxe Edit…
Roberta Williams' Mixed-Up Mother Goose
The Rocketeer
Shadow President
Shadow Warrior
Space Adventure
Space Quest (Collector's Edition)
Space Quest V: The Next Mutation
Spear End of Destiny
Spear of Destiny
Spear of Destiny: Super CD Pack
Star Control II
Stickybear Town Builder
Strike Squad
Stunt Island
Tactical Manager
Tajemnica Statuetki
Telstar Double Value Games: Alone in the Dark +…
The Bard's Quest: Dungeons of the Unknown
The Treehouse
Trump Castle 3
Twin Dragon
Uncover It
Undersea Adventure
Unnatural Selection
Wacky Wheels
Walls of Rome
Where in the World Is Carmen Sandiego? (Deluxe…
Wolf
Wolfenstein 3D
World of War: The Ultimate War Compilation
Xenophage: Alien BloodSport
Yo! Joe! Beat the Ghosts
The Zork Legacy Collection
Zurk's Learning Safari

Covox Sound Master [x] (156 games)
1942: The Pacific Air War
3-D Dinosaur Adventure
3x Logic Games
The 7th Guest
A-Train
A-Train Construction Set
Abandoned Places: A Time for Heroes
Aces of the Deep
Aces of the Deep: Expansion Disk
Amarillo Slim Dealer's Choice
An American Tail: The Computer Adventures of Fi…
The Ancient Art of War in the Skies
Bad Blood
Battle Bugs
Battle Chess II: Chinese Chess
BattleTech: The Crescent Hawks' Revenge
The Beverly Hillbillies
Big 10 Simulation-Action
Big Business
Blood Bowl
Bloodstone: An Epic Dwarven Tale
Blue Force
Bridge Master
Brzdąc
Bureau 13
Call of Cthulhu: Shadow of the Comet
Cobra Mission
Code: Europe
Combination Lock
Conan: The Cimmerian
Countdown
Darklands
Digital Warriors
Dino Wars
Dinosaur Adventure
Dracula Unleashed
Dragonsphere
Edukacja
Empire Deluxe Masters Edition
Empire Deluxe
Eye of the Beholder II: The Legend of Darkmoon
F-14 Fleet Defender / Fleet Defender: Scenario
F-14 Tomcat
Fatty Bear's Birthday Surprise
Fatty Bear's FunPack
Fleet Defender
Galleons of Glory: The Secret Voyage of Magellan
The Geekwad: Games of the Galaxy
Gender Wars
Gone Fishin'
Grandmaster Chess
Grandmaster Chess (CD-ROM Edition)
HardBall 4
Hariboy's Quest
Heartlight
Heirs to the Throne
Hello Mr. President
Home Alone
Home Alone 2: Lost in New York
Homey D. Clown
The Horde
Huj Hujowi Nie Równy
Interpose
J.R.R. Tolkien's The Lord of the Rings, Vol. I
Janosik
JetFighter II: Advanced Tactical Fighter
Joe Montana Football
Karzeł
Knights of Xentar
LA Law: The Computer Game
The Legacy: Realm of Terror
LineWars II
Literki — Cyferki
The Lost Files of Sherlock Holmes
Magiczne Karty
Man Enough
The Manhole: New and Enhanced
Master of Orion
Matmania
MegaTraveller 1: The Zhodani Conspiracy
MegaTraveller 1: The Zhodani Conspiracy + MegaT…
MegaTraveller 2: Quest for the Ancients
Metal & Lace: The Battle of the Robo Babes
MicroLeague Baseball IV
Might and Magic III: Isles of Terra
Millennium: Return to Earth
Monopoly Deluxe
NHL 96
Nicky Boom
Ninja Gaiden II: The Dark Sword of Chaos
The Orion Project
Ortomania
Ortotris
Perfect Pinball
Phobos '99
Pinball Fantasies Deluxe
Pinball Illusions
Pinball Mania
Power Dolls
Pray for Death
The Punisher
Putt-Putt Joins the Parade
Quarantine
Rallo Gump
Return to Ringworld
Rex Nebular and the Cosmic Gender Bender
Ripley's Believe It or Not!: The Riddle of Mast…
Ripper
Saper
Self Control
Shadow President
Sherlock Holmes: Consulting Detective — Volume II
Sid Meier's Colonization
Sid Meier's Railroad Tycoon Deluxe
Sim City: Terrain Editor
SimAnt: The Electronic Ant Colony
SimCity
SimCity De Luxe
SimCity Graphics Set 1: Ancient Cities
SimEarth: The Living Planet
SimLife
Smuś
Sound, Graphics & Aircraft Upgrade for Microsof…
Space 1889
Space Adventure
Space Legends
Spirit of Excalibur
Spot
Spy Master
Star Crusader
Super Jeopardy!
Teen Agent
Telstar Double Value Games: Syndicate + UFO Ene…
tEMPtAtION
Terminator 2: Judgment Day — Chess Wars
Troddlers
Trump Castle 3
Twilight 2000 & Space 1889
Twilight: 2000
Twin Calibre: 688 Attack Sub + Chuck Yeager's A…
Ultima VI: The False Prophet
Ultimate Football '95
Undersea Adventure
Vengeance of Excalibur
Wayne's World
Where in the World Is Carmen Sandiego?
Where in Time Is Carmen Sandiego?
Windwalker
Wing Commander & Ultima VI: The False Prophet
Wizardry Trilogy 2
Wizardry: Bane of the Cosmic Forge
Wizardry: Crusaders of the Dark Savant
X-COM: UFO Defense
X-Men II: The Fall of the Mutants
Xenocide
XF5700 Mantis Experimental Fighter

Covox Sound Master II [x] (55 games)
3x Logic Games
Across the Rhine
Alone in the Dark
The Ancient Art of War in the Skies
BloodNet
Blue Force
Brzdąc
Bureau 13
Challenge of the Five Realms
Digital Warriors
Dracula Unleashed
Edukacja
The Geekwad: Games of the Galaxy
Gender Wars
Grand Prix II
Hariboy's Quest
Heartlight
Huj Hujowi Nie Równy
Indiana Jones and the Fate of Atlantis
IndyCar Racing II
Jack in the Dark
Janosik
Karzeł
Kentris
Literki — Cyferki
Magiczne Karty
Man Enough
Matmania
Metaltech: EarthSiege
Might and Magic III: Isles of Terra
Might and Magic: World of Xeen
Monkey Island 2: LeChuck's Revenge
Monopoly Deluxe
The Orion Project
Ortomania
Ortotris
Phobos '99
Pinball Illusions
Quarantine II: Road Warrior
Return of the Phantom
Return to Ringworld
Ringworld: Revenge of the Patriarch
Saper
Self Control
Sherlock Holmes: Consulting Detective — Volume II
Sherlock Holmes: Consulting Detective — Volume III
Sherlock Holmes: Consulting Detective Collection
Smuś
Spy Master
Star Control II
Star Crusader
Twilight 2000 & Space 1889
Ultimate Football '95
Ultimate NFL Coaches Club Football
Wizardry: Crusaders of the Dark Savant

Covox Sound Master Plus [x] (17 games)
3x Logic Games
Alone in the Dark
Brzdąc
Edukacja
Heartlight
Janosik
Karzeł
Literki — Cyferki
Magiczne Karty
Matmania
Ortomania
Ortotris
Phobos '99
Saper
Self Control
Smuś
Spy Master

Источник информации MobyGames.com Sound Devices Supported [x] (3699 games)
Кстати в базе у них под DOS записано 7296 игр.
Конечно игр с поддержкой COVOX не так много, но и не считанные десятки. ;)
Это не считая тех игр которые шли через эмулятор (разного вида) или патчились под работу с COVOX.
P.S. Игр с поддержкой HGC/Hercules 720×348(монохром) далеко не самой игровой видеокартой, было выпущено 494 игры
Covox Sound Master это уже совсем другое, для музыки в первую очередь.
Игр с нативной поддержкой HGC совсем мало, в основном это просто конвертация CGA-режима в монохромный 640×200, типа
image
Нельзя просто так взять и конвертировать CGA 640х200x2 в HGC 720x348x2. Организация памяти разная, частоты работы контролера другие (несмотря что там и там используется MC6845). Был конечно резидентный эмулятор CGA, который пытался выводить цветную графику на HGC, но тормоза были такие что TurboXT@12mHz плакала и просила прощения. Плюс, если особо умные «программы» начинали писать в порты МС6845, то эмуляция шла лесом.
Ну я же не говорю, что «просто» — значит автоматически. Но, думаю, в коде изменено десяток строк максимум.
Современный Flat доступ к памяти видеоадаптера замыливает воспоминания как это было «весело» на самом деле в те времена.
Видеопамять в графических режимах CGA
Из-за особенностей микросхемы Motorolla 6845, используемой видеоадаптером CGA, отображение видеопамяти на экран не является непрерывным: первая половина видеопамяти (начальный адрес B800:0000) содержит данные относительно всех нечетных линий экрана, а вторая половина (начальный адрес B800:2000) — относительно всех четных линий. Каждому пикселу изображения соответствуют два бита видеопамяти. За верхний левый пиксел экрана отвечают биты D7 и D6 нулевого байта видеопамяти. На рисунке 5.1 изображено соответствие видеопамяти пикселам экрана.
image
Рисунок 5.1 Структура видеопамяти для режимов 4 и 5.
Если вы хотите выводить информацию на экран дисплея непосредственно через видеопамять, то необходимо уметь определять биты, которые управляют каждым пикселом изображения. В общем случае по координатам пиксела нужно вычислить адрес байта видеопамяти и номера битов в нем, управляющие данным пикселом.
Следующие формулы позволяют определить смещение байта от начала станицы видеопамяти и номера битов в нем, управляющие пикселом с координатами (x,y):
Если y четное число, то смещение байта = 50h*(y/2)+(x/4)
Если y нечетное число, то смещение байта = 2000h+50h*((y-1)/2)+(x/4)

Номер первого бита = 7-mod(x/4)*2

В этом выражении функция mod(x/y) возвращает остаток от деления x на y.

Режим 6 (640х200) является режимом наибольшего разрешения для видеоадаптера CGA.
На рисунке 5.2 отображено соответствие видеопамяти и пикселов экрана.
Как и в режимах 4 и 5, первая половина видеопамяти содержит данные относительно всех нечетных линий экрана, а вторая половина — относительно всех четных линий.
В данном режиме на один пиксел отводится один бит видеопамяти. Таким образом каждый байт видеопамяти управляет восьмью пикселами. Если значение бита видеопамяти, отвечающего за данный пиксел, равно нулю, то пиксел имеет черный цвет, если единице — белый. За верхний левый пиксел экрана отвечает бит D7 в нулевом байте видеопамяти, то есть самый старший его бит.
image
Рисунок 5.2 Структура видеопамяти в режиме 6.
При непосредственном доступе к видеопамяти вы можете воспользоваться следующими формулами:
Если y четное число, то смещение байта = 50h*(y/2)+(x/8)
Если y нечетное число, то смещение байта = 2000h+50h*((y-1)/2)+(x/8)

Номер бита = 7-mod(x/8)

Эти формулы позволяют определить для пиксела, имеющего координаты (x,y), смещение от начала станицы видеопамяти байта и номер бита в нем, управляющего данным пикселом.

Организация видеопамяти адаптера Hercules
Для полноты картины мы рассмотрим структуру видеоадаптера Hercules. В графических режимах видеоадаптер Hercules использует один бит на пиксел. Разрешающая способность составляет 720 пикселов по горизонтали и 348 пикселов по вертикали. Hercules создан на основе микросхемы 6845 контроллера ЭЛТ и имеет еще более сложную организацию памяти, чем CGA. Видеопамять разделена на четыре части. Структура памяти приведена на рисунке 5.3.
image
Рисунок 5.3 Структура памяти видеоадаптера Hercules в графических режимах.
Формулы приведенные ниже позволяют определить смещение байта от начала станицы видеопамяти и номер бита в нем, управляющего пикселом с координатами (x,y):
Если [y/4]=0, то смещение байта = 5Ah*(y/4)+(x/8)
Если [y/4]=1, то смещение байта = 2000h+5Ah*((y-1)/4)+(x/8)
Если [y/4]=2, то смещение байта = 4000h+5Ah*((y-2)/4)+(x/8)
Если [y/4]=3, то смещение байта = 6000h+5Ah*((y-3)/4)+(x/8)

Номер бита = 7-mod(x/8)


Источник Программирование видеоадаптеров CGA, EGA и VGA
© Александр Фролов, Григорий Фролов
Том 3, М.: Диалог-МИФИ, 1992, 287 стр.
Ну и по сути память-то линейная, разница только в чередовании линий растра. На что десять строк кода и уйдут. А картинка выводится один-в-один. Провёл маленький эксперимент, заменил в коде инициализацию CGA-режима 4 в 6, сохранил картинку, сравнил с Hercules:
image

Разница, в общем, примерно как между ZX Spectrum и Enterprise 128.
Нелинейная организация памяти: у CGA четные/не четные строки, у HGC через четыре строки
image
image

А вот линейный монохромный режим на VGA
image
Кстати в вашем скриншоте Prince of Persia на HGC геймплейная область сжимается до середины экрана, не догадываетесь из-за чего это?
image
Намекну
128000 (16000) и 250560 (31320)
А память медленная… А запись в видеопамять еще медленнее…

Кстати смысла посыла сравнения ZX Spectrum и Enterprize я не уловил.
Нелинейная организация памяти: у CGA четные/не четные строки, у HGC через четыре строки
Два ADD/SUB поменять на четыре — какая сложность.
Кстати в вашем скриншоте Prince of Persia на HGC геймплейная область сжимается до середины экрана, не догадываетесь из-за чего это?
А вот это к вам вопрос. Впрочем, могу и ответить — просто программист врезался в середину видепамяти, копируя туда то же, что и в CGA.
Кстати смысла посыла сравнения ZX Spectrum и Enterprize я не уловил.
Там то же самое. В Enterprise линейная организация памяти, в Spectrum — хитрая синклеровская (емнип, из-за прямой привязки к железу, ему так проще было). С минимальными изменениями в коде (фактически, упрощениями) получаем ту же самую картинку. То же на CPC, C64 (ну там ладно, процессор другой).
Организацию доступа к видеопамяти в Enterprise (64/128) не помню (точнее не знаю), а вот на спектруме была битовая (монохромная) область графики, и область цветовых атрибутов (цвет точек в знакоместе, цвет фона)
Нелинейная адресация видеопамяти ZX Spectrum
Почему экран ZX Spectrum устроен так необычно? Казалось бы, линейный экран намного проще?

Для ответа рассмотрим ZX Spectrum 16K. Контроллеру дисплея требуется считывать сразу два байта подряд (На самом деле он считывает в burst’е 2+2 байт, но для объяснения это несущественно). Сначала считывается байт атрибутов, затем байт пиксельных данных. Адрес приходится выставлять дважды: адрес атрибутов и адрес пикселей.

Объем DRAM 4116 составляет 16кбит или 14 бит. 14 битный адрес мультиплексирован по 7+7 бит и выставляется во времени раздельно, двумя частями. Сначала выставляются младшие 7 бит адреса, сопровождаемые сигналом RAS (row address strobe), при этом микросхема запоминает эту часть адреса внутри. Затем выставляются старшие 7 бит адреса, сопровождаемые сигналом CAS (column address strobe). При этом передача первой и второй части адреса в цикле RAS-CAS требует определённого времени, это важно.

Микросхема DRAM 4116 является одной из первых микросхем PM (page mode) со страничной адресацией. Она позволяет выставлять только одну часть (7 bit) мультиплексированного адреса, оставляя предшествующую часть (выставленную RAS) неизменной. Это работает быстрее, так как не требуется каждый раз посылать обе части адреса. Вместо двух циклов RAS-CAS для передачи полного 7+7 бит адреса остаётся только один цикл CAS. В терминологии PM микросхем DRAM такая ситуация называется страничный доступ.

Теперь вспомним, Z80 разделяет время с контроллером дисплея, и чем быстрее будет цикл чтения контроллера дисплея, тем меньше времени будет простаивать Z80. Ситуация на самом деле хуже, так как если бы чтение выполнялось 4мя циклами RAS-CAS-RAS-CAS, Z80 пришлось бы остановить на всё время чтения строки дисплея. Поэтому Ричарду Альтвассеру пришла мысль использовать страничный доступ 4116 и пере-использовать часть адреса контроллера дисплея. В этом заключается ещё одна маленькая хитрость устройства ZX Spectrum.

Когда контроллер дисплея считывает два байта, адрес байта атрибутов выставляется полный, 14 бит двумя циклами по 7 бит RAS-CAS. Чтение байта пикселей выполняется сразу вслед за этим в страничном режиме, одним циклом CAS. При этом выставляются только старшие 7 бит адреса, младшие 7 бит используются от атрибутов. Тем самым вместо долгого цикла из RAS-CAS-RAS-CAS происходит более короткий цикл RAS-CAS-CAS.
Это и есть ответ на загадку дисплея ZX Spectrum. Из-за ускорения чтения циклом RAS-CAS-CAS по 7+7+7 бит адреса, и из-за того что адрес пикселей использует часть адреса атрибутов, биты адреса пришлось разделить, перегруппировать и отсылать частями.

Рассмотрим, как именно.
Счётчик контроллера экрана условно представлен битами:
v7,v6,v5,v4,v3,v2,v1,v0,c4,c3,c2,c1,c0
где v – 8 битов vertical, пересчитывающих 0..191, c- 5 битов column, пересчитывающих 0..31. С column-частью адреса всё в порядке, перемешивание идёт с v-битами.

В микросхемы DRAM адрес отсылается по 7 бит, сначала сопровождаемые RAS-стробом идут 7 младших бит адреса атрибутов: [v4,v3,c4,c3,c2,c1,c0] – при этом биты v2,v1,v0 счётчика пиксельной строки пропущены.

Затем, по CAS-стробу передаются оставшиеся старшие биты адреса:
[0,1,1,0,v7,v6,v5] – 7 старших бит адреса атрибутов.
Отметим, что биты счётчика v7-v5 следуют за битами v4-v3, продолжая их, т.е. адрес атрибутов линейный. Биты 0,1,1,0 заданы аппаратно. После этого будет прочитан байт атрибутов.

Затем, по CAS-стробу в страничном режиме должны быть переданы 7 бит старшей части пиксельного адреса.
[0,v7,v6,v2,v1,v0,v5] – какова логика такой расстановки битов? Младшая часть пиксельного адреса используется от адреса атрибутов, переданного по RAS. Биты счётчика адреса v4-v3 мы уже передали, значит, следующий бит v5. Далее следуют биты v2,v1,v0, v7,v6 и аппаратный бит 0.

Выставим обе части 7+7 бит пиксельного адреса в ряд:
0,v7,v6,v2,v1,v0,v5,v4,v3,c4,c3,c2,c1,c0.

Разобъём на две группы по 8 бит, также как биты сгруппированы в регистрах микропроцессора z80:
[0,1,0,v7,v6,v2,v1,v0] [v5,v4,v3,c4,c3,c2,c1,c0]

Наблюдаем знакомую картину экранного адреса. Остаётся открытым вопрос – единственный ли это способ группировки бит? Для видеоконтроллера адресация байт в памяти не особо важна. Однако логическая группировка бит адреса для конкретного микропроцессора может либо хорошо совпадать с его архитектурой, либо вызывать затруднения. При проектировании ZX Spectrum (рабочее название ZX82) учитывался опыт предыдущих продуктов Sinclair ZX81, ZX80, имевших дисплей 32 символа по 24 строки. В итоге остановились на наиболее удобной аранжировке бит для программного отображения одного символа, когда для того чтобы переходить к следующей строке достаточно инкрементировать старшую половину адреса. Заметим, что в продуктах ZX80, ZX81 дисплей отображался программно, при помощи Z80, поэтому вопрос производительности был, конечно, понятен. Вот почему, в конечном итоге, ZX Spectrum имеет такую организацию экрана. Исходная причина перестановки бит вызвана требованиями hardware. Но сама аранжировка бит, такая, а не иначе – задана требования software. Замечательная работа инженеров!

А вот что объединяет ZX Spectrum и Enterprise, это что Принца Персии не было ни там ни там.
Портированные версии
После выпуска для Apple II в 1989 игра была портирована на несколько других платформ:

Спустя год после выпуска были выпущены порты на другие персональные компьютеры — Amiga, Atari ST и PC.
В 1992 году были выпущены версии для Sega Master System, Sega Mega-CD, NES, Game Boy и SNES. В том же году появилась версия для Apple Macintosh, с улучшенной графикой, и версия для SAM Coupé[4].
Затем, в 1993 году последовала версия для Sega Mega Drive.
В 1999 году появился порт для Game Boy Color.


Вот кстати нашел примеры использования эмулятора CGA на HGC
image
Loom — SIMCGA Hercules Support

image
Loom — Passport to Adventure Native Hercules Support
некоторые технические подробности и трюки
Around this time, LucasArts released a demo called «Passport to Adventure.» While computer game companies had released demonstration programs in the past, they were rarely interactive. Instead, they functioned more like trailers for the game. There is a non-interactive demo for Maniac Mansion. Sierra Online also released non-interactive demonstration programs advertising their games and to be run on floor model systems to show off their advanced graphics and sound. Unlike these earlier programs, Passport to Adventure contained interactive sequences from three of LucasArts' games, Indy 3, Loom and Monkey Island. LucasArts also called this a sampler disk and only a 16-color version was made available.

Ironically, the sampler disk does support Hercules graphics for Loom and Indy 3 whereas the full games do not. Both games can be run with a CGA emulator like SIMCGA with reasonable results.
SIMCGA adjusts the CRTC registers for a 640x300 resolution, which is close to the native resolution of these graphics, 320x200. The native Hercules driver does not touch the CRTC registers, instead it uses the ordinary Hercules Graphics resolution of 720x348. The native driver only uses the center 640 pixels, but uses more lines in the vertical dimension than SIMCGA.
Организацию доступа к видеопамяти в Enterprise (64/128) не помню (точнее не знаю), а вот на спектруме была битовая (монохромная) область графики, и область цветовых атрибутов (цвет точек в знакоместе, цвет фона)
В Enterprise был абсолютно аналогичный режим (один из), но пиксели шли построчно.
А вот что объединяет ZX Spectrum и Enterprise, это что Принца Персии не было ни там ни там.
Технически ничто не мешало, что впоследствии и было проделано энтузиастами


Технически ничто не мешало, что впоследствии и было проделано энтузиастами

Вот только энтузиасты писали свои версии PoP с нуля, и они явно не ограничились правкой десятка строк в оригинальном исходном коде (который считался утерянным до 2012 года).
Но мы удалились от стартовой точки обсуждения. По факту можно считать то что и HGC использовался в игрушках (нативно), как и COVOX (нативно). И этих игр было куда больше десятка. Плюс имелась неидеальная эмуляция позволяющая запускать на HGC игры написанные для CGA. Опять же имелась (несовершенная) эмуляция различных звуковых устройств на COVOX (примету звукового чип TANDY/PCJr).
Не знаю сколько бит и килогерц, но у меня в 386-м «белой сборки» от DEC был отличный спикер — настоящий динамик, а не пищалка. И на нем stm-файлы играли исключительно приятно и достаточно громко. И Star Control 2 комп тянул, хоть и SX на 20MHz.
С доступом к соответствующей литературе были огромные проблемы. Помню только какой-то журнал с программированием для мыши под DOS. Про ковокс знал только, что это слово есть в настройках игр и в мультфильме для изучающих английский.
Насколько я помню, пьезодинамики (пищалки) стали массово применяться во времена 370 сокета, а до этого действительно использовался динамик сопротивлением вроде на 8 ом и мощностью 0.5ватт.
На что способен спикер? На хабре была подробная статья На что способен PC Speaker или посмотреть
PC speaker (динамик ПК) (Old-Hard - выпуск 37)


А доступ к инфе был завязан через периодику (с начала 90-х стали появляться специализированные компьютерные журналы) и флоппинет (искусство которое сравнимо с кунг-фу, где надо было обладать удачей и экспиренсом чтоб довезти информацию на дискетах зимой, из одного города в другой). Целая стратегия и тактика была выработана для таких случаев. Писались самописные программы которые позволяли собрать из нескольких нечитаемых дискет одну целую копию. Потом стало легче ББС-ки по модему, а потом и интернет (сначала с FTP, а потом и веб) там же первое разочарование «новыми технологиями» которые не позволяли докачивать файл после обрыва связи (вопль страждущего после дисконнекта «ну что им стоило прикрутить сюда ZModem?!?»).

BTW: Роясь в старых файлах нашел очередной артефакт — архив VAISDK.ARJ который отказывается искать что Яндекс, что всемогущий Google.

Что в нем? И интересно, это нужно сохранить для истории?
----====< VBE/AI Driver Sample Source Code >====----
----====< Copyright © 1993,1994 VESA, Inc. >====----
----========----
----====< Version 1.03 04/09/94 >====----

INTRODUCTION:

This document describes the VESA VBE/AI Software Developers Kit as found on the VBE/AI SDK release diskette. Included are sample WAVE drivers for the Pro Audio Spectrum, Disney Sound Source, and Sound Blaster cards. Also included are sample MIDI drivers for the OPL2, OPL3 FM chip, and Roland MPU-401 MIDI transmitter/receiver.

The VBE/AI specification may be purchased directly from the VESA office. To order a copy, call (408)435-0333.

Each body of code is as complete as possible for the 1.00
revision of the VBE/AI specification. The code may still
change to match any changes when the specification is
adopted, or to fix bugs.

ADDITIONAL PROGRAMMING NOTES/CLARIFICATIONS:

The Pascal calling conventional permits Pascal functions
the right to modify the working registers AX, BX, CX, and DX.
Your code must save these registers, if necessary, before calling
any of the VBE/AI Pascal function calls.

EXAMPLE DRIVERS:

The VBE/AI example drivers were written as DOS TSRs. There
is one API per TSR. Each one must be loaded separately into
memory. The program, SETPREF.EXE lets the user assign a
preference level to each driver.

LOADING SAMPLE DRIVERS:

Each driver uses a common set of command line parameters. The
set looks like this:

/H helps
/? helps
/B:dd board # if multiple boards are present
/A:xx board address
/D:xx dma channel
/I:dd irq channel
/MB:xx memory base (segment)
/MR:xx memory range
/P:dd user preference setting
/U unload this driver from memory

dd=decimal #, xx=hex #

To load a driver, just run the program. The program decides
if the hardware is present, then will stay resident. The
VBE/AI architecture does allow resident TSR drivers to be
unloaded. Only the first driver loaded will be permenantly
resident, all others may unload. The available drivers are:

PASWAVE.COM — Pro Audio Spectrum WAVE driver
SSWAVE.COM — Disney Sound Source driver
SBWAVE.COM — Sound Blaster & Compatible driver
OPL2.COM — OPL2 MIDI driver
MPU.COM — MPU-401 driver

NOTE: For now, use of the command line switches to setup DMA
and IRQ settings are required to properly function. In retail
versions of VBE/AI drivers, the manufacture's installation
software will make these setup decisions.

RUNNING SAMPLE APPLICATIONS:

There are five sample programs currently available in the
SDK. The source for each program is included on the
diskette. Two programs test the WAVE drivers, two test the
MIDI drivers, and the last is a utility for both setting
user preference levels and displaying the current installed
driver list.

NOTE.EXE

This program allows the user to enter a channel and note
number to be loaded into the target MIDI device. Once the
patch has been loaded, a menu of functions will be provided
to allow the user to turn the note ON or OFF.

To Use: DOS>note [Pxx]

Where: [Pxx] is the user preference #.

NOTE: all values are zero based, so the key number ranges
from 0 to 127. Channels range from 0 to 15. Channel
number 9 is the percussive channel.

PLAY.EXE

This program accepts a list of up to 10 small (under 64k)
.WAV files, presents a list to the user, and plays the
selected file.

VESA VBE/AI WAVE Output Program, 01.00
Copyright © 1993,1994 VESA, Inc. All Rights Reserved.

To Use: DOS>play [file.wav] [file.wav] [file.wav]…

Where: [file.wav] is a list of up to 10 files to play.

PMIDI.EXE

This program will play any type 0 or type 1 MIDI file. The
file must be under 64k in size. Currently, the program
requires the driver's patch library to be resident in the
current directory, specfically, OPL2.BNK. This version can
only handle patch banks under 64K, but will soon support
unlimited sizes. The following is a dump of the banner and
command line parameter list:

VESA VBE/AI MIDI Output Test Program, 01.00
Copyright © 1993,1994 VESA, Inc. All Rights Reserved.

To Use: DOS>pmidi [song] [H] [L] [Mxxx] [K{+|-xx}] [R{+|-xx}] [V{xx}]

Where: [song] is the .MID file to be played
[H] High end synth playing on channels 1-10.
[I] to receive MIDI input only.
[K{+|-}xx] shifts all key #s up|down by xx count (cheap transpose).
[L] Low end synth playing on channels 11-16.
[Mxxxx] patch Map file name (256 bytes for 2 tables).
[Pxx] selects a VBE device at this (xx) user preference level.
[R{+|-}xx] shifts all patch #s up|down by xx count.
[T+|-xx] Tempo shift faster (+) or (-) slower, in percent.
[V{xx}] verbose mode to dump events as they play. xx can be 1-5.

SETPREF.EXE

This program allows the user to set his/her preference level
to each driver. This allows the application to choose which
driver is the most desirable to use. Also, the program shows
a listing of the driver configuration. The following is a
dump of the banner and command line parameter list:

VESA VBE/AI Preference setting Program, 01.00
Copyright © 1993,1994 VESA, Inc. All Rights Reserved.

To Use: DOS>SETPREF [H|?] [L] [+] [+xx] [-] [-xxx] [Vxxx]

Where: [L] lists all devices.
[+] increments all preference levels by 1
[+xxx] increments a specific devices's preference.
[-] decrements all preference levels by 1
[-xxx] decrements a specific devices's preference.
[Vxx] give a verbose listing of this driver.

NOTE: The highest preference level is zero (0), so incrementing the
preference actually lowers the user preference, and visa versa.

TESTW.EXE

This program tests the WAVE output of a given driver. It
allows the user to specify a starting block size,
incremental length, number of times to play the block, and
more. The program will send the block to the driver, and
wait for the appropriate callback within a fixed amount of
time. This time depends upon the sample rate and block size.
The following is a dump of the banner and command line
parameter list:

VESA VBE/AI WAVE Output Test Program, 01.00
Copyright © 1993,1994 VESA, Inc. All Rights Reserved.

To Use: DOS>play [16] [Axxx] [Fxxx] [Dxxx] [Ixxx] [Lxxx] [R] [S] [Txxx]

Where: [16] enables 16 bit audio (8 bit is default).
[Axxx] uses PlayCont/RecordCont. xxx is an optional block size.
[Fxxx] user selects an alternate .WAV/.VOC file by the name of xxx.
[Dxxx] allows for delays between blocks of xxx clock ticks (18.2tps).
[Ixxx] after each block, Increment the next length by xxx.
[Lxxx] block Length of first pcm block.
[R] Reload the sample rate after each block finishes.
[S] selects Stereo mode operation.
[Txxx] number of Times to play the block.

TESTR.EXE

This program tests the WAVE input of a given driver. It
allows the user to specify a starting block size,
incremental length, number of times to play the block, and
more. The program will send the block to the driver, and
wait for the appropriate callback within a fixed amount of
time. This time depends upon the sample rate and block size.
The following is a dump of the banner and command line
parameter list:

VESA VBE/AI WAVE Input Test Program, 01.00
Copyright © 1993,1994 VESA, Inc. All Rights Reserved.

To Use: DOS>rec [16] [Axxx] [Fxxx] [Dxxx] [Ixxx] [Lxxx] [O{+}] [R] [S] [Txxx]

Where: [16] enables 16 bit audio (8 bit is default).
[Axxx] uses PlayCont/RecordCont. xxx is an optional block size.
[Fxxx] user selects a new File by the name of xxx.
[Dxxx] allows for delays between blocks of xxx clock ticks (18.2tps).
[Ixxx] after each block, Increment the next length by xxx.
[Lxxx] block Length of first pcm block.
[O{+}] Save one recorded block. '+' saves all blocks.
[R] Reload the sample rate after each block finishes.
[S] selects Stereo mode operation.
[Txxx] number of Times to play the block.

COMPILING SAMPLE SOURCE CODE:

All the example code was developed using Microsoft 'C' and
MASM Assember. Debugging of the TSR's was done using
Nu-Mega's Soft-ICE and applications using Codeview. To build
the code, use the included batch files and MAKE files.
Again, the MAKE files depend upon the above directory
structure to build the executables. The following list
describes the files needed to build this driver release:

1. The file 'MKSDK.BAT' executes several MAKE sequences to build the VBE/AI SDK program set.

2. The file 'MAKEFILE' is the general make file to
compile the five sample drivers.

3. The file 'TESTW' is the make file to build the WAVE
playback (TESTW.EXE) and record (TESTR.EXE) test programs.

4. The file 'PLAY' is the make file to build the WAVE
playback (PLAY.EXE) program.

5. The file 'PMIDI' is the make file to build the MIDI
player program.

6. The file 'NOTE' is the make file to build the NOTE
player program.

7. The file 'SETPREF' is the make file to build the user
preference adjustment program.

8. The file 'VOLUME' is the make file to build the Volume
control test program.

DRIVER DISKETTE CONTENTS:

Disk Contents:

REV.DOC Revision changes for the SDK/DDK

SDK.DOC Intro documentation to the SDK
SDK.BAT Batch file to build the release floppy
MKSDK.BAT Batch file to build the example programs

PASWAVE.COM Pro Audio Spectrum WAVE VBE/AI driver
SSWAVE.COM Disney Sound source WAVE VBE/AI driver
SBWAVE.COM Sound Blaster & Compatibles WAVE VBE/AI driver
OPL2.COM OPL2 VBE/AI MIDI driver
MPU.COM MPU-401 VBE/AI MIDI driver

ALFRE.MID Sample MIDI file
GUPPY.WAV Sample WAVE file

OPL2.BNK Instrument bank for the OPL2 MIDI driver
MT32 Patch map from GM to an MT32

PLAY Make file for the WAVE PLAY.EXE program
PLAY.C Source to PLAY.EXE
PLAY.EXE PLAY.EXE executable for playback testing of WAVE audio

TESTW Make file for the WAVE TESTW.EXE program
TESTW.C Source to TESTW.EXE
TESTW.EXE TESTW.EXE executable for playback testing of WAVE audio

NOTE Make file for the single MIDI note test program
NOTE.C Source code for the single MIDI note test program
NOTE.EXE Executable MIDI note test program

PMIDI.C Source to PMIDI.EXE midi file player
PMIDI Make file for the MIDI PMIDI.EXE program
PMIDI.EXE PMIDI.EXE executable for MIDI playback
PDATA.C Static data for PMIDI.C

SETPREF Make file for setting user preferences & general query
SETPREF.C Source to SETPREF.EXE executable
SETPREF.EXE SETPREF.EXE executable to set user preference levels

VOLUME Make file for the volume test program
VOLUME.C Tests the Volume control of a given device
VOLUME.EXE Executable volume test program

VESA.C Mid level helper code for VBE/AI driver support

MIDI.H Miscellaneous header files
VBEAI.H
VESA.H
MIDI.INC
VBEAI.INC
WAVE.INC

MIDI\OPL2\TOOLS A directory with s/w for building the OPL2.BNK and MT32 patch map.

BTW: Роясь в старых файлах нашел очередной артефакт — архив VAISDK.ARJ который отказывается искать что Яндекс, что всемогущий Google.
А вы его точно не сами породили? Потому что ZIP файл с таким же именем находится за секунду… И судя по описанию это оно и есть.

Но вообще масса других подобных артефактов давно утеряна и выложить на archive.org вполне себе можно, даже если это дубль…
А вы его точно не сами породили?

Вы в чем-то меня обвиняете, или это просто эмоциональный пассаж?
Повторюсь: данный архив VAISDK.ARJ попал ко мне во времена флоппинета и BBS (дата архива 1996 год, вечером посмотрю точнее), на CD был записан 1999 году. Почему он в ARJ, а не в ZIP? Наверное потому что ARJ под DOS сжимал гораздо эффективнее, соответственно занимал меньше места на BBS и передавался быстрее на типичных 9600bps (а ведь у когото и 4800, а тог и 2400 было).
Потому что ZIP файл с таким же именем находится за секунду…

Для этого надо как минимум знать точное имя файла, без этого поиск по «VESA VBE Audio» уже не дает секундных результатов.

Но вообще масса других подобных артефактов давно утеряна и выложить на archive.org вполне себе можно, даже если это дубль…

«Все что выложено в интернет, ни когда не пропадет.»
Или так «в интернете найдется все!»
Только такие потерянные артефакты возникают после «Пфф, это гуглиться за пять секунд, нафига это хранить?», а по факту получается что или архив битый или ссылка в 404 показывает, а то и копирасты (Геростраты) набег на arhive.org сделают, и удалят файлы 25-ти летней давности, с воплем «Так не доставайся ты никому!», в попытке защитить свои «исключительные авторские права» уже перепроданные десяток раз.
Вы в чем-то меня обвиняете, или это просто эмоциональный пассаж?
Просто спрашиваю. Просто если вы его сами, лично, перепаковали из ZIP в ARJ — то не так удивительно, что его больше нигде нет.

Наверное потому что ARJ под DOS сжимал гораздо эффективнее, соответственно занимал меньше места на BBS и передавался быстрее на типичных 9600bps (а ведь у когото и 4800, а тог и 2400 было).
И, тем не менее, ZIP файл валяется на куче сайтов в Internet (на archive.org, на textfiles.com, hornet.org, упомнинается на Vogons — то есть все основные ретроархивы)… а вот вашего артефакта — действительно нет…

Для этого надо как минимум знать точное имя файла, без этого поиск по «VESA VBE Audio» уже не дает секундных результатов.
Ищем на vogons.org, первая ссылка…

Да, к сожалению все поисковики склонны ретро-информацию считать устаревшей и никому не нужной. Один способ — поискать на известных ретро-сайтах, другой — пробовать настаивать (source — даёт ссылку на первой странице, а если догадаться до «SDK» — первой ссылкой даст).

Только такие потерянные артефакты возникают после «Пфф, это гуглиться за пять секунд, нафига это хранить?», а по факту получается что или архив битый или ссылка в 404 показывает, а то и копирасты (Геростраты) набег на arhive.org сделают, и удалят файлы 25-ти летней давности, с воплем «Так не доставайся ты никому!», в попытке защитить свои «исключительные авторские права» уже перепроданные десяток раз.
Ну тут остаётся только пытаться понемногу снижать энтропию: выкладывать на тех же vogons, например. Или old-dos.ru. А какие варианты?

Какой идиот сказки рассказывает про то, что всё что угодно можно скачать — я не знаю. Недавно потребовалось поставить Visual Studio 2015 — так эта сволочь не встала из-за изменений лицензии на JSK Oracle'ом (вы, блин, подумайте какая связь).

«Все что выложено в интернет, ни когда не пропадет.»
Ну тут есть накоторая доля правды. То, что добралось-таки до интернета найти гораздо проще. Ваш файл, нашёлся, как уже сказано на куче сайтов — а попробуйте найти Norton Utilities 1.0 или 2.0… нетути. С вещами из доинтернетной эпохи всё совсем фигово. Одни статьи рекламные находятся…
Просто спрашиваю. Просто если вы его сами, лично, перепаковали из ZIP в ARJ — то не так удивительно, что его больше нигде нет.

Повторюсь, перепаковывал не я, а сисоп BBS, в ARJ размер архива 331 951 байт (1 августа 1996 г., 9:57:10) в ZIP размер архива был 346 636 байт, что составляло 95,76% от исходного. Плюс ARJ «изкаропки» умел работать с многотомыми архивами, в отличии от zip.
И, тем не менее, ZIP файл валяется на куче сайтов в Internet (на archive.org, на textfiles.com, hornet.org, упомнинается на Vogons — то есть все основные ретроархивы)… а вот вашего артефакта — действительно нет…

Если знать имя архива, знать какое в нем содержимое то поиск гораздо упрощается. Точнее становиться банальным в большинстве случает. Но иногда это не помогает как в случае с sb-vanin.zip. Хотя сейчас этот файл с "«SoundLite 1.0» AKA VaninBlaster: SoundBlaster 2.0 compatible sound card. Full support by SB DSP and only OPL2 FM-synthesizer emulator. (schematic in HPGL) For noncommercial use only!"" всплыв из небытия стал активно перемещаться между заинтересованными людьми.

Ищем на vogons.org, первая ссылка…

Да, к сожалению все поисковики склонны ретро-информацию считать устаревшей и никому не нужной. Один способ — поискать на известных ретро-сайтах, другой — пробовать настаивать (source — даёт ссылку на первой странице, а если догадаться до «SDK» — первой ссылкой даст).

Поисковики уже давно решили что они лучше знают что мы ищем. К примеру аббревиатуру MSX упорно считают опечаткой и в тихую исправляют на MIX. Кстати может у вас рука легкая и гугл правильный и вы найдете «ИHСТРУМЕHТАЛЬHОЕ СРЕДСТВО ДЛЯ РАЗРАБОТКИ КОМПЬЮТЕРHЫХ ИГР И ПРОГРАММ МУЛЬТИМЕДИА GamBit Версия 1.1»?

Ну тут остаётся только пытаться понемногу снижать энтропию: выкладывать на тех же vogons, например. Или old-dos.ru. А какие варианты?

Так выкладываем по мере возможности, из последнего найденного исходники и документацию на Misix выложил.

Ну тут есть накоторая доля правды. То, что добралось-таки до интернета найти гораздо проще. Ваш файл, нашёлся, как уже сказано на куче сайтов — а попробуйте найти Norton Utilities 1.0 или 2.0… нетути. С вещами из доинтернетной эпохи всё совсем фигово. Одни статьи рекламные находятся…

А дискетки, кхе-кхе, не надо выбрасывать. Возможно у кого-то на 5,25 DS/DD лежат NU1 и NU2 и ждут своего живого дисковода.
Кстати может у вас рука легкая и гугл правильный и вы найдете «ИHСТРУМЕHТАЛЬHОЕ СРЕДСТВО ДЛЯ РАЗРАБОТКИ КОМПЬЮТЕРHЫХ ИГР И ПРОГРАММ МУЛЬТИМЕДИА GamBit Версия 1.1»?
Тут, боюсь, просто без шансов. Судя по описанию — это что-то из России (что сразу снижает шансы), да ещё и название такое, что за десятками (сотнями?) других GamBit'ов его просто не видно.

Нужно дополнительная информация — кто этим пользовался, когда, для чего… тогда можно, попробовав ограничиться только специализированными сайтами, чего-то найти. А так — можно просто утонуть в этих GamBit'ах. Я сходу нашёл пяток — но явно не тех. Хуже только «Интегрированная среда «Мастер»»…

А дискетки, кхе-кхе, не надо выбрасывать. Возможно у кого-то на 5,25 DS/DD лежат NU1 и NU2 и ждут своего живого дисковода.
А может уже и сгинули… Всё может быть.
Тут, боюсь, просто без шансов. Судя по описанию — это что-то из России (что сразу снижает шансы), да ещё и название такое, что за десятками (сотнями?) других GamBit'ов его просто не видно.

Да, уже тепло, и эту библиотеку сделали (использовали) в компании «Никита».
1. Вводное руководство
Появление инструментального средства для разработки игр и программ мультимедиа GamBit в первую очередь обусловлено тем, что существующие графические библиотеки, поставляемые с компиляторами, либо не удовлетворяют программистов, пишущих компьютерные игры или программы мультимедиа, по предлагаемым функциональным возможностям, либо по скорости вывода графики, а чаще всего по обеим причинам.

В отличие от обычных программ, работающих с графикой, в игровой программе (за редким исключением) Вы не будете пользоваться функциями вывода точки, произвольной прямой или эллипса. Что Вам нужно, так это удобный графический интерфейс для работы с заранее нарисованными или введенными сканером растровыми изображениями.

Как правило, технология программирования большинства игр состоит на низком уровне в подготовке готового кадра изображения в видеопамяти или обычной памяти и последующем его отображении.

Технология вывода графики, используемая в играх, имеет две общие черты. Во-первых, приложение скрывает от пользователя процесс построения кадра с помощью программных или аппаратных средств. Во-вторых, программисты используют специфические свойства конкретной игры, чтобы оптимизировать вывод графики.

Скрытие от пользователя процесса построения кадра делает анимацию плавной без явных скачков и миганий. Hа аппаратном уровне это обычно достигается путем переключения страниц видеопамяти, или созданием промежуточного буфера в памяти, который по готовности выводится на экран. Некоторые приложения идут дальше в оптимизации вывода, копируя на экран только те области буфера, которые изменились по отношению к предыдущему кадру. Обычно в хорошей игре используется полный набор таких приемов.

GamBit — это высокооптимизированная библиотека функций и набор утилит, предлагающая программисту, занятому в области игровых и мультимедиа приложений, средства для работы с изображениями, спрайтами, памятью, шрифтами, анимационными последовательностями (фликами), звуком и музыкой.

Текущая версия ГамБита предназначена для использования в ДОС. В 1995 года появится версия библиотеки для Windows 3.1 и Windows 95.

Инструментальное средство ГамБит было создано с целью получения наилучших временных характеристик при работе с графикой и с изображениями в памяти. Все функции ГамБита написаны на ассемблере. Если вы используете 32-разрядные версии библиотек ГамБита, можете быть уверенными, что используете код, оптимизированный для процессоров 80386 — 80486 — Pentium, в соответствии с рекомендациями компании Intel.

Нужно дополнительная информация — кто этим пользовался, когда, для чего… тогда можно, попробовав ограничиться только специализированными сайтами, чего-то найти. А так — можно просто утонуть в этих GamBit'ах. Я сходу нашёл пяток — но явно не тех. Хуже только «Интегрированная среда «Мастер»»…

Даю дополнительную информацию
"3. Комплект поставки GamBit
Инструментальное средство GamBit имеет три вида комплектации:
GamBit Free — некоммерческий комплект; распространяется свободно и предназначен для начинающих программистов, а также для целей предварительного ознакомления с возможностями инструментария и его идеологией; техническая поддержка пользователей данного комплекта не осуществляется;
GamBit Lite — базовый комплект для программистов-практиков; содержит большинство функциональных возможностей пакета; техническая поддержка пользователей данного комплекта осуществляется по электронной почте;
GamBit Pro — профессиональный комплект для разработки приложений; содержит все возможности инструментария; предназначен для программистов-профессионалов; техническая и консультационная поддержка пользователей осуществляется по телефону и электронной почте; зарегистрированные пользователи получают в течение года усовершенствованные версии продукта и скидку на приобретение продукта GamBit for Windows.
"

А может уже и сгинули… Всё может быть.

А может и сохранились, как исходники Prince of Persia. Шанс он есть всегда, хотя бы самый малый, хотя ы самый нарочечный.
Ну если это была коммерческая библиотека, да ещё и из России — то неизвестно сколько их вообще было продано.

«Мир ПК», откуда вы вытащили описание — гуглится легко, а вот саму библиотеку — фиг найдёшь.

Я вот даже библиотеку Object Professional 1.30, которая у нас в школе использовалась, с трудом смог найти — а он явно был на порядок (а то и на два) более распространён, чем GamBit…

Так выкладываем по мере возможности, из последнего найденного исходники и документацию на Misix выложил.
Куда, кстати, выкладываете?
Ну если это была коммерческая библиотека, да ещё и из России — то неизвестно сколько их вообще было продано.

«Мир ПК», откуда вы вытащили описание — гуглится легко, а вот саму библиотеку — фиг найдёшь.

А можно ссылочку на легко найденный «Мир ПК»? (просто описание я брал не оттуда)
Я вот даже библиотеку Object Professional 1.30, которая у нас в школе использовалась, с трудом смог найти — а он явно был на порядок (а то и на два) более распространён, чем GamBit…

Ну 1.30 я не нашел, но на archive.org лежит версия 1.14
Надо явно по старым компакт дискам с бреднем пройтись. да и 3,5 и 5,25 перешерстить, поскольку название библиотеки что-то навевает (хоть Паскаль не моё).
Куда, кстати, выкладываете?

На профильные форумы и в облако конечно.
линк на MISIX 3.11 — Egor Voznessenski
линк на VS (Visual Shell ver 1.0) — Egor Voznessenski
линк на MISIX_user_manual(koi-8r)
MISIX краткое руководство программиста
SOLIDSOFT International inc.

операционная система
M I S I X
* * *
системные утилиты
операционной системы

M I S I X
краткое руководство программиста

MISIX — инструментальная операционная система, написанная с целью достижения максимально возможной совместимости среды программирования на MSX-2 компьютерах со стандартом POSIX 1003.1 то есть с мобильными операционными системами типа UNIX. Система ориентирована на программиста-профессионала, имеющего высокие требования к инструментальной среде. Система MISIX (далее СМ)
представляет собой расширение традиционной ДОС MSX (1.03), полностью совместимое снизу вверх, но имеющее следующие встроенные преимущества:
— полную поддержку файловой спецификации MS-DOS, включая скрытые файлы, метку тома и субдиректории;
— handle-ориентированные файловые системные функции, полностью отвечающие стандарту POSIX: open, close, read, write, lseek, fcntl;
— встроенную функцию чтения директории с расширенной спецификацией файла (см. ниже);
— переопределение стандартных ввода и вывода;
— встроенный виртуальный диск и средства работы с памятью;
— широкий набор системных утилит.
А можно ссылочку на легко найденный «Мир ПК»? (просто описание я брал не оттуда)
Вот тут. 126я страница.

На профильные форумы и в облако конечно.
Думаю лучше на какие-нибудь известные сайты выложить — либо на old-dos.ru, либо на archive.org. Там хоть какой-то шанс потом найти будет, а ваши линки на mail.ru через пять лет никто не найдёт, даже если сам mail.ru не сгинет.

Ну 1.30 я не нашел, но на archive.org лежит версия 1.14
Да я нашёл версию 1.30 на archive.org — вот тут. Но во-первых это версия из кучки файлов и патчей (хотя, вроде как, полная, хотя на 100% не уверен), а во-вторых — лежит она тоже бог знает где, не с полпинка и нагуглишь.

Так что всё равно, кажется, имеет смысл выкладывать всё что можно на известный сайты — retroarchive.org, old-dos.ru и так далее…
Думаю лучше на какие-нибудь известные сайты выложить — либо на old-dos.ru, либо на archive.org.

Я думаю Zx.pk.ru достаточно известный и профильный.

Там хоть какой-то шанс потом найти будет, а ваши линки на mail.ru через пять лет никто не найдёт, даже если сам mail.ru не сгинет.

тогда только в какуюто распределенную файловую систему заливать. А Мейл-ру не хуже и не лучше, по считают неудобным содержать облако — удалят его без вопросов
Я думаю Zx.pk.ru достаточно известный и профильный.
Я там, как бы, вообще раздела для файлов не на обнаружил.

А Мейл-ру не хуже и не лучше, по считают неудобным содержать облако — удалят его без вопросов
Мейл-ру хуже. Потому что разные фанаты делают, периодически, полные копии архивов (как пример — на old-dos.ru есть копия нескольких других уже почивших в бозе). И потому есть шанс, что выложенное туда уцелеет, даже если сам сайт умрёт.

А вот копий всякого добра, раскиданного по файлообменникам — никто не делает. Даже если ссылки туда идут с разных популярных форумов. Потому регулярно возникает ситуация, когда однажды «спасённые» файлы нужно спасать по новой.

Вот как с тем же Object Professional 1.30: вроде повезло… нашли… спасли… А потом — сайт умер. И… archive.org помог… а была бы там ссылка на файлообменник — не смог бы помочь 100%.
Я вот даже библиотеку Object Professional 1.30, которая у нас в школе использовалась, с трудом смог найти — а он явно был на порядок (а то и на два) более распространён, чем GamBit…

Использовав гугл с запросом «скачать TurboPower Object Professional» внизу станицы поиска увидел ссылку на форум Vintage Computer Forum — Vintage Computer Federation, где нашел сборку компиляторов Pascal под DOS «Borland Pascal 7.01 with the CRT issue patched. Includes RTL source code, Robert A.H. Prins updated (more granular) system units, Async Professional, Object Professional, B-Tree Filer, Turbo Professional and one or two other things.» В архиве лежит
Object Professional 1.30
Late News on Object Professional 1.30

This file describes changes, additions, and clarifications that do not appear in the Object Professional manual. Please print and read this file prior to using Object Professional, and save it for future reference. It includes the following sections, which are organized according to the unit/utility to which they apply:

1. DPMI
2. OPABSWIN/OPWINDOW
3. OPCMD
4. OPDATE
5. OPDIALOG
6. OPDIR
7. OPDOS
8. OPDRAG
9. OPEDITOR
10. OPFIELD
11. OPFORM
12. OPROOT
13. OPSTRING
14. MAKEMENU
15. Help system
16. Conditional Defines
17. Error Codes
18. Corrections to the Manual

NOTE! Starting with this version of Object Professional, 5.25" diskettes are no longer distributed with the package. We can provide the 5.25" diskettes upon request, however. Simply fill out the enclosed coupon and return it, along with your 3.5" diskettes, to us.

As of version 1.30, new and updated manuals are available.

Эту версию я тоже видел — но это ещё хуже, чем та, про которую писал чуть выше. Там даже инсталлятора нет, только установленные файлы. Причём похоже эта версия тоже установлена не с полной версии 1.30, а вот из того архива, как раз.
Это модифицированная версия для другого компилятора.

Тоже полезнаю штука… но да, не то.
Тогда точно надо перешестить коллекцию дисков, и возможно на них что-то найдется.
Буду благодарен. С этим Object Professional вообще очень забавная история вышла. Когда TurboPower (разработчики) закрывалась — они всё, что у них было, аккуратно выложили на SourceForge (последние версии только без истории, но и на том спасибо).

И там даже есть каталог для Object Professional. Только… файлов там нету.

То ли у них были проблемы с лицензиями, то ещё что-нибудь в этом духе.

В результате абсурд: куча аддонов — лежит, бери и пользуй… а центральной-то библиотеки и нету.
И там даже есть каталог для Object Professional. Только… файлов там нету.

Первоначально, когда начал искать, я нашел их пресс-релиз «We out of business, but all come to open source on sourceforge», но пустая папка на sourceforge вызвала реакцию «Какого Armorácia rusticána, извиняюсь тут происходит?»
То ли у них были проблемы с лицензиями, то ещё что-нибудь в этом духе.

Будем надеяться на парней под черным парусом «Йо-хо-хо, и бутылка рому!»
Действительно, музыка звучит куда лучше чем на Sound Blaster.
Еще же был софтовый эмулятор roland-а

Да и сейчас есть — в виде VSTшки на Windows 10 (в том числе 64-битной) работает как более современная Sound Canvas VA с эмуляцией SC-8820, так и древняя VSC-88. В обеих, кстати, есть совместимость с тембрами MT-32

Немного не по теме: попалась Turtle Beach Tropez Classic (не PnP), какова она для игр? Что сможет раскрыть её возможности? Ставил на Pentium-133 под Windows 98 SE вместо SB Vibra 16XV, встроенные демо работают отлично (значит карта исправна), но в играх звуки воспроизводятся неверно. И VxD драйвер ожидаемо вешает систему при переходе в сон, так что максимум для неё получается Win 95.
Пробовал с Prince of Persia, Doom 2, Hexen и Need for Speed II как SB, с которым заявлена совместимость.
Кстати, есть такой проект AWE64 Legacy
a newly designed sound card built up from scratch, based on the original chipset of the 2nd gen Creative SB AWE64 Value (CT4520)
Our project is inspired by this one made by anthony, but has gone a little further.
So, to sum up, it's a newly designed sound card built up from scratch, based on the original chipset of the 2nd gen Creative SB AWE64 Value (CT4520): Creative CT8920-NBQ chip and Creative CT1972-UAS/EMU8011-01 WaveROM.
New and reworked features include:
1. The onboard 28 MB of RAM — basically, it is an integrated SIMMConn Value (credits: Xu Wang aka SIMMConn) with an integrated 32Mb SIMM72.
2. True Yamaha OPL3 chipset (YMF262+YAC512) — the schematics were borrowed from the Resound OPL3 card (credits: TexElec). We still have to find the best way to make this function work along with the integrated CQM disabled/moved to 0x398h, we hope to get some assistance from you guys who wrote in this thread.
3. Intelligent MPU-401 onboard — it is an integrated HardMPU (credits: ab0tj).
4. Waveblaster header.
5. Routable MIDI Inputs/Outputs between both CT8920 / HardMPU parts and the Waveblaster header / MIDI pins of the gameport.
6. Redesigned analog part.
7. Onboard S/PDIF RCA output with onboard level convertor.
8. AWE64 Gold-styled 2xRCA analog output.
9. AC97 Front panel header.
10. The board complies with ISA Half-Size measures: 185 х 120 mm.
11. PCB has 6 layers with separate Analog and Digital planes. Power supply has its own layer.

К которой можно напрямую подключить внешний MIDI синтезатор т.к. имеется полноценный MPU401. Интересно, а данную звуковую карту нужно к новоделу относить или винтажу?
Новодел конечно. Какое же это ретро если она сделана в наши дни?
Причём лично мне не понятны такие проекты (подчёркиваю — это сугубо моё мнение). Старые карты доступны на барахолках за вменяемые деньги. Есть какие-то коллекционные вещи за которые попросят, но так их ценность именно в коллекционности, а не в том, что они какой-то супер звук выдают. Понятно, что оригинальные карты полны всяких аппаратных недостатков, который могут быть решены в новоделах, использующих современные технологии и элементную базу. Ну так а зачем? Вся эта ретро тема она в принципе держится на ностальгии. Интересно вернуться в детство, испытать те же эмоции (правда зачастую оказывается, что они не такие уж положительные будут — как я вон DOOM на 386-м запустил и расстроился, а в детстве казалось что ОК). Или пощупать какое-то интересное железо, которое в те времена было тебе не доступно по тем или иным обстоятельствам (чем в основном занимается автор этого цикла постов).
Ну а делать новоделы (при условии доступности оригиналов) и пользоваться ими… Зачем?
Такое впечатление, что музыку ко множеству игр времен PS1 писали на синтезаторе из видеоролика. Звук характерный, узнаваемый.
На самом деле, внутреннее исполнение для ibm pc называлось Roland LAPC-I, а не LAPC-1. Достаточно частая ошибка.
Несколько звуков из видео с примерами услышал и сразу вспомнил начало песни, но долго соображал кто это. Пришлось поискать. Это может бы та же модель? www.youtube.com/watch?v=XDeiovnCv1o
Sign up to leave a comment.