Software limitation? Or it's normal... Can be bypassed?

You need an actual VIC.

Moderator: Moderators

Post Reply
jalavera
Vic 20 Drifter
Posts: 23
Joined: Wed Aug 05, 2009 4:49 am

Software limitation? Or it's normal... Can be bypassed?

Post by jalavera »

I'm making some file conversion, basically to get to know the portability between formats and systems (basically PC<->VIC) and emulators (VICE).

Initially I begin with the classic 'Sargon II Chess' on prg format downloded from Zimmers.net, which once I had a copy on Real Vic :(

Now, with PC Software DirMaster (available from syle64.org) I convert to virtual tape image (t.64). It runs perfectly on VICE after loaded and soft-resetted (such as original prg file did)

And now the problem....

I use WAV-PRG 3.4 from Fabrizio Gennari to try to convert .t64 file to real TAP file. Apparently all works ok but the resulting TAP file doesn't run on VICE: It loads ok but after soft-resetting system restarts..... no luck!

Any idea? Is really WAV-PRG buggy? Is there another way to convert a cart (or its image) to TAP, WAV or real tape to run on real VIC?

Is there any software to convert the snapshots created by VICE (vsf files) to working TAP/WAV such as occur in other 8-bit computers like Spectrum-Sinclair)?

Thanks.

**edit 7/08/2009**

WAV-PRG and DirMaster create .d64, t.64 and .tap compatible with VICE from PRG (using LOAD "",n,1 command+suitable SYS command) , but there's a change in memory needs:
* ALTOUGH the PRG (e.g. Sargon II Chess) file runs perfectly attached at VICE cart reader with only 8kb expansion, when is saved to other formats such as .d64, .tap or .t64 with DirMaster (.d64 & .t64) or WAV_PRG (.t64 & .tap) the resulting tape/disk file needs *ALL BLOCKS* TO BE ACTIVED ON VICE otherwise IT FAILS TO RUN.

Can anyone tell me why? Is there any trick, hack, etc. to bypass this problem: run the .d64,.t64,.tap file on VICE (I suppose Real Vic too) with no extra RAM memory respect of the source PRG file?

Thanks at all!
User avatar
Mike
Herr VC
Posts: 5134
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

Sargon II chess, as found on ftp.zimmers.net is a 8K long *.prg file, which resides in BLK5.

It can be started by enabling BLK5, loading it with 'LOAD "",device,1' from *.t64, *.tap, *.d64, or whatever, and run with SYS 64802, or Alt-R (soft-reset).

On a real VIC-20, you'd use an 8K RAM expansion modded to BLK5 for this.

VICE also allows attaching a cartridge image at a certain address. However, *.prg files cannot be used for this, the raw binary file is required, sans the first two bytes containing the load address.

There are no obvious limitations regarding the conversion between *.d64, *.t64, *.tap other than the latter two are emulations of a tape - with all restrictions, while a *.d64 emulates a floppy disk. As long as regular files are concerned, and a sequence of files is honoured (in case the disk based program loads additional data from the medium - and it would access the tape, after all), that is.

Michael

P.S.: Please put some thoughts into a meaningful topic title. The current one, "Software limitation? Or it's normal... Can be bypassed?", absolutely does not reveal the intent of your question.
Last edited by Mike on Sun Aug 31, 2014 1:08 pm, edited 1 time in total.
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

I may be wrong, but I think you can attach a 4098, 8194, 16386 bytes file as a cartridge in VICE. Since you specify at what address to attach it, the emulator bypasses the first two bytes. However you mustn't use any other odd file size: either a multiple of 4/8K or the same plus two bytes IIRC.
Anders Carlsson

Image Image Image Image Image
6502dude
megacart
Posts: 1581
Joined: Wed Dec 01, 2004 9:53 am

Post by 6502dude »

I routinely attach 1K files in vice as cart images for little bits of code I wish to test.
So, full 8K block does not need to be populated for it to work correctly.
Image Mega-Cart: the ultimate cartridge for your Commodore Vic-20
carlsson
Class of '6502
Posts: 5516
Joined: Wed Mar 10, 2004 1:41 am

