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


Forums > C64 Coding > how do i load and run a program from another?
2006-04-11 13:59
Trifox
Account closed

Registered: Mar 2006
Posts: 108
how do i load and run a program from another?

...have made a reader programm for my upcoming 1k game, now i want this reader to load the game and start it !
 
... 4 posts hidden. Click here to view all posts....
 
2006-04-11 18:33
Trifox
Account closed

Registered: Mar 2006
Posts: 108
aha, i have an file not found error ... ;)

how do i declare the filename ?


a)"spiel.prg"
b) "spiel"
or
c) "SPIEL"
or
d) "SPIEL.PRG"

the acme compiler knows the !pet statement, this should work i think
2006-04-11 19:13
Trifox
Account closed

Registered: Mar 2006
Posts: 108
help, it simply does not work, the lamp is blinking and 18 is standing there ... ;(((
2006-04-11 20:06
Oswald

Registered: Apr 2002
Posts: 5094
the extension doesnt belongs to the filename string on c64, the type of the file (prg/seq/etc) is stored in the directory structure seperately.

try print asc("s") and the rest of the characters in c64 basic to find out the petscii codes, compare that to what acme compiled.

btw maybe I led you to a wrong path, blinking led singals any error, but if the track changes to 18.0 that means the drive understood the command, and is scanning the directory for the file, so it can find out the starting track/sector.

try to google for load with c64 kernal, maybe the example by hannenz has some bugs.
2006-04-11 21:31
tlr

Registered: Sep 2003
Posts: 1790
Quote: help, it simply does not work, the lamp is blinking and 18 is standing there ... ;(((


It sounds like you are running in vice with a d64-image, but the file is not actually on that image. Maybe you are auto starting from a .prg but have true drive emulation forced on?
Anyway, if you want it to work on a real c64 you'd better stick the files onto a d64 and run everything through the drive emulation.
2006-04-12 00:33
Trifox
Account closed

Registered: Mar 2006
Posts: 108
@all thx for helping

but i actually put it all on to a d64 image...:(
2006-04-12 05:38
Oswald

Registered: Apr 2002
Posts: 5094
test your code with having ONLY the instructions needed to call the kernal load, and put an rts to the end. This makes sure you dont destroy the OS, and the rts will return you to the basic prompt.

(try to avoid using the common cross assembling method: prepacked code, the depacker might kill the OS, you may start your code with a SYS [decimalnumber] from the basic prompt)

then when u're back to the prompt enter this:

OPEN 15,8,15:INPUT #15,EN,EM$,ET,ES:PRINT EN,EM$,ET,ES:CLOSE

it will read and print the 1541 error channel for you, so you will get an exact description on what went wrong.

(en:error number, em$: error message, et: track, es: sector)




(edit: if you do some cruel thing under the memory area $400, you might destroy OS variables thats needed by kernal load to work correctly)
2006-04-12 06:59
TNT
Account closed

Registered: Oct 2004
Posts: 189
INPUT# doesn't work in direct mode, but you can POKE58,254 before it to work around that.
2006-04-12 08:16
hannenz
Account closed

Registered: Nov 2002
Posts: 24
i tried it and THIS must(!) work: (it works for me in vice with a d64 image attached containig a file called "game", compiling with ACME):

!to "c:/test.prg"
!ct pet

*=$1000

		lda #1
		ldx #8
		ldy #0
		jsr $ffba
		lda #fend-filename
		ldx #<filename
		ldy #>filename
		jsr $ffbd
		lda #0
		jsr $ffd5
		rts
		
filename		!tx "game"
fend

2006-04-14 01:01
Wyndex
Account closed

Registered: Apr 2006
Posts: 1
Hi guys,

If you're using 0 as the secondary address/command (ldy #00 before SETLFS), you need to specify the load address in XY before the call to LOAD:

LDA #08 ;File no.
LDX $BA ;Current device number
LDY #00 ;Secondary address
JSR SETLFS
LDA #0
LDX LOADADDR
LDY LOADADDR+1
JSR LOAD

If you want to use the address stored in the file, use LDY #1 (like load ,x,1).

-Wyn-
2008-07-23 12:06
El Topo

Registered: Jun 2006
Posts: 43
Ok, a related question. I've written a program that loads a couple of SEQ-files to memory. I get it to work when running it from TASM (compile+execute option) but when I do a sys to my program at the basic prompt I get a file not found flashing.

Filenames are stored like this: label .text "filename,s,r"
Correct?

Previous - 1 | 2 - Next
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
Andy/AEG
DeMOSic/MS^LSD^ONS
Holy Moses/Role
Fred/Channel 4
Didi/Laxity
Bieno/Commodore Plus
Guests online: 106
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.04 sec.