SAPI – deska barevné grafiky BGP-1S

Tato deska je zcela nová a nemá svůj předobraz v původních deskách systému SAPI. Její vznik inicioval Petr (EC1045.01) a deska vznikla z důvodu přenosu programů z PMD-85. Proto nabízí deska BGP-1S kompatibilní programátorský model grafiky PMD-85 v režimu Colorace (7 barev + černé pozadí), popřípadě lze desku degradovat do původního čtyřbarevného módu (zelená/červená/modrá/fialová na černém pozadí).

Karta BGP-1S je standardní kartou pro osmibitový vanový systém SAPI-1 se sběrnicí ARB-1. Používá kompatibilní systém synchronizace sběrnicových operací s chodem videoprocesoru jako karty AND-1Z a DGD-1. Díky tomu nedochází během přístupu CPU do videoram ke kolizi na vnitřní datové sběrnici karty a tím k nežádoucímu jevu zvanému „sněžení“.

Deska BGP-1S je sice plnohodnotnou grafickou kartou (viz vlastnosti a omezení níže), ovšem ve standardních systémech SAPI/ZPS ji nelze využít ve spojení s původním editačním programem MONITOR. Pro tyto případy je nutné stávající MONITOR upravit a doplnit jej ovladačem pro BGP-1S. V uživatelských systémech však může grafická karta BGP-1S fungovat samostatně bez systémové grafické karty typu AND-1 či AND-1Z. V těchto případech se předpokládá systém psaný přímo pro BGP-1S.

BGP-1S

Sestava JPR-1S/BGP-1S

Zobrazení na CRT

 

 

 

 

 

MANIC MINER na BGP-1S

 

 

 

 

 

Deska byla testována s vývojovým systémem MIKROBIOS/FALCON MONITOR v této sestavě:

Primárně na této sestavě budou následně laděny převáděné programy z PMD-85, cílovou platformou pak bude SAPI/ZPS-2. Předpokládá se kompatibilita s deskou procesoru JPR-1Z, prozatím však nebyla ověřena.

A na závěr ještě stručný popis desky:

  • grafický systém 288×256 pixelů, kompatibilní s PMD-85 v režimech RGBM (4 barvy) a Colorace (7 barev)
  • analogový TV výstup (černobílý, kolorace v režimu RGB na konektoru SCART)
  • videoram 16kB
  • do videoram karty lze pouze zapisovat, čtení není implementováno (v adresním rozsahu karty BGP-1 musí být pro účely zpětného čtení dat namapována RAM na jiné kartě, typicky RAM-1, RAM-1Z nebo podobná)
  • začátek videoram lze konfigurovat po kvadrantech na adresy 0000h, 4000h, 8000h nebo C000h
  • karta podporuje memory banking (mapování paměti) pomocí signálu sběrnice MAP1, lze volit obě polarity tohoto signálu nebo jeho ignorování
  • karta generuje na konci viditelné části obrazu přerušení, které je možno mapovat na sběrnicové signály INT0 nebo INT1

Dokumentace k desce BGP-1S

BIOS/Falcon Monitor 6.1L pro sestavu JPR-1S/BGP-1S

6 komentářů u „SAPI – deska barevné grafiky BGP-1S

  1. Libor L.A.

    Doplněn kusovník pro osazení desky BGP-1S. Odkazy do Eshopu Mouser prozatím nejsou úplné. GME i TME jsem vzdal, tam už není ani 50% sortimentu. Mouser nad částku kolem 1200-1300Kč měl myslím poštovné zdarma, nebo tak nějak. S dodávkou Incoterms DDP je to pak velice pohodlné, protože až na plošný spoj a konektory TESLA je tam v podstatě komplet a bez celních formalit (to vyplývá z podstaty Incoterms DDP).

  2. Libor L.A.

    Paměť SRAM typu 62256 (32k x 8bit), použitá na BGP-1S rev. 4.2 měla původně doporučenou dobu přístupu k datům max. 90ns. Po dnešních měřeních na desce osazené obvody 74HCT bych to přehodnotil a pokud bych měl jet na jistotu, doporučil bych paměti max. 70ns. Momentálně jsou v prodeji nejdostupnější verze 55 a 70ns, takže to asi na věci stejně nic nemění.

  3. Mikes

    Ahoj, dobra prace. Prosim, uvazujes take o uvolneni Falcom monitoru pro tuto sestavu? Bylo by to vyborne pro zprovozneni a vyzkouseni.

  4. Libor L.A.

    Malá ukázka jak na přerušení u kombinace JPR-1S a BGP-1S:

    Na desce JPR-1S je nutno nastavit RAM v celém adresním rozsahu 4000h-FFFFh a dále vektor RST7 (0038h) pro obvod 8228. Na JPR-1S a BGP-1S je nutno zvolit stejný kanál přerušení na sběrnici – buď INT0 nebo INT1. Na desce BGP-1S nastavit adresu C000h a vypnout MAP1.

    Na adresu C030h napsat krátký program:
    .C030 EI
    .C031 RET

    Na adresu 4000h napsat krátký program:
    .4000 PUSH PSW
    .4001 PUSH H
    .4002 LHLD 4014
    .4005 DCR L
    .4006 JNZ 400C
    .4009 MVI L,32
    .400B INR H
    .400C SHLD 4014
    .400F POP H
    .4010 POP PSW
    .4011 JMP C030

    Pak napsat příkaz JUMP C030 (aktivuje přerušení).
    Příkazem SCAN 4015 se začne vypisovat osmice bajtů, kde první bajt je inkrementován ve vteřinových intervalech, což je dáno hodnotou předděličky MVI L,32. Inkrementace bajtu na adrese 4015 začne nejpozději do 5 vteřin.

  5. Libor L.A. Autor příspěvku

    Protože mi nějak zhavarovaly dnešní komentáře, tak rekapitulace:

    V hlavním článku k deskám JPR-1S a BGP-1S je umístěn ZIP soubor se systémem FALCON Monitor 6.1L.
    Pro naprogramování 28C64 na desce JPR-1S jsou k dispozici hotové kompilace BIN a IntelHEX, pro ostatní tam jsou zdrojové kódy včetně projektového souboru pro PS Pad (asi bude nutné změnit v PS Padu zdrojový adresář a asociovaný kompilátor – v projektu je vidět fragment kompilátoru TASM).

    Nahrál jsem upravenou verzi, která:

    – zachovává obsah RAM při testování pozice BGP-1
    – příkaz SCAN umí jak paměť, tak i port
    – od adresy 0038 jsou nějaké nejpoužívanější skokové vektory s popisem

    Obecně platí, že po restartu se systém pokusí nastavit pozici karty BGP-1 v adresním prostoru CPU v tomto pořadí (první položka má nejvyšší prioritu):

    1) Pokud je v systému pouze 16kB RAM, použije se tento kvadrant.
    2) Pokud je při restartu stisknuta klávesa 1, 2 nebo 3, použije se odpovídající kvadrant paměti.
    3) Pokud už jednou byla nastavená platná adresa videoram BGP-1, použije se.
    4) Systém naslepo zvolí C000h, což je asi nejrozumnější obecná hodnota.

    Kdyby po restartu klávesnice pípla a obraz se nekonal, zkusit restartovat postupně se stisknutou klávesou 1 nebo 2 nebo 3.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.