SUPERMAX KIWI - ULTIMATEII, FD ATARI 1050. Part 1.

By Administrator at júla 17, 2016 13:50
Filed Under: Atari

 

 

Úprava pochádza z Austrálie, preto je asi aj v názve KIWI. Toto som tu som ešte nespomenul a zase som sa raz po čase vŕtal na webe ... Ako som na to prišiel ? Hodne jednoducho, stačí prečítať binárku Eprom pamäte, tá obsahuje nasledovný text:

 

SUPERMAX (c) 1985 W.VISSER AUSTRALIA.

 

Teraz sa treba obrátiť dolu hlavou, zatvoriť oči  ... a sme tým pádom doma kde to vzniklo. Smile Zaujímavé je že Kiwi nežije v Austrálii, ale na Novom Zélande, takže buď si autor z nás robí srandu, alebo to má v sebe nejaký skrytý význam.

 

Je to ďalšie riešenie tzv. "chudého muža", dokáže totiž pracovať v disketovej jednotke ATARI 1050 s pôvodnou Single hustotou(90kB), Medium hustotou (128kB), ale pridá navyše aj toľko žiadanú Double hustotu (180kB). Recenzie uvádzajú mierne zrýchlenie prenosu, ktoré ale v reále nedosahuje rovnaké hodnoty ako pre US Doubler a HAPPY 1050. Zase na druhú stranu je toto aj podstatne jednoduchšie riešenie ... priznám sa že som si to doteraz nepostavil, ale asi na to dôjde - keď si nájdem čas.


