Page 4 of 18
BASIC 2? Why not get BASIC 7?
Posted: Fri Feb 19, 2021 12:48 am
by Starsickle
The fact that this CPU and The Vera board are so powerful and widely used means that there's a host of honest practical applications for this computer for any enthusiast. I don't plan on replacing OpenOffice on my desktop, but I could see - for FUN - writing code or notepad style documents on my X-16 and using a SD card to ferry files to my desktop. Or - sometime in the future - using whatever might be cooked up to replace the old C64 modems (and some nice software) to use the modern internet to send myself some files.
That is what I would want as a user - a retrocomputer I could use for some set of practical purposes. Something that isn't just a nostalgic toy for an aging millennial.
As a programmer and game developer, I really just want some sort of functionality close to something like SmileBASIC, perhaps with a bit of careful thought about optimization or feature-usage. Any efforts to allow users to easily use the larger memory and banking/swapping system is a worthy endeavor, otherwise I imagine myself starting a github and asking for help and maybe providing a lot of free coffee to helpful souls.
For all those involved - please keep working hard, and keep aiming at continuous improvement.
BASIC 2? Why not get BASIC 7?
Posted: Fri Feb 19, 2021 4:51 am
by TomXP411
3 hours ago, Starsickle said:
The fact that this CPU and The Vera board are so powerful and widely used means that there's a host of honest practical applications for this computer for any enthusiast. I don't plan on replacing OpenOffice on my desktop, but I could see - for FUN - writing code or notepad style documents on my X-16 and using a SD card to ferry files to my desktop. Or - sometime in the future - using whatever might be cooked up to replace the old C64 modems (and some nice software) to use the modern internet to send myself some files.
That is what I would want as a user - a retrocomputer I could use for some set of practical purposes. Something that isn't just a nostalgic toy for an aging millennial.
As a programmer and game developer, I really just want some sort of functionality close to something like SmileBASIC, perhaps with a bit of careful thought about optimization or feature-usage. Any efforts to allow users to easily use the larger memory and banking/swapping system is a worthy endeavor, otherwise I imagine myself starting a github and asking for help and maybe providing a lot of free coffee to helpful souls.
For all those involved - please keep working hard, and keep aiming at continuous improvement.
If someone showed up with a better BASIC interpreter that worked on 6502 and was willing to adapt it to the Commander X16, I bet David would be willing to listen. The problem is that there don't seem to be any suitable BASIC interpreters out there, which is why they went to the effort to license the ROM from Cloanto.
Personally, I would like to see BBC BASIC running on the Commander. But, like other BASIC interpreters, it does not currently exist for 6502 under an open source license.
BASIC 2? Why not get BASIC 7?
Posted: Fri Feb 19, 2021 1:01 pm
by paulscottrobson
On 2/11/2021 at 7:14 AM, Cyber said:
It was not a question of money. X16 hardware is based on VIC-20, and BASIC V2 is designed to run on this hardware. BASIC 7 was designed to run on different hardware, and to run BASIC 7 on X16 would mean to rewrite a lot of source code of BASIC 7. On the other hand BASIC 2 runs on X16 with minimal source code changes.
So to save time and resources X16 team decided to start with using BASIC 2, planning to add new commands later (which they already partially did). Depending on the user demand, BASIC functionality might grow to the one similar in version 7 or version 10 or whatever.
BASIC V2 allowed X16 to have a fast project start and stable run, allowing team to concentrate on other more important features.
MS BASIC, almost all of them, is designed to run on any 6502 hardware. There is almost no hardware specific stuff.
BASIC 2? Why not get BASIC 7?
Posted: Fri Feb 19, 2021 1:11 pm
by paulscottrobson
8 hours ago, TomXP411 said:
If someone showed up with a better BASIC interpreter that worked on 6502 and was willing to adapt it to the Commander X16, I bet David would be willing to listen. The problem is that there don't seem to be any suitable BASIC interpreters out there, which is why they went to the effort to license the ROM from Cloanto.
Personally, I would like to see BBC BASIC running on the Commander. But, like other BASIC interpreters, it does not currently exist for 6502 under an open source license.
It would take about a week's work to write one. This one for example
https://github.com/paulscottrobson/atomic-basic is an extended version of the Atom BASIC ; 32 bit integer only with 'C' style strings, so it's a bit experimental (it was meant to be), but it has a working interpreter with a built in 65C02 assembler, an idea I've always liked. No list or tokeniser yet, but that's straightforward (there's a Python script that tokenises it and then the run time takes over).
Of course you could build a pick and mix easily enough, where different bits could be added or removed as you wanted, so for example have no floats or strings or whatever, different keywords for different systems.
Then you can just add bits as you want ; interface to the X16 Kernel routines for drawing, some SPRITE commands, that sort of thing. You do run out of spaces, though there are paging ways round that it's a bit messy.
BASIC 2? Why not get BASIC 7?
Posted: Sat Feb 20, 2021 5:00 am
by Cyber
15 hours ago, paulscottrobson said:
MS BASIC, almost all of them, is designed to run on any 6502 hardware. There is almost no hardware specific stuff.
You are missing other hardware like video, audio, I/O, which is different in every other system.
BASIC 2? Why not get BASIC 7?
Posted: Sat Feb 20, 2021 11:09 am
by paulscottrobson
6 hours ago, Cyber said:
You are missing other hardware like video, audio, I/O, which is different in every other system.
No, they aren't. There's character out, character in, possibly a seperate line in, and save and load files (and sometimes streams of data). The vast majority of the code is the same. MS Basic does not normally have features for manipulating those in any manner whatsoever.
BASIC 2? Why not get BASIC 7?
Posted: Sat Feb 20, 2021 1:14 pm
by BruceMcF
2 hours ago, paulscottrobson said:
No, they aren't. There's character out, character in, possibly a seperate line in, and save and load files (and sometimes streams of data). The vast majority of the code is the same. MS Basic does not normally have features for manipulating those in any manner whatsoever.
But the point was made about Basic 7, which has it's memory banking operation directly reflecting Commodore 128 memory banking, its music keywords directly reflecting the SID chip and it's graphical keywords assuming the available C128 graphical displays. The last code delivery CBM took from MS was MS Basic v2 ... CBM Basic 3.5 and 7'were in-house extensions.
BASIC 2? Why not get BASIC 7?
Posted: Sat Feb 20, 2021 4:55 pm
by paulscottrobson
3 hours ago, BruceMcF said:
But the point was made about Basic 7, which has it's memory banking operation directly reflecting Commodore 128 memory banking, its music keywords directly reflecting the SID chip and it's graphical keywords assuming the available C128 graphical displays. The last code delivery CBM took from MS was MS Basic v2 ... CBM Basic 3.5 and 7'were in-house extensions.
Indeed, my bad, they extended it further for the proto C65.
BASIC 2? Why not get BASIC 7?
Posted: Sun Feb 21, 2021 1:51 am
by BruceMcF
8 hours ago, paulscottrobson said:
Indeed, my bad, they extended it further for the proto C65.
One advantage is that the keywords for those are already reserved, and new keywords are by far the easiest type of extension to make to an MS 6502 Basic V2 based system.
BASIC 2? Why not get BASIC 7?
Posted: Fri Feb 26, 2021 2:16 am
by paulscottrobson
On 2/21/2021 at 1:51 AM, BruceMcF said:
One advantage is that the keywords for those are already reserved, and new keywords are by far the easiest type of extension to make to an MS 6502 Basic V2 based system.
It's fairly easy unless you start wanting to muck around with the system stacks and so on. When I was a kid I had an MZ80K which came with Basic on tape, I remember hacking it so it had all sorts of stuff (including a Z80 assembler in line !) but that was pretty much entirely done by extending the keyword table and vector table and relying on an <evaluate> call