]> git.sur5r.net Git - cc65/blobdiff - libsrc/cbm/cbm_load.c
don't use constructor to setup runtime stack
[cc65] / libsrc / cbm / cbm_load.c
index 283a4512dcc5e394a039b1b81545cefed79ca57b..297910615abb8999d114f4c96d8abd2414167bd6 100644 (file)
@@ -1,22 +1,21 @@
 /*
  * Marc 'BlackJack' Rintsch, 06.03.2001
  *
- * unsigned char cbm_load(const char* name, char device, unsigned int addr);
+ * unsigned int cbm_load(const char* name,
+ *                       unsigned char device,
+ *                       const unsigned char* data);
  */
 
 #include <cbm.h>
 
-extern unsigned char _oserror;         
-
 /* loads file "name" from given device to given address or to the load address
- * of the file if addr is 0
+ * of the file if "data" is 0
  */
-unsigned char cbm_load(const char* name, unsigned char device,
-                       unsigned int addr)
+unsigned int cbm_load(const char* name, unsigned char device, void* data)
 {
     /* LFN is set to 0 but it's not needed for loading.
      * (BASIC V2 sets it to the value of the SA for LOAD) */
-    cbm_k_setlfs(0, device, addr == 0);
+    cbm_k_setlfs(0, device, data == 0);
     cbm_k_setnam(name);
-    return _oserror = cbm_k_load(0, addr);
+    return (cbm_k_load(0, (unsigned int)data) - (unsigned int)data);
 }