forum speccy.pl

ZX Spectrum => WSPÓŁCZESNE KLONY => Wątek zaczęty przez: Lisitsin w 2014.12.15, 10:16:42

Tytuł: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.15, 10:16:42
Hello!
Sorry, can write only english (i am russian)
Gald to present you my own development - ZX Spectrum, based on AVR microcontrollers Atmel.
Device is fully compartable with all of ZX mashines.
Heare you can see:
https://www.youtube.com/watch?v=y4JQdIvJunI - Video, my presentation of device, but russian version
https://www.youtube.com/watch?v=xDgPE6_XmFs - Video, how it works
http://meandr.org/archives/21451 - more details
http://zx-pk.ru/showthread.php?t=23671 - Forum
https://dl.dropboxusercontent.com/u/12408899/V2_0%20support.zip - Technical information

Hope it will be intereresting for you. Please, comment heare. Answer you questions. To obtain device mail me.
Thank you !!!

Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: matofesi w 2014.12.15, 10:53:31
Am I right to understand that it's not really a clone but an emulator written for AVR with extra hardware for I/O? If so - how accurate is the emulation (because previous attempts to do Spectrum on AVR failed miserably in this area)? One of the hard-core timings test would be to run some demos - preferably second part of Shock - if it runs ok then the job was really well done :)

Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.15, 11:45:55
You are right, device uses emulation as working conception.
Device passes tests like Zexall, AUMT, Testprog. Z80tests pass with MEMPTR test, but few tests like IN A,R and BIT(HL) fails. Timing tests is a question, cose test, for example, TIMING just stop.
Such demo programs, like Vibrate is working all right
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: matofesi w 2014.12.15, 12:47:30
Ok. I see on the project page it can run Spectrum 48/128 software - can you try running this: http://www.worldofspectrum.org/infoseekid.cgi?id=0007726 in 48 mode, then skip to second part and post some screenshot or short video. This is a real video-timings compatibility test you need to pass ;)
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.15, 17:23:59
Heare it is:
http://youtu.be/QIB9uuW0oDw.
But after pressing "Space" it goes to Basic, as at AVR ZX and Spectaculator
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: matofesi w 2014.12.16, 07:12:40
It "goes to BASIC" because it's not supposed to be loaded from 128 menu. You should load it in 48 mode or in USR 0 mode on 128. And the important part is the second one - you can safely skip the first ;)
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.16, 16:42:55
O key, i`ve recordet it, running part by part: http://youtu.be/lL3-WloUAGE.
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: trojacek w 2014.12.16, 16:48:09
Compare with this:

https://www.youtube.com/watch?v=MllVhsN6MG0

I hate to say that your soultion does not keep the right video timings...

Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: matofesi w 2014.12.16, 17:20:13
It's exactly as I thought it will be. I'm almost certain that AVRs are simply not powerfull enough to emulate both CPU and ULA with all correct timings. But it would be really interesting to be proven wrong ;)

I'm sure your device might be fine for gaming etc. but as I'm mostly demo coder and it's not for me at this stage. But if you actually manage to do a cycle-exact version then I might be interested :)

Keep a good work anyway as it looks nice for some uses :)
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.16, 17:23:14
Yes, timings not holhed, but it can be corrected. is written in assembler language, and every instruction have enough time to be corrected
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.16, 17:27:47
Additionally, videoCPU and central proceccor are different microcontrollers, so timings can be corrected independently.
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: trojacek w 2014.12.16, 17:32:09
IMHO, if you really want to make AVR to keep ZX timings, you'd better use any INT input and trigger it with the pixel clock divided by 224.
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.16, 18:49:59
Interrupts is too long to exequte: 4 cycles to make interrupt, 4 cycles to return, 1 cycle to save status register ... For example, in my emulator fetch/decode/test for masked interrupt/increment R/jump to emulation routine is total 18 clock cycles. If it will be longer then 18 cycles system will be work slower.
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: trojacek w 2014.12.16, 19:15:11
Of course, if you find a software solution for this, it will be better (and cheaper).
I don't know exactly why your AVR produces inexact timings, but I would suggest you reading this page:

http://www.zxdesign.info/vidparam.shtml

and then the part "contended memory" of this document:

http://www.worldofspectrum.org/faq/reference/48kreference.htm
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.16, 19:38:42
Very interesting! But most technical information i`v read in russian magazine "Radio". It was written about AVR ZX Spectrum too: https://dl.dropboxusercontent.com/u/12408899/Radio.zip
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.16, 19:56:05
May be it is better ... http://youtu.be/2KUlz1ErI-g.
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: matofesi w 2014.12.16, 21:53:54
No really ;)

The second part is supposed to display moving horizontal bars 1px high across the whole screen - you need exact timings of real Spectrum (48 or 128 - there is a detection built in). Until your machine does that it's unfit for demo duty ;)
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: trojacek w 2014.12.16, 21:57:01
Not really.
If you compare your video to the video of the original speccy hardware, ypu will notice a difference in color stripes on the border. They should be synchronized with color stripes on the screen itself, in your video they aren't. This is what I meant when I wrote that your timings are wrong.


OK, I see matofesi has already responded. He is more competent in this domain than I am :)
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: Lisitsin w 2014.12.18, 19:39:54
AVR ZX Spectrum V2_0 support-pack, revision2:
https://dl.dropboxusercontent.com/u/12408899/V2_0%20Support%20revision%202.zip
inside:
- soft for all controllers, some models ZX Spectrum;
- PCB project in PCAD2006;
- game-test-demo pack for device working control;
- circuit diagram, assembly rrawing, user manual (but in russian, with pictures);
- photos of assembled board, process of in-keyboard building.
Tytuł: Odp: AVR ZX Spectrum
Wiadomość wysłana przez: gotham w 2015.12.22, 00:16:04
Lisitsin 

Are you going to build Amstrad CPC 6128 on the AVR ?
Very cheap old school computer. ;)