Dr. Jim's Next BASIC Dumping Ground

The Speccy's spritely young offspring. Discuss everything from FPGA to ZX
Post Reply
User avatar
TMD2003
Rick Dangerous
Posts: 2045
Joined: Fri Apr 10, 2020 9:23 am
Location: Airstrip One
Contact:

Dr. Jim's Next BASIC Dumping Ground

Post by TMD2003 »

This is the timeline of events:

25 December 1983: It's Christmas. I am four years old. My dad, disguised as a fat man with a white beard in a red suit (I didn't know it was him, honest), delivered a small, door-wedge-shaped computer with a chunky block hanging out the back. (No, it wasn't a prototype QL.) I was over the proverbial moon. I wrote my first ever program!
10 PRINT "NO"
20 GOTO 10

25 November 2022: Crash Live. The Next team are there, handing out freebies to anyone who backed the Issue 2 Kickstarter. One such freebie is a copy of the Issue 1 Next manual, which I'd assume they had a surplus of and were trying to offload them somehow.

9 January 2023: I opened the manual and started reading it, even the introductory waffle and bunk at the beginning, and all the obvious bits and pieces that I'd known since I had a ZX81.

11 January 2023: having reached chapter 17 and the section on tiles, which was all new to me, I started writing a program to convert a 16×16 drawing on screen to a tile. After working out how to convert an on-screen graphic into usable tile data, I was floored by the concept of the tile bank. And so began a couple of days of consultation here and elsewhere. Several users of Discord (including @Seven.FFF) were very helpful.

14 January 2023: The program was complete, and working - on CSpect, at least. @Seven.FFF already has a copy and might possibly be testing it on a real Next to see if it works there, which it should - but I can't test that bit myself until September or so.

Anyway, without further PAUSE:

Image Image

Image Image

Tile Cutter: GET IT HERE!

So this is my first Next program, just north of 39 years after the ZX81 effort. All right, so I'm also 39 years older, and it helps when writing programs on a platform that's vastly upgraded to what I recognise.

To use it, take your favourite graphics package - even Microsoft Paintbrush on Windows 3.1 will suffice - and draw your intended tiles, either 8×8 or 16×16, in the top third of a 256×192 image (so, that's 256×64 pixels to play with, enough for 64 large tiles or 256 small tiles).
Save it as a .BMP file.
Take this to Remy Sharp's Next Tools and convert it to .SL2 format, thus ensuring it fits the Next's default LAYER 2 palette - which is what this program is intended for.
Copy the .SL2 file to your SD card, in the same directory as the Tile Cutter program (TILECUT by default). This may involve HDFmonkey if you're working with CSpect and an SD image - which is finnicky, but necessary without the real hardware.
Run the program, load in the .SL2 file, and watch the Tile Cutter do its work.
Save as many tiles as is required.

With a bit of luck, this might be useful to someone, somewhere. And if that certain someone who was told, repeatedly, to RTFM is watching (fat chance) - well, I did. And most of this is what I could do after RingTFM, just that the concept of the tile map needed a bit of further explanation. I have provided that, in a way the manual doesn't, in my own instructions so there should be no further confusion.

Next users on Faceache have reported that it might be possible to get this program working with a straight .BMP file - though I find the .bmpload command hasn't yet done what I wanted it to do, and any bitmap to be loaded in that way still requires some external manipulation. I'm sticking with .SL2 for now, and I'm sure someone will point out that Remy's already made an online sprite-and-tile designer that can automatically output the required data. That, though, doesn't help me practice programming with new concepts, and this does.

I suspect there may be a sprite program in the making somewhere, but I have to get to grips with chapter 18 first, and I already have a CSSCGC entry brewing which won't take too long, but which I dare not waste.
Spectribution: Dr. Jim's Sinclair computing pages.
Features my own programs, modified type-ins, RZXs, character sets & UDGs, and QL type-ins... so far!
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: Dr. Jim's Next BASIC Dumping Ground

Post by Luzie »

@TMD2003 Thank you very much for this!
TMD2003 wrote: Mon Jan 16, 2023 6:57 pm
Tile Cutter: GET IT HERE!
Seems the Download link mashed up by the Forum Software, so here is there probably corrected link: https://www.rickdangerous.co.uk/zx/files/tilecut.zip
User avatar
TMD2003
Rick Dangerous
Posts: 2045
Joined: Fri Apr 10, 2020 9:23 am
Location: Airstrip One
Contact:

Re: Dr. Jim's Next BASIC Dumping Ground

Post by TMD2003 »

There I was thinking I'd got the link in there properly! Cheers for that. I know where my links are, but not necessarily everyone else does.

Anyway, I'm having more fun with graphics... still haven't got to sprites yet, but I don't need to for now.
Spectribution: Dr. Jim's Sinclair computing pages.
Features my own programs, modified type-ins, RZXs, character sets & UDGs, and QL type-ins... so far!
User avatar
emook
Drutt
Posts: 36
Joined: Mon Nov 13, 2017 1:04 pm
Location: Manchester, England
Contact:

Re: Dr. Jim's Next BASIC Dumping Ground

Post by emook »

Nice work!
User avatar
TMD2003
Rick Dangerous
Posts: 2045
Joined: Fri Apr 10, 2020 9:23 am
Location: Airstrip One
Contact:

Re: Dr. Jim's Next BASIC Dumping Ground

Post by TMD2003 »

And I nearly had to user it myself the other day. Then I thought "how about generating some randomly-patterned tiles every time instead?" The results will be visible soon enough.

Anyway, glad you liked it.
Spectribution: Dr. Jim's Sinclair computing pages.
Features my own programs, modified type-ins, RZXs, character sets & UDGs, and QL type-ins... so far!
User avatar
TMD2003
Rick Dangerous
Posts: 2045
Joined: Fri Apr 10, 2020 9:23 am
Location: Airstrip One
Contact:

Re: Dr. Jim's Next BASIC Dumping Ground

Post by TMD2003 »

Presenting, program number two for the dumping ground...

...actually, I'm not going to explain it. I'll just leave it here, and let the magic of YouTube unveil the most unbelievable revelation since a Brazilian and a Greek said they were going to make a 21st Century "Son Of Spectrum".

The video is unlisted, so don't go spreading it around like Marmite on a crumpet.



@PeterJ and @R-Tape already know what the revelation is, but nobody else does. Anyway, just in case any Next users might find the program useful, it's there for all to see. Or you could just see what I did with integer arrays and .playwav (that doesn't work on CSpect).

And yes, I could make a regular Spectrum version, but it'll be compromised in a very "Hawking-esque" way, if you catch my drift.
Spectribution: Dr. Jim's Sinclair computing pages.
Features my own programs, modified type-ins, RZXs, character sets & UDGs, and QL type-ins... so far!
User avatar
R-Tape
Site Admin
Posts: 6409
Joined: Thu Nov 09, 2017 11:46 am

Re: Dr. Jim's Next BASIC Dumping Ground

Post by R-Tape »

Excellent Jim! How blue and green are you real stats then? I'm picturing how you would explain an in-house skating injury to A&E: "No really, I fell over for demonstration purposes"

Now you need to turn your hand to electronics and make a remote for input.
User avatar
TMD2003
Rick Dangerous
Posts: 2045
Joined: Fri Apr 10, 2020 9:23 am
Location: Airstrip One
Contact:

Re: Dr. Jim's Next BASIC Dumping Ground

Post by TMD2003 »

R-Tape wrote: Wed Feb 07, 2024 7:11 am Excellent Jim! How blue and green are you real stats then?

Sunday afternoon, before I made the program: very much green.
Monday, during filming: green.
Tuesday evening: worryingly yellow.
Today: a dreadful mixture of green, yellow and red.

None of these have been using the program, more an assessment of how I thought I did. This is suboptimal. However, once I have been through a complete cycle, I'll post a screenshot.
R-Tape wrote: Wed Feb 07, 2024 7:11 amI'm picturing how you would explain an in-house skating injury to A&E: "No really, I fell over for demonstration purposes"
I refuse. If I find myself in A&E at any time post-2020 it'll be because I'm in a situation in which not getting help will leave me permanently crippled. If I break an arm I'll walk to Chatteris, buy some plaster myself and find a local first aider to make a cast. And if I break a leg I'll use a yard broom as a crutch. Chatteris is two hours' walk away, incidentally.
R-Tape wrote: Wed Feb 07, 2024 7:11 am Now you need to turn your hand to electronics and make a remote for input.
It'd be useful, but I suspect that's beyond me. Although, it might just have to involve one of those Chinese-copy-Megadrive controllers that has a wireless connection instead of a cable, and an IN instead of an INKEY$ to control it. I suppose IF %IN 31<>0 THEN... will do it.
Spectribution: Dr. Jim's Sinclair computing pages.
Features my own programs, modified type-ins, RZXs, character sets & UDGs, and QL type-ins... so far!
Post Reply