Ako na to ?
Z motherboardu treba vybrať Eprom (ROM), tak isto sa vyberie RAM 6810, dodatočná doštička sa vkladá na miesto pôvodnej Eprom pamäte a naďalej sa využíva pôvodný procesor 6507 a teda aj základná rýchlosť procesoru zostáva na 1MHz (viac z 6507-ky nevyžmýkame). Doštička s čipmi je urobená tak že ju opačne neosadíte ani náhodou - jednoducho sa to proste naopak nasadiť nedá. Ak by ste to mali v rukách tak to pochopíte veľmi rýchlo. Obsahuje jeden prepínač (ten je potrebné vyviesť, najlepšie na predný panel), ktorým sa volí na 8kB Eprom pamäti buď režim SUPERMAX (ultra režim - zrýchlený prenos dát - beží spodná polovica Eprom, teda priestor low 4kB, alebo pôvodný režim, ktorý používa upravenú verziu pôvodnej Eprom ako high 4kB. Skúsim to ešte napísať inak - jednoducho režimy sa volia prepínaním 2x 4kB priestoru - spodných 4kB obsahuje Supermax, horných 4kB software emuluje pôvodný režim A1050.  Zaujímavá je jedna vec - režim SUPERMAX využíva a teda aj potrebuje v Eprom pamäti podstatne menší priestor ako keď pracuje v režime pôvodnej kompatibility s Atari 1050 - teda to sú mi ale veci ...

 

Tak isto je potrebné pri nasadení SUPERMAXU aby na doske pôvodné jumpre (napravo hneď vedľa Eprom) boli nastavené tak ako je na uverejnenom obrázku ! Teraz sú nastavené pre použitie Eprom, dosť často je v doskách ale PROM verzia firmware a potom by nám zapojenie nefungovalo..

 

 

 

Ak sa pozriete na obrázok (zdroj foto:atariage.com):

- namiesto Eprom čipu 2764 je tu použitá 4x väčšia Eprom 27256, zjavne nebola 8kB Eprom k dispozícii, síce je to "trestuhodné plytvanie miestom v Eprom pamäti", ale je to tak isto funkčné a hlavne Eprom 27256 sú naozaj bezproblémovo zohnateľné, jediná vec ktorú treba urobiť je potom nahrať do 27256 Eprom binárku 4x za sebou aby sa to správne zrkadlilo na správnom mieste bez nejakých ďalších zásahov
- máme tu poctivo prebrúsené povrchy čipov 6116 (RAM 2kByte, 24 pinový čip) a 74LS42 (16 pinový čip), ktoré mali sťažiť nejaké budúce eventuálne kopírovanie tohoto zariadenia, pffffff - vtedy sa to ale takto robilo, dnes nad tým iba pokrútime hlavou

- tri čierne dráty slúžia na pripojenie prepínača, biely drát je pripojený na čip 74LS04 na jeho pin 9

- z obrázku to nie je vidieť (pozri schému) jeden pin z tejto doštičky je vyvedený priamo do pôvodnej pätičky vybraného čipu 6810 - berie si odtiaľto ("sosá") signál R/W, ktorý samozrejme pôvodná Eprom nepotrebovala, RAM pamäť ale bez neho nebude fungovať

 

Schéma zapojenia, pozor podľa informácií je tu podstatne vhodnejšie použiť namiesto čipu 74LS42 čip 74HC42 ! (Je rýchlejší, ale tu nejako na to nevidím dôvod.)  Tak tu si ja nemyslím že je problém v rýchlosti čipu ale v neskutočne rozšírenom nešváre - nikde v uvedenom zapojení nie sú použité vyhladzovacie kondenzátory  k použitým čipom. Pozrite si schému Atari 1050 a pozrite si toto a pochopíte. Nie je to prvé (a bohužiaľ ani posledné zapojenie) kde sa na takto triviálnu vec zabudlo ... a veselo sa to takto v tejto nepodarenej podobe šíri ďalej. Autor tu uverejnenej schémy Guus Ansmann nakreslil iba skutkový stav aký je na doske s označením SUPERMAX 1.0.

P.S.:Takže nezabudnite prosím dodať do zapojenia vyhladzovacie kondenzátory o kapacite M1 ku každému čipu.  A bude po probléme.


Schéma zapojenia

ULT_II.pdf (15,52 kb)

 

8kB binárka pre pamäť Eprom 2764:

Ultimate.bin (8,00 kb)

 

Úprava pre Super archiver:

1050 to Kiwi Chip Archiver (19xx)(Kiwi Systems).zip (31,77 kb)

 

Poznámka (13.02.2018):


Vtip je v tom, že  údajov je k dispozícii neuveriteľne málo, zase raz história na webe melie rýchlejšie a to podstatne rýchlejšie ako božie mlyny ... tu som to skutočne asi stihol popísať tak tak, o to viac ma to teší že ani takto "exotické" a vzácne rozšírenie SUPERMAX KIWI - ULTIMATEII disketovej jednotky Atari 1050 predsa len úplne nezmizlo v prepadlisku dejín. 

Ako som zistil je tam ešte jedna vec aby to naozaj fungovalo - a to je popísané v druhej časti pokračovania tohoto článku. Áno, pôvodne som viac informácií nemal a môžete si sami overiť že som sa v popise nemýlil, ale jedna fičúrka na motherboarde o ktorej som nevedel a teda pokiaľ to nemáte naozaj v ruke tak to ani nemôžete vedieť ... A že sa k tomu reálne dostanem som ešte pred týždňom nevedel.

 

Druhá časť článku na tému Atari Supermax Kiwi UltimateII:

http://blog.3b2.sk/igi/post/SUPERMAX-KIWI-ULTIMATEII-FD-ATARI-1050-Part-2.aspx

____________________________________________________________

Vaše hodnotenie, Rate post:

Funkamateur a Atari a iné 8 bitové "dobroty".

By Administrator at júla 10, 2016 09:50
Filed Under: Non-Atari

Časopis Funkamateur a Atari a iné 8 bitové "dobroty".

 

Schéma počítača Commodore 64, ako si z tlačiarne urobiť skener, ROM (EPROM) rozšírenie pre ZX Spectrum, rozhranie Centronics pre ZX Spectrum, "Lichtstift" - svetelné pero pre Atari, čítanie Atari textov na Z1013, kopírovací program pre Atari, hodiny cez VBI pre Atari, rozhranie V24 pre ZX Spectrum, ako si urobiť Centronics pre Atari, rozšírenie RAM pre AMIGA 500, ako si urobiť skener z Atari, proste zmeska ako sa patrí.

 

Naši "mierne" západnejší susedia a teda miestni ataristi a iná vtedajšia počítačová "háveď" z bývalej NDR (DDR) to mali pre rokom 1989 poriadne ťažké. Atari, ZX Spectrum a Commodore C64 sa síce predávali (dosvedčuje to aj obsah Funkamateura v rubrike kúpim/predám - teda, ceny v roku 1989 zaujímavé - 3.500.- až 5.000.- východonemeckých mariek, čo je 2x až 3x drahšie ako u nás - myslím 8 bit atárko), ale v časopise kalibru Funkamateur sa o niečom takomto nesmelo v samostatných článkoch ani pípnuť. Všade okolo samí imperialisti, v každom čísle popísaný vzorný vojak (alebo vojačka) a agitka v každom čísle za vstup do armády, proste klasické "schizoidné" prostredie tých rokov, zglajchšaltované kompletne všetko na jednotku. Ja by som povedal že tá uvedomelosť snáď bola vypálená v každom tom ksichte. Tu len malá odbočka - toto platí na všetkých tých do červena rozpálených bez ohľadu na to kde v RVHP trčali.

Len nejako tam autori tých super článkov zabudli pripísať že sami tých imperialistov špehovali na každom kroku ... Sealed.

Prelistoval som toho dosť (ročníky 1980 až 1992) a teda poviem Vám, my vo vtedajšej ČSSR sme na tom boli podstatne lepšie, naozaj podstatne. Záber článkov v AR bol podstatne širší, tu do toho až tak strana a vláda predsa len toľko nekecala. Kam som sa pozrel, len popisy pre domáce počítače Z1013, KC85/1 až 3, akoby nič iné vo svete neexistovalo. Tu doslovne platilo heslo: "Čo je doma to sa počíta !". Tam to strana a vláda držala pod krkom tak dokonale, že z toho bol poriadne tuhý límec.


Nejaké drobotiny pre Atari a aj ostatné 8 bity sa objavili až po zjednotení Nemecka, uff, ale až keď už kapitalizmus prestal zjednotené Nemecko ohrozovať.

 

Tak sa na to pozrime čo sa nám tam objavilo po zjednotení - všetko je v jazyku nemeckom. Nahodil som to do tejto sekcie, pretože sa jedná o zmesku a fakt sa mi to nechcelo triediť na jednotlivé typy a teda každé strkať niekde inam. nechal som to pohromade, vďačný čitateľ si to vytriedi pre seba a svoje potreby dozaista sám.

____________________________________________________________

Ako absolútna bomba v tej dobe sa objavila schéma Commodore 64, samozrejme keď to už imperialisti držali pevne vo svojich rukách:

FA_C64schema1.pdf (781,55 kb)

FA_C64Schema2.pdf (778,17 kb)

____________________________________________________________

Ako si z tlačiarne urobiť skener:

FA_Skener1.pdf (1,44 mb)

FA_Skener2.pdf (1,17 mb)

____________________________________________________________

ROM (EPROM) rozšírenie pre ZX Spectrum:

ROM erweiterung ZX.pdf (1,18 mb)

____________________________________________________________

Rozhranie Centronics pre ZX Spectrum:

ZX Spectrum Centronics.pdf (1,21 mb)

ZX Spectrum Centronics2.pdf (653,56 kb)

____________________________________________________________

"Lichtstift", alebo svetelné pero pre Atari (tu mám len podozrenie že kondenzátor na výstupe by mal mať väčšiu hodnotu, minimálne niekde na úrovni 100pF):

Lichtstift.pdf (1,38 mb)

____________________________________________________________

Čítanie Atari textov na Z1013:

Atari_Z1013_text.pdf (1,35 mb)

____________________________________________________________

Kopírovací program pre Atari:

Atari XL_XE MiniCopy.pdf (795,21 kb)

____________________________________________________________

Hodiny cez VBI pre Atari, rozhranie V24 pre ZX Spectrum:

Atari VBI Uhr_V24_ZX_Spectrum.pdf (1,28 mb)

____________________________________________________________

Ako si urobiť Centronics pre Atari:

Atari _Centronics.pdf (1,26 mb)

____________________________________________________________

Rozšírenie RAM pre AMIGA 500, ako si urobiť skener z Atari:

Amiga500_RAM_Atari_skener.pdf (1,38 mb)

____________________________________________________________

Vaše hodnotenie, rate post:

ATARI floppy disk drive XF351 - part2.

By Administrator at júla 06, 2016 16:42
Filed Under: Atari

Pohľad na zadnú stenu disketovej jednotky Atari SF351 , priamo vyvedený SIO káblik s konektorom a jeden SIO konektor priamo v zadnej stene.

 

3.5" FD ATARI SF351


(Mnou odhadovaný rok výroby bol 1987. Naozaj ? Nie - bol to rok 1985 ! - Oprava roku výroby je podložená v ďalšom texte fotografiou.)

 

Pôvodný kratučký článok o Atari XF351 ktorý som pred dávnymi časmi "nadlapal" je tu:

http://blog.3b2.sk/igi/post/ATARI-floppy-disk-drive-XF351.aspx

 


Už v priebehu roku 1984 sa v počítači Apple Macintosh začal používať nový formát disku (myslím tým veľkosť 3.5") a tedavo výsledku sa zmenšila aj disketa. Firma Atari čoskoro nasledovala s vydaním počítačov rady Atari 520ST. Tieto nové diskety boli uzavreté v pevnom plastovom puzdre a mali aj ochranné kovové posuvné "dvierka", čím sa chránil obsah diskety pred dotykom užívateľa. Na rozdiel od starých 8" a 5.25" diskiet tieto nové 3.5" boli odolnejšie a spoľahlivejšie (tak týmto konštatovaním som si nie celkom istý, už som to na inom mieste pitval). Tieto nové diskety mohli uložiť až 1.44 MB dát. Pozrime sa na to - napríklad 16x obsah Atari 810 diskiet = 1x disketa 3.5", cítite tu ten drobný rozdiel v kapacite, že?


V tej dobe kompletne celý počítačový priemysel začal naskakovať na používanie 3.5" mechaník a teda pochopiteľne aj 3.5" diskiet do nich určených - bol to poriadne rozbehnutý vlak, tak isto aj firma Atari začala pracovať na novej 3,5" disketovej jednotke pre jeho 8-bitovú XE radu počítačov pod názvom Atari XF351. Väčšina výrobcov softvéru sa pohybovala od 8-bitovej línie počítačov až po nové 16-bitové systémy. Lenže - väčšina spoločností nepriniesla na trh softvér naraz v obidvoch formátoch - teda na 5.25 " a aj na 3.5" formáte (8" diskety už aj v tej dobe odpadli z konkurenčného boja) a preto sa následne aj Atari rozhodla projekt Atari XF351 ukončiť. Dnes iba môžeme špekulovať že či to bolo naozaj tržné rozhodnutie, alebo nezmyselný krok nekompetentného manažéra, pravda ale asi už na povrch nevyjde.


Všimnite si (c)1985 na krabici. Ja som typoval výrobu pôvodne tak na rok 1987, takže uberte 2 roky

a sedí to ako r.ť  na šerbli.

 

Táto 3,5 "disketová jednotka používa rovnaký mechanizmus ako disketová jednotka SF354 na počítačoch rady Atari ST (bude k tomu ešte v tomto článku uverejnená fotografia aby sme boli v celkovom obraze tej doby), výnimka bola na zadnej strane skrinky, kde je jeden pevný káblový prívod SIO portu do počítača a jeden výstupný konektor pre SIO2 port (šetrí to a poriadne miesto v šírke jednotky). Okrúhly konektor na zadnej strane zariadenia slúži pre prívod napájania.


Odkrytovaná jednotka, sú tam osadené dve dosky motherboard a V/V doska ktorá obsahuje filter a tranzistory pre V/V operácie. Ušetrené miesto (ktoré zostalo, pretože je osadený len jeden SIO konektor) pekne zmenšilo stavebnú šírku tejto disketovej jednotky. Takto rozkrytované to zase na druhú stranu nevyzerá bohvieako vábne. Kábliky - hmm, celkom slušná divočina. Celé to vyzerá ako: "takto nám,  to proste vyšlo". Finíto ...


Osadenie čipmi:

 


- mikroprocesor 8040 (8050, len sa mení nastavenie pre jumper))
- Eprom 2764 (priestor je 8kB, využíva sa ale iba časť - 4kB priestor)
- FD radič WD 1770
- x-tal oscilátor 8MHz
- 74LS373
- 74LS38

- posledný čip na motherboarde neviem identifikovať - je bohužiaľ zakrytý (na potvoru) keramickým kondenzátorom

  (pravdepodobne sa jedná o čip 74LS14)



Čiže tvári sa to ako "zjednodušená" XF551-ka, procesor na motherboarde je rovnaký, rýchlosť x-talu je nepatrne nižšia (8MHz, v XF551 = 8.333MHz), použitý FDD radič je iný (WD1770, XF551 = WD1772).


Strana plošných spojov motherboardu. Na doske sú drobné úpravy nejakých chýb.

 

