Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

SAPI-1

      3.3.2023 Od Duana jsem dostal z likvidace njak star teslck karty a paprovou dokumentaci pochzejc z historickho mikropotaovho systmu CHP 3000 (produkt bvalho Chemoprojektu), kter byl odrdou SAPI-1 (Systm Automatickho Poizovn Informac) postavenho na 8-bitovm CPU MHB8080A. Vt st karet a dl jsem podaroval a povymoval, st jsem si ale nechal, co kdyby nkdy nhodou. Pecejen jsou stedem mho zjmu spe PCka, na kterch jsem vyrstal. Ani nemm dn backplane/sbrnici, do kter bych karty nastrkal a mohl je aspo vyzkouet...

      26.10.2024 Na Bytefestu 2024 jsem se potkal s eskma SAPIstama Petrem, Liborem a Martinem a zjistil, e kolem SAPI ije docela aktivn komunita, kter shromauje dokumentaci, vyrb repliky a dokonce vyvj adu novch karet a periferi usnadujcch pouit a konektivitu s modernm svtem. Nkter se sna striktn o historick look s kompletn THT soustkami, jin jsou nov koncepce s nejrznjmi MCU i CPLD v SMT. Od Libora jsem dostal ploky na modern verzi sbrnice ARB-1 ImBus9 rev. 1.1 napjenou z ATX PC zdroje a textmode grafickou kartu (64 x 20 znak) s analogovm RGB VGA vstupem AND-1V rev. 2.3 (vlkno o jejm vzniku je zde), co m namotivovalo zkusit si rozjet svoje SAPko. Dobr ten na vod je Martinv seril Postavte si pota SAPI-1. Zhy jsem narazil na problm s FRB konektory, kter jsou u thle karet vudyptomn (zejmna 2-ad, 62-pinov). Kdysi mi toho prolo rukama spousta, ale nevm, kam jsem je zaantroil. Mon jsem vtinu vyhodil i rozdal. Nael jsem zatm jen 1 samici pmou a 1 samce hlovho do PCB. Na sbrnici ARB-1 je celkem 9 samic, ale staily by pro zatek osadit aspo 3 pro zkladn karty systmu.

      16.11.2024 Na radioburze ve Stranicch jsem od RaC Vonka, kter tam pravideln jezd, sehnal do grafiky AND-1V chybjc rychl TTL obvody 74ALSxxx krom posuvnho registru 74ALS166. Ten lze experimentln nahradit SN74LS166AN od TI nap. z Mouseru, co bylo nkolika uivateli oveno. J jsem koupil od Vonky na pokus 74LS166 njakho neznmho vrobce, tak uvidme. Jinak je striktn doporueno na vyznaench mstech pout rychl obvody ALS kvli tsnmu asovn. FRB konektory, ani dnou desku s nima jsem tam bohuel neobjevil. Asi u vtina skonila ve rotu na zlato a za nesmysle na aukru je kupovat nebudu. Nsledn mi kolega z prce daroval pr modrch FRB, pevn hlovch samc, ale nala se tam i 1 hlov samice, kterou jsem zapjel na krajn pozici K9. To se hod pi ladn na stole, kdy lze zkoumanou kartu zastrit do krajn pozice vodorovn. Bud shnt dl.

      20.11.2024 V nedli jsem zapjel vtinu soustek na grafiku AND-1V a dneska jsem dojel do GM pro chybjc odpory 430 Ω. Naprogramoval jsem image fontu do pamti EPROM D27C256-20 (genertor znak) a zkusil zapnout samotnou kartu ve sbrnici. Na monitoru se zobrazily znaky dle nhodnho obsahu VRAM, tud alespo autonomn genertorov st obvod b a pouit 74LS166 to zd se sth.

nov sbrnice ARB-1 ImBUS9 textmode grafick karta s VGA vstupem AND-1V textmode grafick karta s VGA vstupem AND-1V AND-1V - nhodn obsah VRAM po zapnut
sbrnice ARB-1 ImBUS9 osazen AND-1V osazen AND-1V VRAM po zapnut

      21.11.2024 Dnes jsem s Jardou smnil pebytek FRB samc a zskal 7 zelench pmch samic, take jsem mohl kompletn doosadit sbrnici ARB-1 ImBus9 a mu ji naldovat kartama a zkusit nco rozsvtit na obrazovce. Avak zhy jsem zjistil, e to nebude tak jednoduch, protoe systm SAPI zahrnoval nkolik ucelench sestav (ZPS - Zkladn Potaov Sestava), jejich nkter dly (desky) nelo libovoln vzjemn seskupovat, by jsou vechny kompatabiln z pohledu sbrnice. Tak programov vybaven existovalo ve vce verzch, kter nejsou vzjemn kompatabiln a vyaduj specifick kombinace a verze karet. Pro novka je to kapnek nepehledn gul, v kterm se teprve rozkoukvm a natm informace. Pro ostatn nezasvcen to zkusm trochu zjednoduen piblit ze svho pohledu.
      Zkladem SAPI je procesorov karta JPR-1x (Jednotka Programovho zen). Jak jsem zjistil, existovala pvodn ve 3 verzch, kter se podstatn liily: JPR-1 s CPU 8080, JPR-1A s CPU 8080 a JPR-1Z s CPU Z80 (resp. DeDeRnskm U880). Takt CPU je 2 MHz. Procesor Z80 vychz z 8080, pidv nov instrukce a je s nm zptn kompatabiln. Jet existuje 8085, kter tak pidv zas pr jinch instrukc a je taky zptn kompatabiln s 8080, ale nen kompatabiln se Z80. Rozdly mezi 8080 a Z80 jsou popsny nap. zde. K tomu jet pibylo nkolik novch procesorovch karet, kter vytvoili nai SAPIsti, viz pehled v tabulce ne.
      J mm pouze 1 desku JPR-1. Ta je koncipovan jako samostatn funkn jednodeskov mikropota, tzn. obsahuje CPU, osciltor a nutn podprn obvody, pam programu (4 patice pro EPROMky 2708 / 2716 - a 8 kB), pam SRAM (2 x MHB2114 - 1 kB), dekodr adres a ti vstupn a 3 vstupn 8-bitov pamov mapovan I/O porty (MH3212) vyveden na extern FRB konektory X2, X3. U pamt 2708 a 2716 je teba dt pozor na rozdln napjen a nastavit sprvn propojky JP2 a JP3 na desce. 2708 (1 kB) pouv stejn jako CPU 3 napov rovn +5 V, -5 V a +12 V, zatm co novj 2716 (2 kB) u jen +5 V. Lze tak osadit EPROM 2732 (4 kB), z kter se vyuije horn polovina adresnho prostoru (pin A11 je pipojen na +5 V) nebo EEPROM 28C16 (2 kB), kter se hod pro rychlej pepis FW bez nutnosti zdlouhavho mazn UV svtlem. Pamt lze dle rozit pomoc karet REM-1 (a 16 kB EPROM, a 8 kB SRAM), RAM-1 (16 / 32 / 48 kB DRAM) a RMD-1(Z) (strnkovan RAM-disk 256 kB / 1 MB).
      Firmware mohl bt napsan bez OS pmo pro konkrtn aplikaci (bare metal) nebo se pouval standardn MONITOR, kter se veel do 2 kB spolu s MIKOSem (MIkro Kazetov Operan Systm, dal 2 kB) i Mikro BASICem. Tyto SW spolupracuj pouze se star textmode grafickou kartou AND-1 (40 x 24 znak s kompozitnm video vstupem), kterou sice mm taky, ale preferuju zobrazovn na VGA monitoru. Tak se li podpora 2 typ klvesnic: MONITOR 4.0 podporuje pouze jednoduchou maticovou membrnovou klvesnici ANK-1, zatm co MONITOR 4.1 a 5.0 podporuje velk klvesnice s paralelnm vstupem Consul C259.11 / C262.3. Ty lze snadno nahradit bnou PC klvesnic s PS/2 konektorem pomoc adaptru EKL-1, kterou si tak stavm. Zde je popsan mapa pamti JPR-1.
      Na deskch se bn dlaly HW pravy popsan v odkazu ve hned pod mapou pamti. Na m desce JPR-1 byla provedena njak nestandardn prava, kter se to kolem obvodu MH8224 (hodinov obvod pro CPU): pin 6 (Φ2 TTL - vstup hodin CPU) je vyveden na pin 11 vnjho FRB konektoru X3 (jeho pvodn cestika je pekrbnut) a pin 12 (OSC - vstup osciltoru) je vyveden na pin 22 sbrnicovho FRB konektoru X1 (bn na kart i na sbrnici nezapojen), take to by nemlo mt na nic vliv. Pokud mte pouze samotnou kartu JPR-1 a nechce se vm k n stavt sbrnici a dal karty, nael jsem jeden minimalistick projekt JPR-PMI, kter z n udl jednoduch koln pota PMI-80 s numerickm LED displejem a klvesnikou.

moje procesorov deska JPR-1-top moje procesorov deska JPR-1-bottom
JPR-1 top JPR-1 bottom

      Naproti tomu procesorov karty JPR-1A a JPR-1Z nemaj vlastn pam RAM a tud vyaduj do sestavy dal pamovou kartu, nap. RAM-1A, kter se od RAM-1 li pouze obsahem pamti PROM MH74S287 adresovho dekodru. Na procesorov kart je akort 2/4kB bootROM (na JPR-1A jsou 2 patice pro 2708 / 2716, na JPR-1Z je 1 patice pro 2716), kter m jinak een adresov dekodr, jen umouje zpisem do I/O portu tuto pam po pouit vypnout a uvolnit tak cel adresn prostor pro RAM. Tak se zmnilo ovldn 8-bitovch I/O port, kter u nejsou pstupn jako MMIO (CPU signly MR#/MW#), ale pesunuly se do I/O prostoru (00 - 03, CPU signly IOR#/IOW#) a tud se s nimi pracuje pomoc instrukc IN/OUT. Dle byla tato sestava bn doplnna adiem disket RPD-1, z nich se bootoval dospl OS CP/M 2.2. Ten vyadoval novj textmode grafickou kartu AND-1A (40 x 20/24 znak) / AND-1Z (64 x 20 znak) nebo novou AND-1V a klvesnici Consul. S jistm silm lze pr pedlat JPR-1 na JPR-1A, ale je otzka, jestli se sp nevyplat si postavit nkterou z modernch verz procesorovch karet. Zde je pehled, co je k dispozici a co by mlo spolu chodit.

CPU karta CPU ROM RAM VGA FW/OS klvesnice
JPR-1 MHB8080A 0 - 8 kB 0 - 1 kB AND-1 / AND-1B** MONITOR+/MIKOS-1 ANK-1/Consul
JPR-1S* MHB8080A 0 - 8 kB 0 - 48 kB AND-1x / DGD-1V** / BGP-1S** MikroBIOS ANK-1
JPR-1A MHB8080A 0 - 4 kB  - / RAM-1A AND-1A / AND-1Z / AND-1V** CP/M Consul
JPR-1Z Z80 0 - 2 kB  - / RAM-1A AND-1A / AND-1Z / AND-1V** CP/M Consul
JPR-1ZI* Z80 0 - 2 kB  - / RAM-1A AND-1A / AND-1Z / AND-1V** CP/M Consul
JPR-1V* Z80 @4MHz 0 - 2+2 kB  - / RAM-1A AND-1V**, DGD-1V** CP/M Consul
* procesorov karty nov konstrukce
** grafick karty nov konstrukce s vstupem na VGA monitor

      29.11.2024 Jeliko mm nestandardn kombinaci procesorov karty a grafiky, nemu jednodue pout pvodn SW. Zkusil jsem schvln do EPROMky naplit star MONITOR 4.0, ale nic jsem nevidl. Abych mohl novou grafiku otestovat, zkusil jsem si napsat vlastn progrmek. Pro 8080 se d pst jak v assembleru, nap. TASM (Telemark Assembler) 3.2, tak v C - nael jsem pomrn iv projekt Z88DK, kter vychz z SDCC. Soust balku jsou i konfigurace a start-up soubory pro rzn historick potae (i z SSR a SSSR), ale pro SAPI zatm chyb. Zkusil jsem svj testovac progrmek (jen kopruje text a zapisuje do VRAM grafick karty na adrese F800h) naslepo zkompilovat s profilem pro rusk Mikro80 a nhodou to belo :).
      Od Libora jsem se pak dozvdl, e pro svou novou desku JPR-1S (kompatabiln s JPR-1) m napsan testovac MikroBIOS, kter vychz z kdu Atari Falcon Monitoru 6.1. Je napsan v TASM a vejde se do 8 kB ROM. Zdrojk jsem bez problm peloil a naplil do 4 EPROMek D2732A-2, ale nebel, i kdy jsem ml sprvn penastavenou adresu VRAM na 3800h a jumperem vypnut signl MAP1. Systm vak vykazoval ponkud nhodn chovn po zapnut i resetu, obas se toti stalo, e se na obrazovce nhodn mnily njak znaky a jindy se jen staticky zobrazoval nhodn obsah VRAM. Jak jsem tak do desky rzn dloubal, zatlaoval EPROMky do patic a pod., tak to vykazovalo jistou citlivost zejmna u ip SRAM MHB2114. Dokonce i MikroBIOS jednou nabhnul. Zjistil jsem, e problm byl v zoxidovanch vvodech SRAMek, kter byly podivn zaedl. Tak jsem je oistil a ejhle, MikroBIOS u startuje po kadm zapnut. Jedin problm je, e m obsluhu klvesnice pro ANK-1 a nikoliv Consul, to si budu muset pepsat sm (kbd_driver.asm). Zajmav, e mj testovac progrmek v C bel v pohod. On toti b i s vydloubnutma SRAMkama, zejm to kompiltor zoptimalizoval tak, e RAM nen vbec teba...

nov sbrnice ARB-1 ImBUS9 s komplet osazenmi FRB konektory AND-1V - prvn vpis na obrazovku SAPI MikroBIOS 2.1
sbrnice ARB-1 ImBUS9 vpis na obrazovku SAPI MikroBIOS 2.1

      4.12.2024 Dal monost by bylo upravit zdrojk pvodnho MONITORu, aby spolupracoval s grafikou AND-1V. Peloit ho byl ale kapnek oek. Je toti napsan pro prehistorick Micro$oft MACRO-80 Assembler (M80), kter b pod CP/M a jeho syntaxi novj assemblery na PC nedvaj. Take naped jsem poteboval vyeit, jak spustit pod DOSem i Windows programy pro CP/M. To lze provst snadno pomoc NTVCM (DOS/Win32/Linux) nebo CP/M Playeru (Win32), kde se jako parametr uvede jmno CP/M programu a jeho parametry. Na dotaz linkeru je teba run odpovdt "N" - nic nepesouvat. Vsledn soubor (COM i HEX) je vt, ne by odpovdalo velikosti kdu, je do nj zahrnut njak alokovan pam na konci, obvykle vyplnn 0. Take vsledn soubor je jet teba oznout na velikost odpovdajc kapacit EPROM. Zde je ukzka spnho pekladu pvodnho zdrojku MONITOR V4.0F:


C:\CPMTOOLS> NTVCM.EXE M80 =MON40F.MAC/N

No Fatal error(s)

C:\CPMTOOLS> NTVCM.EXE L80 MON40F/P:0,MON40F/N/X/Y/E

Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft

Data 4000 4000 < 0>
Program 0000 4400 <17408>

36656 Bytes Free
[0000 4000 67]
Origin below loader memory, move anyway(Y or N)?n

C:\CPMTOOLS> dir MON4*
04.12.2024 22:47 41984 MON40F.HEX
04.12.2024 20:58 38021 MON40F.MAC
04.12.2024 22:47 2560 MON40F.REL
04.12.2024 22:47 128 MON40F.SYM
 4 File(s) 82693 bytes

      8.12.2024 Nakonec jsem pece jen nael nativn assembler umoujc peklad MONITORu bez obezliek VM. Je to ZMAC - Z-80 Macro Cross Assembler a LD80 linker, ale ten nen pro tento ppad teba, ZMAC um generovat celou adu vstupnch formt vetn BIN, HEX, dokonce i WAV soubor pro njakou pskovou mechaniku. ZMAC b na Win32 a protoe je OpenSource, zkompiloval jsem si i verzi pro DOS. Pro peklad 8080 kdu je teba pout parametr "-8". Pi pekladu MONITORu jsem narazil na 2 podivn chyby, kdy se pekladai njak nepozdvaly labely. Nevm pesn pro, ale kdy jsem ve zdrojku nahradil label "PO" za "POUT", tak ob chyby zmizely a kd se sprvn peloil. Vslednou binrku jsem porovnal s vstupem M80 a jsou stejn. Zde je podrobnj a strun tabulkov pehled instrukc CPU 8080 a pm srovnn s instrukcemi Z80.


ZMAC.EXE -8 MON40F.MAC
MON40F.MAC(223) : Syntax error
        JMP     PO      ; PUNCH OUTPUT 

MON40F.MAC(96) : Phase error - $0002 changed from $00 to $04
        JMP     COLD    ; COLD START

      9.12.2024 Od Jardy jsem dostal 30-pinovou hlovou FRB samiku a mohl tak doosadit adaptr pro PS/2 klvesnici EKL-1. MCU AT89C2051 u mm naprogramovan. Zbvaj mi jet 3 nevyuit PCB, kdy mu poslat. Zatm jsem jen otestoval zkladn funkci pipojenm 5V napjen a PS/2 klvesnice a sledovnm signlu STROBE#, kde chod pi trvalm stisku klvesy krtk pulsy s frekvenc 15 Hz (autorepeat).

      10.12.2024 Kdy jsem nasadil hotovou redukci EKL-1 na konektor X2 sv procesorov karty JPR-1, nastalo ponkud rozarovn, protoe klvesnice nijak nereagovala. Menm jsem zjistil, e redukce nedostv sprvn napjec napt 5 V, ale pouze asi 1,8 V. Zaal jsem tedy ptrat ve schmatu JPR-1 a zjistil, e na konektoru X2 nikde 5 V nen a pin 22, kter EKL-1 pouv jako napjec, tak vede nkam na vstup STROBE (pin 11) obvodu portu E17 MH3212 a dle pes pull-up odpor 4,7 kΩ. Z toho se neme MCU nato klvesnice uivit. Jak jsem zjistil, tak na dobovch JPR-1x se bn dlala prava, e se tento pull-up odpor pemostil a tak se vyvedlo ven 5V napjen. J jsem si na svou JPR-1 dopjel jumper ze strany spoj. Po tto prav klvesnice oila.
      Dle jsem poteboval njak upravit Liborv MikroBIOS, protoe ten zas pot pouze s maticovou klvesnic ANK-1. Abych mohl kd snze ladit, poteboval jsem nejprve MikroBIOS zmenit, abych se veel do 1 i 2 EEPROM 28C16 (2 / 4 kB) a nemusel zdlouhav mazat EPROMky. Pomoc IFDEF jsem ve zdrojcch vyadil mn dleit moduly a rutiny, m se mi podailo velikost zmenit na 2437 B, pod 2 kB se u ale jednodue dostat nejde. Driver klvesnice kbd_driver.asm jsem kompletn nahradil rutinou pro ten kdu z klvesnice Consul ze zdrojku MONITORu 5.0 (viz label CI@@). Ta by mla podle tabulky kd poslat standardn 7-bitov ASCII znaky. Zatm jsem moc nezkoumal, jak to funguje, jen jsem to zkompiloval, nahrl do 2 EEPROMek a kupodivu to i njak chod. Akort nefunguje psan malch psmen (musm pst se SHIFTem nebo CapsLockem.

      13.12.2024 Dokonil jsem pravy zdrojk Liborova MikroBIOSu, kde jsem na zatek souboru definice.asm pidal volby podmnnho pekladu jednotlivch modul a volbu ovladae klvesnice (sta dan dek zakomentovat stednkem). Do obsluhy klvesnice Consul v souboru kbd_consul.asm jsem pidal pevod malch psmen na velk.


#define KBD_CONSUL      ; zkompiluj s driverem klvesnice Consul msto ANK-1
#define USE_HELP        ; zkompiluj s npovdou k pkazm ~683B
#define USE_ASM         ; zkompiluj s podporou assembly/disassembly ~1046B
#define USE_HEX_BOOT    ; zkompiluj se serial HEX bootloaderem ~751B
#define USE_TEST_RAM    ; zkompiluj s testem RAM ~257B
#define USE_TEST_BGP    ; zkompiluj s testem grafick karty BGP ~1074B
#define USE_TEST_DGD    ; zkompiluj s testem grafick karty DGD ~762B
#define USE_TEST_AND1   ; zkompiluj s testem textmode grafickch karet AND-1x ~824B
                        ; vypnutm vech test, bootloaderu, asm a helpu lze snit velikost kdu na ~2,2kB

      Zkompiloval jsem si plnou verzi se vemi moduly do 4 EPROMek D2732A-2 (vyuito 7334 B) a hraju si s tm. Do sbrnice jsem zkusil pchnout dal kartu: Z-130 - zlohovan SRAM 4 kB. Pvodn shnil NiCd akumultory jsem odpjel a vyhodil. MikroBIOS pam nael a zobrazil v pamov map. Pustil jsem na nj pkaz "TEST RAM D000 DFFF" a zatm b bez chyby.

adaptr PS/2 klvesnice EKL-1 deska CHP Z130-1 4kB SRAM-top deska CHP Z130-1 4kB SRAM-bottom deska RAM1 32kB DRAM-top deska RAM1 32kB DRAM-bottom
adaptr EKL-1 CHP Z130 top CHP Z130 bot. RAM1 top RAM1 bottom

      Postupn jsem vyzkouel dal pamov karty: druhou Z-130, kter byla nastaven na adresy C000 - CFFFh a dv karty RAM-1. Jedna s 8 kB DRAM byla nastaven na adresy C000 - DFFFh a druh s 32 kB DRAM byla nastaven na adresy 8000 - FFFFh. S pomoc MikroBIOSu lze pst pmo do pamti jednoduch programy v assembleru pkazem ". adresa instrukce" a spoutt je pkazem "JUMP adresa". Po nvratu z programu se zobraz stav vech registr. Zkusil jsem si tak napsat primitivn progrmek na zpis psmenka 'A' do pravho hornho rohu obrazovky. A rozbhnu desku DSM-1 a vyrobm propojovac kabel na sriov port, tak budu moci nahrvat do pamti programy zkompilovan v PC.

SAPI MikroBIOS 2.1 s 32kB RAM SAPI MikroBIOS 2.1 - assembly program in RAM SAPI MikroBIOS 2.1 - run assembly program in RAM
SAPI MikroBIOS 2.1 vpis programu sputn programu


Zvukov karta Melodik pro SAPI s AY-3-8912

      25.10.2025 Letos v lt na bleku v Holicch se mi podailo sehnat njakou starou rackovou kartu Melodik pro ZX Spectrum s FRB konektorem a znmm FM-synth zvukovm ipem Microchip AY-3-8912. Na spodn stran karty je oznaen "ZX Spectrum melodik AY-3-8912" a "MAZUCH . 009 ZXmelod", ale nepodailo se mi o n zjistit vce informac ani na OldCompu. Pipad mi to jako njak konstrukce, kter kdysi vychzely v modrm Amatrskm Rdiu. Zapojen ipu se zd bti stejn jako na Cygnusov strnce...

MELODIK pro ZX Spectrum-PCB-top MELODIK pro ZX Spectrum-PCB-topbottom
ZX Spectrum melodik-top ZX Spectrum melodik-bot

      Hned m napadlo, e bych mohl zkusit Melodik pipojit ke svmu SAPI a vyloudit njak zvuky, ale zhy se ukzalo, e zapojen FRB konektoru je pln jin ne sbrnice SAPI, co se dalo oekvat. Jedna monost by byla zbastlit njakou pechodku s FRB konektory, ale toto een jsem nakonec zavrhl (musela by se navc eit nekompatabilita dicch signl dalmi obvody). Pustil jsem se tedy do vlastnho nvrhu desky Melodiku pro SAPI. Vychzel jsem pitom z pvodnho zapojen pro ZX Spectrum, kter jsem doplnil o sten konfigurovateln dekodr I/O adres a adaptoval ho na dic signly IOR#/IOW#. CPU 8080A pouv 8-bitovou I/O adresu, kterou zrcadl na A8 - A16, zatm co CPU Z80 um pracovat i s 16-bitovou I/O adresou (LSB jde z registru A a MSB registru C).
      Naped jsem uvaoval o jednoduchm adresnm dekodru s jednm demultiplexerem 74138, ktermu bych zapojil A7 na G1, A6 na G2A#, A5 na G2B# a A0 na - A. Ten by dekdoval pouze fixn rozsah adres 100xxxxxb tedy 80 - 9Fh a A0 by dila vbr indexovho nebo datovho registru. Teoreticky by se dal jet vyut vstup A8 na AY-3-8912 a pipojit ho na A4 sbrnice, kter by se ml snad chovat jako chipselect aktivn v log. 1, ale v datasheetu nen pln jasn popsan, jestli v log. 0 deaktivuje pouze vstupn buffer nebo kompletn deaktivuje ip, tak aby ani nelatchoval adresu registru.
      Jeliko se 8/4-bitov kompartory 74688 a 7485 blb shn a m zsoby jimi zrovna neoplvaj, rozhodl jsem se zapojit do kaskdy dal demultiplexer 74138, kter dekduje 3 nastaviteln adresn bity a 2 fixn adresn bity. A7 jsem se rozhodl dekdovat natvrdo pouze v log. 1, take bzov adresa bude vdy od 80h ve. A4, A5, A6 jsou zapojeny do prvnho demuxu U6 na vstupy A, B, C a jumperem J8 se vybere jeden z vstup Y0# - Y7#, kter aktivuje rovn log. 0 hradlovac vstup G2A# druhho demuxu U3. Tm je umonno nastavit bzovou adresu po nsobcch 16 (80h, 90h, A0h...). Dle jsem zapojil A3 pes jumper J9 voliteln na hradlovac vstup G1 (aktivn v log. 1) nebo G2B# (aktivn v log. 0) na U3, m se krok bzov adresy zjemn na nsobky 8 (80h, 88h, 90h, 98h...). Zbyl adresn bity A2 a A1 se natvrdo dekduj v log. 0 pomoc hradlovacch vstup G2A# na U6, G2B# na U3 a A0 na vstupu A na U3 vybr index/data. Demux U3 tak dekduje dic signly IOR# a IOW# na vstupech B a C. Jet jsem mrn upravil zapojen vstup demuxu U3, kde jem pouil Y2# msto Y3# pro vstup NAND hradla U2C, take zpis indexu registru se nyn provd na adresu s A0=1 a etn/zpis dat z/do registru se provd na adresu s A0=0, co mi pijde o nco logitj, ne data st/zapisovat z/na jinou adresu. Pro srandu krlkm jsem navc pidal 4 LEDky na GPIO zvukovho ipu (IOA0 - IOA3) a 2 LEDky pro ladn na dic signly BC1 a BDIR. Zvukov vstup jde bu pmo na stereofonn jack zsuvku nebo pes zesilova LM386 na reprek. Zde je sten pravdivostn tabulka pro demux U3:

IOR# IOW# A0 Y0# Y1# Y2# Y3# Y4# Y5# Y6# Y7# BC1 BDIR function
0 0 0 0 1 1 1 1 1 1 1 0 0 inactive
0 0 1 1 0 1 1 1 1 1 1 0 0 inactive
0 1 0 1 1 0 1 1 1 1 1 1 0 data read
0 1 1 1 1 1 0 1 1 1 1 0 0 inactive
1 0 0 1 1 1 1 0 1 1 1 0 1 data write
1 0 1 1 1 1 1 1 0 1 1 1 1 index write
1 1 0 1 1 1 1 1 1 0 1 0 0 inactive
1 1 1 1 1 1 1 1 1 1 0 0 0 inactive
tabulka plat jen pokud A7=1 a A654SEL=0 a A1=0, jinak jsou vdy BC1=0, BDIR=0

      S vyuitm SMD soustek se mi to podailo splcat do low-cost rozmru desky 98 x 49 mm. Soustky jsou pouze na horn stran a na doln stran je rozlit prakticky celistv plocha zem. Trochu jsem tpal ohledn mechanick specifikace FRB konektoru, njak omalovnky k tomu lze najt v katalogu Tesla 3. dl zde [335 MB] na str. 621. Trochu m pekvapilo, e rozte pin a ad je 2,50 mm resp. 5,00 mm, co si zejm neuvdomil autor pvodnho Melodiku, kde ml footprint evidentn s palcovmi rozteemi 2,54 mm, take se mu krajn piny konektoru rozlzaly trochu do stran. Natst u hlovho konektoru jsou piny docela flexibiln. Tak snad jsem tam neudlal njakou botu, PCB design jsem akort odeslal spolu s dalma deskama do JLCPCB...

MELODIK pro SAPI 1.0-schema MELODIK pro SAPI 1.0-PCB layout MELODIK pro SAPI 1.0-PCB 3D model
schma PCB layout 3D model PCB

      11.11.2025 Dnes mi dorazila vrka plok z JLCPCB a tak jsem se hned pustil do osazovn. Vtinu soustek jsem nael doma v uplku, akort FRB konektor jsem si musel vypjet z pvodn desky pro ZX Spectrum a pehzet na nm piny. Na uvolnn pin z plastovho tla existuje speciln nstroj, ale ten nemm. S uritou mrou nsil se daj vytahat kletikama, co ale nedl pln dobe vnitnm stnm otvor v plastu. Nsledn jsem dostal radu, e lze k vyndvn pout jednodue ocelovou trubiku sundanou z jinho (u vyndanho) pinu, kter se na pin v plastu zepedu nastr, tm se zamknou 2 prun kidlka trubiky uvnit fungujc jako zptn hky a pak se d pin snze zezadu vythnout. Jet jsem musel dokoupit 3,5mm jack zsuvku K3612D z GME, neb mi na ten footprint dn z domcch zsob nepasovala.

FRB konektory MELODIK pro SAPI 1.0-ploky z JLCPCB MELODIK pro SAPI 1.0-osazen PCB
FRB konektory ploky z JLCPCB osazen Melodik

      15.11.2025 Na radioburze ve Stranicch se mi potstilo koupit 5 FRB konektor (2 hlov samce, 1 pmho samce a 2 pm samice) za rozumnou cenu, tak budu mt nco do zsoby na konstrukce dalch karet.

      2.1.2026 Vyzkouel jsem alespo zkladn funkcionalitu Melodiku ve sv sestav s JPR-1 pomoc pkaz in a out MikroBIOSu. Destiku jsem si najumperoval tak, e zpis do indexovho registru se provd na I/O adrese A1h a zpis/ten dat na I/O adrese A0h. Nejprve jsem zkusil rozsvtit LEDky na 8-bitovm I/O portu A ipu AY-3-8912 (doln 4 bity). K tomu je poteba naped pekonfigurovat I/O A port do reimu vstupu nastavenm bitu 6 v registru R7 a pak zapsat data do R14 (LEDky svt pi log. 0). Ledky se rozsvtily, take dekodr adres a generovn dicch signl BC1 a BDIR funguje.
      Dle jsem zkusil vygenerovat njak bzuen pomoc 3 tnovch genertor. Do pru registr R0, R1 se zapisuje hodnota 12-bitov dliky (L, H) pro kanl A, analogicky R2, R3 pro kanl B a R4, R5 pro kanl C. Aby bylo nco slyet, je poteba nastavit 4-bitovou hodnotu hlasitosti (R8 - kanl A, R9 - kanl B, R10 - kanl C) - doln 4 bity a zapnout tny do kanl v registru mixru R7 (bit 0 - kanl A, bit 1 - kanl B, bit 2 - kanl C) hodnotou 0 pslunho bitu (1 je vypnuto). Takt je mono pimixovat i um, kter m nastavitelnou "frekvenci". Njak tny jsem vyloudil, s nastavenm oblky jsem si zatm nehrl. Podrobnj popis registr je zde. Dalm clem bude napsat jednoduch pehrva AY hudebnch soubor, kter bych uploadnul do RAMky pes UART. Njak kdy a utility jsou ke staen zde a velk sbrka AY soubor zde.


Procesorov karta JPR-1V a IDE-1 adi pro SAPI

      22.12.2025 Abych mohl na SAPI spustit univerzlnj OS CP/M, rozhodl jsem se postavit si modern verzi procesorov karty JPR-1V s CPU Zilog Z80 @2/4 MHz od Libora. Tato karta umouje stejn jako pvodn karta JPR-1A odpojit boot ROM z adresnho prostoru a vyuvat jej cel pro RAM. Zde je pouita 8kB paraleln EEPROM typu 28C64, ze kter se ale vyuv pouze 4 kB a to ve dvou 2kB bankch (lze pepnat jumperem BIOS).
      K tomu jsem ml u z loska vyroben plok na kartu adie IDE-1 rev. 2.1 zaloen na obvodu 8255. K adii lze t pipojit emultor disketov jednotky PMD 32-SD, kter umouje mt na 1 SD kart s FAT16 FS uloeno nkolik image disket (a 4 pipojen souasn). Bohuel jak jsem zjistil, tak nikdo nenapsal boot ROM/BIOS, kter by uml nathnout CP/M z pipojenho IDE disku, ale je mon bootovat pouze z image na PMD 32-SD, karty zlohovanho RAMdisku ZRD-1V i ZRMD-1 nebo floppy adie a nic z toho zatm nemm, take to bude jet trnit cesta...

nov procesorov deska JPR-1V-osazovn nov procesorov deska JPR-1V-tm osazen-top nov procesorov deska JPR-1V-kompletn osazen-top nov deska IDE adie IDE-1-top
osazovn JPR-1V JPR-1V top JPR-1V top IDE-1 top


      3.1.2026 Pro vyzkouen zkladn funkce JPR-1V jsem nahrl do EEPROM Liborv MikroMon 2k. Pokud je zasunut jumper "BIOS", spout se z EEPROM kd z adresy 0 a pokud je vytaen, tak z 800h. Tak je poteba mt zasunutou njakou RAM kartu, protoe se MikroMon kopruje na adresu F000h a odtud teprve b. Pouil jsem 32kB kartu RAM-1. Na grafick kart AND-1V je teba nastavit pamovou adresu F800h. Do konektoru X2 jsem zapojil adaptr EKL-1 s PS/2 klvesnic a MikroMon nabhl na prvn dobrou.



Zpt

Aktualizovno 26.1.2026 v 1:00