Разработка и ромхакинг > Ромхакинг и программирование
Sega Genesis Intro.
(1/4) > >>
Zephyr:
Моя 1ая интрошка
http://forum.mirgames.ru/index.php?showtopic=3957
evgeny:
Ну, на чем ты писал мне понятно. Меня вот DAC интересует. Не мог бы ты поделиться исходным кодом ? Интересно... у тебя там даже z80 не используется, как же DAC вывел?
cari:
Где можно скачать Digital Audio Converter???
Zephyr:
cari,
Если для Басика - то конвертировал в 16Mhz 8 Bit Mono - используя
Winamp.
После просто вырезал заголовок используя текстовый редактор Bred 3.
Оставшиеся данные подавал на ЦАП.
*********************************************************
evgeny, держи (с комментариями)

pcmdata: datafile music.PCM,BIN 'load music data

'Turn DAC on
 Asm "move.b #$2B,$A04000"
 gosub BUSYWAIT
 Asm "move.b #$80,$A04001"
 
'Turn on both speakers
 poke &hA04002,&hB6
 gosub BUSYWAIT
 poke &hA04003,&hC0
    
'Send PCM data to DAC
 asm "move.b #$2A,$A04000"

loopstart:
 asm "move.l #0,d3"
 for a=1 to 24 ' chunk part
  for b=c to d ' from offset to size (offset + 65535)
    reload pcmdata
    gosub changeoffset
    read pcmtest
    gosub BUSYWAIT
    poke &hA04001, pcmtest
    asm "add.l #1,d3"
  next

 c=a*65535 'chunk offset
 d=c+65535 'chunk size
 next

BUSYWAIT:
   status=peek(&hA04001)
   if status.7=0 then return else goto BUSYWAIT
   return   
   
changeoffset:
   asm
      move.l   d3,d1
      add.l   d1,a6
   end asm
   return
evgeny:
спасибо, будем проверять.
cari:
А где скачать программу для создания музыкального файла??
Zephyr:
cari,
Это поток, не модульное строение. Просто *.wav файл
в формате PCM (Pulse Code Modulation)
16000 Hz 8 Bit Mono. Просто нужно еще заголовок вырезать
(52 байта - я вырезал).

Есть тракер для басика, но он пока 1 канальный вроде.
Есть нормальный тракер от Паскаль О Рама,
но его вроде только чистым асмом реально
подсоединить. Я пока не разбирал.
В планах все...
Mashin:
Zephyr, это какой язык? BasiEgaXorz?
Zephyr:
BasiEgaXorz - это бейсик, но самопальный. Больше на асм похоже.
http://devster.monkeeh.com/sega/basiegaxorz/
Форум
http://devster.proboards22.com/index.cgi
Вообще я собираюсь в ближайшее время статью по нему
написать.
Mashin:
Имхо, лучше про чистый асм напиши.
Zephyr:
По просьбам трудящихся залил исходный код сего "творения".
Пост 4
http://forum.mirgames.ru/index.php?showtopic=3957
Йобан Матич:
Zephyr,
Прикольно, но... Нафиа тебе басик?
FreePascal умеет под m68k компилить. Если написать пару модулей (Добавить новую платформу не так уж и сложно), то можно будет и под сегу кодить. Pascal ты знаешь лучше чем basic, правда?

Если поможешь с инфой по m68k асму могу попробовать написать rtl для sega.
Zephyr:
Йобан Матич,
Да получше. Чтоже нужно порыться немного по сети. Посмотреть
доки, потестить. После выйду с тобою на связь.

PS: спасибо за инфу.
Йобан Матич:
Zephyr,
Беру на себя компилятор и rtl.
Кое-что уже получилось. дня через два буду мучить линкер.

Со временем может напишу свой компилер...
Henty:
Можете меня обругать благим матом, но я так понял, что Йобан Матич хочет сделать компилятор для FreePascal'я чтобы сразу в исходный код Сеги компилить, так? Это было бы неплохо..
Йобан Матич:

--- Цитата: Henty --- но я так понял, что Йобан Матич хочет сделать компилятор для FreePascal'я чтобы сразу в исходный код Сеги компилить
--- Конец цитаты ---


Я себе ГТА поставил, поэтому проект ваременно заморожен.
Вообще лучше сделать транслятор из паскаля в асм. по типу BasiEgaXorz, но только с генерацией меньшего по размеру кода. BasiEgaXorz много мусора генерит.

Во фрипаскале м68к официально уже не поддерживается, а версия 1.0 у меня собираться отказалась.
evgeny:
Вот, тоже кое-что сделал.
http://evgeny1.land.ru/mk3demo.zip
Taven:
evgeny,
Интересно!Только клетчатый фон вызывает отвращение.
ALEX_230_VOLT:
А чё, круто! Тока звук раздражающий и вообще сюжета мало. Можно было бы выдрать из трилогии рассказ о МК (с картинками конечно, начиная со слов Рэйдена и кончая спином с 15 бойцами)
evgeny:
Можно, конечно, а это так, эксперимент со слоями.
Навигация
Главная страница сообщений
Следующая страница

Перейти к полной версии