Update to v106r2 release.

byuu says:

Changelog:

  - Super Famicom: added support for loading manifests without embedded
    mapping information¹
  - genius: initial commit
  - various Makefile cleanups

¹: so the idea here is to try and aim for a stable manifest format,
and to allow direct transposition of icarus/genius database entries into
manifest files. The exact mechanics of how this is going to work is
currently in flux, but we'll get there.

For right now, `Super Famicom.sys` gains `boards.bml`, which is the raw
database from my board-editor tool, and higan itself tries to load
`boards.bml`, match an entry to game/board from the game's `manifest.bml`
file, and then transform it into the format currently used by higan. It
does this only when the game's `manifest.bml` file lacks a board node.
When such a board node exists, it works as previous versions of higan
did.

The only incompatible change right now is information/title is now
located at game/label. I may transition window title display to just use
the filenames instead.

Longer term, some thought is going to need to go into the format of the
`boards.bml` database itself, and at which point in the process I should
be transforming things.

Give it time, we'll refine this into something nicer.
This commit is contained in:
Tim Allen
2018-02-01 19:20:37 +11:00
parent aef8d5e962
commit 2f81b5a3e7
41 changed files with 29372 additions and 13627 deletions

View File

@@ -2,11 +2,11 @@
MAKEFLAGS := Rr
.SUFFIXES:
[0-9] = 0 1 2 3 4 5 6 7 8 9
[A-Z] = A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
[a-z] = a b c d e f g h i j k l m n o p q r s t u v w x y z
[0-9] = 0 1 2 3 4 5 6 7 8 9
[markup] = ` ~ ! @ \# $$ % ^ & * ( ) - _ = + [ { ] } \ | ; : ' " , < . > / ?
[all] = $([A-Z]) $([a-z]) $([0-9]) $([markup])
[all] = $([0-9]) $([A-Z]) $([a-z]) $([markup])
[space] :=
[space] +=
@@ -15,22 +15,28 @@ ifeq ($(platform),)
uname := $(shell uname -s)
ifeq ($(uname),)
platform := windows
delete = del $(subst /,\,$1)
rm = del /q $(subst /,\,$1)
rmdir = del /s /q $(subst /,\,$1) && if exist $(subst /,\,$1) (rmdir /s /q $(subst /,\,$1))
else ifneq ($(findstring Windows,$(uname)),)
platform := windows
delete = del $(subst /,\,$1)
rm = del /q $(subst /,\,$1)
rmdir = del /s /q $(subst /,\,$1) && if exist $(subst /,\,$1) (rmdir /s /q $(subst /,\,$1))
else ifneq ($(findstring _NT,$(uname)),)
platform := windows
delete = del $(subst /,\,$1)
rm = del /q $(subst /,\,$1)
rmdir = del /s /q $(subst /,\,$1) && if exist $(subst /,\,$1) (rmdir /s /q $(subst /,\,$1))
else ifneq ($(findstring Darwin,$(uname)),)
platform := macos
delete = rm -f $1
rm = rm -f $1
rmdir = rm -rf $1
else ifneq ($(findstring Linux,$(uname)),)
platform := linux
delete = rm -f $1
rm = rm -f $1
rmdir = rm -rf $1
else ifneq ($(findstring BSD,$(uname)),)
platform := bsd
delete = rm -f $1
rm = rm -f $1
rmdir = rm -rf $1
else
$(error unknown platform, please specify manually.)
endif
@@ -59,23 +65,17 @@ ifeq ($(compiler),)
endif
endif
# build settings
ifeq ($(build),optimize)
flags += -O3
else ifeq ($(build),release)
flags += -O2
# build optimization levels
ifeq ($(build),debug)
flags += -Og -DBUILD_DEBUG
else ifeq ($(build),stable)
flags += -O1
else ifeq ($(build),debug)
flags += -g
else ifeq ($(build),profile)
flags += -pg
link += -pg
else ifeq ($(build),instrument)
flags += -O3 -fprofile-generate
link += -lgcov
else ifeq ($(build),optimize)
flags += -O3 -fprofile-use
flags += -O1 -DBUILD_STABLE
else ifeq ($(build),size)
flags += -Os -DBUILD_SIZE
else ifeq ($(build),release)
flags += -O2 -DBUILD_RELEASE
else ifeq ($(build),performance)
flags += -O3 -DBUILD_PERFORMANCE
endif
# clang settings