SPeccy ON the ZeddY

Anything Sinclair ZX Basic related; history, development, tips - differences between BASIC on the ZX80 and ZX81
User avatar
iturbez
Posts: 149
Joined: Fri Dec 25, 2009 1:06 pm
Location: Spain

Re: SPeccy ON the ZeddY

Post by iturbez » Sun May 01, 2011 8:52 pm

I have got the same problem, no matters /m1 is active or not... :shock: :shock: :shock:

User avatar
zsolt
Posts: 197
Joined: Wed Apr 20, 2011 11:43 am
Location: Fót, Hungary

Re: SPeccy ON the ZeddY

Post by zsolt » Mon May 02, 2011 5:37 pm

Hi Siggi,
siggi wrote:I hope, that it is not corrupted....
No, that was OK, but buggy - the corrected version is in attachment.

I was thinking a lot about "white screen during load" in real Zeddy.
Possibly it causes the different construction of the tape interface:
SP_ZY_TAPE.jpg
(64.27 KiB) Downloaded 1913 times
What's happen if you (without tape recorder/cables) enter LOAD "" only?
Can you break it w. (SHIFT+) SPACE?

Zsolt

EDIT: the attachment was removed. See the final version of SPONZY
Last edited by zsolt on Mon May 28, 2012 8:46 pm, edited 1 time in total.
ZX81 (8K), ENTERPRISE 128, [ZX SPECTRUM (48K,+,+128K,+2,+2A), TS1000, TS1500, TS2068, Cambridge Z88, PRIMO A64 (red)]

User avatar
siggi
Posts: 883
Joined: Thu May 08, 2008 9:30 am
Location: Dauernheim, Germany
Contact:

Re: SPeccy ON the ZeddY

Post by siggi » Mon May 02, 2011 10:09 pm

Hi Zsolt
I tested with the old SPONZY rom:
zsolt wrote: What's happen if you (without tape recorder/cables) enter LOAD "" only?
That gives also a completely white screen on my Zeddy (EO shows a black screen!).
Loading with the Zeddy rom without any signal input gives a screen with a lot of white (broad) and black (narrow) stripes.
Can you break it w. (SHIFT+) SPACE?
Yes, SPACE terminates LOAD.

Siggi
My ZX81 web-server: online since 2007
http://zx81-siggi.endoftheinternet.org/index.html

User avatar
zsolt
Posts: 197
Joined: Wed Apr 20, 2011 11:43 am
Location: Fót, Hungary

Re: SPeccy ON the ZeddY

Post by zsolt » Wed May 04, 2011 1:52 pm

Hallo Siggi,

Thank you for all help.

If my additional HW will be ready finally, I will continue the test with following steps:

step 1: Load a testprogram (a wav created in EO/SPONZY) into ZX81/SPONZY;
step 2: Load same testprogram (a wav created with ZX81/SPONZY) into EO/SPONZY;


It may come out which part is incompatible with the real HW (hopefully not both), on the other hand the two files are more easily comparable.
(and will be there also my good old oscilloscope of course ;) )

Zsolt
ZX81 (8K), ENTERPRISE 128, [ZX SPECTRUM (48K,+,+128K,+2,+2A), TS1000, TS1500, TS2068, Cambridge Z88, PRIMO A64 (red)]

sirmorris
Posts: 2813
Joined: Thu May 08, 2008 5:45 pm

Re: SPeccy ON the ZeddY

Post by sirmorris » Wed May 04, 2011 2:00 pm

I'm really excited about seeing the result of this - keep up the good work zsolt!

User avatar
zsolt
Posts: 197
Joined: Wed Apr 20, 2011 11:43 am
Location: Fót, Hungary

SPeccy ON a real ZeddY

Post by zsolt » Sat Dec 31, 2011 10:36 pm

Hi again!

Sorry for the long lasting silence, but I spent my limited free time developing and testing. The project went on more paths (hw/sw), but finally it all came together, and you can see the result in the attachment. In chronological order:

June: I redesigned the appearance, as a result there’s two additional command:
  • - REM >= spup : with skipping every second frame, it speeds up SPONZY
    - REM >= spdn : sets back the normal appearance (there’s a VIDEO about these)
    - also, the IN/OUT commands switched places on the keyboard

    I also finished the Hw, with the undermentioned parameters:
    - 32K SRAM in the 16-48K address space, where the first 16K can be paged to 48-64K area (echo).
    - 128 or 512K FLASH-ROM, which is pageable by 16K segments (48-64K area)
    - you can boot your system from the first or the last page of FLASH (jumper selects)
    - KEMPSTON type joystick interface.
Both seems to be an improvement, but I wasn’t that happy. The frame-skipping resulted in vibrating screen (my TVs can’t handle the interlaced mode), and the tape loader did not work, as Siggi noted it.

