ZX81 Noob development questions

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
Post Reply
User avatar
Mozartkügel
Posts: 6
Joined: Sun Sep 22, 2019 10:59 pm
Location: Finland
Contact:

ZX81 Noob development questions

Post by Mozartkügel »

Hi guys! I'm completely new to the ZX81. I started out with the C64/128 back in the day but I've become really interested in most old home computers and their homebrew scenes. I saw a few game videos on Villordsutch youtube channel and got excited about the fun looking graphics on the ZX81. I found a cheap ZX81 on a local auction site too, so I have one on the way to me now, yay!

I have a couple of noob questions if I may:

1. Are there some dedicated graphic tool(s) to create ZX81 graphics? It would be fun to create some game mock up(s) as a first step.

2. What's the graphics mode used in for example Uwol and Alien Mind? Is it a "standard text mode"? I love those chunky graphics! :)

2. Do you guys have experience with ZXpand, ZXblast or Vdrive? Are they very similar or is there one you prefer. ZXpand seemed to have some really nice features at least. I love that it has built in AY sound.

3. I was thinking of trying to tinker around a little bit in C for the ZX81. I know C isn't the optimal language for these old machines, but the main point would be to have fun. I've not enjoyed basic or assembly as much so far (maybe it's because I'm too busy all the time). I found this amazing looking C tutorial series in German: http://forum.tlienhard.com/phpBB3/viewforum.php?f=8 Has anyone tried going through it with the help of google translate? :D Are there any tutorials in English or perhaps some tiny C template that would set up say background graphics / "sprites" / keyboard & joystick input to learn from?

Actually I just realized that Uwol is open source and written in C. I'm more of a tinkerer than a real coder so it's a bit of a overwhelmingly big project to decipher "backwards". I need to study it though.

4. Is it possible to load your own games converted to tape files from, for example, a phone to the ZX81 like on some other old computers?

Thankful for any help! :)
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: ZX81 Noob development questions

Post by mrtinb »

Hi :) And Welcome!

ad 1) Try the online tool Sketchy created by the same developer as the ZXpand.

ad 2) ZX81 is only build for text mode. The graphics are checkers patterns in the font. You get the idea, when you look at the link above.

Back in the day someone found a way to hack graphics mode, but the ZX81 is not built for it. It's called Pseudo Hires. It uses some of the bitpatterns from the ROM to create graphics. Not all bitpatterns are available, so the graphics looks a little corrupt. Software implements their own display driver. Some games using this are Fortyniner and Micromouse Goes Debugging.

Later someone made hardware modification to the RAMpack, and then it's possible to do Real Hires 256x192. Z88DK C compiler supports this mode. ZXpand and ZXblast already has this hack implemented. This requires custom display driver as well. Z88DK C compiler has implemented this. (Someone has even hacked hires up to 320x200, but it's more rare.)

There also exists hardware expansion to create custom fonts. This hardware enables font can be read from RAM and not from the ROM. It is called UDG - User Defined Graphics. Fewer games uses this approach. A replica of this hardware is UDG4ZXpand.

ad 2.1) I have both ZXpand and ZXblast. ZXpand is the most widespread. In the German forum Vdrive is better known. ZXblast is still in beta, so I recommend ZXpand.

ad 3) Look at the examples on Z88DK C compiler. And the guide on the German forum is also fine.

ad 4) You can convert .P files found on the Internet to .WAV files, and output it with your PC soundcard or as I do move them to your phone and play them from there. I use the tool Java ZX81 Tape Converter to convert to .WAV. I have constucted a TZXduino as well. It will simulate a tape player on an Arduino and load it from SD card. ZXpand is the easiest way though.
Last edited by mrtinb on Tue Sep 24, 2019 12:06 pm, edited 1 time in total.
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
User avatar
Mozartkügel
Posts: 6
Joined: Sun Sep 22, 2019 10:59 pm
Location: Finland
Contact:

Re: ZX81 Noob development questions

Post by Mozartkügel »

Thank you so much @mrtinb ! This is pretty much everything I need to know for a real "kick-start", yay! Mange tak! :D
User avatar
1024MAK
Posts: 5103
Joined: Mon Sep 26, 2011 10:56 am
Location: Looking forward to summer in Somerset, UK...

Re: ZX81 Noob development questions

Post by 1024MAK »

Hi Mozartkügel.

Welcome to our forum :D

One thing that my friend above did not say, the standard internal amount of RAM in a ZX81 is just 1k bytes. However, this is just enough for some simple, but excellent and interesting games. You will be amazed what can be fitted in just 1024 bytes of RAM. And this internal RAM is capable of ‘hi-resolution’ graphics. If you have a look in the games section you will find lots of dr beep’s 1k games :D

You may also wish to introduce yourself in the Welcome area ;-)

Have fun :D


Mark
ZX81 Variations
ZX81 Chip Pin-outs
ZX81 Video Transistor Buffer Amp

:!: Standby alert :!:
There are four lights!
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer later in the year.
dr beep
Posts: 2060
Joined: Thu Jun 16, 2011 8:35 am
Location: Boxmeer

Re: ZX81 Noob development questions

Post by dr beep »

1024MAK wrote: Tue Sep 24, 2019 2:45 pm Hi Mozartkügel.

Welcome to our forum :D

One thing that my friend above did not say, the standard internal amount of RAM in a ZX81 is just 1k bytes. However, this is just enough for some simple, but excellent and interesting games. You will be amazed what can be fitted in just 1024 bytes of RAM. And this internal RAM is capable of ‘hi-resolution’ graphics. If you have a look in the games section you will find lots of dr beep’s 1k games :D

You may also wish to introduce yourself in the Welcome area ;-)

Have fun :D


Mark
You beat me with your comment. Indeed in 1K hires is always possible and it only takes max 30 sec to load a 1K game.
User avatar
Mozartkügel
Posts: 6
Joined: Sun Sep 22, 2019 10:59 pm
Location: Finland
Contact:

Re: ZX81 Noob development questions

Post by Mozartkügel »

Thanks guys!
1024MAK wrote: Tue Sep 24, 2019 2:45 pm One thing that my friend above did not say, the standard internal amount of RAM in a ZX81 is just 1k bytes. However, this is just enough for some simple, but excellent and interesting games. You will be amazed what can be fitted in just 1024 bytes of RAM. And this internal RAM is capable of ‘hi-resolution’ graphics. If you have a look in the games section you will find lots of dr beep’s 1k games :D
I will check out the games for sure. It's going to be interesting to see what's been achieved in only 1k. I haven't gotten into that myself yet since I've enjoyed using C on old computers (and postponing learning assembly properly because of too little free time), but I can really see the fun in trying to cram in different kinds of games in a small space like that. As a parallel I've seen that many Vic-20 enthusiasts seems to love creating games for the unexpanded Vic too.
User avatar
Mozartkügel
Posts: 6
Joined: Sun Sep 22, 2019 10:59 pm
Location: Finland
Contact:

Re: ZX81 Noob development questions

Post by Mozartkügel »

Yay! I made a ZX81 mock up of my long term multi platform wip game project. I know it has hi-res modes but I really fell for the chunky character graphics mode. :mrgreen:

I wrote a blog about my current thoughts of the project over at AtariAge if someone would happen to be curious. It also has proper sized mock ups / screenshots:
https://atariage.com/forums/blogs/entry ... roduction/

ZX81 Mock up:
Baron Lovejoy ZX81 WBG.png
Baron Lovejoy ZX81 WBG.png (4.99 KiB) Viewed 4857 times
Current mock ups and a couple of screenshots:
Baron Lovejoy Versions 12.10.2019.png
User avatar
marste
Posts: 250
Joined: Sun Aug 10, 2014 9:58 pm
Location: Italy
Contact:

Re: ZX81 Noob development questions

Post by marste »

The ZX81 version came out really well despite being character b/w!! Compliments!
Anyway, as e.g. Prince of Persia was showing, fluid and realistic movements are even more important than pure graphics!
Post Reply