Magic Mirror On The Screen

Well this doesn't need much explanation either... mirroring. Again the buttons aren't amazing but are functional. 

The code is on GitHub if you want to follow along with the code. The WIP output will appear here. Thanks for reading!




We Are Scrolling

Well this doesn't need much explanation... scrolling. May change the buttons but they will do for now. 

Time for some mirroring next!

The code is on GitHub if you want to follow along with the code. The WIP output will appear here. Thanks for reading.

Oops and The Grid

Oops I hadn't noticed the auto-deployed build was broken for a while. Some boring filename casing stuff was breaking the deploy. Sorted now!

Added a toggle for the grid (which was mostly in place already). Demo gif below:

Time for some scrolling next!

The code is on GitHub if you want to follow along with the code. The WIP output will appear here. Thanks for reading.



Export The Screen

It's been ages since I posted here - sorry! I got distracted with some type-ins (videos soon) and life stuff. Since my last blog post a CLS dialog and the export dialog have been added.

 Anyway we now have a working export dialog. There's at least two more export types I want to add but some other features have priority. 5 days of SepTandy to go - we will have a final push!


The code is on GitHub if you want to follow along with the code. The WIP output will appear here. Thanks for reading.

Screen Time

 Time to add in the screen! Luckily the canvas version from the previous React version was pretty well component-ised. Main changes were due to state update (storing the character). Left and Right Mouse buttons can now draw on the screen at it remembers.

Progress is going fast on this version of SGEdit - might need something else to keep me busy for SeptTandy! Next time, I think I will fix the screen layout and add another toolbar.

The code is on GitHub if you want to follow along with the code. The WIP output will appear here. Thanks for reading.









Characters and State

One of the good points of my previous React version of SGEdit was the Character Set. Instead of having 200+ image files to load, I encoded them into base64 and they are just a Javascript array now. This meant it was fairly easy to get the characters on screen in a palette of blocky goodness.


Once that was done, I wanted to add a primary and secondary character (left and right mouse buttons) which required me to store the state for the app. Previously I used Redux which is fine but rather clunky so I searched around for something new and found HookState which requires much less boilerplate code. Yay!

The code is on GitHub if you want to follow along with the code. The WIP output will appear here. Thanks for reading.


SepTandy 2023 - SGEDIT in React

It's very nearly September so time to start thinking about SepTandy for 2023!

I had a few ideas but settled on and update to SGEdit. I have quite a few ideas on what to do. There's some new features I want to add, but I decided to start by picking up an abandoned rewrite of the app in React. To see what state it's in, I tried to get it running tonight but breaking changes in the JS web stack prevented that.

So initial plan is to rebuild it from scratch from an empty app. The unfinished React version was more ambitious with plans for more screen modes. This time around I'd like to focus it back onto the classic 32 by 16 screen with easy to use outputs. Once I am happy with that, I'll maybe consider other fancier stuff. 

I will update GitHub as I go if you want to follow along with the code. The WIP output will appear hereShould be fun! Hope you can come along for the ride.




Let's Go Racing with 7 Lines of Code

 My recent type-in Death Valley is a favourite of mine. Games like it efficiently use the text screen auto-scrolling to great a fast action game in just a short bit of code. I thought it would be fun to write such a game from scratch and getting it going on the Dragon and the BBC.

It only takes a few lines, and with just minor changes it runs on the BBC too. With 40 columns rather than 32, the Beeb is slightly easier to get a higher score.

The Dragon version will, of course, run on the Coco but not the MC-10 which sadly lacks the STRING$ function and ELSE.



BBC Basic

10 L=0:R=39:D=16:S=0:CLS
20 PRINT STRING$(L+1,"X") + STRING$(D-(L+1)," ")+ "V"+ STRING$(R-(D+1)," ")+STRING$(40-(R),"X");
30 A$=INKEY$(0):IFA$="Q"THEND=D-1:IF D<1 THEN D=1
40 IFA$="P"THEN D=D+1:IF D>38 THEN D=38
50 IFRND(10)=1THEN L=L+1 
60 IFRND(10)=1THEN R=R-1
70 S=S+1:IFD=L OR D=R THEN CLS:PRINT "CRASH!!":PRINT "SCORE:":PRINT S:STOP ELSE GOTO 20

Dragon / Tandy Coco

10 L=0:R=31:D=16:S=0:CLS
20 PRINT STRING$(L+1,"X") + STRING$(D-(L+1)," ")+ "V"+ STRING$(R-(D+1)," ")+STRING$(32-(R),"X");
30 A$=INKEY$:IFA$="Q"THEND=D-1:IF D<1 THEN D=1
40 IFA$="P"THEN D=D+1:IF D>30 THEN D=30
50 IFRND(10)=1THEN L=L+1 
60 IFRND(10)=1THEN R=R-1
70 S=S+1:IFD=L OR D=R THEN CLS:PRINT "CRASH!!":PRINT "SCORE:":PRINT S:STOP ELSE GOTO 20

Might see if I can get this one running on other systems! Drive safely now...

Retro Redux - Or Just Getting Myself Organised

 I was quite keen to do some retro coding this year but I put it off as something was stressing me. My retro projects, while fun, were very poorly organised. This site here, some stuff on GitLab, some stuff on GitHub and finished things not put out there for community. So I would avoid doing anything and pick up another hobby.



Anyway I decided to have a go at organising everything, one program at a time and do new things too. Starting with the MC-10, I have picked up some type-ins and ported/expanded/updated my 10 Liners.

The latest stuff is appearing at daftspaniel/RetroCornerRedux: A Misc Retro Cornucopia - Dragon Tandy 8bit biased (github.com) Everything is being updated/refined as I move it in there and organised in a consistent manner with a screenshot and readme file. It's pleasing to see it come together already.

All my (formerly) 10 Liners are now on the MC-10. Gameplay videos below - more type-ins and new stuff to follow. Enjoy!


Type-In : Dragon User : Fault Line Graphics

Introduction

I was leafing through a Dragon User PDF and a program listing jumped out at me. It was a real nostalgia trip - I spent a lot of time playing around with that program. It was not too long to type in and the article explained how it worked very clearly. It too a while but produced some pretty cool solid 3d graphics.

So I typed into my PC and fired it into my emulator of choice XROAR (it is a Dragon specific type-in for now) and had fun fixing all my typos and making some cool pictures. It was also fun to use the emulated floppies to load and save the data. The program takes some time even with the speed up poke but hitting F12 on XROAR can make the time fly by!

The version from Dragon user is available here - named FLGORIG.BAS and a Dragon vdk disk image too. If anyone wants to have a go at optimising the basic, please do but keep in mind there's not much memory left over. There's probably a quick win of just using one graphics screen to free up 4k or so.

What Next?

I am hoping to port to the Coco 3 - shouldn't be a great deal of changes. At the higher clock rate things should be turbo charged! There's a few features I would like to add too - such as validating the generated data (it can crash at present if height values get too high), a progress bar and maybe play with some of the higher resolutions on the GIME.

Happy quaking!
















I Made A Disk Menu!




Not having a disk system meant I never had the fun of putting a disk menu together... until now!

For the Tandy COCO - I have put together a disk menu with 2 games on it plus 5 mini (10 liners) didn't get round to releasing it. Most have been released before but Ingress Island (text adventure) and Yeti Hunt (10 liner) are brand new. Hope you can have some fun with it! Send any bugs my way... Now I think I'll go and see if I can solve my own text adventure... 

Magic Mirror On The Screen

Well this doesn't need much explanation either... mirroring. Again the buttons aren't amazing but are functional.  The code is on  G...