10 PRINT "ZX81 at 37" 20 GOTO 10

  • 10 Replies
  • 3431 Views
*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6856
  • Mostly Harmless
10 PRINT "ZX81 at 37" 20 GOTO 10
« on: March 09, 2018, 03:22:45 pm »

Where does all the time go ? I remember playing with a ZX81 in my electronics classes at high school. Sold in the US as the Timex Sinclair 1000.

Never owned one as the Spectrum was released a relatively short time after and was when I got the computing bug.

Quote
The ZX81 was launched 37 years ago this week as a £49.95 kit (£69.95 assembled) and introduced an entire generation to the joys of computing, fights over the family television and prodigious use of sticky tape.

Full article at The Register : https://www.theregister.co.uk/2018/03/06/zx81_at_37/

*

ranch vermin

  • Not much time left.
  • Terminator
  • *********
  • 947
  • Its nearly time!
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #1 on: March 09, 2018, 04:11:50 pm »
I thought this computer would be better suited to its name if it stored its bits in a frequency spectrum,  but it doesnt, but it would be cool if it did!

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6856
  • Mostly Harmless
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #2 on: March 09, 2018, 05:08:52 pm »
We're talking about a machine that people used cartons of milk to cool  ;D

*

ivan.moony

  • Trusty Member
  • ************
  • Bishop
  • *
  • 1723
    • mind-child
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #3 on: March 11, 2018, 03:10:21 pm »
I had Commodore 64 at a bit later time. It had an electric  transformator as a separate box, and it was heating like a hell. We used to joke that we could bake eggs on it.

Those were times... I remember a command for changing a background color: POKE 53280, X; and for changing border color: POKE 53281, X (53280 and 53281 were memory addresses). I was doing wonders with it, hehe. I used to say: "Watch now!", then entered a command for another color, and everyone would go: "Wow, you are a wizard!".

Entering a graphic mode was another sneak trick, and if you was about to draw a circle, you ought to wait some 30 seconds to calculate all the sin and cos positions around the screen. But games were not done in graphic mode at all, as they would be too slow, and memory could hold at most a few static images at one time (64 kilobytes). Instead of using graphic mode, there were maps for changing character images of letters, so they assembled graphics by changed characters. But that was for game backgrounds that would scroll in all directions, repeating patterns of characters. For action figures, there was something called "sprites", I think 24 * 24 resolution for each of them at 1 bit colors, or 12 * 24 at 2 bit color, double width, and there could be only 8 of them at the same time on the screen. If you wanted more, you had to fastly turn off some of them, just to turn on the others, and then you had to switch them  on and off in a loop. That's why they were flickering in some more demanding games.

That was before Amiga came, but Amiga was a boring computer. All you had to do is to put a 3.5 inch disk in a drive and to play the game. Commodore had builtin BASIC in a ROM and you had to know a bit of programming even to load and start a game.

And cassette tapes... hehe... they were loading for ages (literally about twenty minutes per game). And then some "Turbo 250" program was invented to fasten load times by ten times, but to use it, games ought to be saved also by that Turbo 250 program. Basically, Turbo 250 was shrinking each byte length on a tape, while retaining the same number of tape wheel turns per second. A consequence was that data needed smaller segment  of tapes, but was often unreadable after a while, as magnetic cassette tapes were losing a signal strength over a time.

And then floppy disk drives was produced. Hehe, those were 5.25 inch disks with disk device capable reading only one side at the time. Those were fast, some 5 minutes to load a game, and then play it, and then, when you reach the middle of a game, screen went black to say: "Turn floppy disk and press space". After turning disk around and putting it back, the other half of game loaded to continue the play.

I remember when we was moving C64 from one friend to another, there were some steps to enter a house, and we had to carry that priceless machine around the dangerous steps. And we planned: "If I stumble upon a step now, I'll just fastly turn my back towards steps, so that C64 doesn't get broken in thousand pieces, but to gently fall on my belly, while my back bones take the step punch."

Back then I was 12 years old :)
« Last Edit: March 11, 2018, 04:33:28 pm by ivan.moony »

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6856
  • Mostly Harmless
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #4 on: March 11, 2018, 05:39:22 pm »
Reminds me a lot of my experience too, but with a Spectrum. After the Spectrum for me it was the Atari ST. I loved both, but it was the Speccy that got me into programming initially.

Happy days :)

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6856
  • Mostly Harmless
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #5 on: March 12, 2018, 02:56:15 am »
Ivan, I remember the way you could change characters into graphics - did you used to design icons and things on graph paper pixel by pixel ?

It was very satisfying to see how it looked on screen :)

*

ivan.moony

  • Trusty Member
  • ************
  • Bishop
  • *
  • 1723
    • mind-child
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #6 on: March 12, 2018, 09:20:30 am »
Ivan, I remember the way you could change characters into graphics - did you used to design icons and things on graph paper pixel by pixel ?

It was very satisfying to see how it looked on screen :)

Really, I never changed characters, but I remember doing some math with sprites. Sprites, being 24 * 24 pixel resolution was 3 bytes in a row * 24 rows in a sequence. I used to have square patterned sheets to darken pixels I wanted to draw on screen. I used something like this - I had a header:

1   2   4   8   16  32  64  128 1   2   4   8   16  32  64  128 1   2   4   8   16  32  64  128

below which I was drawing pixels on the paper. Then I summed those column headers that corresponded to the pixels being lit on for each byte, and entered values in BASIC with "data" command. The sprite was then lit on and I could set its position on TV screen. Sometimes I would do an error in summation, so I had to sum it all over again to get what I wanted. Later, I got hands on a nice program for graphically drawing sprites, and it was awesome to get rid of boring, error prone summation.

But yes, it was awesome to see some home hand made graphics after boring summation process. I suppose something similar was being done for redefining characters, but sprites were more than enough for me (I was about 12 years old). :)

*

ranch vermin

  • Not much time left.
  • Terminator
  • *********
  • 947
  • Its nearly time!
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #7 on: March 12, 2018, 10:14:21 am »
Its funny that,  we were using these software tools that were provided for us, that had plusses and minuses to them - but the professionals were all putting in the assembler directly and juicing 100% of the commodores power,  and as i see it now, theres no reason why we couldnt have gone in learning assembler first but i wonder if we would have been terribly arrogant little children if we got taught that way.  :)

*

ivan.moony

  • Trusty Member
  • ************
  • Bishop
  • *
  • 1723
    • mind-child
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #8 on: March 12, 2018, 10:29:25 am »
Its funny that,  we were using these software tools that were provided for us, that had plusses and minuses to them - but the professionals were all putting in the assembler directly and juicing 100% of the commodores power,  and as i see it now, theres no reason why we couldnt have gone in learning assembler first but i wonder if we would have been terribly arrogant little children if we got taught that way.  :)

I bet big companies had some expensive game making tools. It seems impossible to program all of those complex games in assembler.

*

ranch vermin

  • Not much time left.
  • Terminator
  • *********
  • 947
  • Its nearly time!
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #9 on: March 12, 2018, 11:44:15 am »
Have u ever tried drawing up a program in binary truth tables?   if u try hard to make it least possible you can get a game like galaga or space pilot done in less than 20.   if you want to challenge me ill accept to amaze you. :)

In my later ages of being a programmer, ive gone through a huge reduction in my code sizes,   im egotistical about how lazy i am.   its terrible behaviour.

If you take your ai algorythm, i promise you might suprise yourself if you want to reduce it to the core functionality, and its actually smaller than you first thought.

Its also true for mechanical things,  if you reduce a 3d printer to its core functionality, it would be no more than fingers on both hands parts.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6856
  • Mostly Harmless
Re: 10 PRINT "ZX81 at 37" 20 GOTO 10
« Reply #10 on: March 12, 2018, 01:12:23 pm »
Ranch, yes assembly was like the holy grail to me - I thought that if I could understand that I could do anything  ;D

The Speccy had ZX BASIC though and that's where I first started. Later I tried assembly and got more familiar with the Z80 chip. I was about 12 when I first started too Ivan. I remember figuring out stacks and things like that and could do fairly simple graphics things, like rendering graphics via assembly so I could make icon driven programs. I made a Dungeons and Dragons character generator at one stage, but that was a few years later when i was in college.

It's actually easy to forget how hard it can be to learn how to program. I somewhat take it for granted now, what I have learnt I mean. Those old manuals and such were hard to understand.

When I talk about changing characters I mean redefining things like the font and also special user-defined characters. One of the things I did with my D&D character generator was make a fancy font. It started by plotting the pixels in 8 by 8 blocks on graph paper and line by line converting it to binary.  It was like....

11111111
11111111
00011000
00011000
00011000
00011000
11111111
11111111

For something like "I". Then we split that into data... I forget exactly how...

Code
DATA 11111111, 11111111, 00011000, 00011000, 00011000, 00011000, 11111111, 11111111

Then In BASIC or maybe assembly that gets read into a character so it can appear on screen. So long ago now that I couldn't remember how exactly to do it.

As for the pros, then I don't know what they used to program games aside from the minimal assembly tools that you could get. I know that they were highly skilled like Ranch says - micro optimising everything. A lot of this was people doing it in their man cave back bedrooms of course too.

 


OpenAI Speech-to-Speech Reasoning Demo
by MikeB (AI News )
March 31, 2024, 01:00:53 pm
Say good-bye to GPUs...
by MikeB (AI News )
March 23, 2024, 09:23:52 am
Google Bard report
by ivan.moony (AI News )
February 14, 2024, 04:42:23 pm
Elon Musk's xAI Grok Chatbot
by MikeB (AI News )
December 11, 2023, 06:26:33 am
Nvidia Hype
by 8pla.net (AI News )
December 06, 2023, 10:04:52 pm
How will the OpenAI CEO being Fired affect ChatGPT?
by 8pla.net (AI News )
December 06, 2023, 09:54:25 pm
Independent AI sovereignties
by WriterOfMinds (AI News )
November 08, 2023, 04:51:21 am
LLaMA2 Meta's chatbot released
by 8pla.net (AI News )
October 18, 2023, 11:41:21 pm

Users Online

269 Guests, 1 User
Users active in past 15 minutes:
Freddy
[Administrator]

Most Online Today: 376. Most Online Ever: 2369 (November 21, 2020, 04:08:13 pm)

Articles