Page 5 of 10

Re: ZX80 porting of Super Micro Chess 1K

Posted: Tue Apr 18, 2017 12:45 pm
by marste
Following the screen just after loading the same exact program in the two emulators. If you look they show different cursors.

"zesarux --machine ZX80 --realtape sm1kzx80.o --gui-style ZX80/81 --realvideo", but also simple "tape" has same output:
zesaurux-.png
zesaurux-.png (6.45 KiB) Viewed 4327 times
EightyOne:
EightyOne-.JPG
EightyOne-.JPG (23.54 KiB) Viewed 4327 times

Re: ZX80 porting of Super Micro Chess 1K

Posted: Tue Apr 18, 2017 12:51 pm
by marste
PS: No$Zx show a completely blank screen, but after touching a key it show the same screen as ZesarUX

Re: ZX80 porting of Super Micro Chess 1K

Posted: Tue Apr 18, 2017 1:55 pm
by chernandezba
Well I see ZEsarUX shows the same "K" loading the test program by --tape or --realtape. I don't know why EighyOne doesn't show the same "K".
What is the correct prompt loaded on a real ZX-80?

By the way, as I said, --tape works by trapping rom calls. It could be not as perfect as it should. But --realtape should be as a real ZX-80, because it works by simulating the EAR input coming from the .o file

Cheers

Re: ZX80 porting of Super Micro Chess 1K

Posted: Wed Apr 19, 2017 6:09 pm
by marste
chernandezba wrote: Tue Apr 18, 2017 1:55 pm Well I see ZEsarUX shows the same "K" loading the test program by --tape or --realtape.
I don't know why EighyOne doesn't show the same "K".
What is the correct prompt loaded on a real ZX-80?
This was my question... Hope to be able to test myself this week end, if no one will check before!

Let you know!

Re: ZX80 porting of Super Micro Chess 1K

Posted: Wed Jun 07, 2017 11:47 pm
by marste
Finally I've been able to find a TV accepting a ZX80 signal and real HW testing started!! :)

The actual problem is that I'm not able to reliably load the programs: I tryed also with other "standard" programs (from fruitcake site), but even if it appears they are loaded ok (listing appears) when running they work randomly (i.e. presenting each load different errors, so I suppose that wrong bits are loaded randomly).

To me seems that even if I put all the volume at maximum the ZX80 still need more (ZX81 even do not feel signal). To further process it I was trying to save the output as a wav file (with --aofile option) but an error of missing module came out. So I choose a "raw" file, and I tryed to understand the format: seems 8 bit unsigned and frequency around 15000.

@chernandezba since frequency is important, what is the correct one used in raw output? Or, is possible to add the missing "sndfile support" to the released executable so to save in .wav?

Re: ZX80 porting of Super Micro Chess 1K

Posted: Wed Jun 07, 2017 11:54 pm
by marste
Side note:
marste wrote: Tue Apr 18, 2017 12:45 pm Following the screen just after loading the same exact program in the two emulators. If you look they show different cursors.

"zesarux --machine ZX80 --realtape sm1kzx80.o --gui-style ZX80/81 --realvideo", but also simple "tape" has same output:
zesaurux-.png

EightyOne:
EightyOne-.JPG
When load proceed enough good, from current tests the cursor appears as in zesaurux (without question mark). I will further confirm when all load will complete without any error, but to me this correct loaded part already shows that eightyone is wrongly reacting...

Re: ZX80 porting of Super Micro Chess 1K

Posted: Mon Jun 12, 2017 3:27 pm
by chernandezba
So I choose a "raw" file, and I tryed to understand the format: seems 8 bit unsigned and frequency around 15000.

@chernandezba since frequency is important, what is the correct one used in raw output? Or, is possible to add the missing "sndfile support" to the released executable so to save in .wav?
Raw files are 15600 Hz, unsigned, 8 bit and 1 channel. Last ZEsarUX versions show these details when you set the raw file.
You can recompile the emulator to have sndfile support, you need libsndfile, it's explained on the INSTALL file.
And the bonus you asked by mail :
"is possible to add an option just to convert .p (ZX81) or .o (ZX80) files into audio?"
There's no option to do that yet, I'm planning to add some different converters on the menu.
But, if you set a .p or .o file (and many other formats, like .tap or .tzx) as a Input real tape file on the menu, the emulator internally converts this file to a raw audio file. Look on /tmp folder, there should be a folder named zesarux-xxxx, where xxxx is your Linux user id. You will find inside the raw converted file

Cheers

Re: ZX80 porting of Super Micro Chess 1K

Posted: Wed Jun 14, 2017 6:34 pm
by marste
chernandezba wrote: Mon Jun 12, 2017 3:27 pm Raw files are 15600 Hz, unsigned, 8 bit and 1 channel. Last ZEsarUX versions show these details when you set the raw file.
[...]
if you set a .p or .o file (and many other formats, like .tap or .tzx) as a Input real tape file on the menu, the emulator internally converts this file to a raw audio file. Look on /tmp folder, there should be a folder named zesarux-xxxx, where xxxx is your Linux user id. You will find inside the raw converted file
Found and converted and amplified by 2 with sox ("sox -v 2 -r 15600 -e unsigned -b 8 -c 1 fileinput.u1 fileoutput.wav"), and then replayed at maximum value (150%) and a bit of gain of the player (130%), totalling around 4x volume and finally it was loaded correctly almost every time (3 out of 4)! :)

So, I can definitely say that correct screen is zesaurux one (with a standard sursor) while EightyOne (with the question mark) is incorrect. (see first attachment)

Moreover: I tested the flicker free version, and after adjusting the delays I got a stable picture! (second attachment, cursor on the middle of first column)

Re: ZX80 porting of Super Micro Chess 1K

Posted: Thu Oct 12, 2017 8:36 pm
by Moggy
Any further progress with this as the thread seems to have gone silent?

Whilst I can load the last implementation offered ok on a real ZX80 with ZXpand the cursor movement is unusable after the first move as the cursor lands in what ever square it wants and piece movement sometimes is wrong . It would be a shame if this couldn't be ported successfully as good ZX80 software is thin on the ground at best.

Re: ZX80 porting of Super Micro Chess 1K

Posted: Sat Oct 14, 2017 12:00 pm
by marste
Dear Moggy,

I'm aware of the scarcity of nice programs for ZX80 and for this reason with the knowledge and experience gathered in this conversion I even released a jump-start kit for creating 1k programs compatible with both ZX80 and ZX81!

Anyway, don't worry: not only "1k Real Chess" is now set to run also on ZX80 hardware - with both standard video routine and flicker free one - but the engine is also being greatly improved in speed and playing power! :)

Other than the "usual" ability to play both colors with a multi-ply negamax search, with optional quiescence search and management of castling, double-step pawn moves, en-passant captures and under promotion, now is being added:
- better initial movements logic management
- alfa beta search tree pruning
- move ordering
- move selections variants
- and possibility to have an unlimited reasoning depth (ok, limited by the available memory! LOL:)) with an increasing ply search depending on game phase

All still in a single load file for the original 1k hardware, and with a single parametric source able to produce all the variants (that to give you an idea has now exceeded 100Kb just the main file and 20Kb the building script)!

As you can imagine this is an hobby project, in parallel with other things, and I'm in a debugging phase. Just to tell you I've even modified an emulator to properly debugging some actions!

I've no idea when I'll be able to finish. Anyway if you want to help to debug I can send you some preliminary version to test! And this debugging invitation is valid for everyone willing to volunteer! :D

Happy hacking!
_Stefano