OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 10.09.2024, 16:17

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 101 ]  Přejít na stránku Předchozí  1 ... 3, 4, 5, 6, 7
Autor Zpráva
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 02.09.2024, 10:25 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3861
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 296 times
mhi, to víš že penízky vrátili, ale musel jsem trochu bojovat :D

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 03.09.2024, 14:37 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 303
Has thanked: 8 times
Been thanked: 54 times
Udelal jsem takovy minimalisticky tester Z80, trosku lepsi nez NOP tester, vlastne jde o generator hodin + Z80 + 64k EPROM + LEDka pichnuta na A15 (RAM tam chybi).

Rad bych tam udelal detekci CMOS Z80, ktera probiha pres opkod ED71 (CMOS verze na port outne 0xff, NMOS tam hodi 0x00). Na tohle potrebuju udelat cteni z portu, tenhle "pocitac" (to neni jen tester v mem stylu) tam ma registr ktery si zpetne precte: https://8bit-museum.de/hardware-projekt ... pu-tester/ . Otazka je jak tohle co nejjednoduseji udelat, moje myslenka byla zapojit Z80.INT#=NAND(NOT (Z80.IORQ#) , Z80.D0 ); tim by se mi vyvolal interrupt jen kdyz by se zapisovala 1 (pripadne to nejak otocit jak se bude hodit). No, ale to chce NEG/NAND, nebo 2xNAND, moc drahe na zapojeni. Treba ma nekdo napad na lepsi cestu?

Jedine co mne napadlo je napr. na D0 hodit kondenzator (nekde v okoli pod 1nF, odhadem), ktery by se nabil/vybil dle hodnoty pri zapisu na port, a soucasne bych spojil IORQ s INT; takze kdyz by probehl ten zapis, vyrobil by se INT, v IM2 by potom pri INTACKu nacetla Z80 vektor (z nabiteho kondiku), ktery by byl bud lichy, nebo sudy, podle toho by se rozhodlo CMOS/NMOS. Pri normalnim provozu (ehm, testovani) by se EPROMka musela neustale s tim kondenzatorem "prat".

Treba ma ale nekdo lepsi napad bez zbytecneho zeslozitovani toho testeru ? Nebo je nejaka jina cesta jak detekovat CMOS Z80 ?

Pro mne to je mentalni cviceni, prosim nereagujte zpravami typu proc to neudelas v ZX Spectru nebo proc si tam nedas 7474 apod.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 03.09.2024, 22:33 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3861
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 296 times
A co Ti vadí na tom registru ? stejně tam potřebuješ pár LED, aby jsi věděl, co to dělá.
A nemusíš to mít tak hovadsky, úplně stačí 4 LED a 74HCT175.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 04.09.2024, 11:58 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 303
Has thanked: 8 times
Been thanked: 54 times
LEDku mam navesenou na A15, kod je postaveny tak, aby to pri chybe skocilo do horni pulky a snazilo se to z ni uz nevyskocit. V horni pulce je i kod, kterym blikam.

Na registru mi vadi to, ze to je principielne zbytecna soucastka navic (a ne jen jedna, potrebuju OE# na zpetne cteni), a uz by to nebylo tak hovadske reseni ;).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 04.09.2024, 12:36 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3798
Bydliště: Bratislava
Has thanked: 375 times
Been thanked: 811 times
mhi píše:
...nebo proc si tam nedas 7474 apod.
No to som ti prave chcel navrhnut :)
Ziadne spetne citanie nepotrebujes, CLK zavesene na IORQ, D na D0 a LEDka na Q. OUT tam zapise udaj a ledka sa rozsvieti podla toho ci tam bola zapisana 0 alebo 1.
A pripadne ostatne vlastnosti nebudes indikovat skokom do hornych 32kB ale zapisom 0 alebo 1 na port.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 04.09.2024, 13:12 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 303
Has thanked: 8 times
Been thanked: 54 times
?Ziadne spetne citanie nepotrebujes?

jak potom zjistim, jestli mam CMOS nebo NMOS ? Musim provest ED71 a jeho vysledek zjistim jen tim, co se OUtnulo (CMOS/NMOS nechci indikovat LEDkou).

Pokud jde o ty rozeskoky, rekl bych ze indikace chyby pres port je hodne osemetna - zejmena kdyz neumim zarucit to, ze procesor dokaze spravne udrzet PC registr. Jeste bych tam asi mel udelat navic HALT a na nej dat LEDku, to bude taky jistejsi a je to v duchu jednoduchosti navrhu.

Dodatecna otazka, nemate nekdo v supliku nejake vadne procesory, ktere by byly jen nestabilni na nejake frekvenci? Tech par kusu co mam bud funguje 100%, nebo se ani nerozjede, ze by hodily chybu po nejake dobe se mi zatim nestalo.

To, ze by procesor padnul treba za 10 vterin se mi ale stavalo u SPU-800.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 04.09.2024, 14:25 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3798
Bydliště: Bratislava
Has thanked: 375 times
Been thanked: 811 times
mhi píše:
CMOS/NMOS nechci indikovat LEDkou
Pisal si ze chces mat LEDku na A15 ktorou to chces indikovat. Tak ma iba napadlo, ze naco zbytocne komplikovat cely test spetnymi citanim portu a skakanim do hornych 32k ked sa ta indikacna LEDka moze zapinat priamo hodnotou poslanou na port.
Tento sposob bude spolahlivejsi aj v pripade ze procesor nevie udrzat PC register (napr. neskoci do hornych 32k hoci by mal).


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 04.09.2024, 14:48 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 303
Has thanked: 8 times
Been thanked: 54 times
aha, jde o dve veci, zpetne cteni je na detekci CMOS/NMOS.

S tou spolehlivosti to je pravda, udelat tam vzdy nejaky blok out/jp/halt by bylo asi lepsi. Moje snaha je to udelat tak, aby predchozi vypocty navazovaly na soucasne, takze by se pravdepodobnost detekce chyby mela zvysit.

Zatim tam mam celkem 3-4 integrace: 7404 k oscilatoru, 7493 jako volitelnou delicku, Z80, EPROM. Pokud bych vymyslel oscilator vyzadujici jen dve inverze, tak muzu pouzit 7400, pulka by sla na ten oscilator v rezimu invertoru, a druha pulka na zpracovani "zpetneho cteni" OUT instrukce pres interrupt. Bohuzel se mi nepovedlo rozjet zadny oscilator na TTL s jednim invertorem napric krystalem.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 04.09.2024, 17:51 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3861
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 296 times
CMOS/NMOS nemusíš nějak testovat, to vidíš hned na odběru a na výstupních úrovních.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 04.09.2024, 23:41 
Offline
Radil

Registrován: 16.09.2022, 16:24
Příspěvky: 303
Has thanked: 8 times
Been thanked: 54 times
Tak jsem udelal rychly pokus, kupodivu to s NMOS Z80 i UB880D funguje dokonce bez kapacity (Z80 si prevezme jako vektor v IM2 posledni outovanou hodnotu z D[0..7] ;) - posilim D0 tedy trosku kapacitou, snad to pujde i na CMOSu).

init:
Kód:
   ld a,0x7C      ; base addr of inttable 0x7C00
   ld i,a
   di
   im 2


testkod na propoj mezi IORQ# a INT#:
Kód:
   ; test interrupts - 1 with 0 value
   ld hl, intexit      ; where to jump from interrupt
   ld a,0x0
   ei
   out (c),a              ; this should generate an interrupt
   di         ; we're here if interrupt did not happen
   jp shtf
intexit:
   di
   ld hl, shtf

   ; this does not work
   or a
   jp z, ok0
   jp shtf

ok0:

   ; interrupt test 2
   ld hl, intexit2      ; where to jump from interrupt
   ld a,0xff
   ei
   out (c),a              ; this should generate an interrupt
   di         ; we're here if interrupt did not happen
   jp shtf
intexit2:
   di
   ld hl, shtf

   ; test result
   or a
   jp nz, ok2
   jp shtf

ok2:


pouzivany inthandler:
Kód:
; interrupt handler
; sets A based on value of D0

   org 0x7778
   seek 0x7778

int_even:
   ld a,0xff
   jp (hl)

   org 0x7877
   seek 0x7877

int_odd:
   xor a
   jp (hl)

   org 0x7C00
   seek 0x7C00

   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78,0x77,0x78
   db 0x77



Nahoru
 Profil  
 
 Předmět příspěvku: Re: The Z80 will be discontinued
PříspěvekNapsal: 05.09.2024, 10:51 
Offline
Óm Nejvyšší

Registrován: 16.06.2014, 12:23
Příspěvky: 3861
Bydliště: Jesenice u Prahy
Has thanked: 28 times
Been thanked: 296 times
Na zpětné čtení nepotřebuješ /OE , stačí dát 1k z výstupu na vstup.

_________________
Diagnóza: Touretteův syndrom, Koprolálie, Dyslexie, Obsedantně kompulzivní porucha.
Kalkulačky: Privileg PR56, TI51-III, TI57, TI58, TI59, TI83, TI-83 Premium CE, TI89
Počítadla: BOBO64, ZX48 plus, DG-88, Didaktik-M, C16, C64C, Amiga 500+, MZ800, MUPID C2A2


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 101 ]  Přejít na stránku Předchozí  1 ... 3, 4, 5, 6, 7

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz