klon Atari 2600
Moderátor: Moderátoři
-
samec
- Příspěvky: 6976
- Registrován: 19 pro 2017, 00:00
klon Atari 2600
Jak zložité je poskladať emulator Atari 2600 a z čoho?
Z niečoho takého mám ten ROM čip
https://obrazki.elektroda.pl/5748260000_1716467363.jpg
https://obrazki.elektroda.pl/1443978500_1716467364.png
Na rovnakú adresnú a dátovú zbernicu sa pripájajú kartridže s hrami, takže dáta v tom čipe musia byť štandardné.
-
Mahoney
- Příspěvky: 759
- Registrován: 26 říj 2019, 00:00
-
samec
- Příspěvky: 6976
- Registrován: 19 pro 2017, 00:00
http://www.visual6502.org/JSSim/index.html
Má len 56 inštrukcií, 6 registrov (A, Y, X, PC, S a P) a vo verzii 6507 len 13 bitovú adresnú zbernicu a žiadné prerušenie.
To sa musí dať nahradiť dvoma, maximálne troma arduinami.
https://www.mdawson.net/vic20chrome/cpu ... y_1976.pdf
https://web.archive.org/web/20160329090 ... 2_riot.pdf
Ech, procesor, aj porty sú jednoduché, ale televízny čip sa ani neviem rozhodnúť, ktorý by som mal emulovať.
https://www.retrosix.wiki/tia-chip-atari-2600
Tak nič. Odkladám späť do šuflika.
-
Mahoney
- Příspěvky: 759
- Registrován: 26 říj 2019, 00:00
-
BOBOBO
- Příspěvky: 21065
- Registrován: 25 úno 2008, 00:00
- Bydliště: Rychnovsko
-
p32
- Příspěvky: 16457
- Registrován: 13 led 2007, 00:00
-
samec
- Příspěvky: 6976
- Registrován: 19 pro 2017, 00:00
Ja myslím, že by to šlo.
Arduino Pro MINI s procesorom Atmega328P, port D multiplexovaný medzi spodnú adresu cez dva obvody 7475 a dáta cez dva obvody 4066, port B pre hornú adresu a na porte C výstup hodín ϕ2, výstup R/W a vstup RDY. Hodinami ϕ2 by sa zároveň aktivovali spínače 4066 pre dáta, výstup R/W by bol zároveň trigerom pre 7475. Operačný kód inštrukcie načítaný cez port D by bol zároveň adresou vo flash ROM v Arduine, kde by bol kód pre vykonanie danej inštrukcie.
Napríklad kód pre inštrukciu NOP by bol na adrese (11)10 1010 1110 1010 b asi takto:
set ϕ2 to low (address phase)
set port D direction to output
write PCL variable to port D
set R/W to low
set R/W to high (trigger 7475 latches)
write PCH variable to port C
set port D direction to input
set ϕ2 to high (data phase)
wait for RDY input
read port D to ZL register
read port D to ZH register
set bit 13 of Z register high
indirect jump to address in Z register
Pri 16MHz Arduine by sa to do 1MHz emulácie mohlo stihnúť. Alebo je niečo, čo by takto nešlo stihnúť?
-
Mahoney
- Příspěvky: 759
- Registrován: 26 říj 2019, 00:00
Tohle je projekt, ktetý sr hodí nacpat spíš do nějakého CPLD než do hromady Arduin.
https://github.com/electrojustin/check-2600