Doska zdrojovej čast a V/V časti. Zdroj na dosku privádza priamo +5V a + 12V, nasleduje filter a beží to priamo  na motherboard. V/V časť obsahuje celkom 4 tranzistory určené na V/V operácie. Pekne vidieť SIO káblik pre pripojenie disketovej jednotky k počítaču. Vypínač je zdvojený a odpája a pripája naraz +5V aj +12V.


Doska zdrojovej čast a V/V časti zo spodnej strany. Zjavne sa podcenilo rušenie toku dát a tak sú tu dodatočne pridané filtre ... Asi to takto aj išlo do predaja. Opráv v tejto časti je celkom dosť. Aj tak sa to "vrhlo" do sveta, ale zjavne to tam vydržalo len niekoľko dní. Teraz si  poďme si pozrieť disketovku väčšieho brata - Atari ST SF354, ktorá je určená pre Atari ST radu,nech vieme porovnať.

 

 

Takže takto vyzerá obsah pre Atari ST. Atari SF351 používala úplne rovnakú mechaniku 3.5" ako disketová jednotka Atari ST SF354. Len na porovnanie - sami vidíte že u disketovej jednotky Atari SF354 je iba jedna doska plošných spojov a použitej "bižutérie" na tejto doske je tam naozaj minimálne. Keď sa chce tak to išlo ...


A čo už iné na záver ako vlastná 3.5" floppy mechanika. Na prvý pohľad je to "zmenšená" Atari 1050 mechanika. Samozrejme to nie je pravda, len pohon stredového tŕňa je pricipiálne riešený rovnako. Takéto riešenie je síce zaujímavé, ale poriadne zväčšuje stavebnú výšku floppy mechaniky - minimálne na dvojnásobok . A to je sakra veľa, aj medzi nami ! Jedna naozaj veľká nevýhoda = časom sa "otlačí" remenička (rozumej predĺži sa - majitelia disketových jednotiek Atari 1050 by vedeli rozprávať) a vo výsledku potom začnú kolísať otáčky. Nie je to síce jav ktorý sa objaví hneď, ale je dobré mať zdroj kde viete zohnať potrebné remeničky - pre istotu. Sám mám mechaniky A1050 kde sú ešte pôvodné remeničky a idú dodnes na jednotku (a náhradné remeničky mám zakúpené tiež, zatiaľ ležia v saklíku na tmavom mieste). Ak ale začnú kolísať otáčky - potom v 99.9% prípadoch pomôže výmena remeničky za novú, elektronika za to môže naozaj iba v 0.1% prípadoch.

 

Nuž ale vtedy sa začínalo s 3.5" mechanikami a teda na dnešnú veľkosť 3.5" mechaniky sme si museli ešte nejaký ten čas počkať. Takže skúsmesa na to celé pozerať očami roku 1985a nie dnešným pohľadom kedy sú veci niekde inde a teda vieme byť aj podstatne viac kritickí.

 

Vyrobilo sa pár prototypov, dokonca sa to dostalo do predaja - ale asi len v malom množstve. Občas sa tieto disketové jednotky dajú zohnať cez eBay, ale ak máte záujem - potom počítajte s cenou spokojne niekde na úrovni 1000.- USD a radšej pridajte ešte niečo navyše ... nie je to lacná sranda ju mať vo svojej výbave. S MyDOSom spokojne frčíte na hustotu 720kB na diskete.

 

A zapojenie, teda myslím schému nikde na webe nenájdete. Obsah Eprom som predsa len zo šťastím na webe vydoloval. Kto má proste má a podeliť sa o to nechce, škrbloši. Asi by to potom stratilo na cene. A my ostatní musíme utrieť h..bu. Škoda.
Mne už nezostáva nič iné ako záverom skonštatovať - že sa to vtedy nepredávalo ďalej ... a druhýkrát je škoda že nie je k dispozícii schéma.Tí schopnejší by si to postavili aj sami.

Obsah ROM k disketovej jednotke XF351 (vlastne je použitá iba polovica, t.j. 4kB, ale také isté riešenie je použité aj pri jednotke Atari XF551):

ROMC7B5.8k (8,00 kb)

____________________________________________________________

Nasleduje výpis ROM:

;
;  D48 V3.4.1 8048 Disassembly of romc7b5.8k
;  2014/11/19 05:14
;
    org    0
;
    sel    mb0
    jmp    X0175
;
    sel    rb0
    sel    mb0
    jmp    X0038
;
    sel    mb0
    dis    tcnti
    stop    tcnt
    call    X0037
X000c:    mov    r0,#0fbh
    mov    @r0,#2
X0010:    mov    r7,#0c2h
    strt    t
    anl    p2,#0f8h
    en    i
X0016:    jtf    X001a
    jmp    X0016
;
X001a:    djnz    r7,X0016
X001c:    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    cpl    a
    jb7    X0028
    anl    p2,#0f7h
    anl    p1,#0efh
X0028:    anl    p2,#0efh
X002a:    jmp    X002a
;
X002c:    en    i
    in    a,p1
    anl    a,#10h
    jz    X0028
    mov    a,r7
    jnz    X0016
    jmp    X001c
;
X0037:    retr
;
X0038:    anl    p1,#7fh
    dis    tcnti
    dis    i
    call    X0037
    in    a,p2
    anl    a,#7
    jz    X0060
    mov    r0,#0fbh
    mov    @r0,#4
    mov    r7,#0c2h
    strt    t
    anl    p2,#0f8h
    xrl    a,#4
    jz    X0060
    xrl    a,#3
    jz    X0060
    in    a,p1
    anl    a,#10h
    jz    X0060
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0d0h
    movx    @r0,a
X0060:    mov    r0,#0f9h
    mov    r1,#0
    mov    r2,#5
X0066:    jni    X0076
    jmp    X002c
;
X006a:    mov    @r0,a
    dec    r0
    add    a,r1
    addc    a,#0
    mov    r1,a
    mov    r3,#5
X0072:    djnz    r3,X0072
    jt0    X00bc
X0076:    jnt0    X0066
    mov    a,#80h
    mov    r3,#7
X007c:    djnz    r3,X007c
X007e:    nop
    mov    r3,#8
X0081:    djnz    r3,X0081
    clr    c
    jt0    X0089
    cpl    c
    jmp    X008c
;
X0089:    nop
    nop
    nop
;
X008c:    rrc    a
    jnc    X007e
    djnz    r2,X006a
    xrl    a,r1
    jnz    X00bc
    nop
    mov    r3,#6
X0097:    djnz    r3,X0097
    jt0    X00bc
    jni    X009f
    jmp    X002c
;
X009f:    mov    r1,#31h
    in    a,p2
    anl    a,#0c0h
    xrl    a,#0c0h
    jz    X00b3
    inc    r1
    xrl    a,#40h
    jz    X00b3
    inc    r1
    xrl    a,#0c0h
    jz    X00b3
    inc    r1
X00b3:    mov    r0,#0f9h
    mov    a,@r0
    xrl    a,r1
    jnz    X00bc
    sel    mb0
    jmp    X0100
;
X00bc:    jni    X00bc
    jmp    X002c
;
    org    100h
;
X0100:    orl    p2,#20h
    mov    r0,#0f8h
    mov    a,@r0
    xrl    a,#52h        ; R    read
    jz    X010d
    xrl    a,#20h        ; r    small r
    jnz    X0112
X010d:    orl    p2,#1
    sel    mb1
    jmp    X0900
;
X0112:    xrl    a,#22h        ; P     put
    jnz    X011b
X0116:    orl    p2,#2
    sel    mb1
    jmp    X0900
;
X011b:    xrl    a,#7        ; W     write
    jnz    X0124
X011f:    orl    p2,#3
    sel    mb1
    jmp    X0900
;
X0124:    xrl    a,#4        ; S     status
    jnz    X012d
    orl    p2,#7
    sel    mb0
    jmp    X03a8
;
X012d:    xrl    a,#72h        ; !    format
    jnz    X0136
    orl    p2,#5
    sel    mb0
    jmp    X0157
;
X0136:    xrl    a,#6fh        ; N  percom block
    jnz    X013f
    orl    p2,#7
    sel    mb0
    jmp    X0421
;
X013f:    xrl    a,#1        ; O  percom block
    jnz    X0148
    orl    p2,#4
    sel    mb0
    jmp    X048b
;
X0148:    xrl    a,#7        ;  H    ?????
    jnz    X0151
    orl    p2,#7
    sel    mb0
    jmp    X0400
;
X0151:    xrl    a,#6ah        ; "   format
    jnz    X015a
    orl    p2,#5
X0157:    sel    mb0
    jmp    X0500
;
X015a:    anl    p2,#0dfh
    xrl    a,#0f0h        ; $d2    R with high bit set
    jz    X010d        ; jump to read
    xrl    a,#2        ; $d0  P with high bit set
    jz    X0116        ; jump to put
    xrl    a,#7        ; $d7  W with high bit set
    jz    X011f        ; jump to write
X0168:    mov    r0,#0fbh
    mov    a,#1
    mov    @r0,a
    mov    a,#4eh        ; Nak
    sel    mb0
    call    X020b        ; go send nak
    sel    mb0
    jmp    X002c
;
X0175:    dis    i
    dis    tcnti
    mov    a,#2ch
    outl    p1,a
    mov    a,#0e0h
    outl    p2,a
    sel    rb0
    clr    f0
    clr    f1
    mov    r0,#10h
    call    X01cb
    mov    r0,#0fbh
    mov    @r0,#0
    anl    p1,#0efh
    mov    r0,#0f9h
X018c:    djnz    r0,X018c
    orl    p1,#10h
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0
    movx    @r0,a
    call    X01b5
    mov    r1,#0ch
X019b:    anl    p1,#0dch
    orl    p1,#0
    mov    a,#40h
    movx    @r0,a
    call    X01b5
    djnz    r1,X019b
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0
    movx    @r0,a
    call    X01b5
    mov    a,#2ch
    outl    p1,a
    en    i
X01b3:    jmp    X01b3
;
X01b5:    mov    r0,#95h
    stop    tcnt
    clr    a
    mov    t,a
    strt    t
    jtf    X01bd
X01bd:    in    a,p1
    anl    a,#4
    jz    X01c3
    ret
;
X01c3:    jtf    X01c7
    jmp    X01bd
;
X01c7:    djnz    r0,X01bd
    stop    tcnt
    ret
;
X01cb:    stop    tcnt
    clr    a
    mov    t,a
    strt    t
    jtf    X01d1
X01d1:    jtf    X01d5
    jmp    X01d1
;
X01d5:    djnz    r0,X01d1
    stop    tcnt
    ret
;
    org    200h
;
X0200:    stop    tcnt
    clr    a
    mov    t,a
    jtf    X0205
X0205:    mov    a,#48h        ; H high speed ack return?
    jf0    X020b
    mov    a,#41h        ; Ack
X020b:    clr    f1
X020c:    jni    X020c
    jni    X020c
    en    i
    orl    p1,#80h
    clr    c
    cpl    c
    nop
    nop
    nop
X0218:    mov    r6,#8
X021a:    djnz    r6,X021a
    rrc    a
    jc    X0223
    orl    p1,#80h
    jmp    X0227
;
X0223:    anl    p1,#7fh
    jmp    X0227
;
X0227:    clr    c
    jnz    X0218
    ret
;
X022b:    en    tcnti
    strt    t
X022d:    jnt0    X022d
    clr    a
    clr    f1
    nop
    nop
    jmp    X023f
;
X0235:    jt0    X02b9
X0237:    jnt0    X0237
    inc    r0
    mov    @r0,a
    dec    r0
    add    a,r1
    addc    a,#0
X023f:    mov    r1,a
X0240:    clr    a
    mov    t,a
    mov    a,#80h
    nop
    nop
    nop
    nop
    jf0    X025f
    nop
    nop
X024c:    nop
    nop
    nop
    jf0    X025f
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
X025f:    clr    c
    jt0    X0265
    cpl    c
    jmp    X0268
;
X0265:    nop
    nop
    nop
;
X0268:    rrc    a
    jnc    X024c
    jf0    X027b
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
;
X027b:    jf1    X028a
    djnz    r0,X0235
    jt0    X02b9
X0281:    jnt0    X0281
    xch    a,r1
    add    a,r1
    addc    a,r0
    mov    r0,a
    cpl    f1
    jmp    X0240
;
X028a:    clr    f1
    nop
    jt0    X02b9
X028e:    jnt0    X028e
    stop    tcnt
    dis    tcnti
    mov    t,a
    add    a,r0
    addc    a,#0
    clr    c
    cpl    c
    nop
    nop
    nop
    nop
    nop
;
    jf0    X02b4
    nop
X02a0:    nop
    nop
    nop
    nop
;
    jf0    X02b4
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
    nop
;
X02b4:    rrc    a
    jc    X02bc
    jt0    X02be
X02b9:    sel    mb0
    jmp    X000c
;
X02bc:    jt0    X02b9
X02be:    clr    c
    jnz    X02a0
    mov    r0,#83h
X02c3:    djnz    r0,X02c3
    mov    r0,#83h
X02c7:    djnz    r0,X02c7
    orl    p1,#80h
    mov    a,#41h
    clr    c
    cpl    c
    nop
X02d0:    nop
    nop
;
    jf0    X02d8
    mov    r0,#6
X02d6:    djnz    r0,X02d6
X02d8:    rrc    a
    jc    X02df
    orl    p1,#80h
    jmp    X02e3
;
X02df:    anl    p1,#7fh
    jmp    X02e3
;
X02e3:    clr    c
    jnz    X02d0
    in    a,p2
    anl    a,#7
    xrl    a,#4
    jz    X02f0
    sel    mb1
    jmp    X0959
;
X02f0:    sel    mb0
    jmp    X0494
;
    org    300h
;
X0300:    mov    a,psw
    orl    a,#1
    mov    psw,a
    mov    a,#45h
    jf1    X030e
    mov    a,psw
    anl    a,#0feh
    mov    psw,a
    mov    a,#43h
X030e:    orl    p1,#80h
    clr    c
    cpl    c
    nop
;
    org    315h
;
X0315:    nop
;
    org    317h
;
    jf0    X0327
    nop
;
    org    327h
;
X0327:    rrc    a
    jc    X032e
    orl    p1,#80h
    jmp    X0332
;
X032e:    anl    p1,#7fh
    jmp    X0332
;
X0332:    clr    c
    jnz    X0315
    mov    a,r0
    jz    X039e
    mov    r0,#9eh
X033a:    djnz    r0,X033a
    mov    r0,#9eh
X033e:    djnz    r0,X033e
    xch    a,r0
    clr    f1
X0342:    orl    p1,#80h
    add    a,@r0
    addc    a,#0
    xch    a,@r0
    clr    c
    cpl    c
    jf0    X035f
    jmp    X0353
;
X034e:    nop
;
    org    350h
;
    jf0    X0360
    nop
X0353:    nop
;
    org    35fh
;
X035f:    nop
X0360:    rrc    a
    jc    X0367
    orl    p1,#80h
    jmp    X036b
;
X0367:    anl    p1,#7fh
    jmp    X036b
;
X036b:    clr    c
    jnz    X034e
    djnz    r0,X037a
    jf1    X038d
    mov    a,t
    xch    a,r1
    inc    r0
    cpl    f1
    jf0    X0342
    jmp    X0384
;
X037a:    inc    r0
    mov    a,@r0
    dec    r0
    jf0    X0342
    nop
;
    org    384h
;
X0384:    nop
;
    org    38bh
;
    jmp    X0342
;
X038d:    mov    a,r1
    jf0    X030e
    nop
;
    org    39ch
;
    jmp    X030e
;
X039e:    mov    a,psw
    jb0    X03a5
    mov    r0,#0fbh
    mov    @r0,#0
X03a5:    sel    mb0
    jmp    X0010
;
X03a8:    sel    mb0
    call    X0200
    sel    mb0
    mov    r0,#83h
X03ae:    djnz    r0,X03ae
    mov    r0,#83h
X03b2:    djnz    r0,X03b2
    mov    r3,#0
    in    a,p1
    anl    a,#8
    jnz    X03c2
    mov    r3,#80h
    in    a,p2
    jb5    X03c2
    mov    r3,#0a0h
X03c2:    mov    r0,#0fbh
    mov    a,@r0
    orl    a,r3
    mov    r3,a
    mov    r2,#0ffh
    in    a,p1
    anl    a,#10h
    jz    X03db
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    cpl    a
    mov    r2,a
    jb7    X03db
    mov    a,r3
    orl    a,#10h
    mov    r3,a
X03db:    mov    r1,#78h
    mov    a,#0
    mov    t,a
    mov    r0,#3
    clr    f1
    sel    mb0
    jmp    X0300
;
    org    400h
;
X0400:    mov    r0,#0f7h
    mov    a,@r0
    jz    X040d
    xrl    a,#1
    jnz    X041e
    clr    f0
    cpl    f0
    jmp    X040e
;
X040d:    clr    f0
X040e:    sel    mb0
    call    X0200
    sel    mb0
    mov    r0,#83h
X0414:    djnz    r0,X0414
    mov    r0,#83h
X0418:    djnz    r0,X0418
    clr    f1
    sel    mb0
    jmp    X0300
;
X041e:    sel    mb0
    jmp    X0168
