Crap 0.1 first assembly project

Show us what you're working on, (preferably with screenshots).
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

One question I had was could a game/application be developed to trigger a behavioral contagion event in the user? It has always been a subject of speculation if such a thing is possible without the use of chemical aids. I think in theory it should given the right stimulation work with susceptible individuals. Then it would just be a matter of enough susceptible individuals being in a social network that can share the program.

But then again if it were indeed easy to trigger it would already be widely used in viral marketing.

To be able to determine a individuals nature (extrovert/introvert) from game play would be critical. (extroverts are the most susceptible to behavioral contagion, introverts are far less likely because of personality type to become a vector...)
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Crap 0.1 first assembly project

Post by Ast A. Moore »

Social networks already do that. The advantage of social networks over games is that far more people use them. Sharing scores/achievements online is the simples way of introducing behavioral contagion into games by exploiting a natural incentive.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Yea I remember Farmville was probably the first online one I felt was diabolical in that regard. I had colleagues and friends begging me to get a facebook just so they could add me in this Skinner box app :lol: Whenever I would see these type of applications at first I think the reaction is disgust but then a part of me wishes I had thought it up because it would be a ticket to riches :lol: I am sure the creator of these apps are crying to their respective therapists over the guilt of manipulating all these plebs :lol:

But I guess now its candy crush.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

So following a thread on here I got round to reading through the rather wonderful Spectrum Trade Secrets.

Check this out..

Spectrum +3 BASIC...

Image

Image

Spectrum 48k BASIC...

Image

Image

Works in 48k but 3+ basic it fails hard. :lol:

Image

is it a case of..

Image :lol:

I am guessing its because the memory map is subtly different with the +3..

Time to check if 23759,23760,23761,23762 are being left empty with the +3 looking at the output I think I am off by a few bytes...
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Crap 0.1 first assembly project

Post by Seven.FFF »

Images are not showing up for me, even on postimage’s site. My curiosity is whetted now though, dammit!
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Weird..

Sorry being a potato - realised I didn't explain in the text what it was actually doing. :lol:

Ok this is using pokes to replicate the BASIC INK 7 : PAPER 7

The extremely cheesy first level of source protection. :lol:

Code: Select all

10    LET A = 0
So you have 4 spaces between the 10 and the LET

Then you use direct entry

Code: Select all

POKE 23759,16 : POKE 23760,7 : POKE 23761,17 : POKE 23762,7
Image

Image
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Crap 0.1 first assembly project

Post by Seven.FFF »

I think postimg.org are having DNS problems today, it'll probably sort itself out eventually.

Hmmm, not sure why the +3 is different; PROG lives at the same place, and the program should be stored in the same tokenized form whichever editor is in use, right?
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

That is what I thought. :lol: But I wouldn't be surprised if there is a interesting reason for this.

On review the trade secrets 'book' is just delicious, it lives up to every assumption you would make about a mail order information product from a computer magazine. :lol:

Some of these tricks are cool. Kinda weird it never got a review in the magazines. Its only ever featured in classified ads.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Hey Spectrum people,

I got frustrated with the Trade Secrets archive zip, its non-starch friendly scan layout was a confusing mess for non-Vulcans to use. Something needed to be done. I had two choices,

1. Cry to the internet about the problems and injustice in a sped rage.

2. Do something about it.

Figured the only solution was to re-typeset the document, luckily Trade Secrets is 20 pages of padded typewriter text including the code. So its not like I was re-typesetting War and Peace.

Anyway a few hours of typing, little bit of latex magic and here we are. For the first time in years a readable version of Trade Secrets.
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Crap 0.1 first assembly project

Post by Seven.FFF »

Excellent. I've never read this, and would love to see your version!
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Seven.FFF wrote: Fri Apr 13, 2018 11:35 pm Excellent. I've never read this, and would love to see your version!
I am just fixing the formatting :lol: should be done by end of the day.

Geoff A. Bobker did a ton of work but seems to have been a bit of a fringe figure, none of his stuff get's much exposure either back in the day or now. It seems kinda weird as this fella did everything - he wrote applications, developed and marketed hardware peripherals and published a newsletter/book.

And this fellow seems to be a ghost, there is no information beyond a few references on WOS related to the guys output - but its not like this stuff was reviewed except for a few cases.

One of the big questions I had when I began all this was 'what would people who wanted to create professional level applications/games/hardware get the information to do this.' and his stuff had to have been a source.

Edit: This is gold. Read 'Feet of clay'

https://spectrumcomputing.co.uk/mag.php ... 80&page=42

:lol:
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Today was spent tiding up the 'spiritual successor' to trade secrets :lol:

Now at the stage adding in screen shots - something the original never had. This is where the original text was kinda confusing. Unless you were sat in front of the spectrum with an active project to test these little snippets/hacks out on it gets a little cryptic sometimes. The text needs a lot of work. I read through it again and its as if a space alien wrote some of it. :lol: A little bit of love and try and get as much of the code working in +3 basic and I think things will be looking up.

There was a tape that went with this back in the day but that seems to be MIA.

Re-creating a tape & disk seems to be a good idea.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

I saw a A Moore assembly snippet about testing if a machine was +2 +3 or 48k system in assembly. I thought this technique was very useful and added it to my swipe file of cool routines 8-)

I thought to myself - I wonder how I would do this in BASIC. :lol: Its semi pointless but you never know right? right? ... Ok I'll get my coat. :lol:


Image

Image
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Here is a 1 liner version of a program from Trade secret.

Its just a simple memory peeker, semi pointless but for me a simple program has no reason not to be a 1 liner. :lol:

The one liner:

Image

Code: Select all

10 FOR I = 30000 TO 66666 : PRINT I ; "=" ; PEEK I : NEXT I
The screen:

Image

Here is the original program.

Image

Code: Select all

10 FOR I = 30000 TO 66666
20 PRINT I ; "=" ; PEEK I
30 NEXT I
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Failed to get anything ready for the Spectrum Birthday :'(.

Nobody to blame but myself for that :lol: Happy birthday Spectrum!
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Crap 0.1 first assembly project

Post by Ast A. Moore »

Nomad wrote: Mon Apr 16, 2018 8:16 am I saw a A Moore assembly snippet about testing if a machine was +2 +3 or 48k system in assembly.
Hey, I planned to take that secret to the grave!

To be more precise, it detects a +2A/+3 (the only information I needed to differentiate between the two floating bus routines). The three other guys—48K, 128K, and +2 could be all lumped together. The proper messages should read:

“It’s a +2A/+3.”

and

“It’s not a +2A/+3.”

That’s all we can deduce from it. ;)
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Cheers. I will amend the listing.

[media]https://www.youtube.com/watch?v=iDEh6CGOFXM[/media]

Ok game pickers..

I saw a A Moore assembly snippet about testing if a machine was +2A +3 or not +2A +3 system in assembly 8-) 8-) . I thought this technique was very useful and added it to my swipe file of cool routines 8-)

The next thought that entered my potato brain was - I wonder how I would do this in BASIC. :lol: Its semi pointless but you never know right? right? ... Ok I'll get my coat. :lol:

Image

Image

Thank you to A Moore for spotting my error.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Crap 0.1 first assembly project

Post by Ast A. Moore »

Nomad wrote: Mon Apr 23, 2018 2:26 pm Thank you to A Moore for spotting my error.
Don’t thank me; thank Ziggy. I’m just a hologram.
Image
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Before in this starchy journal I had described a plan to figure how psychological contagion worked. For those not reading along - the idea is to understand how games become popular. That is a polite way to describe the effect of psychological contagion.

All successful games have this but sometimes its harder to perceive the mechanics with elaborate games. Its hidden under layers of finesse and graphic finery. But with casual mobile games, there are less layers of finesse than with other categories of games.. so the addiction/meme/psychological contagion mechanics are much easier to perceive.

There are two main books on the subject -

Richard Brodie - Virus of the MInd: the new science of the Meme (2009).

This is a good introduction to the theory of contagion. Don't take my word for it find a copy and get at it.

and

Kate Distin, The Selfish Meme: A Critical Reassessment (2004)

Next is a bunch of other interesting books that I found helped understand the subject. I had read stuff on direct advertising before but I didn't really have a idea of the theory behind it.

Cialdini - Influence: The Psychology of Persuasion (1993).

and

D Rushkoff. Media Virus! (1994).

Media memes and everyday persuasion techniques, to get a game/application played you first have to convince a peasant to actually get the idea in his head to want to use it.. This book explains how.

So what's the crack? Why spend this time on obscure theory. My thought is that its much easier to show these techniques with 8-bit system. To show that its not all pseudo science and there might be something to this. It might be interesting to define how its used in existing games in the archive.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Not sure if I posted this already as the image host seems not to be working on the earlier pages.

This is from cracking the code just converted to a one liner.

Code: Select all

1 CLEAR 31999: FOR X=32000 TO 32014 : READ A : POKE X,A : NEXT X : RANDOMIZE USR 32000 : DATA 33,0,64,1,0,24,54,255,35,11,120,177,32,248,201
Image

Image
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Crap 0.1 first assembly project

Post by Ast A. Moore »

Nomad wrote: Wed Apr 25, 2018 2:39 pm This is from cracking the code just converted to a one liner.
Suboptimal. This is smaller and faster:

Code: Select all

1 CLEAR 39999: FOR X=4e4 TO 40010: READ A: POKE X,A: NEXT X: RANDOMIZE USR 4e4: DATA 33,255,87,125,119,43,203,108,40,250,201
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Image

That is awesome.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Crap 0.1 first assembly project

Post by Ast A. Moore »

Nomad wrote: Wed Apr 25, 2018 5:40 pm That is awesome.
Well, Awesome is my middle name. :lol:
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Unless the search box is broke that is the first appearance of the 4e4 trick on the forum :lol:

Program pickers might remember this being used in PAUSE 4E4 from the Tim Hartnell '49 explosive games for the ZX Spectrum' (1983) Scott Vincent's Three D Maze, p.214 But I figure this can be traced back even further. (considering this was one of his cash grab books - a compilation of other peoples work with his name on the front. :lol: ) I am guessing the technique had to have been published earlier.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Crap 0.1 first assembly project

Post by Ast A. Moore »

Hmm. I didn’t know using the exponent notation in BASIC was a trick. I’ve been using it for decades, primarily because it’s faster to type than 40000.

My optimization wasn’t really about that (although moving machine code into non-contended memory is part of it). I just rewrote the machine code part making it both smaller and faster. In this day and age, every microsecond counts, doncha know . . .
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Post Reply