summaryrefslogtreecommitdiff
path: root/arm7
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2007-01-12 00:40:03 +0000
committerIan C <ianc@noddybox.co.uk>2007-01-12 00:40:03 +0000
commitef641589bf763ea12e73abf4bf42e45ac1acd2ff (patch)
tree0afa591a9c5294a07508f6c5c56a0857adfd2285 /arm7
parent50d960d99f0783799f81236d9225a6940606fe38 (diff)
Gone back to a simpler ARM9 only build as the new dynamic libfat library means I can use that, and dswifi wouldn't work with my AP.
Diffstat (limited to 'arm7')
-rw-r--r--arm7/.cvsignore2
-rw-r--r--arm7/Makefile132
-rw-r--r--arm7/source/main.c179
3 files changed, 0 insertions, 313 deletions
diff --git a/arm7/.cvsignore b/arm7/.cvsignore
deleted file mode 100644
index 970db45..0000000
--- a/arm7/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-build
-ds81.arm7.elf \ No newline at end of file
diff --git a/arm7/Makefile b/arm7/Makefile
deleted file mode 100644
index f3f6c8f..0000000
--- a/arm7/Makefile
+++ /dev/null
@@ -1,132 +0,0 @@
-#---------------------------------------------------------------------------------
-.SUFFIXES:
-#---------------------------------------------------------------------------------
-ifeq ($(strip $(DEVKITARM)),)
-$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM")
-endif
-
-include $(DEVKITARM)/ds_rules
-
-#---------------------------------------------------------------------------------
-# BUILD is the directory where object files & intermediate files will be placed
-# SOURCES is a list of directories containing source code
-# INCLUDES is a list of directories containing extra header files
-# DATA is a list of directories containing binary files
-# all directories are relative to this makefile
-#---------------------------------------------------------------------------------
-BUILD := build
-SOURCES := source
-INCLUDES := include build ../common
-DATA :=
-
-#---------------------------------------------------------------------------------
-# options for code generation
-#---------------------------------------------------------------------------------
-ARCH := -mthumb-interwork
-
-CFLAGS := -g -Wall -O2\
- -mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer\
- -ffast-math \
- $(ARCH)
-
-CFLAGS += $(INCLUDE) -DARM7
-CXXFLAGS := $(CFLAGS)
-
-
-ASFLAGS := -g $(ARCH)
-LDFLAGS = -specs=ds_arm7.specs -g $(ARCH) -mno-fpu -Wl,-Map,$(notdir $*).map
-
-LIBS := -lnds7 -ldswifi7
-
-#---------------------------------------------------------------------------------
-# list of directories containing libraries, this must be the top level containing
-# include and lib
-#---------------------------------------------------------------------------------
-LIBDIRS := $(LIBNDS)
-
-
-#---------------------------------------------------------------------------------
-# no real need to edit anything past this point unless you need to add additional
-# rules for different file extensions
-#---------------------------------------------------------------------------------
-ifneq ($(BUILD),$(notdir $(CURDIR)))
-#---------------------------------------------------------------------------------
-
-export ARM7BIN := $(TOPDIR)/$(TARGET).arm7
-export ARM7ELF := $(CURDIR)/$(TARGET).arm7.elf
-export DEPSDIR := $(CURDIR)/$(BUILD)
-
-export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir))
-
-CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
-CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
-SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
-BINFILES := $(foreach dir,$(DATA),$(notdir $(wildcard $(dir)/*.*)))
-
-export OFILES := $(addsuffix .o,$(BINFILES)) \
- $(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
-
-export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
- $(foreach dir,$(LIBDIRS),-I$(dir)/include) \
- -I$(CURDIR)/$(BUILD)
-
-export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
-
-#---------------------------------------------------------------------------------
-# use CXX for linking C++ projects, CC for standard C
-#---------------------------------------------------------------------------------
-ifeq ($(strip $(CPPFILES)),)
-#---------------------------------------------------------------------------------
- export LD := $(CC)
-#---------------------------------------------------------------------------------
-else
-#---------------------------------------------------------------------------------
- export LD := $(CXX)
-#---------------------------------------------------------------------------------
-endif
-#---------------------------------------------------------------------------------
-
-.PHONY: $(BUILD) clean
-
-#---------------------------------------------------------------------------------
-$(BUILD):
- @[ -d $@ ] || mkdir -p $@
- @make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
-
-#---------------------------------------------------------------------------------
-clean:
- @echo clean ...
- @rm -fr $(BUILD) *.elf
-
-
-#---------------------------------------------------------------------------------
-else
-
-DEPENDS := $(OFILES:.o=.d)
-
-#---------------------------------------------------------------------------------
-# main targets
-#---------------------------------------------------------------------------------
-$(ARM7BIN) : $(ARM7ELF)
- @$(OBJCOPY) -O binary $< $@
- @echo built ... $(notdir $@)
-
-
-$(ARM7ELF) : $(OFILES)
- @echo linking $(notdir $@)
- @$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@
-
-
-#---------------------------------------------------------------------------------
-# you need a rule like this for each extension you use as binary data
-#---------------------------------------------------------------------------------
-%.bin.o : %.bin
-#---------------------------------------------------------------------------------
- @echo $(notdir $<)
- @$(bin2o)
-
--include $(DEPENDS)
-
-#---------------------------------------------------------------------------------------
-endif
-#---------------------------------------------------------------------------------------
diff --git a/arm7/source/main.c b/arm7/source/main.c
deleted file mode 100644
index 6579ad2..0000000
--- a/arm7/source/main.c
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- ds81 - Nintendo DS ZX81 emulator.
-
- Copyright (C) 2006 Ian Cowburn <ianc@noddybox.co.uk>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
- $Id$
-
- This file is largely based on the libnds examples.
-*/
-
-#include <nds.h>
-
-#include <nds/bios.h>
-#include <nds/arm7/touch.h>
-#include <nds/arm7/clock.h>
-
-#include <dswifi7.h>
-
-#include "ds81_ipc.h"
-
-static void FIFO_Handler(u32 msg);
-
-static void VblankHandler(void)
-{
- static int heartbeat = 0;
-
- uint16 but=0, x=0, y=0, xpx=0, ypx=0, z1=0, z2=0, batt=0, aux=0;
- int t1=0, t2=0;
- uint32 temp=0;
- uint8 ct[sizeof(IPC->curtime)];
- u32 i;
-
- /* Update the heartbeat */
- heartbeat++;
-
- /* Read the touch screen */
- but = REG_KEYXY;
-
- if (!(but & (1<<6)))
- {
- touchPosition tempPos = touchReadXY();
-
- x = tempPos.x;
- y = tempPos.y;
- xpx = tempPos.px;
- ypx = tempPos.py;
- }
-
- z1 = touchRead(TSC_MEASURE_Z1);
- z2 = touchRead(TSC_MEASURE_Z2);
-
- batt = touchRead(TSC_MEASURE_BATTERY);
- aux = touchRead(TSC_MEASURE_AUX);
-
- /* Read the time */
- rtcGetTime((uint8 *)ct);
- BCDToInteger((uint8 *)&(ct[1]), 7);
-
- /* Read the temperature */
- temp = touchReadTemperature(&t1, &t2);
-
- /* Update the IPC struct */
- IPC->mailBusy = 1;
-
- IPC->heartbeat = heartbeat;
- IPC->buttons = but;
- IPC->touchX = x;
- IPC->touchY = y;
- IPC->touchXpx = xpx;
- IPC->touchYpx = ypx;
- IPC->touchZ1 = z1;
- IPC->touchZ2 = z2;
- IPC->battery = batt;
- IPC->aux = aux;
-
- for(i=0; i<sizeof(ct); i++)
- {
- IPC->curtime[i] = ct[i];
- }
-
- IPC->temperature = temp;
- IPC->tdiode1 = t1;
- IPC->tdiode2 = t2;
-
- IPC->mailBusy = 0;
-
- Wifi_Update();
-}
-
-/* callback to allow wifi library to notify arm9
-*/
-static void ARM7_SyncToARM9(void)
-{
- REG_IPC_FIFO_TX = DS81_WIFI_SYNC_IPC;
-}
-
-/* interrupt handler to allow incoming notifications from arm9
-*/
-static void ARM7_Fifo(void)
-{
- while(!(REG_IPC_FIFO_CR & IPC_FIFO_RECV_EMPTY))
- {
- u32 msg;
-
- msg = REG_IPC_FIFO_RX;
- FIFO_Handler(msg);
- }
-}
-
-/* Handler for FIFO messages
-*/
-static void FIFO_Handler(u32 msg)
-{
- static int next_is_wifi=0;
-
- if (next_is_wifi)
- {
- next_is_wifi = 0;
- Wifi_Init(msg);
- Wifi_SetSyncHandler(ARM7_SyncToARM9);
-
- irqSet(IRQ_WIFI, Wifi_Interrupt);
- irqEnable(IRQ_WIFI);
- }
- else
- {
- switch(msg)
- {
- case DS81_WIFI_INIT_IPC:
- next_is_wifi = 1;
- break;
-
- case DS81_WIFI_SYNC_IPC:
- Wifi_Sync();
- break;
- }
- }
-}
-
-int main(int argc, char ** argv)
-{
- /* enable & prepare fifo asap */
- REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_SEND_CLEAR;
-
- IPC->mailBusy = 1;
-
- /* Reset the clock if needed */
- rtcReset();
-
- irqInit();
- irqSet(IRQ_VBLANK, VblankHandler);
- irqEnable(IRQ_VBLANK);
-
- irqSet(IRQ_FIFO_NOT_EMPTY,ARM7_Fifo); /* set up fifo irq */
- irqEnable(IRQ_FIFO_NOT_EMPTY);
-
- REG_IPC_FIFO_CR = IPC_FIFO_ENABLE | IPC_FIFO_RECV_IRQ;
-
- while (1)
- {
- swiWaitForVBlank();
- }
-}
-
-