First Step in Vic-20 Software Development

Basic and Machine Language

Moderator: Moderators

User avatar
Jeff-20
Denial Founder
Posts: 5759
Joined: Wed Dec 31, 1969 6:00 pm

Post by Jeff-20 »

Does this mean I am the most dedicated VIC 20 owner in the entire world? That's so sad. I think I'm the last person on earth still using a real VIC on a routine basis for the purposed of programming. I don't know if I should be proud or ashamed.
High Scores, Links, and Jeff's Basic Games page.
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

Jeff, over the last years you might have got the notion that I'm indeed working on some tools I mostly intend to be used on the VIC-20, as extensions to CBM BASIC, or as means to create image content on the VIC-20.

Tools, not meant for the "end user", but for programmers, and graphicians on the VIC-20. If my intentions were otherwise, neither MINIGRAFIK, nor MINIPAINT would exist today. Only maybe some games in 100% machine language, cross-developed on a PC.

I have plans for a 40-column text editor, and an accompanied assembler; the latter one which would allow me to re-host all sources of my programs to the VIC. Nothing to haste though, I'm taking things easy.
rhurst
Omega Star Commander
Posts: 1369
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Tech & Innovation

Post by rhurst »

I don't know if I should be proud or ashamed.
Neither. The first step to recovery is admitting the problem. :P

Any text editor: Windows Notepad, gedit, and even vi make for a better "development" environment than hand-coding it directly on a VIC 20. A few years ago was the last time I typed all hex code from a program listing on a VIC, because I did not know about XEM1541 parallel interface and StarCommander. Now we have uIEC/SD devices to make cross-development a breeze. And you can always paste BASIC code for saving in VICE.

Why would anyone in 2010 craft a program directly on the VIC itself? Playing and debugging on a real VIC is another matter -- using a real joystick, using its native resolution on an old TV or monitor -- it's hip to be square. 8)
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
User avatar
Pedro Lambrini
Vic 20 Scientist
Posts: 1132
Joined: Mon Dec 01, 2008 11:36 am

Post by Pedro Lambrini »

I can't really code as such (certainly not to the level of you lot!) but I still tend to use the Vic as I often rely on the Petscii characters. I really wish there was a text editor that allowed me to use a Keyrah, the Vic keyboard and thus Petscii. Editing on the Vic really is hard but I have little choice... :)
"...That of the Eastern tribe being like a multitude of colours as if a rainbow had settled upon its brow..." Daniels 1:3
SkydivinGirl
Vic 20 Devotee
Posts: 204
Joined: Thu Jan 28, 2010 9:19 am

Post by SkydivinGirl »

Jeff-20 wrote:I don't know if I should be proud or ashamed.
I would be proud. :) I think it's great that you still program on the original hardware. It may not be the easiest or the most efficient way to program, but it's how it was done when the machine was in production. :) Kudos to you!

Heather
Diddl
Vic 20 Afficionado
Posts: 425
Joined: Wed Jun 10, 2009 3:18 am

Post by Diddl »

I also would be proud!

  • I am only very lazy, development on a PC is faster.
  • Debugging is also easier on a emulator (for me).
  • And the WAF (woman acceptance factor) of a PC is much better than of a VIC.

If I take my VIC and goto our TV set my wife always says: you want too use your scrap heap again? She doesn't enjoy the TV set is occupied ...
rhurst
Omega Star Commander
Posts: 1369
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Tech & Innovation

Post by rhurst »

She doesn't enjoy the TV set is occupied ...
... and back in the day, she yelled when you also occupied the telephone line with a modem! :lol:

... but "proud" to code on the target machine? bah!!

- can you put that skill set on your resume?
- does the program "run" any better, because it liked the fact that the bytes were originally encoded by your touch?
- does VIC offer any easier editing?

If you answered any of the above in the affirmative, I believe there are new medications that can help curb that behavior. :wink:

P.S., but if it's all I had to work with, I would still hack away at it! :)
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

I can say as much if I hadn't had access to first Amigas and then PC's, I would probably never have touched machine code programming. It is way too complex to run natively on the VIC or even on a C64/C128 to be worth the trouble. Basic is mostly fine, since it is an interpreted language.

Anyway, this thread should not be about whether it is more genuine to develop your games on a real VIC-20, inside an emulator or in a cross developing environment. The original poster asked for input on how to develop anything at all.

Ian: No, I can't recall that Games Creator. Part of me was joking, tongue in cheek that if there is a program that will let you paste together blocks of graphics and data, more people can be their own software developers. Perhaps this actually is what the OP was looking for, a head start into making VIC-20 games, then go through the generated code and tweak where possible.
Anders Carlsson

Image Image Image Image Image
gklinger
Vic 20 Elite
Posts: 2051
Joined: Tue Oct 03, 2006 1:39 am

Post by gklinger »

Pedro Lambrini wrote:I really wish there was a text editor that allowed me to use a Keyrah, the Vic keyboard and thus Petscii. Editing on the Vic really is hard but I have little choice... :)
I'm confused. You can use a Keyrah inside a VIC-20 case with a VIC-20 keyboard.
In the end it will be as if nothing ever happened.
User avatar
pitcalco
just pitcalco
Posts: 1272
Joined: Wed Dec 28, 2005 4:13 pm
Location: Berlin

Post by pitcalco »

Boray wrote:Why programming for the Vic-20? Maybe because the limitations are challenging? Well, not using anything but a real Vic-20 for development is also a challenge!
I am with you there. I understand that most people use emulators and I am sure there are many advantages. Personally, all my VIC stuff is on the VIC. I guess it all depends on what you want to get out of this hobby and going back in time, as it were, is a big part of the thrill.
There are only three kinds of people in the world: those who can count and those who can't.

Paul Lambert
Berlin
Federal Republic of Germany
User avatar
pitcalco
just pitcalco
Posts: 1272
Joined: Wed Dec 28, 2005 4:13 pm
Location: Berlin

Post by pitcalco »

Wilson wrote:Is there anyone that does ML development on a real VIC-20? I've always thought that would be really fun. Not very practical I suppose. VASM is really the only option, and it's pretty limited with 22 collumns, label names, etc. Fine for testing code, but for a full project a bit limiting.
It is only lately that I got into ML in earnest (just a few weeks to be precise) most of my other stuff being in BASIC. However, both BASIC and ML have always been done on the VIC itself.

As for the practicality, there are certainly limitations and I find that I am actually using quite a lot of pens and paper in the process, i.e. needing to work out the programs and keeping track of the status register on paper before actually punching anything into the VIC itself. Perhaps some of these other fellows who use emulators can skip much of that. I don't know.

Once I have finally put together something decent I will then earn the right to say that I develop for the VIC right on the VIC. In the meantime there is still much for me to learn and so all I can say is that I intend to become a developer who develops right on the VIC.
There are only three kinds of people in the world: those who can count and those who can't.

Paul Lambert
Berlin
Federal Republic of Germany
User avatar
Mike
Herr VC
Posts: 4816
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

pitcalco wrote:As for the practicality, there are certainly limitations and I find that I am actually using quite a lot of pens and paper in the process, i.e. needing to work out the programs and keeping track of the status register on paper before actually punching anything into the VIC itself. Perhaps some of these other fellows who use emulators can skip much of that. I don't know.
Keeping track of the status register should become second nature when writing 65xx assembler. It's like knowing the operator precedence by looking at a formula at first glance. Otherwise the resulting code will at least look strange, or rather unnecessary verbose.

The size of code I once actually devised on paper for the VIC-20, hand-translating from mnemonics to numeric values, and working out the target offsets of conditional branches probably never exceeded ~100 bytes. That's the space available in the 673..767 area, for example.

For bigger ML programs I used TEDMON. There, the size of my programs topped out at the order of ~1K. It is just too inconvenient when you realise some instructions are missing a few pages above, and you have to shift down several pages of code by hand.

Beyond that, I used assemblers, first hosted on the target machine (Double-Ass on the C=128), and then cross-developing. It's a lot easier to shift around parts of the code with a least a half-way decent text editor available. From a practical view, the reachable code size now is unlimited. It's more a matter of organisation, because the source code should be modularized to keep the overview.

And I made a slight detour to the ARM processor, coming back with a bag of tricks from there. ;)

Michael
User avatar
Pedro Lambrini
Vic 20 Scientist
Posts: 1132
Joined: Mon Dec 01, 2008 11:36 am

Post by Pedro Lambrini »

gklinger wrote:
Pedro Lambrini wrote:I really wish there was a text editor that allowed me to use a Keyrah, the Vic keyboard and thus Petscii. Editing on the Vic really is hard but I have little choice... :)
I'm confused. You can use a Keyrah inside a VIC-20 case with a VIC-20 keyboard.
Sorry, I wasn't massively clear there. I have a Keyrah and Vic keyboard connected to my PC. Basically, what I want is a text editor on the PC that will allow me to input the PETSCII character set so that I can use the PETSCII characters in my code. I'm not good at graphical work so I rely on the funny wee symbols a lot! :)
"...That of the Eastern tribe being like a multitude of colours as if a rainbow had settled upon its brow..." Daniels 1:3
Boray
Musical Smurf
Posts: 4064
Joined: Mon May 03, 2004 10:47 am

Post by Boray »

pitcalco wrote:
Boray wrote:Why programming for the Vic-20? Maybe because the limitations are challenging? Well, not using anything but a real Vic-20 for development is also a challenge!
I am with you there. I understand that most people use emulators and I am sure there are many advantages. Personally, all my VIC stuff is on the VIC. I guess it all depends on what you want to get out of this hobby and going back in time, as it were, is a big part of the thrill.
A couple of years ago I did all vic-20 programming on a real vic. I think that gives a different feeling to it, knowing that a 1MHz cpu is running all it can there under the hood and being able to warm your fingers on the vic-20 keyboard ;-), and being able to see all those symbols on the vic keyboard is a big plus too... but today I simply don't have the room for it!

Before I moved, I had one Vic-20 up, one PC for internet, a Roland machine for audio recording, and an amiga for midi sequencing. Today, I run all those things in one PC, and it is doing a better job of everything as well :-) My emulated amiga is 84 times faster than my real one and my computer based recorder is many times more powerful than my Roland machine... All powered by the wonderful OS Windows Vista! :lol:
PRG Starter - a VICE helper / Vic Software (Boray Gammon, SD2IEC music player, Vic Disk Menu, Tribbles, Mega Omega, How Many 8K etc.)
rhurst
Omega Star Commander
Posts: 1369
Joined: Thu Jan 31, 2008 2:12 pm
Website: https://robert.hurst-ri.us
Location: Providence, RI
Occupation: Tech & Innovation

Post by rhurst »

I find that I am actually using quite a lot of pens and paper in the process
Yes, you will. Quill & ink -- how quaint, eh? :wink:
Once I have finally put together something decent I will then earn the right to say that I develop for the VIC right on the VIC.
Now THERE is an objective! I can really respect that -- good luck! 8)

But for what it is worth, do not abandon the end objective of "writing something decent", if the PROCESS of doing it becomes a barrier. I'd rather see you get fruits from your labor, regardless of the efficiency in HOW it was attained, eh? Again, good luck and stay with it.
Any technology distinguishable from magic is insufficiently advanced.
https://robert.hurst-ri.us/rob/retrocomputing
Post Reply