![]() |
|
|
![]()
|
|
| 500mhz |
|
||||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Решил вот побаловаться и заодно мозги размять )))
Собственно появлась идея написать эмулятор с загрузкой с FD или USB (без наличия ОС на носителе) В связи с чем если у кого есть даташит по опкодам KP580 киньте в меня ) радио86 KP580 Значит что я наваял за вчерашний вечер 1) FAT12 boot loader - грузит с корня дискетки файл INIT32.BIN (на адрес 0xd000) ,в качестве бонуса при отсутствии файла выводит красивое зелененкое окошко с предпреждением 2) INIT32.BIN собственно начало эмулятора, переводит проц в FlatRealMode CS=0-4gb все остальные сегменты тоже самое, получает необходимую инфу о VESA и устанавливает режим 640х480х32 и копирует часть змулятора на адрес 0x100000, где он и будет работать. собственно boot
INIT32.BIN
kernel.asm - тут будет core ))) компилять под 0x100000 при запуске kernel в eax передаеться PhysBasePtr - адрес видеопамяти , там и будем рисовать ), соответственно mov [eax], dword 0xffffffff поставит нам белую точечку в левом верхнем углу экрана (это для тех кто не знал) на сим и раскланиваюсь ) ждите продолжения -------------------- |
||||
|
|||||
| 500mhz |
|
||||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
BUGFIX !
на реальном железе с nVidia работает как 640х480х32 на VBOX и BOCHS - не пашет кароче упростим и заменим на
640х480х8 - один черт радио86 чорнобелий ) -------------------- |
||||
|
|||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
вопрос как правильно определить размер доступной памяти? с учетом того что к bios обрашаться нельзя (у нас какбы 32bit режим а bios 16bit)
я ничего умнее не придумал
собственно boot.img теперь мы умеем печатать ) Присоединённый файл ( Кол-во скачиваний: 2 )
boot.zip 3,80 Kb-------------------- |
|||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
нарыл толковый даташит http://www.pastraiser.com/cpu/i8080/i8080_opcodes.html
-------------------- |
|||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
-------------------- |
|||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
пофиксил определение размера памяти, кароче алгоритм верный, просто я запарился с linear / phys адресацией )))
теперь изменяя в vbox или bochs размер памяти он отображается корректно пишу core cpu ))) Присоединённый файл ( Кол-во скачиваний: 1 )
boot.zip 5,53 Kb-------------------- |
|||
|
||||
| Игорь1024 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 11.5.2009 Где: Дальний Восток Репутация: нет Всего: нет |
500mhz, театр одного актёра
--------------------
The God is real,unless he is declared as integer. |
|||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
))))) HLLшикам этого не понять
-------------------- |
|||
|
||||
| Игорь1024 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 11.5.2009 Где: Дальний Восток Репутация: нет Всего: нет |
--------------------
The God is real,unless he is declared as integer. |
|||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
сам интерес именно в написании на асме да еше на загрузочной дискетке )
в принципе эмулятров радио86рк в инете как грязи вон даже на java script есть http://radio86.googlecode.com/hg/online/radio86.html -------------------- |
|||
|
||||
| Игорь1024 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 11.5.2009 Где: Дальний Восток Репутация: нет Всего: нет |
ASM rocks!
Для закрепления многих вещей само то! --------------------
The God is real,unless he is declared as integer. |
|||
|
||||
| iff |
|
|||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 5 Всего: 16 |
Т.е. процессор работает в защищенном режиме? -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
|||
|
||||
| 500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
нет, проц я перевожу в pmode устанавливаю GDT с сегментами base=0 limit 0xffffffff и возврашаюсь в real mode
при этом получаю 32 адресацию и доступ к 4гб теоретической памяти плюс ко всему имеем linear frame buffer видео памяти но так как bios сам по себе 16 битен то при вызове любого INT будет кирдык ) тут либо нужно работать напрямую с железом или писать gate для обрашения к bios. хотя в принципе подумав хорощенько можно остаться и в pmode , наверно так и сделаю. -------------------- |
|||
|
||||
| Dreamuchiy |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 26.12.2006 Репутация: нет Всего: -1 |
Я поддерживаю идею автора и давно хочу сделать примерно тоже самое но эмулятор zx-spectrum вообщем z-80 минуя досы и виндовсы тем более (бесят) потом усовершенствовать basic 128 под x86 машину, вобщем работать в давно изведанной среде но с современными возможностями. Как то так. Но пока ни времени ни знаний не хватает. Повзрослел уже, семья, дети, работа и тп
--------------------
Мечтаю написать в карман Биллу Гейтсу... Или как минимум посмотреть крах Майкрософт... |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |