diff options
Diffstat (limited to 'apps/plugins/zxbox/snapshot.c')
-rw-r--r-- | apps/plugins/zxbox/snapshot.c | 49 |
1 files changed, 13 insertions, 36 deletions
diff --git a/apps/plugins/zxbox/snapshot.c b/apps/plugins/zxbox/snapshot.c index e1a3552382..c67b7a8f39 100644 --- a/apps/plugins/zxbox/snapshot.c +++ b/apps/plugins/zxbox/snapshot.c | |||
@@ -33,17 +33,14 @@ | |||
33 | 33 | ||
34 | #include <stdio.h> | 34 | #include <stdio.h> |
35 | #include <stdlib.h> | 35 | #include <stdlib.h> |
36 | /*#include <errno.h>*/ | ||
37 | /*#include "string.h"*/ | ||
38 | #include <sys/types.h> | 36 | #include <sys/types.h> |
39 | 37 | ||
40 | #define COMPRESS_SAVE 1 | 38 | #define COMPRESS_SAVE 1 |
41 | 39 | ||
42 | static char quick_snap_file[MAXFILENAME]; | 40 | static char quick_snap_file[]="/.rockbox/zxboxq.z80"; |
43 | static int qsnap_created = 0; | 41 | |
44 | typedef struct { | 42 | typedef struct { |
45 | int isfile; | 43 | int isfile; |
46 | /*FILE *fp;*/ | ||
47 | int fd; | 44 | int fd; |
48 | 45 | ||
49 | unsigned len; | 46 | unsigned len; |
@@ -65,7 +62,7 @@ static int snread(void *ptr, int size, SNFILE *snfp) | |||
65 | int i; | 62 | int i; |
66 | byte *dest; | 63 | byte *dest; |
67 | 64 | ||
68 | if(snfp->isfile) /*return (int) fread(ptr, 1, (size_t) size, snfp->fp);*/ | 65 | if(snfp->isfile) |
69 | return (int) rb->read( snfp->fd,ptr, (size_t) size); | 66 | return (int) rb->read( snfp->fd,ptr, (size_t) size); |
70 | 67 | ||
71 | dest = (byte *) ptr; | 68 | dest = (byte *) ptr; |
@@ -177,7 +174,6 @@ struct z80_page_s { | |||
177 | #define z80_pg_size 3 /* sizeof(struct z80_page_s)=3 */ | 174 | #define z80_pg_size 3 /* sizeof(struct z80_page_s)=3 */ |
178 | 175 | ||
179 | 176 | ||
180 | /*static FILE *savfp;*/ | ||
181 | static int savfd; | 177 | static int savfd; |
182 | static int memptr; | 178 | static int memptr; |
183 | 179 | ||
@@ -282,13 +278,9 @@ static void snsh_z80_save(int fd) | |||
282 | Bit 5 : 1=Block of data is compressed | 278 | Bit 5 : 1=Block of data is compressed |
283 | Bit 6-7: No meaning | 279 | Bit 6-7: No meaning |
284 | */ | 280 | */ |
285 | |||
286 | |||
287 | /*fwrite(&z80, z80_145_size, 1, fp);*/ | ||
288 | rb->write(fd,&z80,z80_145_size); | 281 | rb->write(fd,&z80,z80_145_size); |
289 | 282 | ||
290 | if(!to_comp) | 283 | if(!to_comp) |
291 | /*fwrite(z80_proc.mem + 0x4000, 0xC000, 1, fp);*/ | ||
292 | rb->write(fd,z80_proc.mem + 0x4000,0xC000); | 284 | rb->write(fd,z80_proc.mem + 0x4000,0xC000); |
293 | else { | 285 | else { |
294 | memptr = 0x4000; | 286 | memptr = 0x4000; |
@@ -327,8 +319,6 @@ static void snsh_sna_save(int fd) | |||
327 | 319 | ||
328 | sna.im = z80_proc.it_mode & 0x03; | 320 | sna.im = z80_proc.it_mode & 0x03; |
329 | 321 | ||
330 | /*fwrite(&sna, sna_size, 1, fp); | ||
331 | fwrite(z80_proc.mem + 0x4000, 0xC000, 1, fp);*/ | ||
332 | rb->write(fd,&sna, sna_size); | 322 | rb->write(fd,&sna, sna_size); |
333 | rb->write(fd,z80_proc.mem + 0x4000, 0xC000); | 323 | rb->write(fd,z80_proc.mem + 0x4000, 0xC000); |
334 | 324 | ||
@@ -590,21 +580,13 @@ static void snsh_sna_load(SNFILE *fp) | |||
590 | 580 | ||
591 | sp_init_screen_mark(); | 581 | sp_init_screen_mark(); |
592 | } | 582 | } |
593 | /* | 583 | |
594 | static void cleanup_qsnap(void) | ||
595 | { | ||
596 | if(qsnap_created) rb->remove(quick_snap_file); | ||
597 | } | ||
598 | */ | ||
599 | static void save_snapshot_file_type(char *name, int type) | 584 | static void save_snapshot_file_type(char *name, int type) |
600 | { | 585 | { |
601 | /*FILE *snsh;*/ | ||
602 | int snsh; | 586 | int snsh; |
603 | snsh = rb->open(name, O_WRONLY); | 587 | snsh = rb->open(name, O_WRONLY); |
604 | if(snsh < 0) { | 588 | if(snsh < 0) { |
605 | snsh = rb->creat(name, O_WRONLY); | 589 | snsh = rb->creat(name, O_WRONLY); |
606 | /* sprintf(msgbuf, "Could not open snapshot file `%s', %s", | ||
607 | name, strerror(errno));*/ | ||
608 | if(snsh < 0) { | 590 | if(snsh < 0) { |
609 | put_msg("Could not create snapshot file"); | 591 | put_msg("Could not create snapshot file"); |
610 | return; | 592 | return; |
@@ -633,22 +615,14 @@ void save_snapshot_file(char *name) | |||
633 | } | 615 | } |
634 | 616 | ||
635 | save_snapshot_file_type(filenamebuf, type); | 617 | save_snapshot_file_type(filenamebuf, type); |
636 | 618 | char msgbuf [MAXFILENAME]; | |
637 | /* sprintf(msgbuf, "Saved snapshot to file %s", filenamebuf); | 619 | rb->snprintf(msgbuf,MAXFILENAME, "Saved snapshot to file %s", filenamebuf); |
638 | put_msg(msgbuf);*/ | 620 | put_msg(msgbuf); |
639 | } | 621 | } |
640 | 622 | ||
641 | void save_quick_snapshot(void) | 623 | void save_quick_snapshot(void) |
642 | { | 624 | { |
643 | /* if(!qsnap_created) { | 625 | save_snapshot_file_type(quick_snap_file, SN_Z80); |
644 | if(tmpnam(quick_snap_file) == NULL) { | ||
645 | put_msg("Could not create temporary file for quick snapshot"); | ||
646 | return; | ||
647 | } | ||
648 | qsnap_created = 1; | ||
649 | atexit(cleanup_qsnap); | ||
650 | } | ||
651 | save_snapshot_file_type(quick_snap_file, SN_Z80);*/ | ||
652 | } | 626 | } |
653 | 627 | ||
654 | void save_snapshot(void) | 628 | void save_snapshot(void) |
@@ -665,7 +639,6 @@ void save_snapshot(void) | |||
665 | void load_snapshot_file_type(char *name, int type) | 639 | void load_snapshot_file_type(char *name, int type) |
666 | { | 640 | { |
667 | int filetype = FT_SNAPSHOT; | 641 | int filetype = FT_SNAPSHOT; |
668 | /*FILE *snsh;*/ | ||
669 | int snsh; | 642 | int snsh; |
670 | SNFILE snfil; | 643 | SNFILE snfil; |
671 | 644 | ||
@@ -705,10 +678,14 @@ void snsh_z80_load_intern(byte *p, unsigned len) | |||
705 | 678 | ||
706 | void load_quick_snapshot(void) | 679 | void load_quick_snapshot(void) |
707 | { | 680 | { |
708 | if(!qsnap_created) { | 681 | int qsnap; |
682 | qsnap = rb->open(quick_snap_file,O_RDONLY); | ||
683 | if(qsnap < 0) { | ||
709 | put_msg("No quick snapshot saved yet"); | 684 | put_msg("No quick snapshot saved yet"); |
710 | return; | 685 | return; |
711 | } | 686 | } |
687 | else | ||
688 | rb->close ( qsnap ); | ||
712 | load_snapshot_file_type(quick_snap_file, SN_Z80); | 689 | load_snapshot_file_type(quick_snap_file, SN_Z80); |
713 | } | 690 | } |
714 | 691 | ||