(Ще один) домашній SBC на базі 8088 ("ПК-88")
Додано: 28 вересня 2023, 23:39
Всім привіт,
Це мій перший пост на форумі і я не впевнений, чи є тут люди, які зацікавляться моїм хобі, але я все ж напишу свій лонгрід - раптом комусь буде цікаво.
Під натхненням від класики 80-х (комодор, спектрум, атарі, аміги, etc - в мене їх ціла колекція), я деякий час бавився з процесорами 6502 і навіть зробив декілька SBC (зокрема мій найтриваліший проект - deck65, якого в мене вже було 20 ревізій). До речі, WDC досі випускає 65c02 (CMOS-версія 6502). Його і інші додаткові чіпи з серії (65c22 і 65c51) досі можна купити абсолютно новими - я брав їх на mouser.com.
Також робив експерименти з Z80 і 65816.
Найактивнішим форумом наразі виглядає 6502.org - там я публікував свої роботи і отримував купу корисної інформації (там є багато старших людей з значним досвідом в цій сфері).
TL;DR
Я люблю 6502, але там дуже складно писати relocatable код. Я почав писати під свій Deck65 власну мультизадачну ОС, але з часом забив, оскільки дуже багато часу йшло на жонглювання з регістрами, а якщо писати код на C (з компілятором cc65), то він виходить дуже неефективний, оскільки 6502 має лише три 8-бітні регістри загального призначення, а cc65 не вміє (і не може вміти в принципі) адекватно використовувати прапорці стану процесора для оптимізації коду.
Я вирішив копнути в сторону інтелів і наткнувся на 8086/8088 (чи не останні процесори тих часів, які були ще в DIP-корпусі, а в мене лютий фетіш на DIP-корпуси). Мені сподобалась 8-бітна шина даних 8088 (плюс в мене вагон паралельних 8-бітних ЕПРОМів і РАМів), і я вирішив спробувати зібрати простий домашній одноплатний комп'ютер саме на ньому.
Я купив на оголошеннях КМ1810ВМ88 (клон i8088 - київський, до речі!), і додатково замовив на eBay 80c88 (CMOS-версія 8088, там простіше з таймінгами і вона може працювати на вищих частотах; до речі, Book 8088 з цього треду працює якраз на ньому.
Проект називається "ПК-88" (оригінально, нє?)
Проектую все в KiCad, розводжу доріжки в DipTrace (український софт, дуже крутий). Хоча цього разу спробував FreeRouting в KiCad - розвело дуже непогано.
Компоненти:
- 8088 (або КМ1810ВМ88 - спробую обидва)
- 8255 - I/O контролер (дуже дерев'яний порівняно з 65c22 VIA - мені реально бракує останнього, але інтерфейс там не сумісний з 8088)
- ATF16V8 (сучасна версія GAL16V8) - дешифратор адрес і генератор тактового сигналу для процесора
- W27C512 - EPROM (64 КБ)
- AS6C4008 - SRAM (512 КБ)
- 74HC573 - латчі для демультиплексії шини адрес (A0-A7, A16-A19(
- PS/2 клавіатура (через 8255)
- 20x04 символьний OLED-дисплей (на базі HD44780 - так, саме OLED, а не LCD; знайшов на аліку)
- Додаткова обвіска - DS1813, L7805, конденсатори, etc etc.
Схема першої пробної версії:
![Зображення](https://raw.githubusercontent.com/and3rson/pk88/main/img/v02_schematic.png)
Друкована плата:
![Зображення](https://raw.githubusercontent.com/and3rson/pk88/main/img/v02_pcb_1.png)
3D-рендер:
![Зображення](https://raw.githubusercontent.com/and3rson/pk88/main/img/v02_3d.png)
Код проекту тримаю тут: https://github.com/and3rson/pk88
PDF креслення: https://github.com/and3rson/pk88/blob/m ... d/main.pdf
Наразі чекаю на плату. Прототипи замовляю у Львові, роблять від 1 до 5 днів (залежно від ціни). Дорожче, ніж на jlcpcb, зате швидко.
Завтра ввечері матиму плату, зберу прототип та гляну, що з того вийшло. В майбутньому хотілося б розвинути його до того, щоб запустити на ньому DOS.
Дякую за увагу!
Це мій перший пост на форумі і я не впевнений, чи є тут люди, які зацікавляться моїм хобі, але я все ж напишу свій лонгрід - раптом комусь буде цікаво.
Під натхненням від класики 80-х (комодор, спектрум, атарі, аміги, etc - в мене їх ціла колекція), я деякий час бавився з процесорами 6502 і навіть зробив декілька SBC (зокрема мій найтриваліший проект - deck65, якого в мене вже було 20 ревізій). До речі, WDC досі випускає 65c02 (CMOS-версія 6502). Його і інші додаткові чіпи з серії (65c22 і 65c51) досі можна купити абсолютно новими - я брав їх на mouser.com.
Також робив експерименти з Z80 і 65816.
Найактивнішим форумом наразі виглядає 6502.org - там я публікував свої роботи і отримував купу корисної інформації (там є багато старших людей з значним досвідом в цій сфері).
TL;DR
Я люблю 6502, але там дуже складно писати relocatable код. Я почав писати під свій Deck65 власну мультизадачну ОС, але з часом забив, оскільки дуже багато часу йшло на жонглювання з регістрами, а якщо писати код на C (з компілятором cc65), то він виходить дуже неефективний, оскільки 6502 має лише три 8-бітні регістри загального призначення, а cc65 не вміє (і не може вміти в принципі) адекватно використовувати прапорці стану процесора для оптимізації коду.
Я вирішив копнути в сторону інтелів і наткнувся на 8086/8088 (чи не останні процесори тих часів, які були ще в DIP-корпусі, а в мене лютий фетіш на DIP-корпуси). Мені сподобалась 8-бітна шина даних 8088 (плюс в мене вагон паралельних 8-бітних ЕПРОМів і РАМів), і я вирішив спробувати зібрати простий домашній одноплатний комп'ютер саме на ньому.
Я купив на оголошеннях КМ1810ВМ88 (клон i8088 - київський, до речі!), і додатково замовив на eBay 80c88 (CMOS-версія 8088, там простіше з таймінгами і вона може працювати на вищих частотах; до речі, Book 8088 з цього треду працює якраз на ньому.
Проект називається "ПК-88" (оригінально, нє?)
Проектую все в KiCad, розводжу доріжки в DipTrace (український софт, дуже крутий). Хоча цього разу спробував FreeRouting в KiCad - розвело дуже непогано.
Компоненти:
- 8088 (або КМ1810ВМ88 - спробую обидва)
- 8255 - I/O контролер (дуже дерев'яний порівняно з 65c22 VIA - мені реально бракує останнього, але інтерфейс там не сумісний з 8088)
- ATF16V8 (сучасна версія GAL16V8) - дешифратор адрес і генератор тактового сигналу для процесора
- W27C512 - EPROM (64 КБ)
- AS6C4008 - SRAM (512 КБ)
- 74HC573 - латчі для демультиплексії шини адрес (A0-A7, A16-A19(
- PS/2 клавіатура (через 8255)
- 20x04 символьний OLED-дисплей (на базі HD44780 - так, саме OLED, а не LCD; знайшов на аліку)
- Додаткова обвіска - DS1813, L7805, конденсатори, etc etc.
Схема першої пробної версії:
![Зображення](https://raw.githubusercontent.com/and3rson/pk88/main/img/v02_schematic.png)
Друкована плата:
![Зображення](https://raw.githubusercontent.com/and3rson/pk88/main/img/v02_pcb_1.png)
3D-рендер:
![Зображення](https://raw.githubusercontent.com/and3rson/pk88/main/img/v02_3d.png)
Код проекту тримаю тут: https://github.com/and3rson/pk88
PDF креслення: https://github.com/and3rson/pk88/blob/m ... d/main.pdf
Наразі чекаю на плату. Прототипи замовляю у Львові, роблять від 1 до 5 днів (залежно від ціни). Дорожче, ніж на jlcpcb, зате швидко.
![Smile :)](./images/smilies/icon_e_smile.gif)
Дякую за увагу!