Skip to content

Commit

Permalink
feat(apu): First pass on apu impl
Browse files Browse the repository at this point in the history
  • Loading branch information
flga committed Mar 30, 2019
1 parent 99fee80 commit fcc613d
Show file tree
Hide file tree
Showing 213 changed files with 17,401 additions and 1,269 deletions.
40 changes: 40 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
FROM golang:1.12-stretch

# get dev deps
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get upgrade -yy \
&& DEBIAN_FRONTEND=noninteractive apt-get install -yy \
libsdl2-dev \
mingw-w64 \
portaudio19-dev \
zip \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /build


# download portaudio src and compile it
RUN cd / \
&& git clone https://git.assembla.com/portaudio.git \
&& cd portaudio \
&& ./configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/usr/x86_64-w64-mingw32/ --with-winapi=wmme,directx --enable-static --disable-shared \
&& make \
&& make install

# download sdl mingw and install it
RUN mkdir /sdl && cd /sdl \
&& wget https://www.libsdl.org/release/SDL2-devel-2.0.9-mingw.tar.gz \
&& tar zxf SDL2-devel-2.0.9-mingw.tar.gz \
&& cp -r SDL2-2.0.9/x86_64-w64-mingw32/* /usr/x86_64-w64-mingw32/


COPY go.mod go.sum /src/
WORKDIR /src/

RUN go mod download

COPY assets assets/
COPY cmd cmd/
COPY nes nes/
COPY Makefile LICENSE README.md ./

RUN make dist
78 changes: 57 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,26 +1,62 @@
# Go parameters
GOCMD=go
GOBUILD=$(GOCMD) build
GOCLEAN=$(GOCMD) clean
GOTEST=$(GOCMD) test
GOGET=$(GOCMD) get
BINARY_NAME=vnes
BINARY_WIN=vnes.exe
SRC=./cmd/vnes/*.go
BINARY=vnes

all: test build
build:
$(GOBUILD) -o $(BINARY_NAME) ./cmd/vnes/*.go

test:
$(GOTEST) -v ./nes
clean:
$(GOCLEAN)
rm -f $(BINARY_NAME)
rm -f $(BINARY_WIN)
go test -v ./nes

run:
$(GOBUILD) -o $(BINARY_NAME) ./cmd/vnes/*.go
./$(BINARY_NAME)
go run $(SRC)

clean: clean-linux clean-windows
clean-linux:
rm -f $(BINARY) $(BINARY)-linux.zip
clean-windows:
rm -f $(BINARY).exe $(BINARY)-windows.zip

build: build-linux build-windows

build-linux: clean-linux
CGO_ENABLED=1 \
CC=gcc \
GOOS=linux \
GOARCH=amd64 \
go build -o $(BINARY) $(SRC)

build-windows: clean-windows
PKG_CONFIG_PATH="/usr/x86_64-w64-mingw32/lib/pkgconfig" \
CGO_ENABLED="1" \
CC="/usr/bin/x86_64-w64-mingw32-gcc" \
GOOS=windows \
GOARCH=amd64 \
CGO_LDFLAGS="-Lportaudio_static" \
go build -tags static -ldflags '-s -w -extldflags "-static"' -o $(BINARY).exe $(SRC)


dist-docker: clean
docker build -t $(BINARY)-builder .
docker create --name $(BINARY)-builder $(BINARY)-builder
docker cp $(BINARY)-builder:/src/$(BINARY) $(BINARY)
docker cp $(BINARY)-builder:/src/$(BINARY)-linux.zip $(BINARY)-linux.zip
docker cp $(BINARY)-builder:/src/$(BINARY).exe $(BINARY).exe
docker cp $(BINARY)-builder:/src/$(BINARY)-windows.zip $(BINARY)-windows.zip
docker rm -fv $(BINARY)-builder

dist: dist-linux dist-windows

dist-linux: build-linux
rm -f $(BINARY)-linux.zip
zip -r $(BINARY)-linux.zip \
./assets \
./LICENSE \
./README.md \
./$(BINARY)

build-windows:
CGO_ENABLED="1" CC="/usr/bin/x86_64-w64-mingw32-gcc" GOOS="windows" \
CGO_LDFLAGS="-lmingw32 -lSDL2" CGO_CFLAGS="-D_REENTRANT" \
$(GOBUILD) -x -o $(BINARY_WIN) ./cmd/vnes/*.go
dist-windows: build-windows
rm -f $(BINARY)-windows.zip
zip -r $(BINARY)-windows.zip \
./assets \
./LICENSE \
./README.md \
./$(BINARY).exe
55 changes: 55 additions & 0 deletions assets/runescape_uf.bmfc
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# AngelCode Bitmap Font Generator configuration file
fileVersion=1

# font settings
fontName=RuneScape UF
fontFile=runescape_uf.ttf
charSet=0
fontSize=16
aa=1
scaleH=100
useSmoothing=0
isBold=0
isItalic=0
useUnicode=1
disableBoxChars=1
outputInvalidCharGlyph=0
dontIncludeKerningPairs=1
useHinting=1
renderFromOutline=0
useClearType=1

# character alignment
paddingDown=0
paddingUp=0
paddingRight=0
paddingLeft=0
spacingHoriz=1
spacingVert=1
useFixedHeight=0
forceZero=0

# output file
outWidth=96
outHeight=96
outBitDepth=32
fontDescFormat=1
fourChnlPacked=0
textureFormat=png
textureCompression=0
alphaChnl=0
redChnl=4
greenChnl=4
blueChnl=4
invA=0
invR=0
invG=0
invB=0

# outline
outlineThickness=0

# selected chars
chars=32-95,97-126

# imported icon images
104 changes: 104 additions & 0 deletions assets/runescape_uf.fnt
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<?xml version="1.0"?>
<font>
<info face="RuneScape UF" size="16" bold="0" italic="0" charset="" unicode="1" stretchH="100" smooth="0" aa="1" padding="0,0,0,0" spacing="1,1" outline="0"/>
<common lineHeight="16" base="12" scaleW="96" scaleH="96" pages="1" packed="0" alphaChnl="0" redChnl="4" greenChnl="4" blueChnl="4"/>
<pages>
<page id="0" file="runescape_uf_0.png" />
</pages>
<chars count="94">
<char id="32" x="77" y="62" width="3" height="1" xoffset="-1" yoffset="15" xadvance="3" page="0" chnl="15" />
<char id="33" x="93" y="0" width="2" height="10" xoffset="0" yoffset="2" xadvance="3" page="0" chnl="15" />
<char id="34" x="30" y="64" width="5" height="4" xoffset="0" yoffset="2" xadvance="6" page="0" chnl="15" />
<char id="35" x="80" y="0" width="12" height="10" xoffset="0" yoffset="2" xadvance="13" page="0" chnl="15" />
<char id="36" x="0" y="0" width="7" height="12" xoffset="0" yoffset="1" xadvance="8" page="0" chnl="15" />
<char id="37" x="13" y="13" width="11" height="10" xoffset="0" yoffset="2" xadvance="12" page="0" chnl="15" />
<char id="38" x="25" y="13" width="11" height="10" xoffset="0" yoffset="2" xadvance="12" page="0" chnl="15" />
<char id="39" x="39" y="64" width="2" height="4" xoffset="0" yoffset="2" xadvance="3" page="0" chnl="15" />
<char id="40" x="70" y="0" width="4" height="11" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15" />
<char id="41" x="75" y="0" width="4" height="11" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15" />
<char id="42" x="88" y="45" width="7" height="7" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="43" x="79" y="45" width="8" height="7" xoffset="0" yoffset="4" xadvance="9" page="0" chnl="15" />
<char id="44" x="36" y="64" width="2" height="4" xoffset="0" yoffset="8" xadvance="3" page="0" chnl="15" />
<char id="45" x="70" y="62" width="6" height="1" xoffset="0" yoffset="7" xadvance="7" page="0" chnl="15" />
<char id="46" x="81" y="60" width="2" height="1" xoffset="0" yoffset="11" xadvance="3" page="0" chnl="15" />
<char id="47" x="16" y="0" width="5" height="12" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15" />
<char id="48" x="56" y="34" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="49" x="91" y="33" width="4" height="10" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15" />
<char id="50" x="63" y="34" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="51" x="84" y="34" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="52" x="0" y="24" width="7" height="10" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="53" x="14" y="46" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="54" x="68" y="23" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="55" x="35" y="46" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="56" x="21" y="46" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="57" x="42" y="45" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="58" x="27" y="64" width="2" height="5" xoffset="0" yoffset="5" xadvance="3" page="0" chnl="15" />
<char id="59" x="14" y="57" width="4" height="7" xoffset="0" yoffset="5" xadvance="5" page="0" chnl="15" />
<char id="60" x="0" y="57" width="6" height="7" xoffset="0" yoffset="3" xadvance="7" page="0" chnl="15" />
<char id="61" x="53" y="63" width="7" height="3" xoffset="0" yoffset="7" xadvance="8" page="0" chnl="15" />
<char id="62" x="7" y="57" width="6" height="7" xoffset="0" yoffset="3" xadvance="7" page="0" chnl="15" />
<char id="63" x="8" y="0" width="7" height="12" xoffset="0" yoffset="0" xadvance="8" page="0" chnl="15" />
<char id="64" x="0" y="13" width="12" height="10" xoffset="0" yoffset="2" xadvance="13" page="0" chnl="15" />
<char id="65" x="75" y="12" width="7" height="10" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="66" x="75" y="23" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="67" x="82" y="23" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="68" x="42" y="34" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="69" x="89" y="22" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="70" x="0" y="35" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="71" x="7" y="35" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="72" x="14" y="35" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="73" x="91" y="11" width="4" height="10" xoffset="0" yoffset="2" xadvance="5" page="0" chnl="15" />
<char id="74" x="8" y="24" width="7" height="10" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="75" x="16" y="24" width="7" height="10" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="76" x="35" y="35" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="77" x="48" y="12" width="9" height="10" xoffset="0" yoffset="2" xadvance="10" page="0" chnl="15" />
<char id="78" x="24" y="24" width="7" height="10" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="79" x="67" y="12" width="7" height="10" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="80" x="61" y="23" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="81" x="58" y="12" width="8" height="10" xoffset="0" yoffset="2" xadvance="9" page="0" chnl="15" />
<char id="82" x="54" y="23" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="83" x="47" y="23" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="84" x="40" y="23" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="85" x="28" y="46" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="86" x="49" y="34" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="87" x="37" y="12" width="10" height="10" xoffset="0" yoffset="2" xadvance="11" page="0" chnl="15" />
<char id="88" x="83" y="11" width="7" height="10" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="89" x="28" y="35" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="90" x="21" y="35" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="91" x="52" y="0" width="5" height="11" xoffset="0" yoffset="2" xadvance="6" page="0" chnl="15" />
<char id="92" x="22" y="0" width="5" height="12" xoffset="0" yoffset="0" xadvance="6" page="0" chnl="15" />
<char id="93" x="58" y="0" width="5" height="11" xoffset="0" yoffset="2" xadvance="6" page="0" chnl="15" />
<char id="94" x="19" y="65" width="7" height="5" xoffset="0" yoffset="2" xadvance="8" page="0" chnl="15" />
<char id="95" x="61" y="62" width="8" height="1" xoffset="0" yoffset="11" xadvance="9" page="0" chnl="15" />
<char id="97" x="0" y="65" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="98" x="70" y="34" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="99" x="7" y="65" width="5" height="6" xoffset="0" yoffset="6" xadvance="6" page="0" chnl="15" />
<char id="100" x="77" y="34" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="101" x="39" y="57" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="102" x="38" y="0" width="6" height="11" xoffset="0" yoffset="4" xadvance="7" page="0" chnl="15" />
<char id="103" x="0" y="46" width="6" height="10" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="104" x="7" y="46" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="105" x="19" y="57" width="2" height="7" xoffset="0" yoffset="5" xadvance="3" page="0" chnl="15" />
<char id="106" x="64" y="0" width="5" height="11" xoffset="0" yoffset="5" xadvance="6" page="0" chnl="15" />
<char id="107" x="49" y="45" width="6" height="10" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="108" x="56" y="45" width="2" height="10" xoffset="0" yoffset="2" xadvance="3" page="0" chnl="15" />
<char id="109" x="22" y="57" width="8" height="6" xoffset="0" yoffset="6" xadvance="9" page="0" chnl="15" />
<char id="110" x="46" y="56" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="111" x="53" y="56" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="112" x="59" y="45" width="6" height="9" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="113" x="32" y="24" width="7" height="10" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="114" x="13" y="65" width="5" height="6" xoffset="0" yoffset="6" xadvance="6" page="0" chnl="15" />
<char id="115" x="60" y="55" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="116" x="73" y="45" width="5" height="9" xoffset="0" yoffset="3" xadvance="6" page="0" chnl="15" />
<char id="117" x="67" y="55" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="118" x="74" y="55" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="119" x="31" y="57" width="7" height="6" xoffset="0" yoffset="6" xadvance="8" page="0" chnl="15" />
<char id="120" x="81" y="53" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="121" x="66" y="45" width="6" height="9" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="122" x="88" y="53" width="6" height="6" xoffset="0" yoffset="6" xadvance="7" page="0" chnl="15" />
<char id="123" x="45" y="0" width="6" height="11" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="124" x="28" y="0" width="2" height="12" xoffset="0" yoffset="0" xadvance="3" page="0" chnl="15" />
<char id="125" x="31" y="0" width="6" height="11" xoffset="0" yoffset="2" xadvance="7" page="0" chnl="15" />
<char id="126" x="42" y="64" width="10" height="3" xoffset="0" yoffset="5" xadvance="11" page="0" chnl="15" />
</chars>
</font>
Binary file added assets/runescape_uf_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit fcc613d

Please sign in to comment.