VIC 20 Prg Gen 'Released'

You need an actual VIC.

Moderator: Moderators

User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

Boray wrote:Would it be possible for you to show the actual symbols in the text instead or {123} etc?
It's what I've asked to ajordison, I've thought for an additional column for the screen code builder aboard the code and upper case fields (Key combination) and for each row there is for example SHIFT+C or CBM+C but this is a work around because doesn't help on debug if you need to find an error, better to have a plain text {sh c}{cm c}
ajordison wrote:I based the screen codes on the same syntax that tok64 uses. In the three years that C64prggen's been around nobody's commented on the screen code builder
The lack of full screen code is the reason why I use BasText instead of tok64, you may write a tool to import/export tok64 code btw it is not updated anymore and at the moment BasText is the most flexible tokenizer (for DOS of course :wink:)

Your tool is very handy and I really hope you fellow our suggestions, it is a good candidate for my next re-typing work, I'm testing it but the big problem at the moment are screen code...
Mega-Cart: the cartridge you plug in once and for all.
ajordison
Vic 20 Enthusiast
Posts: 179
Joined: Fri Mar 19, 2010 4:31 pm
Website: http://www.ajordison.co.uk/
Location: Hartlepool, UK
Occupation: Software Engineer

Post by ajordison »

There's a lot to think about as far as the screen codes go, thanks for the encouragement.

No doubt I'll have lots of questions for you once I get thinking about it.

Cheers!
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

By using Vic20PrgGen, I discovered another very useful feature of this program...

All [de]tokenizer programs lack an important tool, SYNTAX CHECK... while your program check BASIC keywords too

But I think I've discovered a problem, I give you an example, this code produce an error:

Code: Select all

1 PRIN"TEST"
This is the error:
ERROR : Line 1 does not have any BASIC keywords or known Library Procedures

but this code does not produce the same error and Vic20PrgGen produce the PRG file with a Syntax Error on emulator of course:

Code: Select all

1 PRIN"TEST":GOTO1
Same for this code, no error warn:

Code: Select all

1 PRINT"TEST":GOT1
Hope this help you, this feature is very important and distinguishes Vic20PrgGen from other symilar DOS tool besides that it has a nice GUI of course :wink:

I think that this is the "killer" feature, there are no justifications to don't use it now :wink:

many thanks for your work !
Mega-Cart: the cartridge you plug in once and for all.
ajordison
Vic 20 Enthusiast
Posts: 179
Joined: Fri Mar 19, 2010 4:31 pm
Website: http://www.ajordison.co.uk/
Location: Hartlepool, UK
Occupation: Software Engineer

Post by ajordison »

Vic20prggen's syntax checking is very simple, as you've found out! It only has to find one valid basic token per line and it's happy, it doesn't cope very well with multi statement lines, as far as syntax checking goes.

It's gone on my 'to do' list.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

ajordison wrote:It's gone on my 'to do' list.
Very good !!!

I have some basic program to re-type for the next week, if you need a beta tester, please contact me on PM :wink:
Mega-Cart: the cartridge you plug in once and for all.
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

I've discovered another issue:

In TOK64 and other tokenizer these 2 lines produce the same code:

Code: Select all

1 PRINT"A{space*6}B"

2 PRINT"A      B"
but Vic20PrgGen "trims" spaces between A and B on row 2 and writes the prg code with just 1 space.


Some suggestion after my first work with Vic20PrgGen:

- A character count function in the contextual menu (right click) after selecting text.

- A short cut key for the Screen code builder tool (F5 ?)

- Inside the Screen code builder, abilities to manually write inside the Control string Text box, some times you need to write some strange things:

Code: Select all

1 PRINT"A{right*2}B{down*2}C{up}D{left}E"
the code above requires you enter and exit many times from the Screen code builder tool and without short cut key.
Mega-Cart: the cartridge you plug in once and for all.
ajordison
Vic 20 Enthusiast
Posts: 179
Joined: Fri Mar 19, 2010 4:31 pm
Website: http://www.ajordison.co.uk/
Location: Hartlepool, UK
Occupation: Software Engineer

