6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 7:16 am

All times are UTC




Post new topic Reply to topic  [ 63 posts ]  Go to page Previous  1, 2, 3, 4, 5
Author Message
PostPosted: Tue Oct 04, 2022 3:17 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
Historically, VTL02 and its predecessor VTL-2 didn't have errors because the main focus when creating them was "get it working in as few bytes of ROM as possible". The 6800 version is 768 bytes, and the 6502 version is < 1KB (with several feature enhancements). There's an 8080 version that weighs in under 1KB as well, but I haven't studied it in depth. Klaus2m5 made several performance and feature enhancements to VTL02 (including error reporting), but he quickly filled up over 2KB doing so.

The 6800 version is impressively small, but much less efficient than my 6502 version. Neither are intended for beginners. Spaghetti code is not only permitted, but practically necessary. They both have a very primitive pseudo-random number generator, though, because that is a desirable feature.

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 04, 2022 5:03 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 718
Location: Texas
BillO wrote:
sburrow wrote:
So, as Mike Barry was saying, this program will not give an error, ever. It will do what it thinks is best, even if that was not expected.

Chad


Interesting approach. It my make troubleshooting difficult for a child though.


In the end, you are right. Here's how I see it:

-We have veteran programmers who can figure it out without much help. Error messages are great, but not required.

-We have typical programmers who basically need error messages. Not saying they couldn't think themselves out of a wet paper bag, but they are dependent on these (new) resources.

-We have beginning programmers who (are being taught to) need error messages. They might not even know what the error message entirely means, but that something they did was wrong. Syntax vs. runtime isn't even a concept yet.

-We have four year olds, who literally cannot define what an 'error' even is. Errors are NOT necessarily "bad", like screaming for toys in dept stores or stealing a cookie. Errors are more like "oops". And, as this particular 4 year old's teacher, *I* am her error messages. I do this for her math lessons all the time: What is 8+9? Um... 12! No, are you guessing? Etc.

BTW, I made a quick BASIC program where it asked for the answer to two random numbers being added together. My daughter enjoyed it a lot! She did guess some times, and it would say "nope, the answer was X" but she would get a lot of them right. Then I changed the program to multiply two numbers together, and since then I've been working with her on multiplication concepts. So, it's not only for her learn programming (though that is the goal eventually) but also something for me to whip out a quick 'game' of sorts of her to learn/enjoy.

I asked my wife last week, "Should I make this BASIC the first thing that comes up on boot?" Granting that I explained what most of that meant, and the historical case for C64's and such booting to BASIC, she said, "Yes, do that." But then I explained the limitations of my BASIC interpreter, and what my alternative is right now. She quickly said, "Nevermind, all you did was make a toy! Stick with the original plan." It was funny to have my BASIC be called a toy. Because, it is.

Thanks everyone!

Chad


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 04, 2022 6:44 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
sburrow wrote:
GOTO 100 when there isn't a line 100 means that the program will be looking for line 100. When it doesn't find it, it looks for line 101, then 102, ...

Naysayers to this sort of behavior might want to look at how almost all forms of Business BASIC handle GOTO/GOSUB targets that aren't there. A GOTO 100 statement would succeed by going to the next available statement if 100 isn't present. If statement 99 is the final statement in the program, an implied END will be executed. Ditto for GOSUBing to a non-existing statement number.

Business BASIC programmers not only know about this behavior, they often make use of it in various creative ways.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 63 posts ]  Go to page Previous  1, 2, 3, 4, 5

All times are UTC


Who is online

Users browsing this forum: No registered users and 19 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: