A New Tiny Basic for the 6502...

Programming the 6502 microprocessor and its relatives in assembly and other languages.
User avatar
BB8
Posts: 57
Joined: 01 Nov 2020
Location: Tatooine

Re: A New Tiny Basic for the 6502...

Post by BB8 »

I'm skimming your code and I would suggest some modifications:
- I'd merge the "NEG" and "mkPlus" procs, and that requires a small change in the fixSigns proc (which you already changed in the way I was going to propose).
- I changed the deleteLine proc to make it faster; I think that the insertLine could be tuned in a similar way
Attachments
tinybasicmod.txt
(1.78 KiB) Downloaded 59 times
User avatar
drogon
Posts: 1671
Joined: 14 Feb 2018
Location: Scotland
Contact:

Re: A New Tiny Basic for the 6502...

Post by drogon »

BB8 wrote:
I'm skimming your code and I would suggest some modifications:
Thanks for looking. I do appreciate that.

However, this may sound harsh, but I'm really not interested in anonymous feedback. No name, no voice and all that. You have my email address (or if not, then it's utterly trivial to find it) so email me. Tell me who you are where, why, what, etc. and I may listen.

I've spent far too much time in the past listening to people I've never met make suggestions and beg for features, sending me hardware and say "make it work with this", for stuff I wrote when I did do the open source thing to the point it became so overwhelming I ended up quite ill and when I asked for help, none came, so I had no choice but to turn my back, shut it all down and delete everything from public view. I'm not going back there again.

GIBL is Source Available and that's it. It comes with no support, no promises of feedback, no promises that I'll reply to anyone who uses it, no way to request a "pull", nothing. I will take payment in my local currency though. Pay me and I'll consider working with you.
Quote:
- I'd merge the "NEG" and "mkPlus" procs, and that requires a small change in the fixSigns proc (which you already changed in the way I was going to propose).
- I changed the deleteLine proc to make it faster; I think that the insertLine could be tuned in a similar way
Saving a byte here and there does give us all a good feeling, but I feel you're optimising things that won't make a difference to the overall feel and use of the system. Shave 10% time off my Mandelbrot benchmark, then I might think about looking. Inserting and deleting lines work just fine from a keyboard on the 1Mhz system I do such tests on. It's good enough. They don't need optimising for speed. Make the code 10% smaller with no speed impact and I may be interested, but not at the expense of obscure code mangling. (Of which there is just one example of in GIBL and it irritates me every time I look at it )

There are also 2 reasons why your merged neg/mkPlus won't work, (one trivial, one subtle) but I'll leave that for you to work out when you get round to actually testing it... ie. if you're going to send me (or anyone else) anything at all, at least have the decency to test it first. The trivial failure is that it won't assemble without an error and I can tell that just by looking at it without even trying to test it.

And since it's not on git whatever, maybe learn how to generate an olde worlde patch file using diff... [*]

Thanks again for actually looking though. I'm in the process of converting some games and utilities for it (Yes, even TinyBasic has its dialects) This has been a fun project for me and it has inspired me to get on and do a native version of my APRICOT for the 6502 which will be my Winter solstice project now.

-Gordon

[*]https://www.shellhacks.com/create-patch-diff-command-linux/
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
leepivonka
Posts: 168
Joined: 15 Apr 2016

Re: A New Tiny Basic for the 6502...

Post by leepivonka »

giblt.zip is a heavily modified version of GIBL that I've been playing with.
It runs on the WDC 0265sxb board.
It executes the Mandelbrot benchmark around 2.5x faster - 97 secs at 3.58MHz or about 344 MCycles.

forth.zip is the same benchmark in FORTH. It runs about 75% faster yet, about 197 MCycles.
Attachments
Forth.zip
FORTH version
(4.58 KiB) Downloaded 45 times
giblt.zip
turbo GIBL version
(36.34 KiB) Downloaded 49 times
User avatar
barrym95838
Posts: 2056
Joined: 30 Jun 2013
Location: Sacramento, CA, USA

Re: A New Tiny Basic for the 6502...

Post by barrym95838 »

leepivonka wrote:
giblt.zip is a heavily modified version of GIBL that I've been playing with.
Hey, thanks for the shout-out in the decimal print subroutine! And thanks to Gordon for the initial GIBL distribution. You guys are an inspiration. I've been a bit lazy in attempting to figure out why my Windoze installation gets easily spooked by .zip files and auto-deletes many of them almost immediately after download, but I can usually sneak into the folder and grab something good before it disappears.
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)
User avatar
drogon
Posts: 1671
Joined: 14 Feb 2018
Location: Scotland
Contact:

Re: A New Tiny Basic for the 6502...

Post by drogon »

leepivonka wrote:
giblt.zip is a heavily modified version of GIBL that I've been playing with.
It runs on the WDC 0265sxb board.
It executes the Mandelbrot benchmark around 2.5x faster - 97 secs at 3.58MHz or about 344 MCycles.

forth.zip is the same benchmark in FORTH. It runs about 75% faster yet, about 197 MCycles.
Great to see you using it - hard to work out what you've done though, but it looks like you've expanded the IL into direct 6502 code rather than it being interpreted?

-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Post Reply