Post by ajordison »

Hi,
I tried the following code:

Code: Select all

5 PRINT "A{space*6}B"
10 PRINT "A{SPACE*6}B"
15 PRINT "A      B"
20 END
Line 5 I made using the screen code builder
lines 10 and 15 I typed myself. If I either generate or generate and launch the program it works fine. I'm using VICE 1.22.

Thanks for the other suggestions, they're on my 'to do' list!
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

OPS sorry it was a sample code, this is the exact code that produce the error.

Code: Select all

10 PRINTCHR$(156)"A      B"
Mega-Cart: the cartridge you plug in once and for all.
ajordison
Vic 20 Enthusiast
Posts: 179
Joined: Fri Mar 19, 2010 4:31 pm
Website: http://www.ajordison.co.uk/
Location: Hartlepool, UK
Occupation: Software Engineer

Post by ajordison »

nbla000 wrote:OPS sorry it was a sample code, this is the exact code that produce the error.

Code: Select all

10 PRINTCHR$(156)"A      B"
As a quick fix, put a space between the (156) and the first quote, i.e.

Code: Select all

10 PRINTCHR$(156) "A      B"
That works.
ajordison
Vic 20 Enthusiast
Posts: 179
Joined: Fri Mar 19, 2010 4:31 pm
Website: http://www.ajordison.co.uk/
Location: Hartlepool, UK
Occupation: Software Engineer

Post by ajordison »

Finally, VIC20PrgGen v1.0.0 is here!

But before I get into that I want to say a huge thanks to nbla000 from this forum. Thanks to him a one week conversion (from C64PrgGen) took the best part of three months, mostly because of his feature requests and frankly legendary bug hunting! This guy deserves a medal, I'm sure the other tool developers in this forum would agree. I'd also like to thank Orion70 for supplying the keyboard graphics. If you've used the beta version (or C64PrgGen) the screen code builder has been totally reworked, it's well worth checking out.

You can download VIC20PrgGen from www.ajordison.co.uk
(Sorry the websites a bit of a mess..)

Your feedback, spare cash etc. are most welcome!
User avatar
nbla000
Salmon Run
Posts: 2582
Joined: Thu Oct 13, 2005 8:58 am
Location: Italy

Post by nbla000 »

ajordison wrote:But before I get into that I want to say a huge thanks to nbla000 from this forum. Thanks to him a one week conversion (from C64PrgGen) took the best part of three months, mostly because of his feature requests and frankly legendary bug hunting! This guy deserves a medal, I'm sure the other tool developers in this forum would agree.
Thank you very much btw without your work there wasn't my suggestions and discovered bugs :wink:

So thank you from the Vic-20 Community for your work !
Mega-Cart: the cartridge you plug in once and for all.
User avatar
GreyGhost
Vic 20 Nerd
Posts: 525
Joined: Wed Oct 05, 2005 11:10 pm

Post by GreyGhost »

I just wanted to tell you that this program is the answer to my request from another topic. Keep improving this gem. I tried it out on my .asm project and it worked great. One thing I would like to see you change is that you can't use the cassette buffer(i tried $0338) for ML. I think you should be able to use any RAM, zero page on up as long as that is feasible(not a rom location of course). Very cool program.
Rob
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

+1 for using the tape buffer (or any address that is). The program could produce a warning if the address is unreasonable, but please don't limit the programmer ;-)
ajordison
Vic 20 Enthusiast
Posts: 179
Joined: Fri Mar 19, 2010 4:31 pm
Website: http://www.ajordison.co.uk/
Location: Hartlepool, UK
Occupation: Software Engineer

Post by ajordison »

Thanks for that, it's on my buglist...
Post Reply