Tuesday, April 25, 2023

SBC6120 RBC Edition a grafika

 

    Pred časom som postavil jednodoskáč SBC6120 RBC Edition, ktorý je založený na mikroprocesore HD-6120. Tento mikroprocesor je označovaný ako " PDP-8 on the chip ". PDP-8 boli 12 bitové minipočítače firmy DEC. SBC6120 RBC je upravená verzia pôvodného SBC6120. 
Lákalo ma  na ňom, že to bolo niečo iné ako 8080. PDP-8 používal na komunikáciu s užívateľom ďalekopis (v manuáloch uvádzaný typ ASR 33) takže o nejakej grafike sa asi nedá hovoriť. PDP-8 na grafický výstup vo svojej dobe používal :
 
    Ploter napr. Calcomp 563  pre kreslenie na papier.

    Osciloskopický displej. Bol to analógový osciloskop v režime zobrazovania XY, ktorý sa ovládal cez napäťový D/A prevodník. Tento spôsob umožňoval kresliť na obrazovke osciloskopu obrázky metódou po bodoch. Polohu jednotlivých bodov určovalo napätie privedené na vstupy X a Y osciloskopu. Aby bol obraz stabilný - bez blikania, bolo ho treba cyklicky vykresľovať. Preto bol počet naraz zobrazovaných bodov limitovaný rýchlosťou počítača a dobou dosvitu luminoforu obrazovky osciloskopu. DEC dodávala napr. typ 34D. Pozostával s osciloskopu Tektronix RM-503 a kariet D/A prevodníkov. 

    Grafický vektorový terminál. Známe boli od firmy Tektronix napr. Tektronix 4010
Tieto terminály nezobrazujú obraz rastrovým sposobom ako TV (teda TV s CRT obrazovkou ) ale znaky aj grafika sa zobrazuje pomocou vektorov podobne ako na plotri. Používajú pamäťovú obrazovku tzn. nepotrebujú obnovovať obraz ako TV obrazovky s dosvitom luminoforu rádove v milisekundách. Výhodou tohto riešenia je, že terminál nepotrebuje pamäť obrazu lebo čo sa raz vykreslí ostane na obrazovke). Nevýhodou, že sa dá zmazať len celá obrazovka naraz. Terminál pracuje v alfanumerickom alebo grafickom režime. Bežné znaky abecedy zobrazuje ako obyčajný terminál a po prepnutí do grafiky vykresluje vektory (úsečky). Prepínanie medzi režimami a parametre vektorov sa posielajú do terminálu ako sekvencie ASCII znakov.
  
 
    Jazyk Focal 1969 dodávaný k PDP8 obsahuje funkciu FDIS pre kreslenie na displeji DEC 34D. Na stránke o SBC6120 RBC sú odkazy na stiahnutie image diskov. Na obraze disku sbc6120_os8_games_18jun2016.img - OS/8 V3Q + BASIC Games sa nachádza verzia focalu PS/8 1971 (súbor PFOCAL.SV). Po preštudovaní manuálu som narazil na strane 25 na postup úpravy funkcie FDIS pre použitie s grafickým terminálom Tektronix 4002, čo je jeden z predchodcov T4010. Tak som podľa manuálu preložil verziu s driverom pre T4002, komunikujúcu po sériovej linke (je aj verzia s paralelným rozhraním). Namiesto T4002 sa dá použiť známy program Teraterm, ktorý obsahuje emulátor T4010. Po zakliknutí možnosti Auto switch VT<->TEK na karte Setup / Terminal, sa automaticky aktivuje okno grafického terminálu ak sa detekuje znak pre aktiváciu grafického režimu.
   
 
POSTUP :
- zapneme SBC6120 RBC, so spomínaným image na CF karte
- z monitora nabootujeme príkazom B do operačného systému OS/8
- preložíme novú verziu PFOCAL-u s novým názvom TFOCAL : 

.R PAL8 ENTER
 
*TFOCAL<FOCDEF,FDIS,FOCOVR,FOCINT,FOCLIB ENTER
 
.R ABSLDR ENTER
 
*FOCAL,4WDMOD,TFOCAL,INITAL/1=10200 ESC
 
.SAVE SYS:TFOCAL
ENTER
 
- na disku musíme teraz mať súbor TFOCAL.SV

- nastavíme TeraTerm


kjufkjfkjz
Nastavenie sériového portu, treba zadať aj line delay




 
Setup / Terminal : zaklikneme Auto switch (VT<->TEK)  