;
;    PERCOM BLOCK
;
X0421:    sel    mb0
    call    X0200
    sel    mb0
    mov    r0,#83h
X0427:    djnz    r0,X0427
    mov    r0,#83h
X042b:    djnz    r0,X042b
    mov    r0,#0bh
    mov    @r0,#28h
    dec    r0
    mov    @r0,#0
    dec    r0
    mov    @r0,#0
    dec    r0
    in    a,p2
    anl    a,#30h
    xrl    a,#30h
    mov    @r0,#1ah
    jz    X0451
    mov    @r0,#12h
    in    a,p2
    jb5    X0451
    dis    i
    orl    p2,#20h
    in    a,p2
    jb5    X044e
    mov    @r0,#10h
X044e:    anl    p2,#0dfh
    en    i
X0451:    dec    r0
    mov    @r0,#0
    in    a,p2
    anl    a,#30h
    xrl    a,#10h
    jnz    X045d
    mov    @r0,#1
X045d:    dec    r0
    mov    @r0,#0
    in    a,p2
    anl    a,#30h
    xrl    a,#20h
    jnz    X0469
    mov    @r0,#4
X0469:    dec    r0
    mov    @r0,#0
    dec    r0
    mov    @r0,#80h
    in    a,p2
    jb5    X0478
    inc    r0
    mov    @r0,#1
    dec    r0
    mov    @r0,#0
X0478:    dec    r0
    mov    @r0,#1
    dec    r0
    mov    @r0,#48h
    jf0    X0482
    mov    @r0,#41h
X0482:    clr    a
    mov    t,a
    mov    r1,a
    mov    r0,#0bh
    clr    f1
    sel    mb0
    jmp    X0300
;
X048b:    sel    mb0
    call    X0200
    sel    mb0
    mov    r0,#0bh
    sel    mb0
    jmp    X022b
;
X0494:    mov    r0,#8
    dis    i
    in    a,p2
    orl    a,#0cfh
    mov    r1,a
    orl    p2,#30h
    mov    r2,#0efh
    mov    a,r6
    jnz    X04aa
    mov    a,r7
    jnz    X04dd
    in    a,p2
    jb5    X04d8
    jmp    X04dd
;
X04aa:    xrl    a,#4
    jnz    X04dd
    mov    r2,#0dfh
    mov    a,r7
    jz    X04c2
    xrl    a,#1
    jnz    X04dd
    orl    p1,#40h
    in    a,p1
    anl    p1,#0bfh
    anl    a,#40h
    jnz    X04d8
    jmp    X04dd
;
X04c2:    mov    r2,#0ffh
    mov    a,@r0
    xrl    a,#1ah
    jnz    X04d6
    mov    a,r5
    jnz    X04d6
    mov    a,r4
    xrl    a,#80h
    jnz    X04d6
    in    a,p2
    jb5    X04d8
    jmp    X04dd
;
X04d6:    mov    r2,#0cfh
X04d8:    mov    a,r2
    mov    r1,a
    clr    f1
    jmp    X04e3
;
X04dd:    clr    f1
    cpl    f1
    mov    r0,#0fbh
    mov    @r0,#4
X04e3:    in    a,p2
    anl    a,r1
    orl    a,#0c0h
    outl    p2,a
    en    i
    mov    r0,#83h
X04eb:    djnz    r0,X04eb
    sel    mb0
    jmp    X0300
;
    org    500h
;
;    FORMAT
;
X0500:    anl    p1,#0b7h
    sel    mb0
    call    X0200
    sel    mb0
    anl    p2,#0f7h
    anl    p1,#0efh
    mov    r0,#83h
X050c:    djnz    r0,X050c
    orl    p1,#10h
    mov    r0,#83h
X0512:    djnz    r0,X0512
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0d0h
    movx    @r0,a
    mov    r0,#33h
X051d:    djnz    r0,X051d
    clr    a
    mov    @r0,a
    dec    r0
    mov    @r0,a
    cpl    a
    dec    r0
    mov    @r0,a
    dec    r0
    mov    @r0,a
    mov    r0,#0fbh
    mov    @r0,#4
    clr    f1
X052d:    anl    p2,#0f7h
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0
    movx    @r0,a
    mov    r0,#0c2h
    clr    a
    mov    t,a
    strt    t
X053b:    jtf    X0555
X053d:    in    a,p1
    anl    a,#4
    jz    X053b
    stop    tcnt
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    anl    p1,#0dch
    orl    p1,#1
    clr    a
    movx    @r0,a
    mov    r2,a
    mov    r0,#83h
X0551:    djnz    r0,X0551
    jmp    X056b
;
X0555:    djnz    r0,X053d
X0557:    stop    tcnt
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0d0h
    movx    @r0,a
    mov    r0,#33h
X0561:    djnz    r0,X0561
    clr    f1
    cpl    f1
    mov    a,#0ffh
    mov    r0,a
    sel    mb0
    jmp    X0300
;
X056b:    anl    p1,#0dch
    orl    p1,#3
    mov    a,r2
    movx    @r0,a
    anl    p2,#0f7h
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#10h
    movx    @r0,a
    clr    a
    mov    t,a
    jtf    X057e
X057e:    mov    r0,#40h
X0580:    jtf    X058f
X0582:    in    a,p1
    anl    a,#4
    jz    X0580
    stop    tcnt
    anl    p1,#0dch
    orl    p1,#20h
    movx    @r0,a
    jmp    X0593
;
X058f:    djnz    r0,X0582
    jmp    X0557
;
X0593:    mov    r4,#10h
    mov    r5,#0f8h
    mov    a,r4
    mov    r0,a
    add    a,#7fh
    mov    r6,a
    mov    r1,a
X059d:    mov    @r1,#0
    dec    r1
    mov    a,r1
    jb7    X059d
    mov    a,r6
    jmp    X05ab
;
X05a6:    mov    a,r1
    add    a,r5
X05a8:    jb7    X05ab
    add    a,r4
X05ab:    mov    r1,a
    mov    a,@r1
    jz    X05b3
    dec    r1
    mov    a,r1
    jmp    X05a8
;
X05b3:    mov    a,r0
    cpl    a
    add    a,r4
    add    a,#2
    mov    @r1,a
    djnz    r0,X05a6
    mov    a,r6
    mov    r1,a
    jmp    X0600
;
    org    600h
;
X0600:    jf1    X0623
    mov    a,r2
    add    a,#0d8h
    mov    a,#0f4h
    jnc    X060b
    mov    a,#0f6h
X060b:    anl    p1,#0dch
    orl    p1,#0
    movx    @r0,a
    anl    p1,#0dch
    orl    p1,#3
    clr    a
    mov    t,a
    jtf    X0618
X0618:    mov    a,#40h
    mov    a,#4eh
    mov    r0,#3bh
    mov    r4,#40h
    strt    t
    jmp    X0702
;
X0623:    stop    tcnt
    clr    a
    mov    t,a
    mov    r0,#0
    mov    r4,#40h
    anl    p1,#0dch
    orl    p1,#1
    mov    a,r2
    movx    @r0,a
    anl    p1,#0dch
    orl    p1,#2
    mov    a,@r1
    dec    r1
    movx    @r0,a
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#80h
    movx    @r0,a
    anl    p1,#0dch
    orl    p1,#23h
    strt    t
X0643:    jtf    X0666
X0645:    jnt1    X0643
    jnt1    X0643
X0649:    movx    a,@r0
    djnz    r0,X0645
    clr    a
    mov    t,a
    jtf    X0650
X0650:    jtf    X066c
    in    a,p1
    anl    a,#4
    jz    X0650
    stop    tcnt
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    anl    a,#3ch
    jnz    X066c
    mov    a,r1
    jb7    X0623
    jmp    X066e
;
X0666:    jnt1    X066a
    jt1    X0649
X066a:    djnz    r4,X0645
X066c:    jmp    X0557
;
X066e:    inc    r2
    mov    a,r2
    xrl    a,#50h
    jz    X0676
    jmp    X056b
;
X0676:    jf1    X067b
    cpl    f1
    jmp    X052d
;
X067b:    stop    tcnt
    clr    f1
    mov    a,#7fh
    mov    r0,a
    mov    @r0,#0ffh
    dec    r0
    mov    @r0,#0ffh
    inc    r0
    sel    mb0
    jmp    X0300
;
    org    700h
;
X0700:    jtf    X07c4
X0702:    jnt1    X0700
    jnt1    X0700
X0706:    movx    @r0,a
    djnz    r0,X0702
    mov    t,a
    jtf    X070c
X070c:    jt1    X0712
X070e:    jtf    X07c2
    jnt1    X070e
X0712:    movx    @r0,a
X0713:    mov    r0,#0ch
    clr    a
    jt1    X071c
