This is how you destroy the VIC... and achieve nothing!

Discuss anything related to the VIC
Post Reply
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

This is how you destroy the VIC... and achieve nothing!

Post by eslapion »

Recently there has been a lot of discussion on making a multicart and offering the VIC access to large (mass?) information storage.

However, there has been replies from members of this community that I find altogether counterproductive.

One of the ways to expand the VIC that was suggested, is of course the multicart. Some members feel the multicart is not enough:
carlsson wrote:A flashable device, perhaps a smart card MMC device which can be loaded with any files you wish, would not only be more safe legally wise, but tend to more owners. I don't have a particular interest in a 32K memory expansion - I have a lot of those already - and I'm not interested in a multicart, but I could be interested in a smart card based cartridge, even if it is VIC-20 only.
Making such a device on the VIC is just about impossible for two main reasons.

The first obvious one is that the VIC does not support DMA. On the C64, MMC64 and the venerable old REU both use DMA to make for fast transfers.

The other reason is that unlike the 64, the VIC does not allow an area to have RAM "shadowed" under ROM or the same memory area serve more than one purpose.

All larger 8k memory area in the VIC are areas where you could want to load a game or utility software so it is not possible to use as a transfer area. Also, if anyone plans on using I/O2 or I/O3 to do that, where exactly do you put the software to do the job?

Now one might find the plain solution to mass storage on the VIC is through the IEC port. After all, Jim Brain's uIEC is a great potential solution but in fact, it is only an example of what can be done. If so, then commodore's original serial protocol on that port lacks reasonable speed. The solution is to have a new norm that does not require reprogramming the external device and is much faster.

If one is going to create an external mass storage device for the VIC then this device is going to have a much more powerful processor to drive it than the 6502 and that means software based disk accelerators designed for the 1541 and/or 1581 that requires reprogramming the drive WON'T WORK.

There already is a new faster protocol for the IEC port that does not require reprogramming the drive you use and it is already a well implanted norm on the C64 and now is available for the VIC. Its jiffyDOS!

Now, a lot of people may not realise it but the availability of jiffyDOS on the VIC opens the doors wide open to a wide variety of devices that had no practical use with our old friend before. Before I got jiffyDOS, I would never had imagined I could load a 16k game in 5 seconds from a 1581. And that's just for starters.

Here is the answer i got from another member:
nbla000 wrote:JiffyDOS is an hardware solution, i don't like to modify Vic-20 and drives, my best choice is a cartridge and/or a loader as first file of a 1541/1581 disk
A cartridge is virtually impossible to do because the only logical place to put the code for it is in BLK5 which is precisely where you want to be able to load game ROM images. You may be able to get it to show up at I/O2 or I/O3 and start it by an SYS command but then that does not solve the real problem...

If you have an external device that uses a different processor because it needs more processing power than the 6502 can offer then a loader will not work because the device cannot be reprogrammed with code compatible with a 1541 and/or 1581. And that includes the famed VIMM fastloader.

If somebody really feels up to the task then it MAY be possible to make a VIC cart with ROM covering I/O2 and I/O3 that contains jiffyDOS startable with an SYS command. That, however, would still imply you MUST open up your drives to modify the firmware. And let's face it... it just plain out of grasp unless somebody is willing to work a few months on it.

My point? This sort of bickering is how you go nowhere and achieve nothing.

Lets focus on REALISTIC solutions. Those that can be done within a REALISTIC budget and require a REALISTIC amount of work. The VIC user base is only a small fraction that of the C64. Please let us STOP refusing to adhere to new standards when it is obvious it actually expands the possibilities that are available.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

Just so everyone understands what it takes to bring even a simple product to fruition here are some facts about the creation of the 32k expander I still make and sell.

Making the printed circuit boards required an investment of 850$. That's 100$ to get prototypes manufactured, 150$ to get the gerber files made by a professionnal PCB designer and 600$ to get the final boards made.

Each expander requires from 30 minutes to 2 hours of work to make depending on the configuration requested by the customer.

It took about 200 hours of work to design and manage the project.

And to answer Carlsson's comment, ordinary 32k carts cannot give you access to up to 16 different utility cartridges at the flip of a switch. Mine does.

I would be curious to know from Maurice Randall how much work was required to create the VIC-20 version of jiffyDOS.
User avatar
Schlowski
NoMess!
Posts: 892
Joined: Tue Jun 08, 2004 12:20 pm

Post by Schlowski »

So you think it isn't allowed to dream and talk about some of these dreams?
Sorry to say, but sometimes you sound a little bit rude. And take things a little bit personally. This all is a hobby, at least for the majority of us and I don't like to be told what I may think or write...

Just to make it clear on the other side, I'm very happy with your expander and appreciate your work in new hardware for the VIC. And I really plan to get our other project further as soon as I get some money (I'm still missing some outstanding money...)
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Post by eslapion »

Schlowski wrote:So you think it isn't allowed to dream and talk about some of these dreams?
Dreaming is a good thing but not when it becomes an argument to write-off something that is feasible or actually exists.

I think it is a good thing to say that we could do this or that it would be nice to have something that does that. Even if these things can never be made.

