summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/Makefile21
-rw-r--r--apps/plugins/Makefile7
-rw-r--r--firmware/Makefile3
-rw-r--r--firmware/export/config-ondiofm.h63
-rw-r--r--firmware/export/config-ondiosp.h63
-rw-r--r--firmware/export/config.h6
-rwxr-xr-xtools/configure16
7 files changed, 177 insertions, 2 deletions
diff --git a/apps/Makefile b/apps/Makefile
index 68ecf22998..23c911948d 100644
--- a/apps/Makefile
+++ b/apps/Makefile
@@ -31,6 +31,9 @@ AFLAGS += -small -relax
# Check if this is a kind of Recorder
ANYREC = $(findstring RECORDER, $(TARGET))
+# Check if this is an Ondio model
+ANYONDIO = $(findstring ONDIO, $(TARGET))
+
# scramble tool
TOOL = scramble
@@ -59,6 +62,12 @@ endif
ifeq ($(TARGET), -DARCHOS_RECORDERV2)
TOOL_OPT = -v2
endif
+ifeq ($(TARGET), -DARCHOS_ONDIOSP)
+ TOOL_OPT = -osp
+endif
+ifeq ($(TARGET), -DARCHOS_ONDIOFM)
+ TOOL_OPT = -ofm
+endif
ifeq ($(ANYREC), RECORDER)
@@ -73,6 +82,12 @@ ifeq ($(TARGET), -DARCHOS_PLAYER)
CFLAGS += -Iplayer
OUTNAME = archos.mod
else
+ifeq ($(ANYONDIO), ONDIO)
+# use the recorder tree for now
+ SRC += $(wildcard recorder/*.c)
+ CFLAGS += -Irecorder
+ OUTNAME = ajbrec.ajz
+else
# some kind of Neo
SRC += $(wildcard neo/*.c)
CFLAGS += -Ineo
@@ -80,6 +95,7 @@ else
TOOL_OPT = -neo
endif
endif
+endif
OBJS := $(OBJDIR)/lang.o $(SRC:%.c=$(OBJDIR)/%.o)
@@ -223,10 +239,15 @@ else
ifeq ($(TARGET), -DARCHOS_PLAYER)
DEPDIRS += $(DEPS)/player
else
+ifeq ($(ANYONDIO), ONDIO)
+# use the recorder tree for now
+ DEPDIRS += $(DEPS)/recorder
+else
# some kind of Neo
DEPDIRS += $(DEPS)/neo
endif
endif
+endif
DIRS = $(subst $(DEPS),".",$(DEPDIRS))
diff --git a/apps/plugins/Makefile b/apps/plugins/Makefile
index 4790d1e1e5..ddd617a67a 100644
--- a/apps/plugins/Makefile
+++ b/apps/plugins/Makefile
@@ -15,6 +15,9 @@ FIRMWARE = ../../firmware
# Check if this is a kind of Recorder
ANYREC = $(findstring RECORDER, $(TARGET))
+# Check if this is an Ondio model
+ANYONDIO = $(findstring ONDIO, $(TARGET))
+
INCLUDES = -I$(FIRMWARE)/include -I$(FIRMWARE)/export -I$(FIRMWARE)/common \
-I$(FIRMWARE)/drivers -I.. -Ilib
CFLAGS = -O -W -Wall -m1 -nostdlib -ffreestanding -Wstrict-prototypes \
@@ -23,6 +26,10 @@ $(INCLUDES) $(TARGET) $(EXTRA_DEFINES) -DMEM=${MEM} -DPLUGIN
ifeq ($(ANYREC), RECORDER)
INCLUDES += -I../recorder
endif
+ifeq ($(ANYONDIO), ONDIO)
+# use the recorder tree for now
+INCLUDES += -I../recorder
+endif
LDS := plugin.lds
LINKFILE := $(OBJDIR)/pluginlink.lds
diff --git a/firmware/Makefile b/firmware/Makefile
index afcdb191d5..31353d4357 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -42,6 +42,9 @@ OUTPUT = $(OBJDIR)/librockbox.a
ifeq (RECORDER,$(findstring RECORDER, $(CFLAGS)))
OBJS += $(OBJDIR)/sysfont.o
endif
+ifeq (ONDIO,$(findstring ONDIO, $(CFLAGS)))
+ OBJS += $(OBJDIR)/sysfont.o
+endif
ifndef OBJDIR
no_configure:
diff --git a/firmware/export/config-ondiofm.h b/firmware/export/config-ondiofm.h
new file mode 100644
index 0000000000..24effa08e4
--- /dev/null
+++ b/firmware/export/config-ondiofm.h
@@ -0,0 +1,63 @@
+/* define this if you have recording possibility */
+#define HAVE_RECORDING 1
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP 1
+
+/* define this if you have a Recorder style 10-key keyboard */
+#define HAVE_RECORDER_KEYPAD 0
+
+/* define this if you have a real-time clock */
+#define HAVE_RTC 0
+
+/* Define this if you have a MAS3587F */
+#define HAVE_MAS3587F
+
+/* Define this if you have a FM Recorder key system */
+#define HAVE_FMADC 1 /* don't know yet */
+
+/* Define this if you have a LiIon battery */
+/* #define HAVE_LIION */
+
+/* Define this if you need to power on ATA */
+/* #define NEEDS_ATA_POWER_ON */
+
+/* Define this if battery voltage can only be measured with ATA powered */
+/* #define NEED_ATA_POWER_BATT_MEASURE */
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 12000000
+
+/* Battery scale factor (guessed, seems to be 1,25 * value from recorder) */
+#define BATTERY_SCALE_FACTOR 8081 /* don't know yet */
+
+/* Define this if you control power on PB5 (instead of the OFF button) */
+#define HAVE_POWEROFF_ON_PB5 /* don't know yet */
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 20
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 6
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 24
+
+/* FM recorders can wake up from RTC alarm */
+/* #define HAVE_ALARM_MOD 1 */
+
+/* Define this if you have an FM Radio */
+#define HAVE_FMRADIO 1
+
+/* How to detect USB */
+#define USB_FMRECORDERSTYLE 1 /* don't know yet */
+
+/* Define this if the platform has (chargeable) batteries */
+#define HAVE_BATTERIES 0
+
+/* The start address index for ROM builds */
+#define ROM_START 0x12010 /* don't know yet */
+
+/* Define this if the display is mounted upside down */
+#define HAVE_DISPLAY_FLIPPED
+
diff --git a/firmware/export/config-ondiosp.h b/firmware/export/config-ondiosp.h
new file mode 100644
index 0000000000..3abb4a8b05
--- /dev/null
+++ b/firmware/export/config-ondiosp.h
@@ -0,0 +1,63 @@
+/* define this if you have recording possibility */
+#define HAVE_RECORDING 1
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP 1
+
+/* define this if you have a Recorder style 10-key keyboard */
+#define HAVE_RECORDER_KEYPAD 0
+
+/* define this if you have a real-time clock */
+#define HAVE_RTC 0
+
+/* Define this if you have a MAS3587F */
+#define HAVE_MAS3587F
+
+/* Define this if you have a FM Recorder key system */
+#define HAVE_FMADC 1 /* don't know yet */
+
+/* Define this if you have a LiIon battery */
+/* #define HAVE_LIION */
+
+/* Define this if you need to power on ATA */
+/* #define NEEDS_ATA_POWER_ON */
+
+/* Define this if battery voltage can only be measured with ATA powered */
+/* #define NEED_ATA_POWER_BATT_MEASURE */
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 12000000
+
+/* Battery scale factor (guessed, seems to be 1,25 * value from recorder) */
+#define BATTERY_SCALE_FACTOR 8081 /* don't know yet */
+
+/* Define this if you control power on PB5 (instead of the OFF button) */
+#define HAVE_POWEROFF_ON_PB5 /* don't know yet */
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 20
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 6
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 24
+
+/* FM recorders can wake up from RTC alarm */
+/* #define HAVE_ALARM_MOD 1 */
+
+/* Define this if you have an FM Radio */
+#define HAVE_FMRADIO 0
+
+/* How to detect USB */
+#define USB_FMRECORDERSTYLE 1 /* don't know yet */
+
+/* Define this if the platform has (chargeable) batteries */
+#define HAVE_BATTERIES 0
+
+/* The start address index for ROM builds */
+#define ROM_START 0x12010 /* don't know yet */
+
+/* Define this if the display is mounted upside down */
+#define HAVE_DISPLAY_FLIPPED
+
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 091d392328..782668f161 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -30,8 +30,10 @@
#include "config-recorderv2.h"
#elif defined(NEO_35)
#include "config-neo35.h"
-#elif defined(NEO_MSTATION)
-#include "config-mstation.h"
+#elif defined(ARCHOS_ONDIOSP)
+#include "config-ondiosp.h"
+#elif defined(ARCHOS_ONDIOFM)
+#include "config-ondiofm.h"
#else
/* no known platform */
#endif
diff --git a/tools/configure b/tools/configure
index 0a8b96dc75..ef03ed93f3 100755
--- a/tools/configure
+++ b/tools/configure
@@ -213,6 +213,8 @@ if [ -z "$archos" ]; then
echo "4 - Archos Recorder v2"
echo "5 - Neo mStation"
echo "6 - Neo 35"
+ echo "7 - Archos Ondio SP"
+ echo "8 - Archos Ondio FM"
getit=`input`;
@@ -253,6 +255,20 @@ if [ -z "$archos" ]; then
keypad="-DHAVE_NEO_KEYPAD"
;;
+ 7)
+ archos="ondiosp"
+ target="-DARCHOS_ONDIOSP"
+ display="-DHAVE_LCD_BITMAP"
+ keypad="-DHAVE_ONDIO_KEYPAD"
+ ;;
+
+ 8)
+ archos="ondiofm"
+ target="-DARCHOS_ONDIOFM"
+ display="-DHAVE_LCD_BITMAP"
+ keypad="-DHAVE_ONDIO_KEYPAD"
+ ;;
+
*)
archos="recorder"
target="-DARCHOS_RECORDER"