X0718:    jtf    X07c2
X071a:    jnt1    X0718
X071c:    movx    @r0,a
    djnz    r0,X071a
    mov    a,#0f5h
    jt1    X0727
X0723:    jtf    X07c2
    jnt1    X0723
X0727:    movx    @r0,a
    mov    r0,#2
X072a:    jtf    X07c2
X072c:    jnt1    X072a
    movx    @r0,a
    djnz    r0,X072c
    mov    a,#0feh
    jt1    X0739
X0735:    jtf    X07c2
    jnt1    X0735
X0739:    movx    @r0,a
    mov    a,r2
X073b:    jtf    X07c2
    jnt1    X073b
    movx    @r0,a
    mov    a,#1
X0742:    jtf    X07c2
    jnt1    X0742
    movx    @r0,a
    mov    a,@r1
    dec    r1
X0749:    jtf    X07c2
    jnt1    X0749
    movx    @r0,a
    mov    a,#1
X0750:    jtf    X07c2
    jnt1    X0750
    movx    @r0,a
    mov    a,#0f7h
X0757:    jtf    X07c2
    jnt1    X0757
    movx    @r0,a
    mov    r0,#16h
    mov    a,#4eh
X0760:    jtf    X07c2
X0762:    jnt1    X0760
    movx    @r0,a
    djnz    r0,X0762
    mov    r0,#0ch
    clr    a
    mov    t,a
X076b:    jtf    X07c2
X076d:    jnt1    X076b
    movx    @r0,a
    djnz    r0,X076d
    mov    a,#0f5h
    jt1    X077a
X0776:    jtf    X07c2
    jnt1    X0776
X077a:    movx    @r0,a
    mov    r0,#2
X077d:    jtf    X07c2
X077f:    jnt1    X077d
    movx    @r0,a
    djnz    r0,X077f
    mov    a,#0fbh
    jt1    X078c
X0788:    jtf    X07c2
    jnt1    X0788
X078c:    movx    @r0,a
    mov    r0,#0
    mov    a,#0ffh
X0791:    jtf    X07c2
X0793:    jnt1    X0791
    movx    @r0,a
    djnz    r0,X0793
    mov    a,#0f7h
X079a:    jtf    X07c2
    jnt1    X079a
    movx    @r0,a
    mov    r0,#18h
    mov    a,#4eh
X07a3:    jtf    X07c2
X07a5:    jnt1    X07a3
    movx    @r0,a
    djnz    r0,X07a5
    mov    a,r1
    jb7    X0713
    mov    r0,#40h
X07af:    mov    a,#4eh
    jnt1    X07b4
    movx    @r0,a
X07b4:    in    a,p1
    jb2    X07dc
    mov    a,#4eh
    jnt1    X07bc
    movx    @r0,a
X07bc:    jtf    X07c0
    jmp    X07af
;
X07c0:    djnz    r0,X07af
X07c2:    jmp    X0557
;
X07c4:    jnt1    X07c8
    jt1    X0706
X07c8:    djnz    r4,X0702
    in    a,p1
    cpl    a
    jb2    X07da
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    cpl    a
    jb6    X07da
    mov    r0,#0fbh
    mov    @r0,#0ch
X07da:    jmp    X0557
;
X07dc:    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    anl    a,#44h
    jnz    X07da
    jmp    X066e
;
    org    800h
;
X0800:    mov    a,r0
    mov    r0,#0f5h
    mov    @r0,a
    dec    r0
    mov    a,r1
    mov    @r0,a
    dec    r0
    mov    a,r2
    mov    @r0,a
    dec    r0
    mov    a,r3
    mov    @r0,a
    dec    r0
    mov    a,r4
    mov    @r0,a
    dec    r0
    mov    a,r5
    mov    @r0,a
    mov    r0,#0f8h
    mov    a,@r0
    dec    r0
    xrl    a,#72h
    jnz    X0827
    mov    a,@r0
    mov    r0,a
    add    a,#0b0h
    jc    X0857
    anl    p1,#0bfh
    mov    a,#0f7h
    jmp    X084b
;
X0827:    mov    a,@r0
    add    a,#0ffh
    mov    r2,a
    dec    r0
    mov    a,@r0
    addc    a,#0ffh
    mov    r3,a
    mov    r1,#0f0h
    mov    r4,#0
    mov    r5,#0fbh
    mov    a,r2
    add    a,r4
    mov    a,r3
    addc    a,r5
    jc    X0857
    mov    r0,#0ffh
    mov    a,r2
    inc    r3
X0840:    inc    r0
    add    a,r1
    jc    X0840
    djnz    r3,X0840
    xch    a,r1
    cpl    a
    inc    a
    add    a,r1
    inc    a
X084b:    anl    p1,#0dch
    orl    p1,#2
    movx    @r0,a
    anl    p1,#0dch
    orl    p1,#3
    mov    a,r0
    movx    @r0,a
    clr    c
X0857:    mov    r0,#0f0h
    mov    a,@r0
    mov    r5,a
    inc    r0
    mov    a,@r0
    mov    r4,a
    inc    r0
    mov    a,@r0
    mov    r3,a
    inc    r0
    mov    a,@r0
    mov    r2,a
    inc    r0
    mov    a,@r0
    mov    r1,a
    inc    r0
    mov    a,@r0
    mov    r0,a
    mov    a,psw
    jb0    X0875
    jb1    X0872
    sel    mb1
    jmp    X091d
;
X0872:    sel    mb1
    jmp    X0ac8
;
X0875:    sel    mb1
    jmp    X091d
;
    org    900h
;
X0900:    in    a,p1
    anl    a,#10h
    jnz    X0916
    orl    p1,#10h
    mov    r6,#83h
X0909:    djnz    r6,X0909
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0d0h
    movx    @r0,a
    mov    r6,#33h
X0914:    djnz    r6,X0914
X0916:    mov    a,psw
    anl    a,#0fch
    mov    psw,a
    sel    mb1
    jmp    X0800
;
X091d:    anl    p1,#0f7h
    jnc    X0924
    sel    mb0
    jmp    X0168
;
X0924:    sel    mb0
    call    X0200
    sel    mb1
    in    a,p2
    anl    a,#7
    xrl    a,#1
    jz    X0959
    clr    a
    mov    r0,#0ffh
X0932:    mov    @r0,a
    djnz    r0,X0932
    mov    r0,#7fh
    mov    a,psw
    orl    a,#1
    mov    psw,a
    in    a,p2
    jb5    X0956
    anl    p1,#0dch
    orl    p1,#23h
    movx    a,@r0
    jnz    X0954
    anl    p1,#0dch
    orl    p1,#22h
    movx    a,@r0
    add    a,#0fch
    jc    X0954
    mov    a,psw
    anl    a,#0feh
    mov    psw,a
    jmp    X0956
;
X0954:    mov    r0,#0ffh
X0956:    sel    mb0
    jmp    X022b
;
X0959:    clr    f1
    in    a,p2
    anl    a,#8
    jz    X0961
    jmp    X0b00
;
X0961:    anl    p1,#0dch
    orl    p1,#23h
X0965:    movx    a,@r0
    mov    r0,a
    mov    a,psw
    xrl    a,r0
    anl    a,#0f8h
    xrl    a,r0
    mov    psw,a
    mov    a,r0
    rl    a
    rl    a
    mov    r0,a
    anl    p1,#0dch
    orl    p1,#22h
    movx    a,@r0
    xrl    a,#0f7h
    jz    X097c
    xrl    a,#0f7h
X097c:    xrl    a,r0
    anl    a,#1fh
    xrl    a,r0
    anl    p2,#0f7h
    anl    p1,#0efh
    mov    r0,#83h
X0986:    djnz    r0,X0986
    orl    p1,#10h
    mov    r0,#83h
X098c:    djnz    r0,X098c
    mov    r0,a
    mov    a,#0d0h
    movx    @r0,a
    mov    a,r0
    mov    r0,#33h
X0995:    djnz    r0,X0995
    mov    r0,a
    anl    a,#1fh
    jnz    X099e
    mov    a,#0f7h
X099e:    anl    p1,#0dch
    orl    p1,#2
    movx    @r0,a
    mov    a,#0
    anl    p1,#0dch
    orl    p1,#0
    movx    @r0,a
    mov    a,t
    xch    a,r0
    rr    a
    rr    a
    rr    a
    rr    a
    rr    a
    anl    a,#7
    jmp    X0a00
;
    org    0a00h
;
X0a00:    mov    t,a
    strt    t
X0a02:    jtf    X0a06
    jmp    X0a02
;
X0a06:    jtf    X0a0a
    jmp    X0a06
;
X0a0a:    jtf    X0a0e
    jmp    X0a0a
;
X0a0e:    jtf    X0a12
    jmp    X0a0e
;
X0a12:    jtf    X0a16
    jmp    X0a12
;
X0a16:    jtf    X0a1a
    jmp    X0a16
;
X0a1a:    jtf    X0a1e
    jmp    X0a1a
;
X0a1e:    stop    tcnt
    mov    t,a
    in    a,p1
    jb2    X0a46
    mov    a,t
    add    a,#8
    jnc    X0a00
    rl    a
    rl    a
    rl    a
    anl    a,#38h
    xch    a,r0
    mov    t,a
    mov    a,#0d0h
    anl    p1,#0dch
    orl    p1,#0
    movx    @r0,a
    mov    a,psw
    xrl    a,r0
    anl    a,#7
    xrl    a,r0
    mov    r0,#33h
X0a3d:    djnz    r0,X0a3d
    anl    p1,#0dch
    orl    p1,#1
    movx    @r0,a
    jmp    X0c99
;
X0a46:    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    jmp    X0acf
;
    anl    p1,#0f7h
    mov    a,r0
    mov    r0,#83h
X0a52:    djnz    r0,X0a52
    mov    r0,a
    mov    a,#0c4h
    anl    p1,#0dch
    orl    p1,#0
    movx    @r0,a
    clr    a
    mov    t,a
    mov    a,#10h
    jtf    X0a62
X0a62:    strt    t
    anl    p1,#0dch
    orl    p1,#23h
X0a67:    jtf    X0a9e
X0a69:    jnt1    X0a67
    jnt1    X0a67
X0a6d:    movx    a,@r0
    clr    a
    mov    t,a
    jtf    X0a72
X0a72:    jt1    X0a78
X0a74:    jtf    X0aa9
    jnt1    X0a74
X0a78:    movx    a,@r0
X0a79:    jtf    X0aa9
    jnt1    X0a79
    movx    a,@r0
X0a7e:    jtf    X0aa9
    jnt1    X0a7e
    movx    a,@r0
X0a83:    jtf    X0aa9
    jnt1    X0a83
    movx    a,@r0
X0a88:    jtf    X0aa9
    jnt1    X0a88
    movx    a,@r0
X0a8d:    jtf    X0aa9
    in    a,p1
    cpl    a
    jb2    X0a8d
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    anl    a,#1ch
    jnz    X0aa9
    jmp    X0abc
;
X0a9e:    jnt1    X0aa2
    jt1    X0a6d
X0aa2:    dec    a
    jnt1    X0aa7
    jt1    X0a6d
X0aa7:    jnz    X0a69
X0aa9:    mov    a,#0d0h
    anl    p1,#0dch
    orl    p1,#0
    movx    @r0,a
    mov    a,r0
    mov    r0,#33h
X0ab3:    djnz    r0,X0ab3
    orl    p1,#8
    mov    r0,#83h
X0ab9:    djnz    r0,X0ab9
    mov    r0,a
X0abc:    stop    tcnt
    mov    a,r0
    mov    t,a
    mov    a,psw
    anl    a,#0fch
    orl    a,#2
    mov    psw,a
    sel    mb1
    jmp    X0800
;
X0ac8:    en    i
    jnc    X0ae1
    clr    f1
    cpl    f1
    jmp    X0c99
;
X0acf:    mov    a,t
    rl    a
    rl    a
    rl    a
    anl    a,#38h
    xch    a,r0
    mov    t,a
    mov    a,psw
    xrl    a,r0
    anl    a,#7
    xrl    a,r0
    anl    p1,#0dch
    orl    p1,#3
    movx    @r0,a
X0ae1:    clr    a
    anl    p1,#0dch
    orl    p1,#1
    movx    @r0,a
    jmp    X0b00
;
    org    0b00h
;
X0b00:    anl    p1,#0dch
    orl    p1,#21h
    movx    a,@r0
    mov    r0,a
    anl    p1,#0dch
    orl    p1,#23h
    movx    a,@r0
    xrl    a,r0
    jnz    X0b12
    mov    a,t
    mov    r0,a
    jmp    X0b77
;
X0b12:    anl    p2,#0f7h
    mov    a,#10h
    anl    p1,#0dch
    orl    p1,#0
    movx    @r0,a
    mov    a,t
    mov    r0,a
    clr    a
    mov    t,a
    mov    a,psw
    anl    a,#3fh
    orl    a,#7
    strt    t
X0b25:    mov    psw,a
X0b26:    jtf    X0b2d
    in    a,p1
    jb2    X0b72
    jmp    X0b26
;
X0b2d:    jtf    X0b34
    in    a,p1
    jb2    X0b72
    jmp    X0b2d
;
X0b34:    jtf    X0b3b
    in    a,p1
    jb2    X0b72
    jmp    X0b34
;
X0b3b:    jtf    X0b42
    in    a,p1
    jb2    X0b72
    jmp    X0b3b
;
X0b42:    jtf    X0b49
    in    a,p1
    jb2    X0b72
    jmp    X0b42
;
X0b49:    jtf    X0b50
    in    a,p1
    jb2    X0b72
    jmp    X0b49
;
X0b50:    mov    a,psw
    dec    a
    jb3    X0b25
    add    a,#48h
    jnc    X0b25
    stop    tcnt
    mov    a,r0
    mov    t,a
    mov    a,#0d0h
    anl    p1,#0dch
    orl    p1,#0
    movx    @r0,a
    mov    r0,#33h
X0b64:    djnz    r0,X0b64
    anl    p1,#0dch
    orl    p1,#23h
    movx    a,@r0
    anl    p1,#0dch
    orl    p1,#1
    movx    @r0,a
    jmp    X0c99
;
X0b72:    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
X0b77:    orl    p2,#8
    mov    a,psw
    anl    a,#0f8h
    orl    a,#2
    jmp    X0c00
;
    org    0c00h
;
X0c00:    mov    psw,a
    stop    tcnt
    jtf    X0c04
X0c04:    clr    a
    mov    t,a
    in    a,p2
    anl    a,#7
    xrl    a,#1
    jz    X0c0f
    jmp    X0d00
;
X0c0f:    mov    r1,#0ffh
    mov    a,r1
    mov    r0,a
    dec    r0
    mov    r2,#95h
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#80h
    movx    @r0,a
    anl    p1,#0dch
    orl    p1,#23h
X0c21:    jtf    X0c73
X0c23:    jnt1    X0c21
    jnt1    X0c21
X0c27:    movx    a,@r0
    cpl    a
    mov    @r1,a
    clr    a
    mov    t,a
    jtf    X0c2e
X0c2e:    jt1    X0c34
X0c30:    jtf    X0c87
X0c32:    jnt1    X0c30
X0c34:    movx    a,@r0
    cpl    a
    mov    @r0,a
    djnz    r0,X0c32
X0c39:    jtf    X0c87
    jnt1    X0c39
    movx    a,@r0
    cpl    a
    mov    r0,a
X0c40:    jtf    X0c87
    in    a,p1
    anl    a,#4
    jz    X0c40
    stop    tcnt
    mov    a,r0
    mov    t,a
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    mov    r0,a
    anl    p1,#0dch
    orl    p1,#21h
    movx    a,@r0
    jnz    X0c64
    anl    p1,#0dch
    orl    p1,#22h
    movx    a,@r0
    add    a,#0fch
    jc    X0c64
    mov    a,r0
    anl    a,#0fbh
    mov    r0,a
X0c64:    in    a,p2
    rl    a
    rl    a
    anl    a,#80h
    dec    a
    xch    a,r0
    anl    a,#3ch
    jnz    X0c93
    clr    f1
    sel    mb0
    jmp    X0300
;
X0c73:    jnt1    X0c77
    jt1    X0c27
X0c77:    djnz    r2,X0c23
    stop    tcnt
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0d0h
    movx    @r0,a
    mov    r0,#33h
X0c83:    djnz    r0,X0c83
    jmp    X0c99
;
X0c87:    stop    tcnt
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0d0h
    movx    @r0,a
    mov    r0,#33h
X0c91:    djnz    r0,X0c91
X0c93:    mov    a,t
    mov    r0,a
    mov    a,psw
    dec    a
    jb3    X0c00
X0c99:    jf1    X0ca2
    cpl    f1
    anl    p1,#0dch
    orl    p1,#21h
    jmp    X0965
;
X0ca2:    mov    r0,#0fbh
    mov    @r0,#4
    mov    r0,#0
    in    a,p2
    anl    a,#7
    xrl    a,#1
    jnz    X0cb6
    in    a,p2
    rl    a
    rl    a
    anl    a,#80h
    dec    a
    mov    r0,a
X0cb6:    sel    mb0
    jmp    X0300
