Мої програми MSX

Протягом останніх кількох років я разом з Хуаном Карлосом, викладачем Салвадора Батле, у початковій школі (РСЕ).

Пізніше я купив комп'ютер MSX (Sony Hit Bit 501P (Siony HB-501P) і, разом з другом, ми дослідили можливості машини, проводячи пополудневе друкування програм, які були написані на папері в деяких журналах MSX того часу.

Наступний крок, після того, як я прийняла виклик від мого вчителя математики, - це навчитися програмувати мовою асемблера MSX (Z-80 процесор).


На цьому сайті я маю намір поділитися найкращими програмами, які я тоді запрограмував у форматі. cas:

  • Футте: Програма змагання в моїй середній школі (I.B. Gabreater), коли я був у першому році BUP (BAC).
  • Дизайн: графічний дизайнер для розробки графіки для ігор, які він збирався використати у майбутньому (у Assembler Z-80).
  • Зодія: гра у космічний корабель з вертикальним гортанням, включеним (у Assembler Z- 80).
  • Habla: програма для синтезу мовлення з тексту для іспанської мови. (З' єднання з Assembler і BASIC).
  • Тетріс: моя версія популярної гри Tetris. (у Assembler Z- 80).
  • Зерно того, що мало бути лабіринтом, надихнуло " Мазю Галуадії " Конамі.
  • Я також ділюся кодами програм Assembler, разом з Майноль-збирачом, який я купив у той день, і який я ділюся між файлами.cas у звантаженні (не всі з них працюють).


Я також збираюся поділитися деякими змінами, які я зробив для програми командного інтерфейсу wav2cas, запрограмованої Вінсентом ван Дамом.

Тепер існує необов'язкова функція для того, щоб передати сигнал, оброблений wav2cas, до csv, серед інших нових можливостей.

Крім того, у мене буде декілька додаткових скриптів для роботи з.cas або з новими прикладами сигналу wav2cas:

  • histogram.py : Скрипт для отримання значень гістограми з зразків.
  • .
  • split_ msx_ tapes_ in_ singular_ files.py : Дроблює файли.cas на файли.cas, що містять окремі файли. Оброблює файли casdir, плюс asm (HiSoft Assembler).
  • .
  • extract_ msx_ sources.py : За допомогою цього пункту ви можете видобути файл. txt з кожним файлом джерела з файла. cas (ascii і asm). Цей файл не дуже добре працює, але може бути запуском.
  • .

Дизайнер графіків (1989)

Спостерігати за vídeo

Синтезатор (1991)

Спостерігати за vídeo

Декламувати (1991)

Спостерігати за vídeo

Сеанс з складанням

Спостерігати за vídeo

Опис програми

image
image

Програму Флаути було створено для того, щоб брати участь у конкурсі програмного забезпечення в моїй середній школі (І.Б. Габріель Ферратер), коли я був у першому класі середньої школи.

Цей інструмент призначений для перегляду позиції пальця для відтворення кожної ноти на флейті.

Програма - це привід для показу інтерфейсу користувача у графічному режимі.

Ви можете бачити відео програми, що працює Демонстраційне відео

image
image

Ідея графічного дизайнера (Дісенья) полягала в тому, щоб мати інструмент для належного дизайну графіки для ігор, які він збирався в майбутньому програмувати.

Він запрограмований в Assembler Z-80.

Я закінчив програмувати його після двох напружених місяців розвитку.

Це найприбутковіша програма, яку я запрограмував завдяки її вигідності і кількості разів, коли я нею користувався.

За його допомогою ви зможете створити екрани презентацій, спрайти і символи гри.

Ви можете бачити відео програми, що працює Демонстраційне відео


Також існує демонстрація з найкращими знімками екрана і графікою, які я спроектував з ним: Відео з кращих екранів

image
image

Я запрограмував гру "Зодія космічний корабель," на яку навіяв Конамі, що прокручує космічні ігри.

Він запрограмований в Assembler Z-80.

Вона присвячена моїй вчительці математики (Дж. Р.

Гру подано на SCREEN 1, з легшою графікою, ніж SCREEN 2.


Щоб дати вам уявлення про те, як все було...

Очевидно, що в якийсь момент слід було надрукувати рахунок, досягнений гравцем...

Ці числа або еквівалентні Uint8, або uint16

Для дошки я обрав тип uint16 (він не може перевищувати 6553)

Щоб надрукувати цифри, треба було конвертувати число на Base-10, що я робив на 10 n разів, беручи модуль і кивки.

Але... у Z-80 не було жодних інструкцій в Assembler для множення і ділення!

Ну, це легко... ми ділимо, віднімаємо дільник від ділення N разів, і збільшуємо рівень, якщо результат не переливається...

Як липко!

Ну, вот как все было...


Існує відео, у якому показано повний перегляд (з деякими помилками): Повноекранне відео


Ви можете бачити відео програми, що працює Демонстраційне відео

image

Після закінчення середньої школи я хотів знову спробувати програмування мовою асемблерів.

Метою програми було програмування синтезатора, пристосованого до звукового чіпа MSX (з трьома голосами, а також застосування ефекту реверга (швидких змін (вручну) частоти випромінювання кожної натисненої ноти, а також вимикання нотатки під час вивільнення ключа.

Було запам'ятововано стан трьох синтезаторів, які натискали одночасно (три голоси чіпа).

Я також хотів використовувати частоти, пов'язані з кожною нотою, які під час пошуку знайшов закодованим у ділянці MSX ROM.

Щоб виконати пошук, я продовжував, просто знаючи частоту ноти A ('tuning виделка) 400 Гц, і застосовуючи кореневий дільник 2 (2 ^ (1/12) (одна вісімка, дванадцять напівтонів).

А потім пошук відповідних елементів у ROM з номерами Uint16.


Ви можете бачити відео програми, що працює Демонстраційне відео

image

Протягом літа між моїм старшим роком середньої школи а моїм першим роком Телеко (1991 р.), я напружено працював офіціантом у Бар - Аргенте в Салу.

Я їздив автобусом туди-сюди, і по дорозі назад, перед від'їздом додому, зупинявся на аркаді, щоб пограти в кілька ігор з казковими тетрісами...

Після понад 60 ігор у цій грі я стала експертом, і мені подобалося шукати цю гру, коли доля завела мене випадково в місце, де були аркадні автомати.


У 1992 році я вирішив запрограмувати свою версію Тетріс в Асемблері Z-80 і в рекордний час за три дні.

На той час я вже трохи фліртував з цифрізацією звуків (з стрічки MSX), а на режимівому екрані гри - піснею відтворено промовця. (Імітатор openMSX ідеально імітує деталі гри).


Ви можете бачити відео програми, що працює Демонстраційне відео

image

Я не пам'ятаю, коли вперше натрапила на можливість оцифровування звуків з стрічки MSX.

Але я пам'ятаю, що я навіть не знав, з якою частотою я брався за вибір,.. я просто наклав петлю між зразками для оцифровування, і тією ж пробіжкою для відтворення через промовця.

Я зрозумів, що коли ця затримка була завелика, звук не розмножувався добре, пізніше я дізнався за допомогою теорії вибірок, що цей ефект був відомий як альтернативні назви.


З телевізійної серії я зрозумів, що комп'ютер може "промовити" речення обране користувачем.

Тож, з новою іграшкою оцифровування, я вирішив отримати всі фонеми, оцифровуючи свій власний голос.

Наступний крок: пройти через літери речення, розділити його на фонеми і вивільнити по черзі.

Так, трохи липко, але він більше не давав...

Я запрограмував правила іспанської фонетики в програмі Assembler Z-80, за допомогою взаємодії з користувачем, попросивши про речення в BASIC.


За допомогою емулятора openMSX ви можете досконало імітувати виконання цієї маленької програми.


Ви можете бачити відео програми, що працює Демонстраційне відео

image

Після незліченної кількості годин, проведених у " Лабіриці галеського," я вирішив створити лабіринтну гру, натхнену нею, і з дуже подібним візуальним виглядом (з обмеженнями).

Програма була знову в Assembler Z-80.

Я створив екрани (у 14 x 12 матриці екрану) на основі 4x4 символів, які були комбіновані, як головоломка.

Отже, екран займав 5 x 8 = 40 байтів, хоча фіксовану окупацію пам'яті потрібно було додати, щоб визначити 4 x 4 блоки.


Я врятував декілька реалізацій для переміщення персонажа по всьому світу, хоча найповніший ("ПРИФЕК"), я не зміг змусити його працювати в емуляторі.

Я думаю, що це пов'язано з тим, що кодовий код на асамблеї займає забагато місця, і конфліктував з областю BASIC даних, і складання, за тих умов, відмовився збирати програму.

Я пам'ятаю, що одного дня мені довелося робити трюк, пересуваючи ділянку пам'яті " БАСЦ " вище (з чудовими тюками, які я вже не пам'ятаю).

І без них не існує способу зробити цю реалізацію успішною (хоча цей код було видобуто правильно в...касі).


Ви можете бачити відео програми, що працює Демонстраційне відео

image

Собор - це фундаментальна частина розвитку в Assembler Z-80.

Я купив демонтаж з hosoft і зробив найбільше з нього, роблячи інтенсивне використання його.

Там также был монитор, но я никогда не знал, как его устроить...


У відео ви можете побачити приклад сеансу зі збиранням Демонстраційне відео

Відео

Звантаження