Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Nov 12, 2019 5:06 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 53 posts ]  Go to page 1 2 3 4 Next
Author Message
PostPosted: Fri Feb 08, 2008 3:36 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
вот решил попробовать написать свой эмуль спектрума. правда пока написал немного.


Attachments:
e80.zip [15.4 KiB]
Downloaded 414 times
Top
   
PostPosted: Sat Feb 09, 2008 3:09 am 
Offline
User avatar

Joined: Thu Oct 13, 2005 12:00 pm
Posts: 299
В архиве sna файлы, 3д танк дуэль, наркопол и симсити


Attachments:
SNA.7z [52.41 KiB]
Downloaded 341 times
Top
   
PostPosted: Sat Feb 09, 2008 11:41 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
Можешь в др. архив заталкать? (tgz, tbz2, zip, rar.)

..bw


Top
   
PostPosted: Sat Feb 09, 2008 3:08 pm 
Offline
User avatar

Joined: Thu Oct 13, 2005 12:00 pm
Posts: 299
Странно, архив почемуто поврежден, вечером перезалью.
Простите.


Top
   
PostPosted: Sat Feb 09, 2008 11:04 pm 
Offline
User avatar

Joined: Thu Oct 13, 2005 12:00 pm
Posts: 299
Ко всему добавил еще дандар2


Attachments:
gamessna.rar [82.27 KiB]
Downloaded 349 times
Top
   
PostPosted: Sun Feb 10, 2008 12:02 am 
Offline

Joined: Mon Aug 07, 2006 11:31 pm
Posts: 60
Ой, как хорошо то!
Спасибо за эмуль!
Albom, расскажи немного подробнее о проекте - что хочешь еще сделать, на чем делаешь и т.д. Мне интересно, т.к. сам я эмуляторщик


Top
   
PostPosted: Sun Feb 10, 2008 10:10 am 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
OMGWTF, зачем пустышки выкладывать?
в будущем за такое буду закрывать тему.


Top
   
PostPosted: Sun Feb 10, 2008 8:09 pm 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
ALLiGaToR
Почти всё это есть в архиве, в файле readme.txt, но всё же повторюсь, ведь не все этот файл скачивают. Я хочу сделать минимальный эмулятор ZX Spectrum 48. Эмуляция процессора Z80 (опкоды в файле z80sean.txt), без поддержки звукового процессора AY, загрузка только файлов SNA (состояние регистров и образ памяти). Пишу его на fasm (писал на C, потом на С--, но потом решил, что на ассемблере будет лучше). У меня есть много исходников эмулей спектрума на С, паскале (делфи), асме, java, но просто портировать их, а тем более сдирать чужой код я не хочу. С платформой спекки я уже разобрался, составил алгоритм эмуляции, осталось лишь набрать реализацию основных команд и начать отлаживать эмуль, доводя его до работоспособного состояния. В принципе, любой может мне помочь, реализовав какие-нибудь команды. Авторство будет сохранено.


Top
   
PostPosted: Sun Feb 10, 2008 10:02 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
Тема интересная, есть и некоторый личный опыт (знаю у многих тут есть опыт отношений с Z80/i8080), если есть вопросы - спрашивай, чем сможем - поможем. Но не стоит выкладывать пустышки, с таким же успехом можно было выложить example.asm

Кроме того не думаю что стоит зацикливатся только на 48ом и SNA образах, если только на первых порах.


Top
   
PostPosted: Mon Feb 11, 2008 9:12 am 
Offline
Mentor
User avatar

Joined: Tue Jan 15, 2008 11:27 am
Posts: 752
Ghost
Извини, что так получилось с архивом. Просто я хотел, чтобы понимающие люди могли оценить то, как я начал писать код. Будет очень обидно, если алгоритм в самом начале окажется неправильным. Дело-то для меня новое. Но если здесь принято выклатывать только 100% работающий код, то буду это правило соблюдать.

У меня есть пока три вопроса:
1) как лучше организовать триггеры (по 1 биту каждый) IFF1 и IFF2?
2) как организовать задержки, чтобы запускать на процессорах с различной частотой?
3) что это за опкоды 0x10, 0x18, 0x20, 0x28?


Top
   
PostPosted: Mon Feb 11, 2008 10:22 am 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
Ну не 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 (ноль)


Top
   
PostPosted: Mon Feb 11, 2008 10:39 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 426
1) Наврное быстрее все же двойными словами (32 или 64 бита :-). Сделай макросами и для работы используй только их. Если что, то не придется вносить изменения по всему коду, ограничешься 2-3 макросами (процедурами).
2) Можно попробовать использовать rdtsc.

..bw


Top
   
PostPosted: Mon Feb 11, 2008 11:31 am 
Offline
Kernel Developer
User avatar

Joined: Mon Mar 20, 2006 10:44 am
Posts: 557
rdtsc не зависит от частоты, поэтому это не самая лучшая идея


Top
   
PostPosted: Mon Feb 11, 2008 12:28 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Ну так давайте наконец-то сделаем таймеры в ядре :-P

_________________
in code we trust


Top
   
PostPosted: Mon Feb 11, 2008 12:56 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Как-то ведь работают платформенно-независимые эмуляторы приставок. Значит есть способ решить проблему скорости эмуляции...

_________________
KolibriOS-перспективная ос!
Kolibri is best operation system in the world!


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 53 posts ]  Go to page 1 2 3 4 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited