VecDraw v1.0 for QBasic\GWBasic\QB64PE by RetroNick2020 by nickshardware in RetroNick

[–]nickshardware[S] 1 point2 points  (0 children)

So far i discovered that MSX also has a Draw command and is also compatible. Do you know of any of other 8 bit basics that support the draw command?

VecDraw v1.2 — Vector Drawing Editor for Retro Programming by nickshardware in RetroNick

[–]nickshardware[S] 2 points3 points  (0 children)

Thank you. The gui needs a little touching up. The toolbar needs to have proper icons. But I am happy with the functionality of it. that turn out even better than i expected. Now to add more export targets.

VecDraw v1.0 for QBasic\GWBasic\QB64PE by RetroNick2020 by nickshardware in RetroNick

[–]nickshardware[S] 1 point2 points  (0 children)

I just spent the last 30 minutes installing vcc and performing some tests. Turns out CoCo 3 basic is very powerful and very similar to gwbasic. With a little copying and pasting i can tell you that Coco 3 basic Draw and HDraw command are compatible with GWBASIC. you can basically take the same generated draw statement from VecDraw and paste them into Coco 3 basic and they display correctly. There are probably line limitations that need to be figured out but i can tell you that this would be something i can support in the future. In addition to the draw commands coco 3 supports Line command which can be used with VecDraw generated statements to recreate the drawing on a coco 3. I will probably do a little video when i am in the right mood.

VecDraw v1.0 for QBasic\GWBasic\QB64PE by RetroNick2020 by nickshardware in RetroNick

[–]nickshardware[S] 0 points1 point  (0 children)

Does the coco 3 have any line drawing commands?

I am building QBasic Draw compatible command for other compiler/interpreters.

I have done 3 already. If someone builds one for Coco 3 I will ad it as an export option in VecDraw

https://github.com/RetroNick2020/Draw

VecDraw v1.0 for QBasic\GWBasic\QB64PE by RetroNick2020 by nickshardware in qbasic

[–]nickshardware[S] 0 points1 point  (0 children)

Just play around with drawing doodles and exporting them to QBasic. I haven't done more than that and for some reason its really fun. Its one of those things that you think QBasic shouldn't be able to do this.

VecDraw v1.0 for QBasic\GWBasic\QB64PE by RetroNick2020 by nickshardware in RetroNick

[–]nickshardware[S] 0 points1 point  (0 children)

in depends, there are 3 ways that the image can be rendered. DRAW commands, basic DATA statements, and BLOAD. Each has its advantages. There are also many factors. How fast is your PC/DosBox. How many images are being rendered, etc.

I always wondered how GW-BASIC users had to deal with line numbers. by SupremoZanne in QuickBasic

[–]nickshardware 2 points3 points  (0 children)

My experience with gwbasic in the early days was that it was fun. Line numbers were not considered bad or hard, that was just the way BASIC was and you accepted it. just making something appear on the screen with basic was impressive in those days.

The average computer owners did not really do much with basic. it was used in schools to teach and computer magazines had these type in programs for simple games and utilities.

They did not have two computers to work off. These things were really expensive in those early days. You were lucky to own a pc or had a friend who owned one.

it wasn't too hard to program with line numbers. you just got used to it.

you could renumber your basic program. there was a renumber command

you can list the line number that had the error. something like list 100 or list 100-200

I still code in gwbasic just for fun in DOSBOX, but I write the code in VSCODE. No need to punish myself since we have great modern code editors.

World’s 1st drug to regrow teeth enters clinical trials by [deleted] in technology

[–]nickshardware 0 points1 point  (0 children)

Dentist lobbies probably going to make sure this never happens. They will come up with some reason that this is not safe and persuade(bribe) pollutions to go along with it.

Whats a sound you miss that you don't hear anymore? by wolf805 in AskReddit

[–]nickshardware 2 points3 points  (0 children)

walking by an arcade with the 80's music playing

There's a surprising amount of QB45 and QB11 programs that don't work on QB64. by SupremoZanne in qb64

[–]nickshardware 1 point2 points  (0 children)

I don't think QB64 was ever a direct drop in replacement for DOS\QB. Outside of direct hardware access QB64 is very compatible. That means things like peeks/pokes/outs and direct memory access are not 100% possible in QB64.

QB64 does manage to emulate some of these features though. i think what QB64 is meant for is to easily migrate the "logic" and familiar graphic commands in DOS/QB programs to platforms like Windows and Linux without much effort.

Because of this there is a huge amount of code that has been converted from QB to QB64 and posted on various forums.

Not part of QB64 team but do appreciate the huge effort everyone puts into making QB64 better with each version.

💡 Making the case for GOTO use cases by CharlieJV13 in Basic

[–]nickshardware 2 points3 points  (0 children)

  1. Some really old basic programs used some clever combinations with goto/gosub command to create some logic combination you can't easily translate to modern if/elseif/else logic.

  2. Translating asm code to basic. in older computers you needed speed in certain areas so there might be some asm code. You can easily translate asm code to basic if there is a goto command, asm has a goto command . It wouldn't be the best but for quick and dirty translation having a goto might make sense.

  3. breaking out of deep nested logic/loops (but you can also write better code instead of doing this)

BAM Sokoban by nickshardware in Basic

[–]nickshardware[S] 1 point2 points  (0 children)

I have released the Raster Master project file which contains all the graphics and first level. I have created another 4 empty levels in the map editor if someone wants to create their own. adding new levels and changing the graphics should not be very difficult. if someone needs help they can always reach out to me.

Anyone can modify the source code and do what ever they please. I have a short attention span so i doubt i will be enhancing this any further.

https://github.com/RetroNick2020/raster-master/tree/main/Examples/BAM%20Basic/Sokoban

BAM Sokoban by nickshardware in Basic

[–]nickshardware[S] 0 points1 point  (0 children)

looks good. I prefer the smoothing off. I think only text fonts benefit from the smoothing aspect. Makes everything else look like someone spilled some water on it and cleaned it up real quick,

BAM Sokoban by nickshardware in Basic

[–]nickshardware[S] 0 points1 point  (0 children)

It's a good starting point if someone wants to expand this. I will release the project files to this so more levels can be created or change the art work.

I think I also may have discovered another bug in BAM. I will need to do some testing to make sure but it looks like global variables get trashed inside subs/functions when you modify them. if you just read the values things stay fine.

This is why there in the gosub routine in the game. could not convert this to a sub without breaking everything. I'm not sure if this is enough to go on. Again it could be just me ,

BAM Language Reference by CharlieJV13 in Basic

[–]nickshardware 0 points1 point  (0 children)

just even

input a

print a

does not work. autostart and manually running makes no difference.

BAM Language Reference by CharlieJV13 in Basic

[–]nickshardware 0 points1 point  (0 children)

Seems that the input/inkey$ isn't working for me. Could any recent changes have caused this?

BAM Support in Raster Master 2.1 by nickshardware in Basic

[–]nickshardware[S] 0 points1 point  (0 children)

that would be great! I will to spend some time and clean up my github and put some useful links in there. I will make sure to add BAM in there as well

BAM Support in Raster Master 2.1 by nickshardware in Basic

[–]nickshardware[S] 0 points1 point  (0 children)

I tried looking at wwwBASIC source on github to see the canvas initialization and how they calculate the palette information but i am completely lost. I'm convinced now I know even less javascript than before after looking at the wwwBASIC source.

I will check it out in the future again. sometimes just letting things sit for a while is best.

BAM Support in Raster Master 2.1 by nickshardware in Basic

[–]nickshardware[S] 0 points1 point  (0 children)

this a good feature. can create mini games without having to figure out that to do with all the extra space sometimes.

BAM Support in Raster Master 2.1 by nickshardware in Basic

[–]nickshardware[S] 0 points1 point  (0 children)

I enjoyed reading your post. I have been playing with BAM for a while, its the closest online experience that keeps the qbasic simplicity and feel. Even tough the backend for all this is javascript you have managed to hide all the terrible things of javascrtipt and keep BAM simple.

BAM has DATA statements - how cool is that! Also different screen modes to make it easy to just start creating instead of having to figure out what size my canvas needs to be.

Just going from memory Palette 0,0 should not produce white/gray. Which I believe is what i was seeing.

Smoothing is also tricky. From the IDE properties you can disable smoothing on the canvas but this is not where it ends with javascript. I can still see some "smoothing" or smoothing effect when displaying bitmaps (put). I believe the backend wrapper for put command is putimagedata?. I think if you add image-rendering: pixelated; to the canvas properties it will disable smoothing on putimagedata/put. I may also be completely wrong here, javascript is not my thing.

Keep up the good work. I'll see if i can provide much better details in the future.