;
    org    0d00h
;
X0d00:    clr    a
    dec    a
    xch    a,r0
    xch    a,@r0
    cpl    a
    mov    r0,a
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0a2h
    movx    @r0,a
    anl    p1,#0dch
    orl    p1,#3
    mov    a,r0
    mov    r0,#95h
    strt    t
X0d15:    jtf    X0d54
X0d17:    jnt1    X0d15
    jnt1    X0d15
X0d1b:    movx    @r0,a
    cpl    a
    xch    a,r0
    clr    a
    mov    t,a
    jtf    X0d22
X0d22:    clr    a
    dec    a
    xch    a,r0
    xch    a,@r0
    dec    r0
X0d27:    xch    a,@r0
    cpl    a
    jt1    X0d2f
X0d2b:    jtf    X0d7f
    jnt1    X0d2b
X0d2f:    movx    @r0,a
    cpl    a
    xch    a,@r0
    djnz    r0,X0d27
    mov    r0,a
    cpl    a
    jt1    X0d3c
X0d38:    jtf    X0d82
    jnt1    X0d38
X0d3c:    movx    @r0,a
X0d3d:    jtf    X0d82
    in    a,p1
    anl    a,#4
    jz    X0d3d
    stop    tcnt
    mov    a,r0
    mov    t,a
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    jb6    X0d9e
    anl    a,#14h
    jz    X0da9
    jmp    X0c93
;
X0d54:    jnt1    X0d58
    jt1    X0d1b
X0d58:    djnz    r0,X0d17
    stop    tcnt
    cpl    a
    mov    r0,a
    in    a,p2
    rl    a
    rl    a
    anl    a,#80h
    dec    a
    xch    a,r0
    xch    a,@r0
    mov    t,a
    in    a,p1
    anl    a,#4
    jz    X0d72
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    jb6    X0d9e
X0d72:    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0d0h
    movx    @r0,a
    mov    r0,#33h
X0d7b:    djnz    r0,X0d7b
    jmp    X0c99
;
X0d7f:    cpl    a
    xch    a,@r0
    mov    r0,a
X0d82:    stop    tcnt
    mov    a,r0
    mov    t,a
    in    a,p1
    anl    a,#4
    jz    X0d91
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    jb6    X0d9e
X0d91:    anl    p1,#0dch
    orl    p1,#0
    mov    a,#0d0h
    movx    @r0,a
    mov    r0,#33h
X0d9a:    djnz    r0,X0d9a
    jmp    X0c93
;
X0d9e:    mov    r0,#0fbh
    mov    @r0,#0ch
    mov    r0,#0
    clr    f1
    cpl    f1
    sel    mb0
    jmp    X0300
;
X0da9:    jmp    X0e00
;
    org    0e00h
;
X0e00:    in    a,p2
    anl    a,#7
    xrl    a,#3
    jnz    X0e6d
    clr    a
    mov    r0,a
    dec    r0
    rlc    a
    mov    a,t
    cpl    a
    xch    a,@r0
    cpl    a
    dec    r0
X0e10:    xch    a,@r0
    cpl    a
    inc    r0
    xch    a,@r0
    dec    r0
    xch    a,@r0
    djnz    r0,X0e10
    mov    r0,a
    stop    tcnt
    jtf    X0e1c
X0e1c:    clr    a
    mov    t,a
    anl    p1,#0dch
    orl    p1,#0
    mov    a,#80h
    movx    @r0,a
    anl    p1,#0dch
    orl    p1,#23h
    strt    t
    mov    a,#40h
X0e2c:    jtf    X0e73
X0e2e:    jnt1    X0e2c
    jnt1    X0e2c
X0e32:    movx    a,@r0
    xrl    a,r0
    jnz    X0e7e
    mov    r0,a
    jt1    X0e40
X0e39:    inc    a
    jt1    X0e40
    jz    X0e7e
    jnt1    X0e39
X0e40:    movx    a,@r0
    xch    a,r0
    rrc    a
    dec    a
    xch    a,r0
    xrl    a,@r0
    jnz    X0e7e
    dec    r0
X0e49:    jt1    X0e52
X0e4b:    inc    a
    jt1    X0e52
    jz    X0e7e
    jnt1    X0e4b
X0e52:    movx    a,@r0
    xrl    a,@r0
    jnz    X0e7e
    djnz    r0,X0e49
    clr    a
    mov    t,a
    jtf    X0e5c
X0e5c:    jtf    X0e7e
    in    a,p1
    anl    a,#4
    jz    X0e5c
    stop    tcnt
    anl    p1,#0dch
    orl    p1,#20h
    movx    a,@r0
    anl    a,#3ch
    jnz    X0e7e
X0e6d:    clr    f1
    mov    r0,#0
    sel    mb0
    jmp    X0300
;
X0e73:    jnt1    X0e77
    jt1    X0e32
X0e77:    dec    a
    jnt1    X0e7c
    jt1    X0e32
X0e7c:    jnz    X0e2e
X0e7e:    stop    tcnt
    mov    a,#0d0h
    anl    p1,#0dch
    orl    p1,#0
    movx    @r0,a
    mov    r0,#33h
X0e88:    djnz    r0,X0e88
    clr    f1
    cpl    f1
    jmp    X0c99
;
    end
;
 

zdroj informácií :  atarimusem.com, atariage.com

____________________________________________________________

Vaše hodnotenie, Rate post:

07_2016 Blog, Notes.

By Administrator at júla 04, 2016 12:35
Filed Under: Blog

04.07.2016

Do pôvodného kratučkého článku o disketovej jednotke Atari SF351 som pridal zásadné informácie a aj pár fotografií. Robot retropolis.cz to nezobral a tak ak chcem aby sa to tam objavilo musím z toho urobiť samostatný článok, zjavne robotovi "nevoňal" dátum vzniku pôvodného článku. Čo už, takto budem mať o jeden článok viac ... kto to stihol čítať v jednom článku tak samu ospravedlňujem, technika a hlavne software zase raz víťazí.

http://blog.3b2.sk/igi/post/ATARI-floppy-disk-drive-XF351-part2.aspx

_____________________________________________________

07.07.2016

Tak nám to v EÚ zase rozdr..bali, zjavne sa už oklepali - na rade sú kosačky.
Škoda že nie sú na rade blbí politici.

_____________________________________________________

10.07.2016

Retropolis ma už pár dní mimoriadne úspešne ignoruje, čo už s tým. Na dnes som nachystal zmesku vecí z časpisu Funkamateur, čo boli naši bývalí "dederóni":


Časopis Funkamateur a Atari a iné 8 bitové "dobroty".

 

Schéma počítača Commodore 64, ako si z tlačiarne urobiť skener, ROM (EPROM) rozšírenie pre ZX Spectrum, rozhranie Centronics pre ZX Spectrum, "Lichtstift" - svetelné pero pre Atari, čítanie Atari textov na Z1013, kopírovací program pre Atari, hodiny cez VBI pre Atari, rozhranie V24 pre ZX Spectrum, ako si urobiť Centronics pre Atari, rozšírenie RAM pre AMIGA 500, ako si urobiť skener z Atari, proste zmeska ako sa patrí.

http://blog.3b2.sk/igi/post/Funkamateur.aspx

______________________________________________________

14.07.2016


Poznáte projekt Monster 6502 ? Procesor 6502 postavený na diskrétnych súčiastkách ...

 

 

Podrobnosti čítajte tu:

http://monster6502.com/

 

Layer circuit board = 12 × 15 inches, teda 30.48cm x 38.1cm.

Slušný drobček.

Ostatné parametre sú uvedené priamo v zdroji.

_________________

Rádio Jerevan hlási:

v Moskve rozdávali auta.

- akurát to nebolo v Moskve ale v Leningrade

- neboli to autá, ale bicykle a nerozdávali ich, ale ukradli ..

___________________________________________________________

15.07.2016

V pôvodnom článku k výročiu procesoru 6502 popisujem že tento mikroprocesor bol začiatkom 70-tych rokov použitý v kasíne k uhádnutiu výhry. Bol zabudovaný v topánke. Podarilo sa  mi nájsť nejaké ďalšie podrobnosti, sú priamo v pôvodnom článku:

http://blog.3b2.sk/igi/post/1975-MOS-6502.aspx

____________________________________________________

17.07.2016

A pekne-krásne je tu zase jedno ešte nespomínané riešenie úpravy hardvéru pre disketovú jednotku ATARI 1050 - SUPERMAX (a je skutočne minimalistické):

http://blog.3b2.sk/igi/post/SUPERMAX-ULTIMATEII-FD-ATARI-1050.aspx

____________________________________________________

Vaše hodnotenie, Rate post:

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: