Что-то не работает у меня в эмуляторе команда LOAD, пишет "синтаксическая ошибка". Эмуляцию магнитофона сделать можно, но пока я не разберусь с командой LOAD, я сделать не могу.
Вид для печати
Ага, соврал, должно быть
LOAD "CAS:QWE",B,R
с родной корветовской - несколько раз начинал, протокола описания не видел, кое что есть в наработках, надо бы продолжить ...
с альтернативными - смысла имхо мало, да и нет у меня к ним доступа
а с родной - в теории хоть есть, например сделать загрузчик софта с IBM ...
(например есть у человека живой ПК8020, а дисков - нет
подключаем по кому, передаем начальный загрузчик, и получаем живой диск
ну или по магнитофону тоже можно такое)
B2M даже добавил сеть в свой эмулятор по моей просьбе, но руки пока не дошли этим воспользоваться :(
а на это можно забить :)
но аккуратно
и имхо на корвете таких не особо много
теже голдсофтоские ...
дык ведь абсолютные переходы все полетят....
такой вопрос: какая команда служит для передачи управления на маш. код?
вопрос не понял.
так наоборот как раз, наша задача обеспечить комовской игрушке "родную" среду выполнения при загрузке с кассеты
т.е. грузим мы например с 0x8000, туда и передается управление
код которые лежит там, переключает конфигурацию (включает ту в которой работает cp/m (0x40 -> 0x1c)
перемещает игруху на 0x100
инициализирует "имитатор" доса, и передает ей управление
имитатор - эт будет зависить от игрушек, для некторых он нужен в большем объеме, но думаю для основных - в меньшем.
т.е. это не копия CP/M это толко эмулятор нескольких функций.
сейчас вожусь с запуском простой игрушки PACMAN. Какой неудобный проц 8080... В z80 дал LDIR - и всё... А тут... Ничего, зато хоть ассемблеру немного научусь :)
---------- Post added at 21:04 ---------- Previous post was at 20:54 ----------
И с произвольного адреса загрузиться не получится, т.к. прога MSXCAS делает файлы только с адреса 9000H.
c
PAC-MAN, XYZON, ITA-Express, Binary-Lend, FIRE, Ninja-Kagu?, eric-bomber, RALLY, tetris
возится не надо,
есть их версии которые пускаются с 8000 или 9000 адреса
предназначены были для передачи по сети на РМУ :)
кстати, а ведь можно сделать картдридж ...
а где из взять?
зы.... Правильно ли я делаю переключение на конфиг памяти CP/M:
LD HL,0FA7FH
LD A,1CH
LD (HL),A
Мнемоники, ессно, зетниковские..
---------- Post added at 21:38 ---------- Previous post was at 21:20 ----------
зы... Сергей, если можно, удалите меня из чёрного списка ICQ :)
---------- Post added at 22:20 ---------- Previous post was at 21:38 ----------
Пакман не работает :(
Вот кусок кода для пересыла и начальной установки:
ORG 0E000H
LD HL,0FA7FH
LD A,1CH
LD (HL),A
LD HL,0F000H
LD SP,HL
LD HL,09000H
LD DE,0100H
LD BC,04000H
CALL LDIR
JP 0100H
LDIR LD A,(HL)
LD (DE),A
DEC BC
LD A,B
OR C
RET Z
INC DE
INC HL
С адреса 9000Н располагается наш пакман.... Отлаживал в эмуляторе b2m, но тама почему-то во время пересыла портится регистр HL и BC.... Почему - непонятно, т.к. на пустом месте :( Что дальше делать я не знаю... Если такая элементарщина не заработала, то что уж и говорить дальше :(
попробуй запретить прерывания
взять можно в архиве софта корветовского - там есть они-же но с расширением не .com а .bin
по поводу регистра конфигурации, он называется SYSREG
и имеет адрес REGBASE + 0x7f
вот таблица карт памяти
для 40 и 1С это таки FA7F
можно еще и
ld a,1c
ld (0xfa7f),a
p.s. я тоже всю жизнь для 8080 писал в z80 мнемонике
благо m80 прекрасно это понимал.
список вроде как чистил, у меня аська далеко не всегда включена.
Спасибо огромное! УВсё заработало! Завтра буду грузить TREAS и KLAD!!!!!