				Эмулятор ПК 8020 - "Корвет"

					public beta 1

					 18.09.2002

				      by Сергей Ерохин

					esl@pisem.net


Эмулятор работает как дос32 приложение, для работы необходим VESA режим экрана 640x480x256
запускать его нужно в полноэкранном режиме ...
тестировалось под Windows 98 ....

Основная задача которая ставилась при написании данного эмулятора - как можно более близкая
к оригиналу эмуляция "Корвета", и возможность многоплатформенности.
Это  обусловило выбор инструментов разработки.
	
	1) DJGPP 				(aka GNU C for dos32)
	2) Allegro game programming library     Библиотека работы с экраном и др.

все это есть по вин и под линух, так что в теории ...

Эмулятор написан на чистом С.
после приведения исходников в божеский вид сделаю его Open Source .....

ВСЕ устройства корвета эмулируются программно.

В этом релизе нет эмуляции таймера, и как следствие - звука, т.к. тот таймер что есть у меня
сейчас очень сильно тормозит эмулятор (эмулируется каждый такт).

кстати забавный факт, я думал что используется только 0-й канал (который отвечает за звук)
а оказалось что некоторые программы используют и другие каналы, как счетчики.

забавные люди программисты, оказывается звук на корвете можно извлекать таким количеством 
способов, что просто кошмар, придется 100% эмулировать таймер для этого ;-))

пока оптимизация по скорости выполнена для экрана и еще по мелочам, вроде неплохо сделан CPU
но вообще эмулятор не отличается супер производительность, надеюсь пока.
остальное пытается оптимизировать компилятор ;-)

IMHO, 
     под 100% я понимаю точную эмуляцию как в корвете, но иногда это слишком дорого обходится ...

     CPU	-  95%	(используется переделанный эмулятор z80 by Marcel de Kogel, 
                         но возможно не все вычистил, пока все программы что я запускал работают)
     SYSREG	- 100%  (все 32 конфигурации, см. приложение)
     Память	- 100%  (эмуляция всех SHADOW)
     Экран	- 100%	(АЦЗУ - все режимы, оба знакогенератора, ГЗУ - все 4-ре страницы, LUT)
     Порты	- 100%  (не эмулируются ВУ которых нет, например магнитофон, джойстик, принтер ...
			 но есть все необходимое типа обратного хода луча)
     Прерывания -  80%  (есть основное от обратного хода, остальных нет, но сделать просто, 
			 сам контроллер 100%)
     Диски	-  80%	(используется эмулятор VG93 из эмулятора Spectrum by Nick Shalaev,
                         эмуляция на уровне портов).
     Таймер	-   0%  (в этом релизе его нет вообще).
     Сеть 	-   0%  (нет и пока не предполагается, возможно будет эмуляция мыши)


и еще, внутри эмулятора VBLANK произойдет через заданное кол-во тактов, и имеет необходимую 
длину импульса, так что программы думают что с ними все ОК.
привязка скорости происходит по VBLANK видеокарты, поэтому получаем частоту обновление 60 гц.
сейчас принципиально не работает мультиколор, но есть ли на свете хоть одна программа
кроме моих тестовых которое это использует я не знаю ;-)))


КАК ЗАПУСКАТЬ И ИСПОЛЬЗОВТЬ.

Диски.

При запуске в можно указывать пути к образам дисков,
в порядке a: b: c:

по умолчанию подключаются файлы
	a:	disk\disk.bin		(в этом релизе диск с играми)
	b:	disk\disk2.bin          (в этом релизе системный)
	c:	disk\disk3.bin

Файлы.

   DATA\
	001.fnt		- загружаемый знакогенератор
	mapper.mem	- карта SYSREG
	rom.rom		- загружаемый образ ROM

	kontur.rom  	-
	korvet.rom      - различные варианты ROM
	korvet2.rom     -

Клавиши управления.

	f6  - пока нажата - максимальная скорость
	f7  - пока нажата - палитра на экране устанавливается стандартную (дебаг)
	f8  - записывает образ памяти (64к) в файл. (дебаг)
	f9  - пока нажата - показывает PC, SYSREG, IRQ
	f10 - Переключатель между цветным и чернобелым режимом
	f11 - reset
	f12 - Выход

для быстрой загрузки OS - нажать F1 и не отпуская F11
для загрузки бейсика    - нажать F4 и не отпуская F11

СРОЧНО И ПОСТОЯННО РАЗЫСКИВАЮТСЯ !!!

1) образы дисков !!!!
   Шлите любые диски, очень жду !!!!!!
   при необходимости вышлю читалку.

2) знакогенератор от корвета !!!
   Сейчас в комплекте идет файл с фонтами от компьютера "Контур", он точно отличается
   от фонта корвета за которым я работал, и IMHO хуже, зато в нем есть вторая половинка 
   знакогенератора ...
   содержание микросхемы вытащено программатором.

3) Нужны образы ПЗУ от корвета.

   У меня сейчас есть 2.5  образа ПЗУ от корвета:

	1 - Образ от ПК "Контур", размером 8к, не содержит бейсика и в биосе нет 
	    подпрограммы работы с клавиатурой (CONIN), зато есть расширенный драйвер печати (CONOUT)
            который умеет играть музыку. я в свое время видел его родные дискеты, там был его
            родной тест который этим умел пользоваться.
            содержание микросхемы вытащено программатором.
            соответственно с этим ром не работает ни одна версия Микродос, CP/M - прекрасно работает.
            расположен в файле DATA\kontur.rom 
 
        2 - Образ от так называемого "Второго корвета", с Бейсиком в.2 и процедурой работы с 
 	    клавиатурой на прерываниях. Для него есть своя версия Микродос в которой было напрямую
 	    доступно АЦЗУ как в CP/M. Микродос от первого корвета не работает.
	    
 	    этот образ мне прислал Eduard.
 	    
	    для тех кто в курсе, с этим ROM магическая команда 
            "poke &hfb29,255" - повесит компьютер.

            расположен в файле DATA\korvet2.rom 

   Очень хочется найти:

	1 - Образ от "Первого корвета", где его найти и как ???
	    я точно знаю что их тоже было несколько версий, но как их найти ????

	2 - Были еще другие клоны корвета "Элин" например, и др.

