forked from thefossilrecord/beebem-rs97
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial port of BeebEm to RG350 device
- Loading branch information
1 parent
1d5932e
commit ab1f647
Showing
26 changed files
with
586 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
TOOLCHAIN = /opt/gcw0-toolchain/usr | ||
SDL_CONFIG = $(TOOLCHAIN)/mipsel-gcw0-linux-uclibc/sysroot/usr/bin/sdl-config | ||
|
||
#arm-open2x-linux- | ||
#/opt/open2x/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/include/c++/4.1.1 | ||
#/opt/open2x/gcc-4.1.1-glibc-2.3.6/include/c++/4.1.1 | ||
|
||
#INCLUDES = -I. -I/usr/local/open2x/include/c++ `sdl-open2x-config --cflags` | ||
#INCLUDES = -I. -I/opt/open2x/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/include/c++/4.1.1 `arm-open2x-linux-sdl-config --cflags` | ||
INCLUDES = -I. `$(SDL_CONFIG) --cflags` | ||
|
||
|
||
#DEPINCLUDES = $(INCLUDES) $(SDINCLUDES) -I/usr/local/open2x/include/linux -I/usr/local/open2x/include/c++ | ||
#DEPINCLUDES = $(INCLUDES) $(SDINCLUDES) -I/opt/open2x/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/arm-open2x-linux/include/linux -I/opt/open2x/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/include/c++/4.1.1 | ||
#DEPINCLUDES = $(INCLUDES) $(SDINCLUDES) -I/opt/open2x/gcc-4.1.1-glibc-2.3.6/arm-open2x-linux/arm-open2x-linux/include/linux | ||
|
||
#CC = open2x-gcc -O6 -mcpu=arm920 -mtune=arm920t -msoft-float -ffast-math -falign-functions=32 -finline-functions -funroll-all-loops | ||
#CC = arm-open2x-linux-gcc -O6 -mcpu=arm920 -mtune=arm920t -msoft-float -ffast-math -falign-functions=32 -finline-functions -funroll-all-loops | ||
CC = $(TOOLCHAIN)/bin/mipsel-linux-gcc | ||
|
||
|
||
#CFLAGS = $(INCLUDES) $(SDINCLUDES) -Wall -g -DBEEB_DOTIME $(RESOURCES) -DGP2X=1 -DSOUNDSUPPORT | ||
# -DSOUNDSUPPORT | ||
CFLAGS = $(INCLUDES) -Wall -g -DBEEB_DOTIME -DSOUNDSUPPORT $(RESOURCES) -G0 -O3 -march=mips32 -mtune=mips32r2 | ||
# -DEG_DEBUG | ||
|
||
#RESOURCES=-DROMS_DIR=\"./romimg/\" -DRC_DIR=\"./\" -DOS_DIR=\"./romimg/\" -DDEFAULT_DISC=\"S:80:/mnt/sd/beebem/Zalaga.ssd\" -DVERSION=\"0.6\" | ||
RESOURCES= -DVERSION=\"0.6\" | ||
|
||
#LINKFLAGS = -lstdc++ `sdl-open2x-config --libs` -lm -s --static | ||
#LINKFLAGS = -lstdc++ `arm-open2x-linux-sdl-config --libs` -lm -s --static | ||
LINKFLAGS = -lstdc++ `$(SDL_CONFIG) --libs` | ||
LIBS = | ||
LIBFILES = gui/libeg.a | ||
|
||
SRCS = 6502core.cc beebmem.cc beebwin.cc disc8271.cc main.cc mode7font.c\ | ||
sysvia.cc uservia.cc via.cc video.cc beebsound.cc atodconv.cc sdl.cc \ | ||
keyboard.cc beebconfig.cc beebem_pages.cc screensaver.c stick.cc \ | ||
virtualkeyboard.cc button.c fileselector.cc progressdialog.cc \ | ||
keyboardmapper.cc messagebox.cc uefstate.cc listbox.cc fileselector_saveas.cc dma.cc | ||
|
||
OBJS = 6502core.o beebmem.o beebwin.o disc8271.o main.o mode7font.o\ | ||
sysvia.o uservia.o via.o video.o beebsound.o atodconv.o sdl.o \ | ||
keyboard.o beebconfig.o beebem_pages.o screensaver.o stick.o \ | ||
virtualkeyboard.o button.o fileselector.o progressdialog.o \ | ||
keyboardmapper.o messagebox.o uefstate.o listbox.o fileselector_saveas.o dma.o | ||
|
||
|
||
.cc.o: | ||
$(CC) -c $(CFLAGS) $< | ||
|
||
beebem: $(OBJS) $(LIBFILES) | ||
$(CC) -o beebem $(OBJS) $(LIBFILES) $(LIBS) $(LINKFLAGS) | ||
|
||
gui/libeg.a: | ||
(cd gui; make -f Makefile_RG350) | ||
|
||
depend: | ||
makedepend -- $(INCLUDES) $(CFLAGS) $(LINKFLAGS) -- $(SRCS) | ||
# makedepend -- $(DEPINCLUDES) $(INCLUDES) $(CFLAGS) $(LINKFLAGS) -- $(SRCS) | ||
|
||
clean: | ||
rm -f $(OBJS) beebem | ||
|
||
reallyclean: | ||
make clean | ||
(cd gui; make clean) | ||
|
||
# DO NOT DELETE THIS LINE -- make depend depends on it. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,36 @@ | ||
# beebem RS-97 | ||
# beebem RG350 | ||
|
||
Port of beebem, a BBC Micro Model B emulator, for the RS-97 handheld running Open Dingux. | ||
Port of beebem, a BBC Micro Model B emulator, for the RG350 handheld running Open Dingux. | ||
|
||
Based on v0.6-1 of the GP2X port, the source of which can be found at: | ||
Based on RS-97 port, which in turn is based on the v0.6-1 of the GP2X port, the source of both can be found at: | ||
* [https://github.com/thefossilrecord/beebem-rs97](https://github.com/thefossilrecord/beebem-rs97) | ||
* [http://beebem-unix.bbcmicro.com/download.html](http://beebem-unix.bbcmicro.com/download.html) | ||
|
||
http://beebem-unix.bbcmicro.com/download.html | ||
|
||
## Compile | ||
Compile with: | ||
`make -f Makefile_RG350` | ||
|
||
make -f Makefile_RS97 | ||
You'll need a GCWZero toolchain to build from source. | ||
[http://www.gcw-zero.com/develop](http://www.gcw-zero.com/develop) | ||
|
||
You'll need a RS-97 toolchain to build from source. | ||
## Create Distributable | ||
* After building the '`beebem`' binary, you then need to package for RG350 as an OPK file | ||
To make the OPK: | ||
`cd dist` | ||
`./make_opk.sh` | ||
|
||
|
||
## Installation | ||
To install package onto the RG350... | ||
|
||
* Copy beebem.opk to `/media/sdcard/APPS/` folder | ||
|
||
* Running beebem at least once will create the ~/.beebem/roms if not already present on your device. | ||
* Put ROMs with _exactly_ these names into ~/.beebem/roms | ||
`'acorn_dnfs'` - Acorn DNFS 1.2 (chip ID# 201666) | ||
`'os12'` - Base operating system for BBC Model B (v1.2) | ||
`'basic'` - BBC Basic Programming Language (v2) | ||
|
||
## Usage | ||
* Put Disk Images, for example SSD files, e.g. into /media/sdcard/ROMS/BEEB/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
=-=-=-=-=-=-=-=-=-=-= | ||
BeebEm - RG350 setup | ||
=-=-=-=-=-=-=-=-=-=-= | ||
|
||
* Running beebem at least once will create the ~/.beebem/roms if not already present on your device. | ||
|
||
* Put ROMs with _exactly_ these names into ~/.beebem/roms | ||
'acorn_dnfs' - Acorn DNFS 1.2 (chip ID# 201666) | ||
'os12' - Base operating system for BBC Model B (v1.2) | ||
'basic' - BBC Basic Programming Language (v2) | ||
|
||
* Put Disk Images, for example SSD files, e.g. into /media/sdcard/ROMS/BEEB/ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
# default.kbd | ||
# | ||
# This is the default configuration file that BeebEm loads before any matching | ||
# .kbd file. This file is intended to set defaults between loading disc images. | ||
|
||
|
||
# Video emulation (both Graphics modes and Teletext): | ||
# --------------------------------------------------- | ||
|
||
# GP2x is normal way up (as you'd expect). | ||
SET ORIENTATION=NORMAL | ||
|
||
# GP2x is up-side down (thus the buttons Y, A, B & X become a D-Pad): | ||
#SET ORIENTATION=FLIPPED | ||
|
||
# Video emulation, TOP = scanlines 0-240, BOTTOM = scanlines 16-255, | ||
# CENTER (or CENTRE) = scanlines 8-248, SCALED = Beeb's 256 scanlines are | ||
# scaled to the GP2x's 240 scanlines (deletes every 16th scanline): | ||
SET VSCALE=SCALED | ||
#SET VSCALE=TOP | ||
#SET VSCALE=BOTTOM | ||
#SET VSCALE=CENTER | ||
|
||
# GP2x stick uses smart mode by default: | ||
SET STICK=SMART | ||
|
||
# VSYNC offset (you probably don't need to change this): | ||
SET VSYNCOFFSET=NORMAL | ||
# #SET VSYNCOFFSET=NUDGE | ||
|
||
|
||
# Processing speed: | ||
# ----------------- | ||
|
||
# Set the GP2x's processor speed. Use 240 for teletext games and 200 for | ||
# everything else, some games clock down, even with sound: | ||
|
||
# Default to 200Mhz: | ||
SET SPEED=200 | ||
|
||
#SET SPEED=150 | ||
#SET SPEED=160 | ||
#SET SPEED=170 | ||
#SET SPEED=180 | ||
#SET SPEED=190 | ||
#SET SPEED=200 | ||
#SET SPEED=210 | ||
#SET SPEED=220 | ||
#SET SPEED=230 | ||
#SET SPEED=240 | ||
|
||
|
||
# 8271 floppy discs: | ||
# ------------------ | ||
|
||
# RO = Read Only, RW=Read Write. | ||
|
||
# First floppy drive (0): | ||
SET FD0_TAB=RO | ||
#SET FD0_TAB=RW | ||
|
||
# Second floppy drive (1): | ||
SET FD1_TAB=RO | ||
#SET FD1_TAB=RW | ||
|
||
# Disable the hardware cursor always: '1', 'YES', 'TRUE', 'Y' equals a positive, | ||
# everything else is considered a negative: | ||
SET DISABLE_CURSOR=NO | ||
#SET DISABLE_CURSOR=YES | ||
|
||
# Default keys: | ||
# ------------- | ||
|
||
# NOTHING = key is not mapped. | ||
# VOLUME = key controls volume (only works on the actual volume buttons). | ||
|
||
# Normal screen orientation: | ||
LEFT=BBC_Z | ||
RIGHT=BBC_X | ||
UP=BBC_: | ||
DOWN=BBC_/ | ||
CLICK=NOTHING | ||
|
||
A=BBC_SPACE | ||
B=BBC_SPACE | ||
X=BBC_RETURN | ||
Y=BBC_RETURN | ||
|
||
SELECT=BBC_ESCAPE | ||
|
||
VOLUP=VOLUME | ||
VOLDOWN=VOLUME | ||
|
||
L=NOTHING | ||
R=NOTHING | ||
|
||
|
||
# Flipped screen orientation: | ||
R_LEFT=BBC_X | ||
R_RIGHT=BBC_Z | ||
R_UP=BBC_/ | ||
R_DOWN=BBC_: | ||
R_CLICK=NOTHING | ||
|
||
R_A=BBC_X | ||
R_B=BBC_Z | ||
R_X=BBC_: | ||
R_Y=BBC_/ | ||
|
||
R_SELECT=ESCAPE | ||
|
||
R_L=NOTHING | ||
R_R=NOTHING | ||
|
||
R_VOLUP=BBC_SPACE | ||
R_VOLDOWN=BBC_RETURN | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# forced.kbd | ||
# | ||
# This kbd mapping file is loaded AFTER a matching disc image mapping file (if | ||
# one is found). So these options override EVERYTHING! Use with care! | ||
|
||
|
||
# One possible use for this would be to force BeebEm to NEVER start up with | ||
# sound (no matter what old mapping files say)! | ||
#SET VOLUME=0 | ||
|
||
# Disable the hardware cursor always. | ||
#SET DISABLE_CURSOR=1 | ||
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
OS os12 | ||
ROM basic 0xf | ||
ROM acorn_dnfs 0xd |
Oops, something went wrong.