Post by carlsson »

But maybe at least you need a multiple of 1024 bytes? Or are you saying you could attach a 996 or 1037 or 1321 bytes large file and it doesn't complain? Hm, could be a setting or compile time option. At least I remember recently WinVICE complained so I had to pad out my cartridge files to the nearest 4K.
Anders Carlsson

Image Image Image Image Image
jalavera
Vic 20 Drifter
Posts: 23
Joined: Wed Aug 05, 2009 4:49 am

Post by jalavera »

Or I did not explain good enough (quite possible because of your replies) or I don't understand your replies...
In breaf (all in VICE)
If I start 'Sargon II Chess' from .PRG in Vice I only need 8K expansion to run.
When I convert this PRG to .D64, .TAP or .T64 then I need ALL expansion (32 KB I think) to run properly.
I asked Why? And if there`s any solution to solve this fact.
Thanks and sorry if I didn't explain good enough or now I missunderstand your replies and solutions.
User avatar
Mike
Herr VC
Posts: 5134
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

You should explain how you tried to load the file from the *.d64, *.t64, or *.tap image files.
jalavera wrote:If I start 'Sargon II Chess' from .PRG in Vice I only need 8K expansion to run.
Correct. And this 8K RAM expansion must be located in BLK5, from $A000 to $BFFF. The game will be loaded to this place, and auto-started by a reset (either SYS64802, or Alt+R in VICE).
When I convert this PRG to .D64, .TAP or .T64 then I need ALL expansion (32 KB I think) to run properly.
No. Why shouldn't it work? Of course you will need to use the suitable load commands (LOAD "file",8,1 for a *.d64; LOAD "file",1,1 for *.tap, or *.t64 -- start again with SYS64802, or Alt-R). It still suffices to have 8K in BLK5.

There is no conceivable reason why the program should make any problems because the storage medium has been changed. The bytes written to BLK5 don't know where they came from.
I asked Why? And if there`s any solution to solve this fact.
There is no problem. That is fact.

Michael
jalavera
Vic 20 Drifter
Posts: 23
Joined: Wed Aug 05, 2009 4:49 am

Post by jalavera »

For *.tap and *.t64 I use LOAD "file",1,1 with 8Kb expansion enabled. After READY message Alt-R. System restart without run Sargon.
If I active ALL BLOCKS and LOAD "file",1,1 then, after ALT-R, Sargon runs ok.
For .d64 I use LOAD "file",8,1 with 8 Kb ans after soft-rest it restarts. With ALL BLOCKS after LOAD"file",8,1 + Soft Reset then Sargon runs ok.

Why?
User avatar
Mike
Herr VC
Posts: 5134
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Post by Mike »

O.K.

I copied the *.prg to a *.d64 myselves, and was able to run it with just 8K - in BLK5:

Image

Note this is different from enabling an 8K expansion on the left side. That one is put into BLK1, to extend BASIC RAM. It is the default position for an unmodded VIC-1110 8K RAM Cartridge. The BASIC RAM then extends from 4608 to 16383 (with screen now at 4096) to give 11775 BYTES FREE.

Soft-loaded cartridge games however need RAM at least in BLK5 (<- this one bold, italic, underlined!). If you only enabled an 8K expansion, in BLK1, there is no RAM in BLK5, and the data will end up no-where.

You're making a big fuss about a non-issue.

Michael

P.S.: this is quoted from your first post:
jalavera wrote:* ALTOUGH the PRG (e.g. Sargon II Chess) file runs perfectly attached at VICE cart reader with only 8kb expansion
If you attach a file as cartridge, it will be mapped in the specified area, as ROM. Unless the cartridge also has a specific need for extra RAM, you don't have to activate any RAM blocks. In your case, the file appears as ROM in BLK5, and it isn't even necessary to put RAM into BLK1.

I might now understand your "problem". It's just I mentioned '8K in BLK5' like, say, 6 times before. :(
jalavera
Vic 20 Drifter
Posts: 23
Joined: Wed Aug 05, 2009 4:49 am

Post by jalavera »

Ok. Sorry... Now I understand. Thanks for your patience!
Post Reply