But I think it is insulting to people who want to make things that work when somebody comes along and says "I think your product is no good and I don't want it" because it doesn't have this "totallyunrealisticwonderfulfeaturethatwouldcostamilliondollarstodevelop".

Or such things as "Your product is no good because I got something similar for a dollar at a flea market 20 years ago."

P.S.: Before I allowed myself to bash at Super Snapshot V5.22 with 32k, I bought one and paid for it.
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Possible solution

Post by Mike »

eslapion wrote:All larger 8k memory area in the VIC are areas where you could want to load a game or utility software so it is not possible to use as a transfer area. Also, if anyone plans on using I/O2 or I/O3 to do that, where exactly do you put the software to do the job?
I had an interesting idea ...

Suppose there was a boot-program at $A000 (with A0CBM) signature, that copies the floppy speeder to $0400-$0FFF, and then frees BLK5 by writing to a register on the expansion, to enable RAM there.

I've already assembled HYPRA to run at $0400, including the transfer buffer, with even the VIC Wedge added to it. :)

That would need to accommodate how to temporarily disable the expansion in case you want to autostart (with a reset) another cartridge image, but it can be done.

Michael
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

Ok, I have been accused for being a spoil-sport because I don't have any interest in buying a product I don't need, but instead write something that I would find really cool, possible or not. If you felt that I'm trying to diminish your work with the multicart, you're wrong. However, as late as this week, Marko on the cbm-hackers mailing list mentioned his multicart and that he might take up on work on that next year. I don't know if you're interested in joining efforts, or rather develop your own solution so maybe one day there are two different solutions.

I agree that the VIC-20 memory map is a bit cluttered and not possible to map much into it from a cartridge point of view. Perhaps some internal mod like the 6502 RAM/ROM board is in order? This week, the GoMMC board previously only available for the Acorn BBC was released for the Acorn Electron. It is an internal expansion that sells complete for 75 Euros excluding MMC card of course.

Regarding whether I contribute or destroy the VIC-20 community, I know for myself which side I am on, and won't discuss this in public. Those who think I am making more bad than good are entitled their opinion. Thank you and Merry Christmas!
Anders Carlsson

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

Post by Jeff-20 »

From the very first post on Denial:
Jeff-20 wrote:I don't really have many rules for this forum. Just be considerate of others and post in the appropriate forums.
This is an open forum. You can write whatever you want, but I only ask that the tone not be hostile. We are all rational adults.
a1bert
Vic 20 Dabbler
Posts: 96
Joined: Mon Jan 23, 2006 12:49 am

Re: This is how you destroy the VIC... and achieve nothing!

Post by a1bert »

eslapion wrote: If you have an external device that uses a different processor [..] then a loader will not work because the device cannot be reprogrammed with code compatible with a 1541 and/or 1581. And that includes the famed VIMM fastloader.
What "famed VIMM fastloader" are you talking about? It is not famed, and is is just barely a fastloader, like I have indicated.
eslapion wrote:Lets focus on REALISTIC solutions.
Read your own words. Do you think having something else than a 1541-compatible or a 1581 drive with VIC20 is realistic?

Come on, this is nothing REALISTIC about using VIC20 as a realistic computer. It is a hobby machine, and people want to do all kinds of unrealistic things with it just to show that they can. This is all voluntary. If you see people "bickering" where they are just voicing their opinions and get upset if your solution does not suit their needs, maybe you should take a step back and think about what you are doing and why are you doing it.

-Pasi
Mikam73
2049er
Posts: 1292
Joined: Tue May 18, 2004 4:34 pm

Post by Mikam73 »

carlsson wrote: However, as late as this week, Marko on the cbm-hackers mailing list mentioned his multicart and that he might take up on work on that next year.
Thats great news. Thanks 8)

Its slow project, but I am sure one day it will be ready and Vic20 is already so old that couple years dont make difference. We can always wait good things to come 8)

Dreams can come true :wink:

Merry Christmas. (Still two night left..)
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: This is how you destroy the VIC... and achieve nothing!

Post by eslapion »

a1bert wrote:Read your own words. Do you think having something else than a 1541-compatible or a 1581 drive with VIC20 is realistic?

Come on, this is nothing REALISTIC about using VIC20 as a realistic computer. It is a hobby machine, and people want to do all kinds of unrealistic things with it just to show that they can. This is all voluntary. If you see people "bickering" where they are just voicing their opinions and get upset if your solution does not suit their needs, maybe you should take a step back and think about what you are doing and why are you doing it.

-Pasi
I do remember AlanR mentionning he uses almost only 64HDD with his VIC-20 as a storage device. I find that very realistic since it exists, it works and many other people do it. I don't personnally know of anyone who uses it but Jim Brain's uIEC schematics and firmware are available and ready.

I don't think I need a step back. I need to find another 6560 to grind it in a little spoon and mix it with a bit of water, then boil it with a lighter, then shoot it up my left arm's big vein.

Huh, ok, that's humour... don't take it literally... I assure I would never do that! NO! Not the psychiatrist again! I WANT MY VIC! NOW! I NEED MY VIC! DON'T TAKE IT AWAY FROM ME!
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: Possible solution

Post by eslapion »

Mike wrote:I had an interesting idea ...

Suppose there was a boot-program at $A000 (with A0CBM) signature, that copies the floppy speeder to $0400-$0FFF, and then frees BLK5 by writing to a register on the expansion, to enable RAM there.

I've already assembled HYPRA to run at $0400, including the transfer buffer, with even the VIC Wedge added to it. :)

That would need to accommodate how to temporarily disable the expansion in case you want to autostart (with a reset) another cartridge image, but it can be done.

Michael
The least I can say is this is indeed a very creative idea. I see a potential problem where people want to use software designed for the 3k expansion but I suppose you could do the same with having RAM at I/O2 and I/O3. That puts you in $9800-$9FFF. That should be enough room and solve any problems with software for the 3k expansion.

Another potential problem is if, say, you want acceleration with Super Expander or Basic V4. Presently, jiffyDOS allows compatibility with these.

If, once transferred, the speeder can be activated by an SYS command it could solve this issue.

But that puts us back to where I suggested 6 months ago... to have 2k of ROM in IO2 and IO3 to put a speeder in there.
User avatar
eslapion
ultimate expander
Posts: 5458
Joined: Fri Jun 23, 2006 7:50 pm
Location: Canada
Occupation: 8bit addict

Re: This is how you destroy the VIC... and achieve nothing!

Post by eslapion »

a1bert wrote:Come on, this is nothing REALISTIC about using VIC20 as a realistic computer. It is a hobby machine, and people want to do all kinds of unrealistic things with it just to show that they can. This is all voluntary. If you see people "bickering" where they are just voicing their opinions and get upset if your solution does not suit their needs, maybe you should take a step back and think about what you are doing and why are you doing it.

-Pasi
In other words, if I, as an academic researcher in electrical engineering, professionnally use VIC-20s to do things that would cost hundreds of dollars on a PC and require weeks of programming then I have a problem.

The fact that YOU see the VIC as a hobby machine does not mean I have to.

Maybe, just maybe, Maurice Randall took the care and time to create a VIC-20 version of jiffyDOS because he believed he could make money out of that.

I don't feel I have to share your point of view and you express it like not adhering to it amounts to... Denial. :lol:

I believe the fact that people are still developping commercial hardware and software for a machine discontinued 21 (soon 22) years ago is a testament to the intelligence and extraordinary creativity of the people who first made it.

Most people who still use the VIC do it as a hobby, of course. But should that automatically mean I need psychiatric assistance if my knowledge of this machine allows me to use it as a shortcut around modern and supposedly more powerful but much more complex and complicated technology ? I really hope to think not.

2 months ago, it took me 10 minutes to make a program for the VIC which calculates Binomial distribution (see http://mathworld.wolfram.com/BinomialDistribution.html)

Good luck doing something like that on a PC... get your huge Visual Studio and take hours to desing a fancy looking interface and so on...)

Altough I must admit, most of what I do on the VIC could be done with a C64... so if I ever run out of VICs...

... now if only somebody would care to program a good VICspice to simulate my circuits or a good VICscope for the user port...
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Possible solution

Post by Mike »

eslapion wrote:[...]I suppose you could do the same with having RAM at I/O2 and I/O3. That puts you in $9800-$9FFF. That should be enough room and solve any problems with software for the 3k expansion.
At the moment HYPRA (with Wedge) needs 11 pages (including the transfer buffer), so I/O 2/3 is not an option, sadly. One point to consider is, that those medium-sized programs which specifically need an 3K expansion do not make use of any memory above $2000 - as that would contribute to a relocation of screen memory. Otherwise no +8K (or more) program exists that I now, which also expects memory at $0400-$0FFF. I'd then simply desactivate the speeder to make room for those +3K programs.
Another potential problem is if, say, you want acceleration with Super Expander or Basic V4.
I could dissect Super Expander or Basic V4 the same way as I've already done with Waterloo Basic, and Hypra-System - and integrate it with the speeder. (Even though the Wedge already does most that Basic V4 delivers, IMO. And MINIGRAFIK gives a slightly higher resolution of 160x192 pixels)
But that puts us back to where I suggested 6 months ago... to have 2k of ROM in I/O2 and I/O3 to put a speeder in there.
That was only of question of the right tools. ;) ... which I now have programmed for me since then. But TurboDisk, as Hypra-System, still needs a 256 Byte for a transfer buffer, so ROM alone is not enough. But we still can make a copy from a auto-boot ROM into RAM located at I/O 2/3, and then switch BLK5 to RAM as well.

I think, Waterloo BASIC, MINIGRAFIK, Hypra-System (or TurboDisk), and the Wedge integrated into BLK 5 and RAM at BLK 1/2/3 would give a nice environment to write structured BASIC programs, with a simple access to hi-res graphics, and faster and easier disk access. I do have all components handy as source code (with the sole exception of TurboDisk - or I could adapt HYPRA for NTSC for that matter). It's just a matter of interest.

Michael
Post Reply