PC-01 Lviv
http://pc01.lviv.ua/forum/

Karate
http://pc01.lviv.ua/forum/viewtopic.php?f=3&t=52
Page 1 of 2

Author:  Kopchony [ 11 Nov 2011, 03:23 ]
Post subject:  Karate

Вынесено из темы Поиск всего что касается ПК "Львов"
Quote:
22 дискеты, в основном CP/M.
В образе Ham_28Games есть даже какое-то "карате".


http://www.onlinedisk.ru/file/767488/
Ведь помню, что было Карате на Львов, если не ошибаюсь то это был порт International Karate с Atari

Author:  liberation [ 11 Nov 2011, 10:51 ]
Post subject: 

Quote:
В образе Ham_28Games есть даже какое-то "карате".
Да, это то самое карате. :)
INTERNATIONAL-KARATE ADAPTED MASKSOFT 1993 g CHAMELEON DOS 1.0&pk-01
Ну чё, ломаем джойстики?

Author:  Kucher [ 11 Nov 2011, 10:59 ]
Post subject: 

Оно у мя на эмуле не стартует чё-то. :(

Author:  liberation [ 11 Nov 2011, 11:07 ]
Post subject: 

Quote:
Оно у мя на эмуле не стартует чё-то. :(
А это версия под Хамелеон. Там два файла: сначала идет загрузчик, который устанавливает стек, что-то там инициализирует и только потом загружает основной файл и раскладывает его в ОЗУ по необходимым адресам. В оригинале (мафонная версия) эта игра перекрывала при загрузке системные переменные, вроде бы так было, поэтому и загружать его надо особенным мистическим способом.

Author:  Zelya [ 11 Nov 2011, 11:10 ]
Post subject: 

Quote:
А это версия под Хамелеон. Там два файла: сначала идет загрузчик, который устанавливает стек, что-то там инициализирует и только потом загружает основной файл и раскладывает его в ОЗУ по необходимым адресам. В оригинале (мафонная версия) эта игра перекрывала при загрузке системные переменные, вроде бы так было, поэтому и загружать его надо особенным мистическим способом.
Я если предварительно грузить хамелеон, должно выйти?

Author:  Kucher [ 11 Nov 2011, 11:13 ]
Post subject: 

Я так и делал - сначала загрузчик в эмуль, он выдаёт надпись и "GO".
А потом команда BLOAD - указываю ему второй файл, он загружается, портя шрифты в верхней области и всё зависает.
Я припоминаю, что действительно игра занимает почти всё ОЗУ, она там как-то хитро стартовать должна была. Возможно для неё надо просто другое смещение задать.

Author:  Zelya [ 11 Nov 2011, 11:20 ]
Post subject: 

Я имел в виду, что перед загрузчиком в память закинуть ХамелеонОС.

Author:  liberation [ 11 Nov 2011, 11:45 ]
Post subject: 

Вот загрузчик в псевдокоде:
Code:
9FF0:
LD HL, BF00
LD DE, A000
LD BC, 00AF
move()

A000:
LD SP, BEEF
LD (BFB5), 0
load "KAR.1 EXE" begin address: 0000, length: BE sec
LD (BD00), 0
jmp 7D66
В общем, загрузчик работает с адреса BF00, загружает софтину и запускает ее с адреса 7D66. Стек с BEEF.

Author:  Kucher [ 11 Nov 2011, 12:06 ]
Post subject: 

Чёрт, позабывал всё. Хотелось бы глянуть ещё разок на это карате, но толком не помню ничерта уже с кодом.
Ну хоть нашли её и слава Богу.

Author:  Zelya [ 11 Nov 2011, 15:17 ]
Post subject: 

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

Author:  liberation [ 11 Nov 2011, 15:22 ]
Post subject: 

Quote:
Куча опытов над "Карате" показали, что есть проблемы с образом. Игра стартует, каратисты приветствуют друг друга поклоном, но потом спрайты "ломаются".
Мож, подкинуть скриншотов для интриги? Вдруг кто-то из знатоков догадается и даст досрочный ответ.

Author:  Kucher [ 11 Nov 2011, 20:48 ]
Post subject: 

Предлагаю просто устроить liberation тёмную, чтоб не выпендривался. :)

Я напрочь забыл всё, так что на меня не рассчитывайте.
Но когда-то подобный глюк видел. По-моему именно с этим карате.

Может надо внимательно посмотреть что сначала загрузчик делает?

P.S. Дайте ссыль на команды ассемблера с разъяснениями для ВМ80 и Z80.
P.P.S. Или дайте погамать в карате. :)

Author:  Zelya [ 18 Nov 2011, 21:11 ]
Post subject: 

Проблема найдена. Всему виной неправильный опрос порта джойстика. Так как нет самого джойстика и никаких проверок на считываемые данные, то в переменную "тип действия" попадают левые значения. По ним процедура, которая ищет указатель спрайта по "типу действия", указывает на неправильные адресса, из-за этого портится правый игрок. Также, после считывания джойстика-правого игрока, стоит проверка, которая игнорирует считывание данных для клавиатуры-левого игрока при определенных условиях. Из-за "мусора" при вычитке джойстика, эта проверка всегда срабатывает и не дает установить левому игроку свой правильный "тип". Если заблокировать управление джойстиком - то все показывается отлично.
Буду "чинить". Правый игрок получит ИИ. Управление левого попробую перенести на стрелки (на QWERTY играть невозможно), также уберу загрузчик.

Author:  liberation [ 18 Nov 2011, 21:44 ]
Post subject: 

Quote:
Буду "чинить". Правый игрок получит ИИ. Управление левого попробую перенести на стрелки (на QWERTY играть невозможно), также уберу загрузчик.
Посетила идея, как добавить памяти для ИИ. Горы. Я так понимаю, что они единожды выводятся на экран, сразу после запуска, а после экран ни разу не очищается полностью, только игровая зона. Можно вынести вывод гор в загрузчик. Сделать что-то типа заставки. А освободившуюся область памяти использовать по своему усмотрению.

Author:  Kucher [ 18 Nov 2011, 23:27 ]
Post subject: 

Слушайте, ну я вами прямо горжусь! :)

Page 1 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/