Crap 0.1 first assembly project

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

Re: Crap 0.1 first assembly project

Post by Nomad » Sun Dec 31, 2017 1:50 pm

To be honest today was not so fast progress, but what progress there was was ok. Player input is now a thing, in a basic way. But at least the program now looks at 23560, compares it to a bunch of different keys and then does a bunch of stuff. ala the menu.

That said, what didn't go so well today was... tommygunn refused to work just kept throwing exceptions all over the shop when i ran it with wine, zxpaintbrush was also freaking out. So I think perhaps my install of wine is borked. (trump voice) Sad.

I am thinking of just getting some poverty desktop to put a copy of windows on just to run these dev apps as most of the spectrum development programs seem to be windows based...

So got some stuff on the screen, got my texts going where I want them, the graphics are a bit of an enigma but I finally figured out what I was doing wrong with the udgs (not treating them like a string/char). I need to spend more time with the sprite side of things and get a handle on that. Then everything will be more smooth.

Thing that went much easier than expected was the musical side of the project, lol that was done in under a min (and it shows - but then a crap game needs crap music :D)
0 x

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

Re: Crap 0.1 first assembly project

Post by Nomad » Mon Jan 01, 2018 8:40 am

Its the 1st of January, So I have 364 days to complete this crap game. Things are looking good.
1. SevenUp works fine, so its now much less of a hassle doing specky graphics. That was the first good news of the day.
2. Audio is already ready to go into the game. Sound effects got done this morning. (farts and sweeps)
3. Player movement is done.
4. boundary checking is done.
5. Pointer is done.
6. plus other minor stuff.

So things left that need to be fixed - I thought just do a basic background this time, I will do a fully tiled master work some other game. But at the moment it would be nice to get this done and move on. With that in mind, the layout of the main game screen is pretty easy - just print the coordinates for the board along the grid, and have the player moves along the right hand side, a basic menu system and a help screen and besides the animation of pieces, and some kind of print routine for the game history its done.

My understanding is back in the day some commercial crap spectrum titles were written and sent out to customers in 28 days. Would be fun to see if I can complete this in 28 days. I used to think those kinds of turn around times were unbelievable but now I can see how it could be done - especially if a guy knew what he was doing and had a template already/old code from other projects he could re use. Doing something impressive though would have still taken time.

Happy new year party people!
1 x

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

Re: Crap 0.1 first assembly project

Post by Nomad » Tue Jan 02, 2018 9:04 am

Day 2: (363 days left..)

Got the pawn sprite done. got a bunch of libraries for z80 assembly on the spectrum so while i feel its a little bit of a short cut, it greatly improves my noob chances of getting something finished that looks ok. I think even a crap game has some standards...

1. It should be better than a basic type-in from the magazines of the time. In other words for this challenge to be complete it should have stuff that my 6 year old self would have sat down and said "damn I can't do that in basic..." Something that could have realistically been sold for a few quid in the back of a magazine at the start of the spectrum era. The use case is - guy pays 5 pounds and is instantly disappointed but not enough to demand a refund.

2. No copy-pasta, I need to actually understand what the program is doing. This is a learning exercise first and foremost so I can't just use a game creator program. Not saying I have to write everything in a cave, but it should be understood first before being used. I agonised over using the libraries because of this but its not on the same level. I can always learn how to do the fancy sprite stuff next time.

With that in mind today was pretty productive, figuring out what can be done with the libraries, and then that will leave me tomorrow with a list of stuff I still have outstanding. Will get the library demos working tonight and go from there.

Going to finish the Jonathan Cauldwell guide, that was extremely useful. http://s3.spanglefish.com/s/22323/docum ... mes1.0.zip

Also well worth a look http://sgate.emt.bme.hu/patai/publicati ... index.html for general Z80 assembly.

The main library I have been looking at was by Sebastian Mihai. libzx. http://sebastianmihai.com/main.php?t=13 ... y-language
0 x

dfzx
Dizzy
Posts: 99
Joined: Mon Nov 13, 2017 6:55 pm
Location: New Forest, UK
Contact:

Re: Crap 0.1 first assembly project

Post by dfzx » Tue Jan 02, 2018 12:53 pm

Nomad wrote:
Tue Jan 02, 2018 9:04 am
The use case is - guy pays 5 pounds and is instantly disappointed but not enough to demand a refund.
:lol: :lol: :lol: ROFLMAO! :lol: :lol: :lol:

Keep going, and keep commentating. I love threads like this.
1 x

Wall_Axe
Microbot
Posts: 172
Joined: Mon Nov 13, 2017 11:13 pm

Re: Crap 0.1 first assembly project

Post by Wall_Axe » Tue Jan 02, 2018 1:54 pm

if yer usin linux you can use pasmo i think, or some other assembler
make files are useful
0 x

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

Re: Crap 0.1 first assembly project

Post by Nomad » Tue Jan 02, 2018 2:35 pm

Wall_Axe wrote:
Tue Jan 02, 2018 1:54 pm
if yer usin linux you can use pasmo i think, or some other assembler
make files are useful
Pasmo is what I am using at the moment, I like how you can generate the tap files with it. :)
0 x

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

Re: Crap 0.1 first assembly project

Post by Nomad » Wed Jan 03, 2018 1:51 pm

Day 3: (362 days left)

Got all arty-farty with screen painter :lol: The idea was to have a main background that was:

1. Garish to the point of migraine inducing, colour theory should be actively avoided.
2. I was lazy and figured the board is not going to move so might as well plonk it on the background.

Image
Gents, I think everyone is in agreement :D

Now the only thing I have to do is put this bad boy into the crap program... At the moment I am looking at libzx and the way that the background is loaded there is pretty straight forward however the background is not in the same format as what you get from the tools when I save as bin or as a code.

Its expecting

Code: Select all

 db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
but that's not what the screens save as :(

I frankly don't trust myself to not make a mistake manually editing the whole bin file. Will try and figure out a way to automate this. But if someone can point out where I am going wrong or how i can just load the bin of the background into the program that would be fabulous.

Faffing around with the background loader and screen paint was not the only thing project related that got done today. In the spirit of the challenge. I figured the type of deviant that would create such crap and actually try and sell it to the unsuspecting public would want to maximise the profit potential. Therefore a port to other platforms would be desirable. But to keep within the spirit of the challenge it should be a lazy port with no optimisations just the bare minimum to get it working on the Amstrad CPC, and MSX. (The enterprise was a little bit thin on the documentation side - I figured that would be to difficult to do even a lazy port to that bad boy.)

So yea, in light of this - I got the CPC and MSX emulators installed, pasmo should be fine with both these. There was enough documentation and enough info online to be able to do a lazy port. For this title its very basic functionality. Its a matter of getting the memory map for the target, the keyboard routine, and the graphics display. (Like a true lazy/cash grab I might slash the audio component on the ports) Bidabang badaboom two new markets to be disappointed.

Boxart - because these things have to oversell/promise and critically under deliver.
I was thinking something along the lines of..
Image
1 x

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

Re: Crap 0.1 first assembly project

Post by Seven.FFF » Wed Jan 03, 2018 4:43 pm

ZX-Paintbrush will save the graphics in this format, with the Export function. Was it you that was saying in another post you were on linux, and couldn't get ZX-Paintrush to work under Wine?

However - looking at the libzx code, it's just expecting 6944 bytes of a SCREEN$. Most assemblers have a binary include directive. In pasmo for example, it would be

Code: Select all

incbin "myscreen.scr"
http://pasmo.speccy.org/pasmodoc.html#dirincbin

Just replace the entire block of db directives with this, or the equivalent in your assembler.
1 x
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

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

Re: Crap 0.1 first assembly project

Post by Nomad » Wed Jan 03, 2018 5:00 pm

Seven.FFF wrote:
Wed Jan 03, 2018 4:43 pm
ZX-Paintbrush will save the graphics in this format, with the Export function. Was it you that was saying in another post you were on linux, and couldn't get ZX-Paintrush to work under Wine?

However - looking at the libzx code, it's just expecting 6944 bytes of a SCREEN$. Most assemblers have a binary include directive. In pasmo for example, it would be

Code: Select all

incbin "myscreen.scr"
http://pasmo.speccy.org/pasmodoc.html#dirincbin

Just replace the entire block of db directives with this, or the equivalent in your assembler.
:D Thank you very much, this worked a treat!
1 x

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

Re: Crap 0.1 first assembly project

Post by Seven.FFF » Wed Jan 03, 2018 5:06 pm

Sweet. BTW I think doing the board as a background is sensible.

This is the only downside of using a library - it relieves you from the blood and tears of figuring everything out from first principles... then you just have the blood and tears of figuring out the arcane features of the library!! Hang on in there though. If you've got this far this quick it will all come together pretty quickly :)
1 x
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

Post Reply