Skip to content

Commit 66b8518

Browse files
committed
[coco] grind through fn_lib
1 parent ad6038e commit 66b8518

File tree

5 files changed

+86
-7
lines changed

5 files changed

+86
-7
lines changed

coco/fn_fuji/Makefile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ OBJS=fuji_reset.o \
1818
fuji_write_device_slots.o \
1919
fuji_get_wifi_enabled.o \
2020
fuji_unmount_image.o \
21-
fuji_get_adapter_config.o
21+
fuji_get_adapter_config.o \
22+
fuji_unmount_host_slot.o \
23+
fuji_get_directory_position.o \
24+
fuji_set_directory_position.o
2225

2326
libfuji.a: $(OBJS)
2427
$(AR) --create libfuji.a $(OBJS)
@@ -77,5 +80,14 @@ fuji_unmount_image.o: fuji_unmount_image.c fuji.h
7780
fuji_get_adapter_config.o: fuji_get_adapter_config.c fuji.h
7881
$(CC) -o fuji_get_adapter_config.o -c fuji_get_adapter_config.c
7982

83+
fuji_unmount_host_slot.o: fuji_unmount_host_slot.c fuji.h
84+
$(CC) -o fuji_unmount_host_slot.o -c fuji_unmount_host_slot.c
85+
86+
fuji_get_directory_position.o: fuji_get_directory_position.c fuji.h
87+
$(CC) -o fuji_get_directory_position.o -c fuji_get_directory_position.c
88+
89+
fuji_set_directory_position.o: fuji_set_directory_position.c fuji.h
90+
$(CC) -o fuji_set_directory_position.o -c fuji_set_directory_position.c
91+
8092
clean:
8193
$(RM) *.o *.a *~

coco/fn_fuji/fuji.h

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,7 @@
3333
#define FUJICMD_UNMOUNT_HOST 0xE6 /* */
3434
#define FUJICMD_GET_DIRECTORY_POSITION 0xE5 /* */
3535
#define FUJICMD_SET_DIRECTORY_POSITION 0xE4 /* */
36-
#define FUJICMD_SET_HSIO_INDEX 0xE3 /* ATARI: Set HSIO speed */
3736
#define FUJICMD_SET_DEVICE_FULLPATH 0xE2 /* */
38-
#define FUJICMD_SET_HOST_PREFIX 0xE1 /* */
39-
#define FUJICMD_GET_HOST_PREFIX 0xE0 /* */
40-
#define FUJICMD_SET_SIO_EXTERNAL_CLOCK 0xDF /* */
4137
#define FUJICMD_WRITE_APPKEY 0xDE /* */
4238
#define FUJICMD_READ_APPKEY 0xDD /* */
4339
#define FUJICMD_OPEN_APPKEY 0xDC /* */
@@ -48,8 +44,6 @@
4844
#define FUJICMD_MOUNT_ALL 0xD7 /* Mount all disk slots */
4945
#define FUJICMD_SET_BOOT_MODE 0xD6 /* */
5046
#define FUJICMD_STATUS 0x53 /* */
51-
#define FUJICMD_HSIO_INDEX 0x3F /* ATARI: Returns HSIO speed */
52-
#define FUJICMD_ENABLE_UDPSTREAM 0xF0 /* Start UDPStream */
5347
#define FUJICMD_ENABLE_DEVICE 0xD5 /* */
5448
#define FUJICMD_DISABLE_DEVICE 0xD4 /* */
5549
#define FUJICMD_RANDOM_NUMBER 0xD3 /* */
@@ -235,4 +229,22 @@ void fuji_unmount_disk_image(byte ds);
235229
*/
236230
void fuji_get_adapter_config(AdapterConfig *ac);
237231

232+
/**
233+
* @brief Unmount disk image in host slot hs
234+
* @param hs Host slot to unmount (0-7)
235+
*/
236+
void fuji_unmount_host_slot(byte hs);
237+
238+
/**
239+
* @brief Get directory position of directory opened by fuji_open_directory()
240+
* @return integer containing current directory position (0-65535)
241+
*/
242+
unsigned int fuji_get_directory_position(void);
243+
244+
/**
245+
* @brief Set directory position of directory opened by fuji_open_directory()
246+
* @param pos integer containing new directory position (0-65535)
247+
*/
248+
void fuji_set_directory_position(unsigned int pos);
249+
238250
#endif /* FUJI_H */
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include <cmoc.h>
2+
#include <coco.h>
3+
#include <dw.h>
4+
#include "fuji.h"
5+
6+
/**
7+
* @brief Get directory position of directory opened by fuji_open_directory()
8+
* @return integer containing current directory position (0-65535)
9+
*/
10+
unsigned int fuji_get_directory_position(void)
11+
{
12+
byte gdpcmd[2]={OP_FUJI,FUJICMD_GET_DIRECTORY_POSITION};
13+
unsigned int pos=0;
14+
15+
dwwrite(gdpcmd,sizeof(gdpcmd));
16+
dwread((byte *)&pos,sizeof(pos));
17+
18+
return pos;
19+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include <cmoc.h>
2+
#include <coco.h>
3+
#include <dw.h>
4+
#include "fuji.h"
5+
6+
/**
7+
* @brief Set directory position of directory opened by fuji_open_directory()
8+
* @param pos integer containing new directory position (0-65535)
9+
*/
10+
void fuji_set_directory_position(unsigned int pos)
11+
{
12+
byte gdpcmd[4]={OP_FUJI,FUJICMD_SET_DIRECTORY_POSITION,0,0};
13+
14+
gdpcmd[2]=(byte)(pos>>8);
15+
gdpcmd[3]=(byte)pos&0xFF;
16+
17+
dwwrite(gdpcmd,sizeof(gdpcmd));
18+
}
19+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include <cmoc.h>
2+
#include <coco.h>
3+
#include <dw.h>
4+
#include "fuji.h"
5+
6+
/**
7+
* @brief Unmount disk image in host slot hs
8+
* @param hs Host slot to unmount (0-7)
9+
*/
10+
void fuji_unmount_host_slot(byte hs)
11+
{
12+
byte uhscmd[3]={OP_FUJI,FUJICMD_UNMOUNT_HOST,0x00};
13+
14+
uhscmd[2]=hs;
15+
16+
dwwrite(uhscmd,sizeof(uhscmd));
17+
}

0 commit comments

Comments
 (0)