1K Real Chess for ZX80

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
User avatar
marste
Posts: 250
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX80 porting of Super Micro Chess 1K

Post 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 4246 times
EightyOne:
EightyOne-.JPG
EightyOne-.JPG (23.54 KiB) Viewed 4246 times
Attachments
sm1kzx80.o
(871 Bytes) Downloaded 181 times
User avatar
marste
Posts: 250
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX80 porting of Super Micro Chess 1K

Post by marste »

PS: No$Zx show a completely blank screen, but after touching a key it show the same screen as ZesarUX
User avatar
chernandezba
Posts: 205
Joined: Tue Mar 11, 2014 4:30 pm

Re: ZX80 porting of Super Micro Chess 1K

Post 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
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux
User avatar
marste
Posts: 250
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX80 porting of Super Micro Chess 1K

Post 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!
User avatar
marste
Posts: 250
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX80 porting of Super Micro Chess 1K

Post 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?
User avatar
marste
Posts: 250
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX80 porting of Super Micro Chess 1K

Post 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...
User avatar
chernandezba
Posts: 205
Joined: Tue Mar 11, 2014 4:30 pm

Re: ZX80 porting of Super Micro Chess 1K

Post 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
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux
User avatar
marste
Posts: 250
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX80 porting of Super Micro Chess 1K

Post 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)
Attachments
IMG_20170614_004018 -- flicker free ok-.jpg
(92.44 KiB) Downloaded 417 times
IMG_20170613_231514 -- just loaded-.jpg
(78.89 KiB) Downloaded 421 times
Moggy
Posts: 3231
Joined: Wed Jun 18, 2008 2:00 pm

Re: ZX80 porting of Super Micro Chess 1K

Post 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.
User avatar
marste
Posts: 250
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX80 porting of Super Micro Chess 1K

Post 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
Last edited by marste on Fri Oct 20, 2017 10:24 pm, edited 1 time in total.
Post Reply