FE3 RAM Disk
Moderator: Moderators
@Vic20-Ian: thanks 
Mike pointed out that there are drive numbers for devices, so you can have device 8 with drive 0 and 1 and to address a specific drive you have to write "S0:foo" to scratch foo instead of "S:foo".
I did not know this (or forgot about it) and two books on the 1541 don't mention it, one is the C= 1541 user manual (german version).
Do many programs actually use the drive number for disk access?

Mike pointed out that there are drive numbers for devices, so you can have device 8 with drive 0 and 1 and to address a specific drive you have to write "S0:foo" to scratch foo instead of "S:foo".
I did not know this (or forgot about it) and two books on the 1541 don't mention it, one is the C= 1541 user manual (german version).
Do many programs actually use the drive number for disk access?
Buy the new Bug-Wizard, the first 100 bugs are free!
- Diddl
- Vic 20 Afficionado
- Posts: 426
- Joined: Wed Jun 10, 2009 3:18 am
- Website: https://oe7twj.at/
- Location: Austria
- Occupation: software engineer
I wouldn't go too far with emulating a real DOS. I just want to put enough functionality in that you can use file browsers and other disk related programs without problems. Of course, if anything is needed by somebody using it in his program, please let me know.Diddl wrote:Bit by bit we have a real DOS for the RAM disk.
I know a few file browsers and will have a look, if they work with the RAM disk. And I would really appreciate, if some of you did a quick check, if the RAM drive works with your favourite programs and tell me if not. Thanks!

It should be quite stable now, although some bugs always remain.
Buy the new Bug-Wizard, the first 100 bugs are free!
- joshuadenmark
- Big Mover
- Posts: 1180
- Joined: Sat Oct 23, 2010 11:32 am
- Location: Fr-Havn, Denmark
- Occupation: Service engineer
Kananga wrote:There is a new release of the RAM DRIVE that adds support for the command channel (15). You can now read the status of the last operation, and scratch and rename files.
The driver should survive a reset, if the module area remains untouched.
Download RAM DISK 0.7 here
Running on real hardware as device 9 with the GUI:
EDIT: unnecessary quotes removed.

Kind regards, Peter.
____________________________________________________
In need of a wiki logon - PM me
____________________________________________________
In need of a wiki logon - PM me
Hi all!
There is a new version of the RAM Disk Driver available in the download section: 0.8
Storing/Retrieving data, Scratch & Rename should be quite stable.
REL file support is experimental, i.e. feature complete but probably buggy.
Have fun!
There is a new version of the RAM Disk Driver available in the download section: 0.8
Storing/Retrieving data, Scratch & Rename should be quite stable.
REL file support is experimental, i.e. feature complete but probably buggy.
Have fun!
Buy the new Bug-Wizard, the first 100 bugs are free!
- Mike
- Herr VC
- Posts: 5130
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Here's a file based disk copy program, which can be used to transfer the contents of a *.d64 or *.d81 disk image to the FE3 RAM-Disk (download):
You just need to specify the device numbers of source and destination drive. The program then works through the entire directory of the medium in the source drive copying all PRG, SEQ and USR files. REL files are omitted, and direct access blocks are also not copied. Provided all data (except REL files) is accessible as files, the program can also be used as disk copier with either two real CBM disk drives, or as single drive disk copier with the FE3 RAM-Disk as temporary storage.
Maybe that program gives a little incentive for more people to test their programs with Kananga's FE3 RAM-Disk.
Greetings,
Michael
Code: Select all
10 POKE55,195:POKE56,28:CLR:GOTO19
11 GET#4,A$,B$,C$,D$:F=1
12 GET#4,A$:IFA$=""THENRETURN
13 IFA$<>CHR$(34)THEN12
14 N$="":T$="":F=0
15 GET#4,A$:IFA$<>CHR$(34)THENN$=N$+A$:GOTO15
16 GET#4,A$:IFA$=""THENRETURN
17 IFA$>="A"ANDA$<="Z"THENT$=T$+A$
18 GOTO16
19 FORT=0TO60:READA:POKE7363+T,A:NEXT:POKE5,0:POKE6,29
20 INPUT"SRC DEV.";SD:INPUT"DST DEV.";DD
21 OPEN4,SD,0,"$":GET#4,A$,B$:GOSUB11
22 GOSUB11:ONFGOTO25:IFNOT(T$="PRG"ORT$="SEQ"ORT$="USR")THEN22
23 F$=N$+","+LEFT$(T$,1):PRINTF$:OPEN2,SD,2,F$+",R"
24 OPEN3,DD,3,F$+",W":SYS7363:CLOSE2:CLOSE3:GOTO22
25 CLOSE4:POKE55,PEEK(643):POKE56,PEEK(644):CLR:END
26 DATA 162,2,32,198,255,160,0,132,3,32,207,255,72,165,144,201,1
27 DATA 104,164,3,145,5,200,132,3,176,2,208,236,8,32,204,255,162
28 DATA 3,32,201,255,160,0,177,5,132,4,32,210,255,164,4,200,196
29 DATA 3,208,242,32,204,255,40,144,196,96
Maybe that program gives a little incentive for more people to test their programs with Kananga's FE3 RAM-Disk.

