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 »

CCS 2003 games are in my dreams :lol: Having way to much fun.

Messing around with basic some more. You can see the error I made with the box program its re-drawing the whole screen when the player updates. That is wrong. What I should be doing is recording where the XO YO positions were, erasing them them putting the new player pos in XY while keeping the box border.

Another thing I need to fix is using INKEY$ instead of regular input.

Trying to then get all that to work in a one liner will be a pita. :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 »

My D grade B stock Chinese keyboard decided to pick today to start acting up :lol: Not expecting a lot to get done today..

Still at least its still got some functionality 8-) Will be back on track Monday.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Figured out how to write disk menu systems today with the +3. Next to get the menu file to auto boot. :lol:

How it works is pretty simple. All it is the menu program merges whatever program is chosen from a series of choices. At the moment it goes to line 1000. This is probably a dumb choice (would have been better to have put it to something like 9950. That way even the largest of programs should not have issues.

Merge is ok but you still run the risk of running out of memory.

Like anything - its not perfect but its good enough.

Eventually I'll have a menu like what you used to get with the +3 multi disks.

It probably makes sense to make this as good as I can do, because I can use it again and again for every disk I make. I should probably make an effort to do this in assembly but honestly I am lazy. :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 project time was divided between CCS 2003 and my one liner addiction. :lol:

What's the hard limit on one liners for size with the +3 I think its a little different to the 48k right?

On the plus side I got the chess UDG example converted to a one liner now.

Next task is to see if I can create an entire chess game board as a one liner :lol:

Here are the assembled chessmen. Next step is to try and squeeze this into a 1 liner. :lol:
Image
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

Tonight I found one of the most pointless BASIC programs I have ever seen.

Artificial Intelligence on the Spectrum, Chapter 2 first listing. :lol:

It takes a string input, uses an IF THEN control structure to print a string after compairing the input string.. But not in the way you would expect pop pickers... :lol:

You are thinking IF I$="NORTH" THEN PRINT I$... but no..

Image

I added a clear screen and a slight pause as I like to keep the screen clean. 8-)

Interesting outcome. The first thing I did was try and convert this pointless program into a one liner. But for the life of me I cant figure out why it wont work. :lol:

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 »

Are statements after colons being treated as part of the THEN?
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 »

Yea it seems there is a weird feature of the IF THEN block. In fairness I never knew there was this issue with the IF THEN block with one liners. 8-) I guess it was not so boring after all. :lol:
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Crap 0.1 first assembly project

Post by Nomad »

I been reading 'House of Leaves'. So I figured it would be nice to see if I could replicate some of the typography style used in the book as a one liner. As its a spectrum program figured it would be good to use different colours just like the book but with different paper values :lol:

Listing.

Image

Here are a few screens of the program running.

Image

Image

Improvements:

Well the most obvious thing that can be improved is making sure that A & B can't be equal.
I could add in different sentence string arrays that are selected at random.

After I thought to myself ; "I can cheese my way to another 1 liner with a little change" :lol:

In doing so I found a problem with the earlier program, I was not printing on the whole page.

All I did was use a single graphics character instead of four strings, extended the X Y values to cover as much as the screen as I could. Badabing badaboom - new one liner. 8-)

Listing:
Image

Screen:
Image

But then why just use CHR$(143)? Why not use all the graphics chars you get for free :lol:

Listing:
Image

Screen:
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 »

Ha excellent. The cutout effect would work really well with the Next's 3 layers and global transparency.

I love the Navidson house sections in that book so much.
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 »

Yes I really enjoyed the book, I like things where you can interpret them on lots of different levels/ways. It is stunning that one guy wrote it. No wonder it took so long. It is a shame he didn't write more about his process. I figure the planning alone of the various layers of narrative must have taken years.

I had always hoped that games would be created of similar complexity but who knows what the future will bring. With all these ARG type multi media projects in the last 10 years or so I think perhaps in the next few decades one will be created that will use multiple media channels to tell the story. It's just a matter of time.

I will need to take a look at the next and see what is possible, it sounds pretty cool. Kind of like a neo-geo type specification.
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!
Post Reply