Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in 
CSDb User Forums


Forums > C64 Coding > VICE and Loading in IO RAM
2010-08-01 21:16
TWW

Registered: Jul 2009
Posts: 471
VICE and Loading in IO RAM

I am aware of the fact that I can load from inside VICE after turning on IO RAM but this seems a somewhat tedious task. (I also don't want to garbage my code with transfer routines after launching!)

During development of things you sometime need to put stuff in IO RAM area (gfx etc). In CCS6 I could load this directly into RAM memory. This leads med to believe that I can do this in VICE aswell.

I know the real thing is different but this is for development and when things are done you'll pack things anyways!

Any suggestions?
2010-08-01 21:52
Groepaz

Registered: Dec 2001
Posts: 9432
what do you mean with "i/o ram" ? d000-dfff ? that should be possible in the monitor after doing "bank ram".

also, you can try the new "inject into ram" autostart feature.

personally i just pack everything together (using pucrunch or exomizer) during development :)
2010-08-01 23:20
TWW

Registered: Jul 2009
Posts: 471
I/O Ram = $d000-dfff yes.

The "Inject into ram" autostart feature is what I was looking for.

However in my version of VICE (Which I just downloaded from the VICE HP) (64 bits Win-version) lists: "inject" as an option and I recon this is the option you mean.

Unfortunately it doesen't seem to work as $d000 data (sprites) overwrite the IO registers and doesn't end up in the RAM area as one would expect...

VICE bug or is there some command line option or such I am missing?

Maybee the x64 v2.2 build is not up to date with the "new" feature you mentioned?

EDIT: Have checked the latest x86 version dl'd from the VICE forum thread. I conclude with that the "inject" only injects into basic-visible RAM and not the hidden RAM.

Leaning back and waiting for this feature (hi TLR :-])

-TW
2010-08-02 00:41
iAN CooG

Registered: May 2002
Posts: 2736
if pu-crunching/exomizing causes you too much trouble, either inject a file in a t64, it will loaded to ram even if it's 250 blocks;
or attach a TFR 0.8 cart as default in vice, so you can load any length prg and you also have hex address displayed during load, you can also do SYS $80d and so on.

Autostart/Injecting doesn't work with files > 202 blocks, I get with this in log with a prg ranging $0801-ffff:

AUTOSTART: Loading PRG file `C:\test\TERRA.PRG.081c.prg' with direct RAM injection.
AUTOSTART: Error - Error loading data from 'C:\test\TERRA.PRG.081c.prg'
AUTOSTART: Error - `C:\test\TERRA.PRG.081c.prg' is not a valid file.

with a shorter one it writes to IO area anyway....
I'm expecting injection to ram doing exactly this, working like t64. ;)
2010-08-02 01:10
TWW

Registered: Jul 2009
Posts: 471
I understand what u'r say'n iAN, I really do...

However I don't really see why one should need a workaround since it probably a trivial task to allow this in VICE to begin with (Meaning injecting into RAM actually loads any file from $0801 -> $ffff directly into the corresponding RAM adresses.

I don't know how to make a emulator and I am not pretending to but the routine which injects the .prg into memory has to take $01 into account (Which I really think should be set to reveal/write to all RAM (#$34?) while injecting anything). After all this works on CCS64... (Haven't checked up to $ffff though but IO area works like a charm).

in short:

#1 Code
#2 press Shortcut to compile/autostart
#3 Profit...

No need to pucrunch/exomize/t64/TFR/whatever...

Maybee I'm just to demanding :-D

ps. Then again I do have Extremely high performance requirements!!! (This is my favourite quote these days...(and hence meant as a joke^^))
2010-08-02 01:50
iAN CooG

Registered: May 2002
Posts: 2736
"#2 press Shortcut to compile/autostart"
just add in the batch/script you use to compile
pucrunch -x $startaddress your.prg your.prg
and you're done, it's not like you're dying by adding such a simple thing in the compile process.
2010-08-02 02:00
SIDWAVE
Account closed

Registered: Apr 2002
Posts: 2238
may sound stupid, but try renaming your file.
its called xxxx.prg.yyyy.prg (.prg 2 times), remove that and try see..
2010-08-02 02:15
iAN CooG

Registered: May 2002
Posts: 2736
Quote: may sound stupid, but try renaming your file.
its called xxxx.prg.yyyy.prg (.prg 2 times), remove that and try see..


vice doesn't care about that, you can name a prg whatever you want even with 10+ "unrecognized" extensions =)
The bug is in the size check, if the prg ends at $ffff says it's not valid, if it ends at $fffe it tries to load it but crashes when writing to $d000 onward. Something to report at SF bugtracker but too lazy to do it atm.
2010-08-02 02:17
TWW

Registered: Jul 2009
Posts: 471
Quote: "#2 press Shortcut to compile/autostart"
just add in the batch/script you use to compile
pucrunch -x $startaddress your.prg your.prg
and you're done, it's not like you're dying by adding such a simple thing in the compile process.


You're probably right, it won't kill me (But I might need to use a couple of self declarations and skipp work for some days).

This is probably the workaround I'll use. So thanx for the suggestion.

Jan: I guess your comment was for iAN and not me^^.

This however doesen't mean I am not expecting to see this feature in VICE 2.3 TLR :]
2020-07-31 22:58
Spinx

Registered: Jul 2012
Posts: 1
I had the same problem, and ended up in this thread.

'Inject into ram' works for me. I added this command line option for VICE:

-autostartprgmode 1 (read description in the VICE Help menu)

I also found the 'Inject into ram' option in the VICE menu: 'Settings/Machine/Autostart'. But have not tested that way of doing it.
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Beast/Crescent
Honcho
Black Beard/Abyss, A..
Jammer/TooMany
Karmic/HVSC/ONS
Dymo/G★P
Guests online: 30
Top Demos
1 Coma Light 13  (9.7)
2 Uncensored  (9.6)
3 Edge of Disgrace  (9.6)
4 Comaland 100%  (9.6)
5 Unboxed  (9.6)
6 The Shores of Reflec..  (9.6)
7 Lunatico  (9.5)
8 Remains  (9.5)
9 NGC 1277 100%  (9.5)
10 C=Bit 18  (9.5)
Top onefile Demos
1 Smile to the Sky  (9.5)
2 Listen to Your Eyes  (9.5)
3 Cuarentenauta  (9.5)
4 MD202006 - Get Well ..  (9.5)
5 Dawnfall V1.1  (9.5)
6 Rewind  (9.5)
7 Instinct  (9.5)
8 Crystal Gazer  (9.5)
9 The Tuneful Eight [u..  (9.5)
10 Bad Boy  (9.5)
Top Groups
1 PriorArt  (9.6)
2 Performers  (9.5)
3 Booze Design  (9.4)
4 Censor Design  (9.4)
5 Fossil  (9.4)
Top Public Relations Managers
1 Irata  (10)
2 Baracuda  (10)
3 hedning  (10)
4 Liesbeth  (10)
5 MacGyver  (3.0)

Home - Disclaimer
Copyright © No Name 2001-2020
Page generated in: 0.045 sec.