Commodore 64 (C64) Forum Index
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
Ultimate Basic Extension for the C64

 
Post new topic   Reply to topic    Commodore 64 (C64) Forum Index -> General
View previous topic :: View next topic  
Author Message
gumpy
Forum Junkie
Forum Junkie


Joined: 04 Mar 2006
Age: 27
Posts: 518
Location: Export, PA - USA

PostPosted: Wed Apr 18, 2012 12:58 am    Post subject: Ultimate Basic Extension for the C64 Reply with quote

I’ve been dreaming about the ultimate basic extension for the C64 for a few years. I've mentioned before about doing a project similar to this.

There was many basic extensions for the C64 made in the 80’s – but there are a few problems with them

• No support for newer hardware like the 1581, mice, etc
• No support for newer routines and things like fast loaders, tracker music, IFLI graphics, etc
• Take up too much memory – leaving little free Basic space for your code
• Some do not feature run time modules - so you need the basic extension cart or disk to run your program

So here is my idea… Create a new basic extension for the C64 that would be the ultimate Basic Extension. The thing about basic extensions is that they may have lot of new commands – but each command takes up precious memory space. So here is my idea – would it be possible to create a library of new commands and then come up with a way for the programmer to choose which commands that he wants to use for his program? For example, if I am designing a game that will be on the text screen – I don’t need 30+ graphic mode commands such as circle, line, fill, etc to be in memory – since I’m not using the graphic mode in the first place. By just having the commands that I need – I could save RAM space – and that would give me more space to use for my BASIC program.

This library of commands could either be stored on a disk – or could all be loaded into an REU unit and each command could be brought into the C64 memory as needed. But a runtime module with only the commands needed for the program could be created so the program could be run a stock C64 without the need for special hardware. Also in this way – more commands could be created as time goes on.

Also with a REU – it would be possible to create a programming studio of sorts – that would be preloaded into the REU. Maybe kind of like the way SEUCK is laid out. The user could press a key combo and then the studio menu would pop up – kind of like a freezer on a cartridge. The basic code in the C64 could be stored in the REU ram and then another program could be swapped in. There could be a sprite editor, character editor, paint program, etc. - all at the programmer’s disposal – this would allow for easy editing of the elements of the program instead of having to save the BASIC program to disk – and then load each program - do the editing – save it – and then reload the BASIC program.

So is this a crazy idea or is it actually a possible project that could be done? Any takers out there?
_________________
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ZenEmu
Forum Junkie
Forum Junkie


Joined: 12 Jan 2012
Posts: 562
Location: United Kingdom

PostPosted: Wed Apr 18, 2012 7:35 am    Post subject: Reply with quote

As much as I love my 64, there is no excuse for the basic being so poor. I have messed with a few of these extensions over the years - simons basic being one of the better ones (I can't believe how young he was when he wrote that), but all of them still have quite serious limitations. I'd love to see a modern take on this, especially in Cart/easy flash format.
_________________
Zen
Back to top
View user's profile Send private message Visit poster's website
groepaz
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 13 Oct 2004
Posts: 4702

PostPosted: Wed Apr 18, 2012 12:44 pm    Post subject: Reply with quote

welcome to another idea that wont happen =P
_________________
Back to top
View user's profile Send private message
jerrykurtz
Grandmaster of C64
Grandmaster of C64


Joined: 10 Nov 2003
Age: 44
Posts: 2739
Location: Delaware, OH USA

PostPosted: Wed Apr 18, 2012 1:00 pm    Post subject: Reply with quote

groepaz wrote:
welcome to another idea that wont happen =P


Much like finishing Chameleon?
_________________
My favorite game houses: Broderbund and Synapse.
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
mistermsk
Grandmaster of C64
Grandmaster of C64


Joined: 29 Jun 2009
Age: 40
Posts: 2618
Location: Baltimore, MD Favorite Games: Ultima ][, Wasteland

PostPosted: Wed Apr 18, 2012 1:20 pm    Post subject: Reply with quote

@gumpy

The problem being is that there are so many out right now, they just get bloated. I know the next two items I am about to say are kernels and not extensions you load afterwards but I just wanted to show what is already out there. You got S-JiffyDOS that can turn JiffyDOS function keys on and off as well as the wedge. You have PiffyDOS that can bank your memory into an REU and retrieve it for later. Good for programmers since they can save what they have quickly and try out a new routine. If they don't like it then they can bring back the memory snapshot. Very helpful. Both of these are overlays to JiffyDOS so you'll have to make sure you have a license if you plan to use these. I just brought them up as examples.

Also, you have the new extension for the RR-Nets guys. I remember someone making a program that you load that has some extra extensions for networking. Making it easy to call instead of having to write a lot of code.

All good ideas, but the main purpose I use for my 64 is to play games and listen to stereo SIDs.

However, with all that being said. By using a REU, you could possibly load a huge assortment of extensions in there. Like the RR-Net one and others combined. Have it as an EasyFlash.crt that would put itself into the REU and drop to a ready prompt awaiting you import.

Just thing with my fingers. LOL! Smile
_________________
Back to top
View user's profile Send private message Visit poster's website
maiki
Groupie in Training
Groupie in Training


Joined: 01 Nov 2008
Posts: 134

PostPosted: Wed Apr 18, 2012 1:27 pm    Post subject: Reply with quote

I first programmed in Sinclair basic on Spectrum and later worked in basic 2.0 on C-64. It was much less comfortable but also allowed me to understand how the HW works better, because of all those POKEs I had to use.

The question is, in 2012, on such a slow machine, does it make sence to build such an avanced Basic interpreter? Who really needs that in 2012? Definitely not demo / game coders. Who else writes things for C-64 today?

Take a look at Batari Basic for Atari 2600. Whereas it allows nerds to create games, a product is never a top class one, because precise game design and timing (assembly langugae) is required to squeeze out the maximum performance.
Back to top
View user's profile Send private message
groepaz
Immortal Grandmaster of C64
Immortal Grandmaster of C64


Joined: 13 Oct 2004
Posts: 4702

PostPosted: Wed Apr 18, 2012 1:45 pm    Post subject: Reply with quote

Quote:
Much like finishing Chameleon?

exactly. as any other non trivial software project, it wont ever be finished.

this idea however wont even get started.
_________________
Back to top
View user's profile Send private message
Isepic
Über Groupie
Über Groupie


Joined: 30 Jul 2007
Posts: 302
Location: USA

PostPosted: Wed Apr 18, 2012 2:20 pm    Post subject: Reply with quote

Beginner's All Purpose Symbolic Instruction code.

Basic is a launch pad to more advanced programming languages. Some early commercial C64 games were written in Basic but eventually the vast were pure ML because no basic on the C64 can take full advantage of speed or other resources. Many of those commercial Basic programs had guess what - ML subroutines.

Basic is a pig - once you learn it you move on to ML. Time to take the training wheels off. If you don't want to ride a bike without training wheels you probably shouldn't be on a bike.

Groepez is right.

No one who has the talent to write 'Ultimate Basic extensions' is going to waste their time on such a pointless endeavor unless there are significant financial incentives.

Conversely those who want 'Ultimate Basic extensions' lack the programming abilities to make it happen.
_________________

Back to top
View user's profile Send private message
Schema
Master of C64
Master of C64


Joined: 28 May 2002
Age: 39
Posts: 1186
Location: Toronto, Canada

PostPosted: Wed Apr 18, 2012 4:43 pm    Post subject: Reply with quote

C128 with BASIC 8 add-on?
Back to top
View user's profile Send private message Visit poster's website
mistermsk
Grandmaster of C64
Grandmaster of C64


Joined: 29 Jun 2009
Age: 40
Posts: 2618
Location: Baltimore, MD Favorite Games: Ultima ][, Wasteland

PostPosted: Wed Apr 18, 2012 5:37 pm    Post subject: Reply with quote

Schema wrote:
C128 with BASIC 8 add-on?



Link


Hmmm... I am kinda' on the fence in regards. groepaz and Isepic are correct. If you really want to program properly for the C64 ML is the way to go.

However, one thing that the 64 had going for that the MACs, Windows, and Linux does not have is that you are already in BASIC once you turn on your computer (without cartridges, etc...) Unlike the other operating systems where you had to have separate program to write in or run with. It is ready to go. I looked and saw a program that did a simple task in BASIC. Very simple and to the point. Could of it have been done in ML? Sure it could of and ML could do a lot more then the restrictions and slow speeds brought on by BASIC. The reason I brought this program up is that it has no graphics or game play. Just simple instructions to do something. It would be nice if there were some more that you could do to improve things. Such as BASIC 8 were it gave easy ways to do plotting versus lengthy coding.

Imagine loading a SID into memory and saying PLAYSID"<START ADDRESS>:<STOP ADDRESS>:<PLAYER ADDRESS>" from BASIC and you start hearing a SID playing without the need to load an other program in that someone wrote. The commands do not have to be just for programming games or demos, but shortcuts for getting around and doing tasks that used to take hours of programming just a few seconds of typing. Or someone wanting to program quick instructional program that quick prints a graph or does a task.

Why am I on the fence about it? Back in the day, I believe it had its use. However, who is the audience today? A select few collectors of the 64 and some others who showed interest? A pretty big undertaking for not a big return. Just the education you get for programming it and knowing you did it. Would be nice if someone done this for a college course or something.

Reminds me of these software companies putting out graphical games engineered to the hilt with different music per area, graphics, etc... Then came a couple of kids that all they did is write BASIC programs and put them in the back of a magazine for people to type it in their selves and banked the cash.
_________________
Back to top
View user's profile Send private message Visit poster's website
8502
Newbie


Joined: 23 Jul 2007
Age: 46
Posts: 23
Location: Manchester, UK

PostPosted: Wed Apr 18, 2012 6:13 pm    Post subject: Reply with quote

A decent port of BBC BASIC to the 64 would be superb, with its structured programming constructs, inline assembler and fast execution speed. Pity that this effort

http://www.leftiness.org/SHADO.PRG

is so poor.
Back to top
View user's profile Send private message
Rekrul
Master of C64
Master of C64


Joined: 05 Aug 2009
Posts: 1121

PostPosted: Wed Apr 18, 2012 8:07 pm    Post subject: Reply with quote

Isepic wrote:
Basic is a pig - once you learn it you move on to ML. Time to take the training wheels off. If you don't want to ride a bike without training wheels you probably shouldn't be on a bike.


More like going from a fully assembled and tested bike to building your own bike from scratch. Sure, you have more flexibility and can customize it to do exactly what you want, once you learn how to weld the frame together, work out the gear ratios, mold your own tubes and tires, etc.
Back to top
View user's profile Send private message
ajordison
Über Groupie
Über Groupie


Joined: 09 Apr 2008
Posts: 341
Location: Hartlepool, UK

PostPosted: Wed Apr 18, 2012 9:42 pm    Post subject: Reply with quote

So what if there's a limited audience and little or no financial incentive, if you enjoy working on it and you learn from the experience then I say do it!

If a few other people show an interest in your project then that's a bonus. Don't listen to the nay sayers! (Though in all honesty I did and I abandoned my basic compiler project Embarassed )

Good luck.
_________________
Try out CBM prg Studio over at www.ajordison.co.uk
Back to top
View user's profile Send private message Visit poster's website
adric22
Forum Junkie
Forum Junkie


Joined: 07 Sep 2009
Age: 37
Posts: 597
Location: Fort Worth, TX

PostPosted: Wed Apr 18, 2012 9:53 pm    Post subject: Reply with quote

ZenEmu wrote:
As much as I love my 64, there is no excuse for the basic being so poor.


I'll disagree with you here... I think Commodore had the best BASIC around. I felt it was way better than what was offered on the Apple II machines. Now granted, much of my love for Commodore BASIC has less to do with the commands and the language and more to do with those things that are inherently "Commodore."

For example, I love the screen editor. It was so easy to list a program, and cursor up to a line and change one piece of code. I also loved how easy it was to change colors and use little graphics characters. I loved how you had the "quotes" mode that would allow you to store things like cursor movements and color changes inside a variable or print statement.

In my opinion, the only thing the C64 lacked was graphics and sound commands, and maybe some basic disk commands. I never cared for the way you were required to "LOAD" the directory, erasing whatever program you had in RAM. I never cared for BASIC 7 on the C128 because it just seemed overly bloated and slow. However, I loved the BASIC 3.5 on the Plus/4.

Of course.. I'm trying to keep things in context for the time-frame that it was being sold. Obviously somebody today could create a much better high-level language for the C64. But for its time, I think its BASIC was great.
Back to top
View user's profile Send private message Visit poster's website
ZenEmu
Forum Junkie
Forum Junkie


Joined: 12 Jan 2012
Posts: 562
Location: United Kingdom

PostPosted: Thu Apr 19, 2012 6:39 am    Post subject: Reply with quote

For me almost every contemporary machine had a better basic language. The lack of direct graphic and sound commands was a real pain especially given the capabilities of the hardware in the Vic20 and the 64. It was slow too compared to a lot of its peers.
_________________
Zen
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Commodore 64 (C64) Forum Index -> General All times are GMT
Page 1 of 1

 
Jump to:  
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 vote in polls in this forum
Tip: Get C64 Forever for super-comfy C64 emulation with pre-installed games, demos and other goodies!


Powered by phpBB © 2001, 2005 phpBB Group