July: I found the long-sought after Benchmark-tests, and tried them out with different ROMs.
  • As it turned out from the tests, the interpreter of the Spectrum (perhaps due to the extensions) is slower
    than the ZX81's - Until we need to write something to the screen! In the latter case Zeddy is ignominiously slow.

    in PAL mode: 1 frame ~= 312 scanline (312*207TS -> 19.872 msec ~50,322Hz)
    in NTSC mode: 1 frame ~= 262 scanline (262*207TS -> 16.687 msec ~59,925Hz)

    It seems that there is a reserve in PAL mode (<20 msec), therefore the length of the frame can be extended.
    In the revised version 314 scanline forms a frame: 314*207TS -> 19.999 ms ~ 50.002 Hz.
Unfortunately, this did not compensate for the additional time spent on handling of NMI - ZX81: 32TS, SPONZY: 68TS

August: summer/ family
September: start of the school year – I have 3 children (one in elementary school, one in high school, and one in college)


October: I studied the data storage of the ZX81 (HW/SW aspects). The first major result was a fastloader - the HybridLoader.

November: I tested the current version of the SPONZY because it does not read all of the programs in.

December: It was found that the accurate timing of EO and Wintzx can sometimes generate incorrect WAV files.
(better to use THIS)

HAPPY NEW YEAR!
Zsolt

EDIT: the attachment was removed. See the final version of SPONZY
Last edited by zsolt on Mon May 28, 2012 8:48 pm, edited 1 time in total.
ZX81 (8K), ENTERPRISE 128, [ZX SPECTRUM (48K,+,+128K,+2,+2A), TS1000, TS1500, TS2068, Cambridge Z88, PRIMO A64 (red)]

sirmorris
Posts: 2813
Joined: Thu May 08, 2008 5:45 pm

Re: SPeccy ON the ZeddY

Post by sirmorris » Sun Jan 01, 2012 5:34 pm

..!

...!


WOW! This is seriously impressive :D

Where did the bbc basic port appear from??

User avatar
Andy Rea
Posts: 1546
Joined: Fri May 09, 2008 2:48 pm
Location: notts UK

Re: SPeccy ON the ZeddY

Post by Andy Rea » Sun Jan 01, 2012 6:43 pm

Seriously impressive... How dare you Sir !

An understatement if i ever saw one, Great work Zsolt, who da thought running Speccy on '81 hardware...

F**** Awesome, i'm loving the BBC / Acorn basic port.

Andy
6 x ZX81, 1 x TS1500 , 1 x +3e, 1 x timex 2040 printer, 1 x timex 2020 cassette deck, siclair printer and some spectrum

User avatar
zsolt
Posts: 197
Joined: Wed Apr 20, 2011 11:43 am
Location: Fót, Hungary

Re: SPeccy ON the ZeddY

Post by zsolt » Sun Jan 01, 2012 7:20 pm

sirmorris wrote:Where did the bbc basic port appear from??
found here ;)
ZX81 (8K), ENTERPRISE 128, [ZX SPECTRUM (48K,+,+128K,+2,+2A), TS1000, TS1500, TS2068, Cambridge Z88, PRIMO A64 (red)]

User avatar
siggi
Posts: 883
Joined: Thu May 08, 2008 9:30 am
Location: Dauernheim, Germany
Contact:

Re: SPeccy ON the ZeddY

Post by siggi » Mon Jan 02, 2012 12:22 pm

Hi ZSOLT

I put the SPONZY rom into one of the EEPROM banks in my ZX81 laptop and it works :mrgreen:
Great work!

But the display of my laptop is a little bit flickering and some pixels of some text lines (always the lowest pixel line) seems to be missing (e. g. at keyword "go to" and "go sub", especially letter "E"):
P1050001_640x480.JPG
P1050001_640x480.JPG (74.35 KiB) Viewed 2446 times
Maybe the timing of the display routine is a little bit different compared to the original display routine of a ZX81?

I must say, that the display of my Laptop seems to be very sesitive for timing issues. I found that, when I compiled a program with Z88DK, which has its own display routine. The display was ok on a CRT and EO, but flickered on my LAPTOP: see http://www.z88dk.org/forum/viewtopic.php?id=4765
Any chance to eliminate that?

Now I would like to adapt a ZX81 program (written in C) to read/write FAT32-formatted MMC-Cards to SPONZY. So I have some questions, because I am not familiar with a Speccy.

I would like (as a first step) load a complete program (like a .P file for ZX81).
- Which Speccy file type is equivalent to a ZX81 P-file? And where (at which address) do I have to load it?
- Do I have to update afterwards some system variables?
- Which address range has to be written to MMC to save a complete program?

I have to read/write from MMC in FAST mode, so the next question is:
- How do I switch form SLOW to FAST mode and back(as assembler/C call)? Is it suffient to dis-/enable the NMI generator or do I have to call a rom routine (like in ZX81 rom, to update system variables)?

Edit: one more question:
The program to read/write MMC will run in ram above 32K. Is that memory region affected/used by SPONZY rom (e. g. during boot/ramtest)? I have ram up to 64K.

Siggi

PS: A Happy New Year ..
Last edited by siggi on Mon Jan 02, 2012 4:41 pm, edited 2 times in total.
My ZX81 web-server: online since 2007
http://zx81-siggi.endoftheinternet.org/index.html

Post Reply