.. vim: noexpandtab fileencoding=utf-8 nomodified wrap textwidth=270 foldmethod=marker foldmarker={{{,}}} foldcolumn=4 ruler showcmd lcs=tab\:|- list tabstop=8 noexpandtab nosmarttab softtabstop=0 shiftwidth=0 :date: 2024.01.30 07:32:40 :_modified: 1970.01.01 00:00:00 :tags: HW :authors: Gilhad :summary: Comp24-ideas :title: Comp24-ideas :nice_title: |logo| %title% |logo| %HEADER% Comp24-ideas -------------------------------------------------------------------------------- Cards -------------------------------------------------------------------------------- * Expansion card is connected via `system bus`. * Every physical card will consist of * ID - on this signal it enables its ID on data lines for Read * `74HC245` + pullups/pulldowns, set direction and Enable connected to ID signal * need for test, if card is present and what type it is * more card may return same ID, if they are of same type * I/O - basic enable for the whole card, A[0..4] select registers (may be divided between more devices) (not all must present) * `6522 VIA` - 16 regs, 2 CS - best fit - 2 may be used * `6821 PIA` - 4 regs, 3 CS - up to 4 with +1 decode * `6850 ACIA` - 2 regs, 3 CS - up to 8 with +2 decode * budu rad, kdyz se mi podari tam tuhle trojici dostat jednou, s LEDkama a s RS obvodem ono to zabere hodně místa * video * zkusil jsem `CompositeVideoTerminal `__ a chodí - co dál? Cpát to tam přez sdílenou RAM? * sdílená RAM a Arduina * Mega umí nativně rozšířenou RAM, ale potřebuje na to extra rychlý `74AHC373`, protože sdílí data a adresy * já bych spíš použil 3 porty (2xaddr+1xdata) kde to je o něco pomalejší, ale pokud to udělám ve strojáku, pořád by to mělo být dost rychle a bez chytáků * na základní video by asi stačila ATMEGA328p (UNO a pod.) se 2K+ RAM (text a pár fontů/spritů), * 1334 bytů pro text 46*29, 9*128=1.128K na půl font, může být ve flash * 2.25K na plný font * ideál je 4K+ pro text i s uživatelským fontem (pro hry) * na grafiku potřebuju asi 12K+ RAM (a velký datový tok při přenosech, možná 2 výměnné RAM?) * těch sdílených by mohlo být víc, jedna (dvě) pro video, jedna pro FS, dvě pro vypalování EEPROM, libovolně rozšiřujících * jedno arduino pro video, jiné pro FS a obecný I/O (a klidně příkazy typu I2C(123):3(45,56,78):5() - pošle 3 data, přečte 5 z dané adresy, podobně SPI, serial, PS/2 ... ) * Zajímavé obvody * `IDT7201` - FIFO - krásné, ale co s tím?