Control / Open TEK, Setup / Window : nastavíme farbu textu a pozadia





Control / Open TEK, Setup / Font (font ovplyvní veľkosti okna)


Teraz môžeme okno VT TEK zatvoriť.
- spustíme TFOCAL príkazom
R TFOCAL
- na úvodnú otázku odpovieme Y
- ohlási sa promt *
- ako príklad spustíme  program WEB.FC, ktorý nakreslí pavúka v jeho sieti príkazom
LIBRARY RUN WEB
- aktivuje sa grafické okno a nakreslí obrázok, odteraz sa môžeme preklikávať medzi oboma oknami alebo VT TEK okno zatvoriť, aktivuje sa automaticky pri grafike
- program môžeme vylistovať príkazom WRITE ALL

Treba mať na pamäti, že FOCAL pozná len veľké písmená.
Ďalej môžeme vyskúšať vložiť nasledujúci program, ktorý som vytvoril modifikáciou programu uvedeného v knihe L.Granát, H.Sechovský  Počítačová grafika. Najprv zmažeme program WEB príkazom
ERASE ALL
 
01.01 C OBRAZEC Z KNIHY POCITACOVA GRAFIKA
01.02 C VYKRESLUJE NA TERMINALI T4002

02.01 S X1=850
02.02 S Y1=350
02.03 S X2=500
02.04 S Y2=350
02.05 S X3=500
02.06 S Y3=0
02.09 S D=0.07
02.15 S I=30

03.01 S W=FOUT(27)+FOUT(12)
03.05 F J=1,I;D 5
03.10 D 10;F J=1,I;D 5
03.15 D 15;F J=1,I;D 5
03.20 D 20;F J=1,I;D 5

04.02 T !!!!
04.10 Q

05.01 S W=FDIS(0,X1,Y1)
05.05 S W=FDIS(1,X2,Y2)
05.10 S W=FDIS(1,X3,Y3)
05.13 S W=FDIS(1,X1,Y1)
05.15 S X=(X2-X1)*D+X1
05.20 S Y=(Y2-Y1)*D+Y1
05.25 S X2=(X3-X2)*D+X2
05.30 S Y2=(Y3-Y2)*D+Y2
05.35 S X3=(X1-X3)*D+X3
05.40 S Y3=(Y1-Y3)*D+Y3
05.45 S X1=X
05.50 S Y1=Y

10.01 S X1=850
10.02 S Y1=350
10.03 S X2=500
10.04 S Y2=350
10.05 S X3=500
10.06 S Y3=700

15.01 S X1=150
15.02 S Y1=350
15.03 S X2=500
15.04 S Y2=350
15.05 S X3=500
15.06 S Y3=700

20.01 S X1=150
20.02 S Y1=350
20.03 S X2=500
20.04 S Y2=350
20.05 S X3=500
20.06 S Y3=0



Výsledok uvedeného programu



Program môžeme vložiť do SBC6120RBC cez možnosť Send file (ako textový súbor) alebo skopírovať text programu cez Ctrl C a vložiť pravým tlačítkom myši. Kedže focal je interpreter, musí sa nastaviť aj line delay na cca 200msec aby počítač stíhal spracovávať jednotlivé riadky programu.
Takto nahratý (vložený) program spustíme príkazom
GO

Na disku je viacero programov určených pre grafický výstup na T4002.
Zoznam focal programov na disku si môžeme vypísať príkazom
LIBRARY LIST 
Samotný focal ukončíme príkazom
LOGICAL EXIT
 
Detailný manuál k jazyku FOCAL PS/8 tu.

Vzhľadom na to, že terminály T4002 a T4010 nie sú 100% kompatibilné, uvediem rozdiely.
Aby korektne fungovali focalovské programy napísané pre T-4002 na emulátore T-4010, treba upraviť sekvencie pre zmazanie obrazovky :
T4002:    SET DUMMY=FOUT(24)
T4010:    SET DUMMY=FOUT(27)+FOUT(12)
 
Nefunguje INCREMENTAL PLOT MODE.
Funkciu FJOY() na obsluhu joysticku sa mi nepodarilo rozbehať.
Podrobnosti viď manuál FOCAL PS/8.
 
Na záver pár informácií k vektorovým terminálom Textronix.
Popis parametrov T4002 (manuál sa mi nepodarilo dohľadať)
Manuál k T4006 veľmi podobný T4002
Manuál k T4010
 
A niekoľko dosiek mi zostalo, ak by sa niekto rozhodol pre stavbu SBC6120RBC.