Celebration - 35th Anniversary Program

Discussion about ZX80 / ZX81 Software
Fruitcake
Posts: 351
Joined: Wed Sep 01, 2010 10:53 pm

Celebration - 35th Anniversary Program

Post by Fruitcake »

I’ve produced a second program to mark the 35th anniversary of the release of the ZX81. Like Against The Elements, this new program runs on a standard 16K ZX81. The program is entitled Celebration.

I would let you know what its about but that would ruin the surprise...

I hope you like it.

The program can be downloaded from:
www.fruitcake.plus.com
Last edited by Fruitcake on Sun Apr 24, 2016 8:27 pm, edited 1 time in total.
User avatar
stefano
Posts: 566
Joined: Tue Dec 11, 2012 9:24 am
Contact:

Re: Celebration - 35th Anniversary Program

Post by stefano »

Uh, wow.. is it all in pseudo HRG ? ??!
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: Celebration - 35th Anniversary Program

Post by sirmorris »

Haha genius! Very enjoyable :D
User avatar
msch
Site Admin
Posts: 106
Joined: Sun May 19, 2013 11:39 pm
Location: Frankfurt/M, Germany

Re: Celebration - 35th Anniversary Program

Post by msch »

hahaha, I like it - well done! :lol:
Mathias

ZX-Team member and classic computer collector
nollkolltroll
Posts: 325
Joined: Sat Sep 27, 2014 8:02 pm
Location: Stockholm, Sweden

Re: Celebration - 35th Anniversary Program

Post by nollkolltroll »

A good one!
I like the pseudo hires, been fiddling with it myself lately. Lots more to squeeze from the old zeddy :D
/Adam
Fruitcake
Posts: 351
Joined: Wed Sep 01, 2010 10:53 pm

Re: Celebration - 35th Anniversary Program

Post by Fruitcake »

Hopefully everyone has now had a chance to try the program out and see what the surprise is. It therefore seemed it was time to update my website with details on how the program works, and these can now be found here:
www.fruitcake.plus.com

I've also made example source code available for download which you can use to create your own similar style of program.

I've modified the link given in the original posting on this thread so that it goes straight to the downloads section at the bottom of the webpage, which allows the program to be downloaded without ruining the surprise of what it actually does. The link given in this posting goes to the top of the webpage and will show screenshots of the program in action.
User avatar
mrtinb
Posts: 1910
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Celebration - 35th Anniversary Program

Post by mrtinb »

This is very great reading, about stretching the ZX81.

Would it be possible to fetch the data from the ROM's DFILE and not a dedicated graphics-area, and using the high bit not to select inverse, but select lowercase? If a driver could be made, that would use the ROM's own DFILE, then BASIC runtime and editor could be used with lowercase or user-defined graphics.
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: Celebration - 35th Anniversary Program

Post by sirmorris »

The inverse bit is a hardware feature, part of the functionality of the ULA. It can't be overridden :( At least not without external hardware.
User avatar
mrtinb
Posts: 1910
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: Celebration - 35th Anniversary Program

Post by mrtinb »

sirmorris wrote:The inverse bit is a hardware feature, part of the functionality of the ULA. It can't be overridden :( At least not without external hardware.
Except if the ULA would inverse "the inversed patterns". But these inversed patterns do not exist I think.

Code: Select all

inverse [11111111] for [00000000]
inverse [11000011] for [00111100]
inverse [11111011] for [00000100]
inverse [11000011] for [00111100]
inverse [11011011] for [00100100]
inverse [11000011] for [00111100]
inverse [11111111] for [00000000]
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: Celebration - 35th Anniversary Program

Post by sirmorris »

That's right. The character data address is formed inside the ULA which uses a combination of bits from various registers. This imposes the address range limit of 512 bytes. 512 bytes / 8 bytes per character = 64 characters.

Wilf's CHR$128 scheme (and possibly others too, I only know this one) extend the available character data address range by effectively stealing a bit from one of the other fields, thus allowing 128 characters to be used. The 64 new character definitions need to be inverted as you have already worked out 8-)

Why not 256 characters though? Well I'll leave the explanation about the very special bit 6 for later [or someone more technically competent!] ;)
Post Reply