Greetings,
Michael
Last edited by Mike on Sun Aug 31, 2014 12:58 pm, edited 3 times in total.
Thanks, Mike!Mike wrote:Here's a file based disk copy program, which can be used to transfer the contents of a *.d64 or *.d81 disc image to the FE3 RAM-Disk (download):
Perhaps, everybody else waits until you found all the bugs and I fixed them.Mike wrote:Maybe that program gives a little incentive for more people to test their programs with Kananga's FE3 RAM-Disk.

Buy the new Bug-Wizard, the first 100 bugs are free!
All features are now implemented and I am proud to announce the official release of the RAM disk: 1.0.0
So what do you get?
You can load and save files from and to the RAM-Disk slightly faster than using SJLOAD and SD2IEC. Since that also comes with the FE3 and of course all data in RAM is lost if you switch of your VIC-20, this is in itself not worth much.
But, if you want to write a program that runs on real hardware and needs to load additional data, the RAM disk offers speed and compatibility with certain important features of the original hardware.
One situation where the RAM disk comes in handy is when programs need to load additional data from a fixed location, while being able to switch to other disks (or directories) for other operations.
On original hardware you would need two disk drives: One holding program data and the other the user data. Using the RAM disk you could copy all program data to RAM and use the SD2IEC for user data and still build a program that can run on original hardware (e.g. using two 1541s).
For example, you may have a game which sometimes needs to load level data. You could store the data in a REL file and use it on demand. Fortunately, the RAM disk supports REL files almost like a 1541 would, which allows you to write programs for both settings.
If you do not care about compatibility to the 1541, you can also use the "P"osition command for random access to any other file in a way compatible with SD2IEC.
In order to make integrating the RAM disk into your project easier, the initialisation routine looks for a program called "RDRUN" and, if found, loads and runs it instead of returning to the BASIC prompt. That way, you can write a program that loads the RAM disk from a boot loader before executing your own initialisation code.
Please let me know, if you need anything else to make the program useful!
Otherwise this is the final release.
Have fun!
Kananga
So what do you get?
You can load and save files from and to the RAM-Disk slightly faster than using SJLOAD and SD2IEC. Since that also comes with the FE3 and of course all data in RAM is lost if you switch of your VIC-20, this is in itself not worth much.
But, if you want to write a program that runs on real hardware and needs to load additional data, the RAM disk offers speed and compatibility with certain important features of the original hardware.
One situation where the RAM disk comes in handy is when programs need to load additional data from a fixed location, while being able to switch to other disks (or directories) for other operations.
On original hardware you would need two disk drives: One holding program data and the other the user data. Using the RAM disk you could copy all program data to RAM and use the SD2IEC for user data and still build a program that can run on original hardware (e.g. using two 1541s).
For example, you may have a game which sometimes needs to load level data. You could store the data in a REL file and use it on demand. Fortunately, the RAM disk supports REL files almost like a 1541 would, which allows you to write programs for both settings.
If you do not care about compatibility to the 1541, you can also use the "P"osition command for random access to any other file in a way compatible with SD2IEC.
In order to make integrating the RAM disk into your project easier, the initialisation routine looks for a program called "RDRUN" and, if found, loads and runs it instead of returning to the BASIC prompt. That way, you can write a program that loads the RAM disk from a boot loader before executing your own initialisation code.
Please let me know, if you need anything else to make the program useful!
Otherwise this is the final release.
Have fun!
Kananga
Buy the new Bug-Wizard, the first 100 bugs are free!
- Diddl
- Vic 20 Afficionado
- Posts: 426
- Joined: Wed Jun 10, 2009 3:18 am
- Website: https://oe7twj.at/
- Location: Austria
- Occupation: software engineer
- joshuadenmark
- Big Mover
- Posts: 1180
- Joined: Sat Oct 23, 2010 11:32 am
- Location: Fr-Havn, Denmark
- Occupation: Service engineer
Re: FE3 RAM Disk
Anyone got a download of @Kananga ramdisk?
Kind regards, Peter.
____________________________________________________
In need of a wiki logon - PM me
____________________________________________________
In need of a wiki logon - PM me
- Mike
- Herr VC
- Posts: 5130
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: FE3 RAM Disk
Some time ago, Kananga moved his file repository to sourceforge: https://sourceforge.net/projects/vin20/files/
Here's the link to the *.zip of FE3 RAM Disk V1: https://sourceforge.net/projects/vin20/ ... p/download
Cheers,
Michael
Here's the link to the *.zip of FE3 RAM Disk V1: https://sourceforge.net/projects/vin20/ ... p/download
Cheers,
Michael
-
- Vic 20 Hobbyist
- Posts: 125
- Joined: Sun Feb 28, 2016 9:59 pm
- Location: CA USA
Re:
...me. I use tapes too, often more than disks.Kananga wrote: EDIT:
You could also write a program that copies a whole disk in one go, by storing the image in the RAM drive! But who does still use real 5 1/4'' disks?
- Mike
- Herr VC
- Posts: 5130
- Joined: Wed Dec 01, 2004 1:57 pm
- Location: Munich, Germany
- Occupation: electrical engineer
Re: FE3 RAM Disk
Javier, Sven - FYI, I split off the recent discussion to the new thread "Using FE3RD in VICE (was: Re: FE3 RAM Disk)".