Эмулятор ZX Spectrum
-
- Attachments
-
-
e80.zip (15.4 KiB)Downloaded 1256 times
-
- Attachments
-
-
SNA.7z (52.41 KiB)Downloaded 898 times
-
- Attachments
-
-
gamessna.rar (82.27 KiB)Downloaded 848 times
-
ALLiGaToR
Почти всё это есть в архиве, в файле readme.txt, но всё же повторюсь, ведь не все этот файл скачивают. Я хочу сделать минимальный эмулятор ZX Spectrum 48. Эмуляция процессора Z80 (опкоды в файле z80sean.txt), без поддержки звукового процессора AY, загрузка только файлов SNA (состояние регистров и образ памяти). Пишу его на fasm (писал на C, потом на С--, но потом решил, что на ассемблере будет лучше). У меня есть много исходников эмулей спектрума на С, паскале (делфи), асме, java, но просто портировать их, а тем более сдирать чужой код я не хочу. С платформой спекки я уже разобрался, составил алгоритм эмуляции, осталось лишь набрать реализацию основных команд и начать отлаживать эмуль, доводя его до работоспособного состояния. В принципе, любой может мне помочь, реализовав какие-нибудь команды. Авторство будет сохранено.
Почти всё это есть в архиве, в файле readme.txt, но всё же повторюсь, ведь не все этот файл скачивают. Я хочу сделать минимальный эмулятор ZX Spectrum 48. Эмуляция процессора Z80 (опкоды в файле z80sean.txt), без поддержки звукового процессора AY, загрузка только файлов SNA (состояние регистров и образ памяти). Пишу его на fasm (писал на C, потом на С--, но потом решил, что на ассемблере будет лучше). У меня есть много исходников эмулей спектрума на С, паскале (делфи), асме, java, но просто портировать их, а тем более сдирать чужой код я не хочу. С платформой спекки я уже разобрался, составил алгоритм эмуляции, осталось лишь набрать реализацию основных команд и начать отлаживать эмуль, доводя его до работоспособного состояния. В принципе, любой может мне помочь, реализовав какие-нибудь команды. Авторство будет сохранено.
Тема интересная, есть и некоторый личный опыт (знаю у многих тут есть опыт отношений с Z80/i8080), если есть вопросы - спрашивай, чем сможем - поможем. Но не стоит выкладывать пустышки, с таким же успехом можно было выложить example.asm
Кроме того не думаю что стоит зацикливатся только на 48ом и SNA образах, если только на первых порах.
Кроме того не думаю что стоит зацикливатся только на 48ом и SNA образах, если только на первых порах.
Ghost
Извини, что так получилось с архивом. Просто я хотел, чтобы понимающие люди могли оценить то, как я начал писать код. Будет очень обидно, если алгоритм в самом начале окажется неправильным. Дело-то для меня новое. Но если здесь принято выклатывать только 100% работающий код, то буду это правило соблюдать.
У меня есть пока три вопроса:
1) как лучше организовать триггеры (по 1 биту каждый) IFF1 и IFF2?
2) как организовать задержки, чтобы запускать на процессорах с различной частотой?
3) что это за опкоды 0x10, 0x18, 0x20, 0x28?
Извини, что так получилось с архивом. Просто я хотел, чтобы понимающие люди могли оценить то, как я начал писать код. Будет очень обидно, если алгоритм в самом начале окажется неправильным. Дело-то для меня новое. Но если здесь принято выклатывать только 100% работающий код, то буду это правило соблюдать.
У меня есть пока три вопроса:
1) как лучше организовать триггеры (по 1 биту каждый) IFF1 и IFF2?
2) как организовать задержки, чтобы запускать на процессорах с различной частотой?
3) что это за опкоды 0x10, 0x18, 0x20, 0x28?
Ну не 100% но хотябы както работающий.
1) по твоему желанию, но ИМХО байтами и быстрее и кода меньше (хотя не всегда опятьже удобно...)
3) смотри опкоды здесь а описания здесь
0x10
DJNZ e
Dec., Jump Non-Zero
B=B-1 till B=0
0x18
JR e
безусловный переход (PC=PC+e)
0x20
JR NZ,e
условный переход, если ne (не равно)
0x28
JR Z,e
условный переход, если z (ноль)
1) по твоему желанию, но ИМХО байтами и быстрее и кода меньше (хотя не всегда опятьже удобно...)
3) смотри опкоды здесь а описания здесь
0x10
DJNZ e
Dec., Jump Non-Zero
B=B-1 till B=0
0x18
JR e
безусловный переход (PC=PC+e)
0x20
JR NZ,e
условный переход, если ne (не равно)
0x28
JR Z,e
условный переход, если z (ноль)
Who is online
Users browsing this forum: No registered users and 0 guests