]> git.sur5r.net Git - cc65/blobdiff - libsrc/cbm/cbm_load.c
Merge pull request #135 from ikorb/patch1
[cc65] / libsrc / cbm / cbm_load.c
index cccc3279e3ee06019406762a2a2bf5d7d4c94f9c..695af504b61d0829e5ba7daa05c5738d9f256d0d 100644 (file)
@@ -1,21 +1,22 @@
 /*
- * Marc 'BlackJack' Rintsch, 06.03.2001
- *
- * unsigned char cbm_load(const char* name, char device, unsigned int addr);
- */
+** Marc 'BlackJack' Rintsch, 06.03.2001
+**
+** unsigned int cbm_load(const char* name,
+**                       unsigned char device,
+**                       const unsigned char* data);
+*/
 
 #include <cbm.h>
-#include <errno.h>
 
 /* loads file "name" from given device to given address or to the load address
- * of the file if addr is 0
- */
-unsigned char cbm_load(const char* name, unsigned char device,
-                       unsigned int addr)
+** of the file if "data" is 0
+*/
+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);
+    /* 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, data == 0);
     cbm_k_setnam(name);
-    return _oserror = cbm_k_load(0, addr);
+    return (cbm_k_load(0, (unsigned int)data) - (unsigned int)data);
 }