1 /*
2  * vsidstubs.c - dummies for unneeded/unused functions
3  *
4  * Written by
5  *  groepaz <groepaz@gmx.net>
6  *  Marco van den Heuvel <blackystardust68@yahoo.com>
7  *
8  * This file is part of VICE, the Versatile Commodore Emulator.
9  * See README for copyright notice.
10  *
11  *  This program is free software; you can redistribute it and/or modify
12  *  it under the terms of the GNU General Public License as published by
13  *  the Free Software Foundation; either version 2 of the License, or
14  *  (at your option) any later version.
15  *
16  *  This program is distributed in the hope that it will be useful,
17  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  *  GNU General Public License for more details.
20  *
21  *  You should have received a copy of the GNU General Public License
22  *  along with this program; if not, write to the Free Software
23  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
24  *  02111-1307  USA.
25  *
26  */
27 
28 #include "vice.h"
29 
30 #include "c64.h"
31 #include "c64-midi.h"
32 #include "c64cart.h"
33 #include "c64cartmem.h"
34 #include "c64fastiec.h"
35 #include "c64iec.h"
36 #include "c64mem.h"
37 #include "c64-cmdline-options.h"
38 #include "c64_256k.h"
39 #include "cartridge.h"
40 #include "cbmdos.h"
41 #include "cia.h"
42 #include "imagecontents/diskcontents.h"
43 #include "diskimage.h"
44 #include "drive.h"
45 #include "driveimage.h"
46 #include "drivetypes.h"
47 #include "fileio.h"
48 #include "fsdevice.h"
49 #include "gfxoutput.h"
50 #include "iecbus.h"
51 #include "iecdrive.h"
52 #include "imagecontents.h"
53 #include "midi.h"
54 #include "machine-bus.h"
55 #include "machine-drive.h"
56 #include "machine-printer.h"
57 #include "printer.h"
58 #include "snapshot.h"
59 #include "tap.h"
60 #include "tape.h"
61 #include "tapeport.h"
62 #include "imagecontents/tapecontents.h"
63 #include "tape-snapshot.h"
64 #include "vdrive/vdrive.h"
65 #include "vdrive/vdrive-bam.h"
66 #include "vdrive/vdrive-command.h"
67 #include "vdrive/vdrive-iec.h"
68 #include "vdrive/vdrive-internal.h"
69 #include "vicii-phi1.h"
70 #include "ds1202_1302.h"
71 
72 /*******************************************************************************
73     Memory related
74 *******************************************************************************/
75 
76 int c64_256k_enabled = 0; /* always 0, needed from c64gluelogic.c */
77 
78 /* needed from c64gluelogic.c */
c64_256k_cia_set_vbank(int ciabank)79 void c64_256k_cia_set_vbank(int ciabank)
80 {
81 }
82 
83 /*******************************************************************************
84     Drive related
85 *******************************************************************************/
86 
machine_drive_image_attach(struct disk_image_s * image,unsigned int unit)87 int machine_drive_image_attach(struct disk_image_s *image, unsigned int unit)
88 {
89     return -1;
90 }
91 
machine_drive_image_detach(struct disk_image_s * image,unsigned int unit)92 int machine_drive_image_detach(struct disk_image_s *image, unsigned int unit)
93 {
94     return -1;
95 }
96 
machine_drive_stub(void)97 void machine_drive_stub(void)
98 {
99 }
100 
101 
102 static drive_type_info_t drive_dummy_list[] = {
103     { NULL, -1 }
104 };
105 
106 
107 /** \brief  Dummy function
108  *
109  * Added here to make gtk3/widgets/drivetypewidget.c compile, due to using
110  * static libraries. This function will not be used in the VSID Gtk3 UI
111  */
machine_drive_get_type_info_list(void)112 drive_type_info_t *machine_drive_get_type_info_list(void)
113 {
114     return drive_dummy_list;
115 }
116 
drive_check_expansion2000(int type)117 int drive_check_expansion2000(int type)
118 {
119     return 0;
120 }
121 
drive_check_expansion4000(int type)122 int drive_check_expansion4000(int type)
123 {
124     return 0;
125 }
126 
drive_check_expansion6000(int type)127 int drive_check_expansion6000(int type)
128 {
129     return 0;
130 }
131 
drive_check_expansion8000(int type)132 int drive_check_expansion8000(int type)
133 {
134     return 0;
135 }
136 
drive_check_expansionA000(int type)137 int drive_check_expansionA000(int type)
138 {
139     return 0;
140 }
141 
drive_check_profdos(int type)142 int drive_check_profdos(int type)
143 {
144     return 0;
145 }
146 
drive_check_stardos(int type)147 int drive_check_stardos(int type)
148 {
149     return 0;
150 }
151 
drive_check_supercard(int type)152 int drive_check_supercard(int type)
153 {
154     return 0;
155 }
156 
drive_check_rtc(int type)157 int drive_check_rtc(int type)
158 {
159     return 0;
160 }
161 
drive_check_iec(int type)162 int drive_check_iec(int type)
163 {
164     return 0;
165 }
166 
167 
168 /*******************************************************************************
169     Cartridge system
170 *******************************************************************************/
171 
172 /* Expansion port signals.  */
173 export_t export = { 0, 0, 0, 0 }; /* c64 export */
174 
175 /* the following two are used by the old non cycle exact vic-ii emulation */
176 static uint8_t mem_phi[0x1000];
177 
cartridge_attach_image(int type,const char * filename)178 int cartridge_attach_image(int type, const char *filename)
179 {
180     return -1;
181 }
182 
ultimax_romh_phi1_ptr(uint16_t addr)183 uint8_t *ultimax_romh_phi1_ptr(uint16_t addr)
184 {
185     return mem_phi;
186 }
187 
ultimax_romh_phi2_ptr(uint16_t addr)188 uint8_t *ultimax_romh_phi2_ptr(uint16_t addr)
189 {
190     return mem_phi;
191 }
192 
193 midi_interface_t midi_interface[] = {
194     MIDI_INFERFACE_LIST_END
195 };
196 
197 /*******************************************************************************
198     gfxoutput drivers
199 *******************************************************************************/
200 
gfxoutput_early_init(int help)201 int gfxoutput_early_init(int help)
202 {
203     return 0;
204 }
205 
gfxoutput_shutdown(void)206 void gfxoutput_shutdown(void)
207 {
208 }
209 
gfxoutput_num_drivers(void)210 int gfxoutput_num_drivers(void)
211 {
212     return 0;
213 }
214 
215 /* FIXME: this stub can be removed once all GUI's have been adapted to
216           not use this call for vsid */
gfxoutput_get_driver(const char * drvname)217 gfxoutputdrv_t *gfxoutput_get_driver(const char *drvname)
218 {
219     return NULL;
220 }
221 
222 /* FIXME: this stub can be removed once all GUI's have been adapted to
223           not use this call for vsid */
gfxoutput_drivers_iter_next(void)224 gfxoutputdrv_t *gfxoutput_drivers_iter_next(void)
225 {
226     return NULL;
227 }
228 
229 /* FIXME: this stub can be removed once all GUI's have been adapted to
230           not use this call for vsid */
gfxoutput_drivers_iter_init(void)231 gfxoutputdrv_t *gfxoutput_drivers_iter_init(void)
232 {
233     return NULL;
234 }
235 
236 /* FIXME: this table can be removed once all GUI's have been adapted to
237           not use this table for vsid */
238 gfxoutputdrv_format_t ffmpegdrv_formatlist[] =
239 {
240     { NULL, NULL, NULL }
241 };
242 
243 /*******************************************************************************
244     printers
245 *******************************************************************************/
246 
printer_shutdown(void)247 void printer_shutdown(void)
248 {
249 }
250 
printer_serial_late_init(void)251 int printer_serial_late_init(void)
252 {
253     return 0;
254 }
255 
256 /* FIXME: this stub can be removed once all GUI's have been adapted to
257           not use this call for vsid */
printer_formfeed(unsigned int prnr)258 void printer_formfeed(unsigned int prnr)
259 {
260 }
261 
262 
263 /*******************************************************************************
264     rtc
265 *******************************************************************************/
266 
267 /* FIXME: this stub can be removed once the drive code has been stubbed */
ds1216e_init(char * device)268 rtc_ds1216e_t *ds1216e_init(char *device)
269 {
270     return NULL;
271 }
272 
273 /* FIXME: this stub can be removed once the drive code has been stubbed */
ds1216e_destroy(rtc_ds1216e_t * context,int save)274 void ds1216e_destroy(rtc_ds1216e_t *context, int save)
275 {
276 }
277 
ds1216e_read(rtc_ds1216e_t * context,uint16_t address,uint8_t origbyte)278 uint8_t ds1216e_read(rtc_ds1216e_t *context, uint16_t address, uint8_t origbyte)
279 {
280     return 0;
281 }
282 
ds1202_1302_init(char * device,int rtc_type)283 rtc_ds1202_1302_t *ds1202_1302_init(char *device, int rtc_type)
284 {
285     return NULL;
286 }
287 
ds1202_1302_set_lines(rtc_ds1202_1302_t * context,unsigned int ce_line,unsigned int sclk_line,unsigned int input_bit)288 void ds1202_1302_set_lines(rtc_ds1202_1302_t *context, unsigned int ce_line, unsigned int sclk_line, unsigned int input_bit)
289 {
290 }
291 
ds1202_1302_read_data_line(rtc_ds1202_1302_t * context)292 uint8_t ds1202_1302_read_data_line(rtc_ds1202_1302_t *context)
293 {
294     return 1;
295 }
296 
ds1202_1302_destroy(rtc_ds1202_1302_t * context,int save)297 void ds1202_1302_destroy(rtc_ds1202_1302_t *context, int save)
298 {
299 }
300 
ds1202_1302_write_snapshot(rtc_ds1202_1302_t * context,snapshot_t * s)301 int ds1202_1302_write_snapshot(rtc_ds1202_1302_t *context, snapshot_t *s)
302 {
303     return -1;
304 }
305 
ds1202_1302_read_snapshot(rtc_ds1202_1302_t * context,snapshot_t * s)306 int ds1202_1302_read_snapshot(rtc_ds1202_1302_t *context, snapshot_t *s)
307 {
308     return -1;
309 }
310 
311 /*******************************************************************************
312     tape
313 *******************************************************************************/
314 
315 tape_image_t *tape_image_dev1 = NULL;
316 
tape_image_attach(unsigned int unit,const char * name)317 int tape_image_attach(unsigned int unit, const char *name)
318 {
319     return 0;
320 }
321 
tape_shutdown(void)322 void tape_shutdown(void)
323 {
324 }
325 
tape_tap_attached(void)326 int tape_tap_attached(void)
327 {
328     return 0;
329 }
330 
tape_seek_start(tape_image_t * tape_image)331 int tape_seek_start(tape_image_t *tape_image)
332 {
333     return 0;
334 }
335 
tape_seek_to_file(tape_image_t * tape_image,unsigned int file_number)336 int tape_seek_to_file(tape_image_t *tape_image, unsigned int file_number)
337 {
338     return 0;
339 }
340 
tape_image_event_playback(unsigned int unit,const char * filename)341 void tape_image_event_playback(unsigned int unit, const char *filename)
342 {
343 }
344 
tape_image_detach(unsigned int unit)345 int tape_image_detach(unsigned int unit)
346 {
347     return 0;
348 }
349 
tap_seek_start(tap_t * tap)350 int tap_seek_start(tap_t *tap)
351 {
352     return 0;
353 }
354 
tape_image_create(const char * name,unsigned int type)355 int tape_image_create(const char *name, unsigned int type)
356 {
357     return 0;
358 }
359 
tape_snapshot_write_module(snapshot_t * s,int save_image)360 int tape_snapshot_write_module(snapshot_t *s, int save_image)
361 {
362     return 0;
363 }
364 
tape_snapshot_read_module(snapshot_t * s)365 int tape_snapshot_read_module(snapshot_t *s)
366 {
367     return 0;
368 }
369 
tape_read(tape_image_t * tape_image,uint8_t * buf,size_t size)370 int tape_read(tape_image_t *tape_image, uint8_t *buf, size_t size)
371 {
372     return 0;
373 }
374 
tape_get_current_file_record(tape_image_t * tape_image)375 tape_file_record_t *tape_get_current_file_record(tape_image_t *tape_image)
376 {
377     return NULL;
378 }
379 
tape_image_open(tape_image_t * tape_image)380 int tape_image_open(tape_image_t *tape_image)
381 {
382     return -1;
383 }
384 
tape_image_close(tape_image_t * tape_image)385 int tape_image_close(tape_image_t *tape_image)
386 {
387     return 0;
388 }
389 
tape_internal_close_tape_image(tape_image_t * tape_image)390 int tape_internal_close_tape_image(tape_image_t *tape_image)
391 {
392     return 0;
393 }
394 
tape_internal_open_tape_image(const char * name,unsigned int read_only)395 tape_image_t *tape_internal_open_tape_image(const char *name, unsigned int read_only)
396 {
397     return NULL;
398 }
399 
tape_seek_to_next_file(tape_image_t * tape_image,unsigned int allow_rewind)400 int tape_seek_to_next_file(tape_image_t *tape_image, unsigned int allow_rewind)
401 {
402     return 0;
403 }
404 
tape_get_header(tape_image_t * tape_image,uint8_t * name)405 void tape_get_header(tape_image_t *tape_image, uint8_t *name)
406 {
407 }
408 
tape_get_file_name(void)409 const char *tape_get_file_name(void)
410 {
411     return NULL;
412 }
413 
414 /*******************************************************************************
415     imagecontents
416 *******************************************************************************/
417 
image_contents_to_screencode(image_contents_t * contents)418 image_contents_screencode_t *image_contents_to_screencode(image_contents_t *contents)
419 {
420     return NULL;
421 }
422 
image_contents_filename_by_number(image_contents_t * contents,unsigned int file_index)423 char *image_contents_filename_by_number(image_contents_t *contents, unsigned int file_index)
424 {
425     return NULL;
426 }
427 
diskcontents_filesystem_read(const char * file_name)428 image_contents_t *diskcontents_filesystem_read(const char *file_name)
429 {
430     return NULL;
431 }
432 
image_contents_destroy(image_contents_t * contents)433 void image_contents_destroy(image_contents_t *contents)
434 {
435 }
436 
image_contents_file_to_string(image_contents_file_list_t * p,char convert_to_ascii)437 char *image_contents_file_to_string(image_contents_file_list_t * p, char convert_to_ascii)
438 {
439     return NULL;
440 }
441 
image_contents_to_string(image_contents_t * contents,char convert_to_ascii)442 char *image_contents_to_string(image_contents_t * contents, char convert_to_ascii)
443 {
444     return NULL;
445 }
446 
tapecontents_read(const char * file_name)447 image_contents_t *tapecontents_read(const char *file_name)
448 {
449     return NULL;
450 }
451 
diskcontents_read(const char * file_name,unsigned int unit)452 image_contents_t *diskcontents_read(const char *file_name, unsigned int unit)
453 {
454     return NULL;
455 }
456 
diskcontents_read_unit8(const char * file_name)457 image_contents_t *diskcontents_read_unit8(const char *file_name)
458 {
459     return NULL;
460 }
461 
diskcontents_read_unit9(const char * file_name)462 image_contents_t *diskcontents_read_unit9(const char *file_name)
463 {
464     return NULL;
465 }
466 
diskcontents_read_unit10(const char * file_name)467 image_contents_t *diskcontents_read_unit10(const char *file_name)
468 {
469     return NULL;
470 }
471 
diskcontents_read_unit11(const char * file_name)472 image_contents_t *diskcontents_read_unit11(const char *file_name)
473 {
474     return NULL;
475 }
476 
477 /*******************************************************************************
478     fileio
479 *******************************************************************************/
480 
fileio_close(fileio_info_t * info)481 void fileio_close(fileio_info_t *info)
482 {
483 }
484 
fileio_open(const char * file_name,const char * path,unsigned int format,unsigned int command,unsigned int type)485 fileio_info_t *fileio_open(const char *file_name, const char *path, unsigned int format, unsigned int command, unsigned int type)
486 {
487     return NULL;
488 }
489 
fileio_read(fileio_info_t * info,uint8_t * buf,unsigned int len)490 unsigned int fileio_read(fileio_info_t *info, uint8_t *buf, unsigned int len)
491 {
492     return 0;
493 }
494 
fileio_get_bytes_left(fileio_info_t * info)495 unsigned int fileio_get_bytes_left(fileio_info_t *info)
496 {
497     return 0;
498 }
499 
fileio_ferror(fileio_info_t * info)500 unsigned int fileio_ferror(fileio_info_t *info)
501 {
502     return 0;
503 }
504 
fileio_write(fileio_info_t * info,uint8_t * buf,unsigned int len)505 unsigned int fileio_write(fileio_info_t *info, uint8_t *buf, unsigned int len)
506 {
507     return 0;
508 }
509 
fileio_rename(const char * src_name,const char * dest_name,const char * path,unsigned int format)510 unsigned int fileio_rename(const char *src_name, const char *dest_name, const char *path, unsigned int format)
511 {
512     return 0;
513 }
514 
fileio_scratch(const char * file_name,const char * path,unsigned int format)515 unsigned int fileio_scratch(const char *file_name, const char *path, unsigned int format)
516 {
517     return 0;
518 }
519 
520 
521 /*******************************************************************************
522     fileio
523 *******************************************************************************/
524 
fsdevice_init(void)525 void fsdevice_init(void)
526 {
527 }
528 
fsdevice_shutdown(void)529 void fsdevice_shutdown(void)
530 {
531 }
532 
fsdevice_attach(unsigned int device,const char * name)533 int fsdevice_attach(unsigned int device, const char *name)
534 {
535     return 0;
536 }
537 
fsdevice_set_directory(char * filename,unsigned int unit)538 void fsdevice_set_directory(char *filename, unsigned int unit)
539 {
540 }
541 
542 
543 /*******************************************************************************
544     diskimage
545 *******************************************************************************/
546 
disk_image_init(void)547 void disk_image_init(void)
548 {
549 }
550 
disk_image_fsimage_name_get(const disk_image_t * image)551 const char *disk_image_fsimage_name_get(const disk_image_t *image)
552 {
553     return NULL;
554 }
555 
disk_image_media_destroy(disk_image_t * image)556 void disk_image_media_destroy(disk_image_t *image)
557 {
558 }
559 
disk_image_close(disk_image_t * image)560 int disk_image_close(disk_image_t *image)
561 {
562     return 0;
563 }
564 
disk_image_destroy(disk_image_t * image)565 void disk_image_destroy(disk_image_t *image)
566 {
567 }
568 
disk_image_create(void)569 disk_image_t *disk_image_create(void)
570 {
571     return NULL;
572 }
573 
disk_image_open(disk_image_t * image)574 int disk_image_open(disk_image_t *image)
575 {
576     return 0;
577 }
578 
disk_image_rawimage_driver_name_set(disk_image_t * image)579 void disk_image_rawimage_driver_name_set(disk_image_t *image)
580 {
581 }
582 
disk_image_fsimage_name_set(disk_image_t * image,const char * name)583 void disk_image_fsimage_name_set(disk_image_t *image, const char *name)
584 {
585 }
586 
disk_image_media_create(disk_image_t * image)587 void disk_image_media_create(disk_image_t *image)
588 {
589 }
590 
disk_image_fsimage_create(const char * name,unsigned int type)591 int disk_image_fsimage_create(const char *name, unsigned int type)
592 {
593     return 0;
594 }
595 
disk_image_write_sector(disk_image_t * image,const uint8_t * buf,const disk_addr_t * dadr)596 int disk_image_write_sector(disk_image_t *image, const uint8_t *buf, const disk_addr_t *dadr)
597 {
598     return 0;
599 }
600 
disk_image_read_sector(const disk_image_t * image,uint8_t * buf,const disk_addr_t * dadr)601 int disk_image_read_sector(const disk_image_t *image, uint8_t *buf, const disk_addr_t *dadr)
602 {
603     return 0;
604 }
605 
disk_image_name_get(const disk_image_t * image)606 const char *disk_image_name_get(const disk_image_t *image)
607 {
608     return NULL;
609 }
610 
disk_image_sector_per_track(unsigned int format,unsigned int track)611 unsigned int disk_image_sector_per_track(unsigned int format, unsigned int track)
612 {
613     return 0;
614 }
615 
disk_image_write_p64_image(const disk_image_t * image)616 int disk_image_write_p64_image(const disk_image_t *image)
617 {
618     return 0;
619 }
620 
disk_image_attach_log(const disk_image_t * image,signed int lognum,unsigned int unit)621 void disk_image_attach_log(const disk_image_t *image, signed int lognum, unsigned int unit)
622 {
623 }
624 
disk_image_detach_log(const disk_image_t * image,signed int lognum,unsigned int unit)625 void disk_image_detach_log(const disk_image_t *image, signed int lognum, unsigned int unit)
626 {
627 }
628 
disk_image_check_sector(const disk_image_t * image,unsigned int track,unsigned int sector)629 int disk_image_check_sector(const disk_image_t *image, unsigned int track, unsigned int sector)
630 {
631     return 0;
632 }
633 
disk_image_name_set(disk_image_t * image,const char * name)634 void disk_image_name_set(disk_image_t *image, const char *name)
635 {
636 }
637 
disk_image_fsimage_fd_get(const disk_image_t * image)638 void *disk_image_fsimage_fd_get(const disk_image_t *image)
639 {
640     return NULL;
641 }
642 
P64ImageDestroy(PP64Image Instance)643 void P64ImageDestroy(PP64Image Instance)
644 {
645 }
646 
647 /*******************************************************************************
648     c64bus
649 *******************************************************************************/
650 
machine_bus_lib_directory(unsigned int unit,const char * pattern,uint8_t ** buf)651 int machine_bus_lib_directory(unsigned int unit, const char *pattern, uint8_t **buf)
652 {
653     return 0;
654 }
655 
machine_bus_lib_read_sector(unsigned int unit,unsigned int track,unsigned int sector,uint8_t * buf)656 int machine_bus_lib_read_sector(unsigned int unit, unsigned int track, unsigned int sector, uint8_t *buf)
657 {
658     return 0;
659 }
660 
machine_bus_lib_write_sector(unsigned int unit,unsigned int track,unsigned int sector,uint8_t * buf)661 int machine_bus_lib_write_sector(unsigned int unit, unsigned int track, unsigned int sector, uint8_t *buf)
662 {
663     return 0;
664 }
665 
machine_bus_device_type_get(unsigned int unit)666 unsigned int machine_bus_device_type_get(unsigned int unit)
667 {
668     return 0;
669 }
670 
machine_bus_status_truedrive_set(unsigned int enable)671 void machine_bus_status_truedrive_set(unsigned int enable)
672 {
673 }
674 
machine_bus_status_drivetype_set(unsigned int unit,unsigned int enable)675 void machine_bus_status_drivetype_set(unsigned int unit, unsigned int enable)
676 {
677 }
678 
machine_bus_status_virtualdevices_set(unsigned int enable)679 void machine_bus_status_virtualdevices_set(unsigned int enable)
680 {
681 }
682 
machine_bus_eof_callback_set(void (* func)(void))683 void machine_bus_eof_callback_set(void (*func)(void))
684 {
685 }
686 
machine_bus_attention_callback_set(void (* func)(void))687 void machine_bus_attention_callback_set(void (*func)(void))
688 {
689 }
690 
machine_bus_init_machine(void)691 void machine_bus_init_machine(void)
692 {
693 }
694 
695 /*******************************************************************************
696     iecbus
697 *******************************************************************************/
698 
699 iecbus_t iecbus;
700 void (*iecbus_update_ports)(void) = NULL;
701 
iecbus_status_set(unsigned int type,unsigned int unit,unsigned int enable)702 void iecbus_status_set(unsigned int type, unsigned int unit, unsigned int enable)
703 {
704 }
705 
iecbus_device_write(unsigned int unit,uint8_t data)706 int iecbus_device_write(unsigned int unit, uint8_t data)
707 {
708     return 0;
709 }
710 
iecbus_device_read(void)711 uint8_t iecbus_device_read(void)
712 {
713     return 0;
714 }
715 
716 /*******************************************************************************
717     drive
718 *******************************************************************************/
719 
720 drive_context_t *drive_context[DRIVE_NUM];
721 
drive_setup_context(void)722 void drive_setup_context(void)
723 {
724 }
725 
drive_cpu_early_init_all(void)726 void drive_cpu_early_init_all(void)
727 {
728 }
729 
drive_cpu_trigger_reset(unsigned int dnr)730 void drive_cpu_trigger_reset(unsigned int dnr)
731 {
732 }
733 
drive_shutdown(void)734 void drive_shutdown(void)
735 {
736 }
737 
drive_image_detach(disk_image_t * image,unsigned int unit)738 int drive_image_detach(disk_image_t *image, unsigned int unit)
739 {
740     return 0;
741 }
742 
drive_image_attach(disk_image_t * image,unsigned int unit)743 int drive_image_attach(disk_image_t *image, unsigned int unit)
744 {
745     return 0;
746 }
747 
drive_set_last_read(unsigned int track,unsigned int sector,uint8_t * buffer,struct drive_context_s * drv)748 void drive_set_last_read(unsigned int track, unsigned int sector, uint8_t *buffer, struct drive_context_s *drv)
749 {
750 }
751 
drive_set_disk_memory(uint8_t * id,unsigned int track,unsigned int sector,struct drive_context_s * drv)752 void drive_set_disk_memory(uint8_t *id, unsigned int track, unsigned int sector, struct drive_context_s *drv)
753 {
754 }
755 
drive_cpu_execute_one(drive_context_t * drv,CLOCK clk_value)756 void drive_cpu_execute_one(drive_context_t *drv, CLOCK clk_value)
757 {
758 }
759 
drive_cpu_execute_all(CLOCK clk_value)760 void drive_cpu_execute_all(CLOCK clk_value)
761 {
762 }
763 
drive_num_leds(unsigned int dnr)764 int drive_num_leds(unsigned int dnr)
765 {
766     return 1;
767 }
768 
drive_check_type(unsigned int drive_type,unsigned int dnr)769 int drive_check_type(unsigned int drive_type, unsigned int dnr)
770 {
771     return 0;
772 }
773 
drive_check_extend_policy(int drive_type)774 int drive_check_extend_policy(int drive_type)
775 {
776     return 0;
777 }
778 
drive_check_idle_method(int drive_type)779 int drive_check_idle_method(int drive_type)
780 {
781     return 0;
782 }
783 
drive_check_parallel_cable(int drive_type)784 int drive_check_parallel_cable(int drive_type)
785 {
786     return 0;
787 }
788 
drive_get_disk_drive_type(int dnr)789 int drive_get_disk_drive_type(int dnr)
790 {
791     return 0;
792 }
793 
794 /*******************************************************************************
795     vdrive
796 *******************************************************************************/
797 
vdrive_init(void)798 void vdrive_init(void)
799 {
800 }
801 
vdrive_device_setup(vdrive_t * vdrive,unsigned int unit)802 int vdrive_device_setup(vdrive_t *vdrive, unsigned int unit)
803 {
804     return 0;
805 }
806 
vdrive_device_shutdown(vdrive_t * vdrive)807 void vdrive_device_shutdown(vdrive_t *vdrive)
808 {
809 }
810 
vdrive_iec_attach(unsigned int unit,const char * name)811 int vdrive_iec_attach(unsigned int unit, const char *name)
812 {
813     return 0;
814 }
815 
vdrive_bam_get_disk_id(unsigned int unit,uint8_t * id)816 int vdrive_bam_get_disk_id(unsigned int unit, uint8_t *id)
817 {
818     return 0;
819 }
820 
vdrive_bam_set_disk_id(unsigned int unit,uint8_t * id)821 int vdrive_bam_set_disk_id(unsigned int unit, uint8_t *id)
822 {
823     return 0;
824 }
825 
vdrive_detach_image(disk_image_t * image,unsigned int unit,vdrive_t * vdrive)826 void vdrive_detach_image(disk_image_t *image, unsigned int unit, vdrive_t *vdrive)
827 {
828 }
829 
vdrive_attach_image(disk_image_t * image,unsigned int unit,vdrive_t * vdrive)830 int vdrive_attach_image(disk_image_t *image, unsigned int unit, vdrive_t *vdrive)
831 {
832     return 0;
833 }
834 
vdrive_get_last_read(unsigned int * track,unsigned int * sector,uint8_t ** buffer)835 void vdrive_get_last_read(unsigned int *track, unsigned int *sector, uint8_t **buffer)
836 {
837 }
838 
vdrive_internal_create_format_disk_image(const char * filename,const char * diskname,unsigned int type)839 int vdrive_internal_create_format_disk_image(const char *filename, const char *diskname, unsigned int type)
840 {
841     return 0;
842 }
843 
vdrive_iec_close(vdrive_t * vdrive,unsigned int secondary)844 int vdrive_iec_close(vdrive_t *vdrive, unsigned int secondary)
845 {
846     return 0;
847 }
848 
vdrive_iec_write(vdrive_t * vdrive,uint8_t data,unsigned int secondary)849 int vdrive_iec_write(vdrive_t *vdrive, uint8_t data, unsigned int secondary)
850 {
851     return 0;
852 }
853 
vdrive_iec_open(vdrive_t * vdrive,const uint8_t * name,unsigned int length,unsigned int secondary,cbmdos_cmd_parse_t * cmd_parse_ext)854 int vdrive_iec_open(vdrive_t *vdrive, const uint8_t *name, unsigned int length, unsigned int secondary, cbmdos_cmd_parse_t *cmd_parse_ext)
855 {
856     return 0;
857 }
858 
vdrive_iec_read(vdrive_t * vdrive,uint8_t * data,unsigned int secondary)859 int vdrive_iec_read(vdrive_t *vdrive, uint8_t *data, unsigned int secondary)
860 {
861     return 0;
862 }
863 
vdrive_command_execute(vdrive_t * vdrive,const uint8_t * buf,unsigned int length)864 int vdrive_command_execute(vdrive_t *vdrive, const uint8_t *buf, unsigned int length)
865 {
866     return 0;
867 }
868 
vdrive_write_sector(vdrive_t * vdrive,const uint8_t * buf,unsigned int track,unsigned int sector)869 int vdrive_write_sector(vdrive_t *vdrive, const uint8_t *buf, unsigned int track, unsigned int sector)
870 {
871     return 0;
872 }
873 
vdrive_read_sector(vdrive_t * vdrive,uint8_t * buf,unsigned int track,unsigned int sector)874 int vdrive_read_sector(vdrive_t *vdrive, uint8_t *buf, unsigned int track, unsigned int sector)
875 {
876     return 0;
877 }
878 
879 /*******************************************************************************
880     c64 stuff
881 *******************************************************************************/
882 
tapeport_device_register(tapeport_device_t * device)883 tapeport_device_list_t *tapeport_device_register(tapeport_device_t *device)
884 {
885     return NULL;
886 }
887 
tapeport_device_unregister(tapeport_device_list_t * device)888 void tapeport_device_unregister(tapeport_device_list_t *device)
889 {
890 }
891 
tapeport_trigger_flux_change(unsigned int on,int id)892 void tapeport_trigger_flux_change(unsigned int on, int id)
893 {
894 }
895 
tapeport_set_tape_sense(int sense,int id)896 void tapeport_set_tape_sense(int sense, int id)
897 {
898 }
899 
tapeport_snapshot_register(tapeport_snapshot_t * snapshot)900 void tapeport_snapshot_register(tapeport_snapshot_t *snapshot)
901 {
902 }
903 
iec_available_busses(void)904 int iec_available_busses(void)
905 {
906     return 0;
907 }
908 
909 #ifdef ANDROID_COMPILE
910 static int loader_true_drive = 0;
911 
loader_set_drive_true_emulation(int val)912 void loader_set_drive_true_emulation(int val)
913 {
914     loader_true_drive = val;
915 }
916 
loader_get_drive_true_emulation()917 int loader_get_drive_true_emulation()
918 {
919     return loader_true_drive;
920 }
921 #endif
922