initial commit
This commit is contained in:
commit
b29f44c1c0
|
@ -0,0 +1,4 @@
|
||||||
|
/bin/
|
||||||
|
/obj/
|
||||||
|
/dep/
|
||||||
|
/res/
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "emulicious-debugger",
|
||||||
|
"request": "launch",
|
||||||
|
"name": "Launch in Emulicious",
|
||||||
|
"emuliciousPath": "${workspaceFolder}\\tools\\emulicious.exe",
|
||||||
|
"program": "${workspaceFolder}\\bin\\out.gb",
|
||||||
|
"port": 58870,
|
||||||
|
"stopOnEntry": false,
|
||||||
|
"preLaunchTask": "buildrom"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "buildrom",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,143 @@
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
################################################
|
||||||
|
# #
|
||||||
|
# CONSTANT DEFINITIONS #
|
||||||
|
# #
|
||||||
|
################################################
|
||||||
|
|
||||||
|
# Directory constants
|
||||||
|
BINDIR := bin
|
||||||
|
OBJDIR := obj
|
||||||
|
DEPDIR := dep
|
||||||
|
|
||||||
|
# Program constants
|
||||||
|
ifneq ($(strip $(shell which rm)),)
|
||||||
|
# POSIX OSes
|
||||||
|
RM_RF := rm -rf
|
||||||
|
MKDIR_P := mkdir -p
|
||||||
|
PY :=
|
||||||
|
filesize = printf 'NB_PB$2_BLOCKS equ ((%u) + $2 - 1) / $2\n' "`wc -c <$1`"
|
||||||
|
else
|
||||||
|
# Windows outside of a POSIX env (Cygwin, MSYS2, etc.)
|
||||||
|
# We need Powershell to get any sort of decent functionality
|
||||||
|
$(warning Powershell is required to get basic functionality)
|
||||||
|
RM_RF := -del /q
|
||||||
|
MKDIR_P := -mkdir
|
||||||
|
PY := python
|
||||||
|
filesize = powershell Write-Output $$('NB_PB$2_BLOCKS equ ' + [string] [int] (([IO.File]::ReadAllBytes('$1').Length + $2 - 1) / $2))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Shortcut if you want to use a local copy of RGBDS
|
||||||
|
RGBDS :=
|
||||||
|
RGBASM := $(RGBDS)rgbasm
|
||||||
|
RGBLINK := $(RGBDS)rgblink
|
||||||
|
RGBFIX := $(RGBDS)rgbfix
|
||||||
|
RGBGFX := $(RGBDS)rgbgfx
|
||||||
|
|
||||||
|
ROM = $(BINDIR)/$(ROMNAME).$(ROMEXT)
|
||||||
|
|
||||||
|
# Argument constants
|
||||||
|
INCDIRS = src/ src/include/
|
||||||
|
WARNINGS = all extra
|
||||||
|
ASFLAGS = -p $(PADVALUE) $(addprefix -i,$(INCDIRS)) $(addprefix -W,$(WARNINGS))
|
||||||
|
LDFLAGS = -p $(PADVALUE)
|
||||||
|
FIXFLAGS = -p $(PADVALUE) -v -i "$(GAMEID)" -k "$(LICENSEE)" -l $(OLDLIC) -m $(MBC) -n $(VERSION) -r $(SRAMSIZE) -t $(TITLE)
|
||||||
|
|
||||||
|
# The list of "root" ASM files that RGBASM will be invoked on
|
||||||
|
SRCS = $(wildcard src/*.asm)
|
||||||
|
|
||||||
|
## Project-specific configuration
|
||||||
|
# Use this to override the above
|
||||||
|
include project.mk
|
||||||
|
|
||||||
|
################################################
|
||||||
|
# #
|
||||||
|
# TARGETS #
|
||||||
|
# #
|
||||||
|
################################################
|
||||||
|
|
||||||
|
# `all` (Default target): build the ROM
|
||||||
|
all: $(ROM)
|
||||||
|
.PHONY: all
|
||||||
|
|
||||||
|
# `clean`: Clean temp and bin files
|
||||||
|
clean:
|
||||||
|
$(RM_RF) $(BINDIR)
|
||||||
|
$(RM_RF) $(OBJDIR)
|
||||||
|
$(RM_RF) $(DEPDIR)
|
||||||
|
$(RM_RF) res
|
||||||
|
.PHONY: clean
|
||||||
|
|
||||||
|
# `rebuild`: Build everything from scratch
|
||||||
|
# It's important to do these two in order if we're using more than one job
|
||||||
|
rebuild:
|
||||||
|
$(MAKE) clean
|
||||||
|
$(MAKE) all
|
||||||
|
.PHONY: rebuild
|
||||||
|
|
||||||
|
################################################
|
||||||
|
# #
|
||||||
|
# RESOURCE FILES #
|
||||||
|
# #
|
||||||
|
################################################
|
||||||
|
|
||||||
|
# By default, asset recipes convert files in `res/` into other files in `res/`
|
||||||
|
# This line causes assets not found in `res/` to be also looked for in `src/res/`
|
||||||
|
# "Source" assets can thus be safely stored there without `make clean` removing them
|
||||||
|
VPATH := src
|
||||||
|
|
||||||
|
res/%.1bpp: res/%.png
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
$(RGBGFX) -d 1 -o $@ $<
|
||||||
|
|
||||||
|
# Define how to compress files using the PackBits16 codec
|
||||||
|
# Compressor script requires Python 3
|
||||||
|
res/%.pb16: res/% src/tools/pb16.py
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
$(PY) src/tools/pb16.py $< res/$*.pb16
|
||||||
|
|
||||||
|
res/%.pb16.size: res/%
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
$(call filesize,$<,16) > res/$*.pb16.size
|
||||||
|
|
||||||
|
# Define how to compress files using the PackBits8 codec
|
||||||
|
# Compressor script requires Python 3
|
||||||
|
res/%.pb8: res/% src/tools/pb8.py
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
$(PY) src/tools/pb8.py $< res/$*.pb8
|
||||||
|
|
||||||
|
res/%.pb8.size: res/%
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
$(call filesize,$<,8) > res/$*.pb8.size
|
||||||
|
|
||||||
|
###############################################
|
||||||
|
# #
|
||||||
|
# COMPILATION #
|
||||||
|
# #
|
||||||
|
###############################################
|
||||||
|
|
||||||
|
# How to build a ROM
|
||||||
|
$(BINDIR)/%.$(ROMEXT) $(BINDIR)/%.sym $(BINDIR)/%.map: $(patsubst src/%.asm,$(OBJDIR)/%.o,$(SRCS))
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
$(RGBASM) $(ASFLAGS) -o $(OBJDIR)/build_date.o src/res/build_date.asm
|
||||||
|
$(RGBLINK) $(LDFLAGS) -m $(BINDIR)/$*.map -n $(BINDIR)/$*.sym -o $(BINDIR)/$*.$(ROMEXT) $^ $(OBJDIR)/build_date.o \
|
||||||
|
&& $(RGBFIX) -v $(FIXFLAGS) $(BINDIR)/$*.$(ROMEXT)
|
||||||
|
|
||||||
|
# `.mk` files are auto-generated dependency lists of the "root" ASM files, to save a lot of hassle.
|
||||||
|
# Also add all obj dependencies to the dep file too, so Make knows to remake it
|
||||||
|
# Caution: some of these flags were added in RGBDS 0.4.0, using an earlier version WILL NOT WORK
|
||||||
|
# (and produce weird errors)
|
||||||
|
$(OBJDIR)/%.o $(DEPDIR)/%.mk: src/%.asm
|
||||||
|
@$(MKDIR_P) $(patsubst %/,%,$(dir $(OBJDIR)/$* $(DEPDIR)/$*))
|
||||||
|
$(RGBASM) $(ASFLAGS) -M $(DEPDIR)/$*.mk -MG -MP -MQ $(OBJDIR)/$*.o -MQ $(DEPDIR)/$*.mk -o $(OBJDIR)/$*.o $<
|
||||||
|
|
||||||
|
ifneq ($(MAKECMDGOALS),clean)
|
||||||
|
-include $(patsubst src/%.asm,$(DEPDIR)/%.mk,$(SRCS))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Catch non-existent files
|
||||||
|
# KEEP THIS LAST!!
|
||||||
|
%:
|
||||||
|
@false
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Tile layout
|
||||||
|
Note: All tiles are 8x7 so that the entire tetrion fits on the screen.
|
||||||
|
Tile 0, 1 are all black and all white for lockflash and such.
|
||||||
|
Tiles 2, 3, 4, 5, 6 are the edges of the tetrion.
|
||||||
|
Tile 7 is the background of the tetrion.
|
||||||
|
Tile 8 is a horizontal line for the level state
|
||||||
|
Tile 9 is a pointer
|
||||||
|
Tiles 10, 11, 12, 13, 14, 15, 16 are IZSJLOT in their falling state.
|
||||||
|
Tiles 17, 18, 19, 20, 21, 22, 23 are IZSJLOT in their locked state.
|
||||||
|
Tiles 24, 25, 26, 27, 28, 29, 30 are IZSJLOT in their locking state 1.
|
||||||
|
Tiles 31, 32, 33, 34, 35, 36, 37 are IZSJLOT in their locking state 2.
|
||||||
|
Tiles 38, 39, 40, 41, 42, 43, 44 are IZSJLOT in their locking state 3.
|
||||||
|
Tiles 45, 46, 47, 48, 49, 50, 51 are IZSJLOT in their locking state 4.
|
||||||
|
Tiles 52, 53, 54, 55, 56, 57, 58 are IZSJLOT in their locking state 5.
|
||||||
|
Tiles 59, 60, 61, 62, 63, 64, 65 are IZSJLOT in their locking state 6.
|
||||||
|
Tiles 66-73 are for section drawing
|
||||||
|
Tiles 74-109 are the font, dark.
|
||||||
|
Tiles 110-119 are the numbers, light.
|
||||||
|
Tiles 120-127 -----------------------------------------------
|
|
@ -0,0 +1,15 @@
|
||||||
|
PADVALUE := 0xFF
|
||||||
|
VERSION := 0
|
||||||
|
GAMEID := DTGM
|
||||||
|
TITLE := DMGTRIS
|
||||||
|
LICENSEE := NR
|
||||||
|
OLDLIC := 0x33
|
||||||
|
MBC := 0x00
|
||||||
|
SRAMSIZE := 0x00
|
||||||
|
ROMNAME := out
|
||||||
|
ROMEXT := gb
|
||||||
|
ASFLAGS += -h
|
||||||
|
LDFLAGS += -d
|
||||||
|
ASFLAGS += -v
|
||||||
|
LDFLAGS += -v
|
||||||
|
LDFLAGS += -t
|
|
@ -0,0 +1,8 @@
|
||||||
|
; *****************************************************************************
|
||||||
|
; * *
|
||||||
|
; * Cartridge Header. *
|
||||||
|
; * *
|
||||||
|
; *****************************************************************************
|
||||||
|
SECTION "Header", ROM0[$100]
|
||||||
|
jp MainEntryPoint
|
||||||
|
ds $150 - @, 0 ; RGBFIX will fill in the header.
|
|
@ -0,0 +1,100 @@
|
||||||
|
; *****************************************************************************
|
||||||
|
; * *
|
||||||
|
; * Libraries and Defines *
|
||||||
|
; * *
|
||||||
|
; *****************************************************************************
|
||||||
|
INCLUDE "hardware.inc"
|
||||||
|
INCLUDE "structs.asm"
|
||||||
|
|
||||||
|
; *****************************************************************************
|
||||||
|
; * *
|
||||||
|
; * Game Variables *
|
||||||
|
; * *
|
||||||
|
; *****************************************************************************
|
||||||
|
SECTION "General Game Variables", WRAM0
|
||||||
|
wLCDCCtr:: db
|
||||||
|
wEvenFrame:: db
|
||||||
|
wField:: ds 200
|
||||||
|
wRNGSeed:: ds 4
|
||||||
|
wFill:: db
|
||||||
|
|
||||||
|
SECTION "Important Game Variables", HRAM
|
||||||
|
hUnused:: ds 126
|
||||||
|
|
||||||
|
|
||||||
|
; *****************************************************************************
|
||||||
|
; * *
|
||||||
|
; * Convenience Defines *
|
||||||
|
; * *
|
||||||
|
; *****************************************************************************
|
||||||
|
DEF PALETTE_REGULAR EQU %11100100
|
||||||
|
DEF PALETTE_INVERTED EQU %00011011
|
||||||
|
DEF PALETTE_MONO_0 EQU %11111111
|
||||||
|
DEF PALETTE_MONO_1 EQU %10101010
|
||||||
|
DEF PALETTE_MONO_2 EQU %01010101
|
||||||
|
DEF PALETTE_MONO_3 EQU %00000000
|
||||||
|
DEF PALETTE_DARKER_0 EQU %11100100
|
||||||
|
DEF PALETTE_DARKER_1 EQU %11111001
|
||||||
|
DEF PALETTE_DARKER_2 EQU %11111110
|
||||||
|
DEF PALETTE_DARKER_3 EQU %11111111
|
||||||
|
DEF PALETTE_LIGHTER_0 EQU %11100100
|
||||||
|
DEF PALETTE_LIGHTER_1 EQU %10010000
|
||||||
|
DEF PALETTE_LIGHTER_2 EQU %01000000
|
||||||
|
DEF PALETTE_LIGHTER_3 EQU %00000000
|
||||||
|
DEF FIELD_ROW_1 EQU $9800+(0*32)+1
|
||||||
|
DEF FIELD_ROW_2 EQU $9800+(1*32)+1
|
||||||
|
DEF FIELD_ROW_3 EQU $9800+(2*32)+1
|
||||||
|
DEF FIELD_ROW_4 EQU $9800+(3*32)+1
|
||||||
|
DEF FIELD_ROW_5 EQU $9800+(4*32)+1
|
||||||
|
DEF FIELD_ROW_6 EQU $9800+(5*32)+1
|
||||||
|
DEF FIELD_ROW_7 EQU $9800+(6*32)+1
|
||||||
|
DEF FIELD_ROW_8 EQU $9800+(7*32)+1
|
||||||
|
DEF FIELD_ROW_9 EQU $9800+(8*32)+1
|
||||||
|
DEF FIELD_ROW_10 EQU $9800+(9*32)+1
|
||||||
|
DEF FIELD_ROW_11 EQU $9800+(10*32)+1
|
||||||
|
DEF FIELD_ROW_12 EQU $9800+(11*32)+1
|
||||||
|
DEF FIELD_ROW_13 EQU $9800+(12*32)+1
|
||||||
|
DEF FIELD_ROW_14 EQU $9800+(13*32)+1
|
||||||
|
DEF FIELD_ROW_15 EQU $9800+(14*32)+1
|
||||||
|
DEF FIELD_ROW_16 EQU $9800+(15*32)+1
|
||||||
|
DEF FIELD_ROW_17 EQU $9800+(16*32)+1
|
||||||
|
DEF FIELD_ROW_18 EQU $9800+(17*32)+1
|
||||||
|
DEF FIELD_ROW_19 EQU $9800+(18*32)+1
|
||||||
|
DEF FIELD_ROW_20 EQU $9800+(19*32)+1
|
||||||
|
|
||||||
|
|
||||||
|
; *****************************************************************************
|
||||||
|
; * *
|
||||||
|
; * Convenience Macros *
|
||||||
|
; * *
|
||||||
|
; *****************************************************************************
|
||||||
|
; Waits for VRAM to be safe to access. (Includes hblank.)
|
||||||
|
MACRO wait_vram
|
||||||
|
.waitvram\@
|
||||||
|
ldh a, [rSTAT]
|
||||||
|
and STATF_BUSY
|
||||||
|
jr nz, .waitvram\@
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
; Waits for lcd to be in vblank.
|
||||||
|
MACRO wait_vblank
|
||||||
|
.waitvb\@
|
||||||
|
ldh a, [rSTAT]
|
||||||
|
and STATF_LCD
|
||||||
|
cp STATF_VBL
|
||||||
|
jr nz, .waitvb\@
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
; Waits for lcd to not be in vblank.
|
||||||
|
MACRO wait_vblank_end
|
||||||
|
.waitvbe\@
|
||||||
|
ldh a, [rSTAT]
|
||||||
|
and STATF_LCD
|
||||||
|
cp STATF_VBL
|
||||||
|
jr z, .waitvbe\@
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
; Writes two bytes to a register pair.
|
||||||
|
MACRO lb
|
||||||
|
ld \1, (LOW(\2) << 8) | LOW(\3)
|
||||||
|
ENDM
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,23 @@
|
||||||
|
SECTION "Hardware Control Functions", ROM0
|
||||||
|
SetBGPalette::
|
||||||
|
ldh [rBGP], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
DisableAudio::
|
||||||
|
xor a, a
|
||||||
|
ldh [rNR52], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
DisableLCD::
|
||||||
|
wait_vram
|
||||||
|
xor a, a
|
||||||
|
ldh [rLCDC], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
EnableLCD::
|
||||||
|
ld a, LCDCF_ON | LCDCF_BGON
|
||||||
|
ldh [rLCDC], a
|
||||||
|
ret
|
|
@ -0,0 +1,54 @@
|
||||||
|
SECTION "Interrupt Initialization Functions", ROM0
|
||||||
|
InitializeLCDCInterrupt::
|
||||||
|
ld a, STATF_LYC
|
||||||
|
ldh [rSTAT], a
|
||||||
|
ld a, 6
|
||||||
|
ldh [rLYC], a
|
||||||
|
ld a, 0
|
||||||
|
ldh [rSCY], a
|
||||||
|
ld a, IEF_STAT
|
||||||
|
ldh [rIE], a
|
||||||
|
xor a, a
|
||||||
|
ldh [rIF], a
|
||||||
|
ei
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
SECTION "LCDC Interrupt", ROM0[$0048]
|
||||||
|
LCDCInterrupt:
|
||||||
|
push af
|
||||||
|
push hl
|
||||||
|
|
||||||
|
ld hl, rSTAT
|
||||||
|
LCDCInterrupt_WaitUntilNotBusy:
|
||||||
|
bit STATB_BUSY, [hl]
|
||||||
|
jr nz, LCDCInterrupt_WaitUntilNotBusy
|
||||||
|
|
||||||
|
; Increment SCY
|
||||||
|
ldh a, [rSCY]
|
||||||
|
inc a
|
||||||
|
ldh [rSCY], a
|
||||||
|
|
||||||
|
; Increment LYC by 7
|
||||||
|
ldh a, [rLYC]
|
||||||
|
add a, 7
|
||||||
|
ldh [rLYC], a
|
||||||
|
|
||||||
|
; Check our interrupt counter
|
||||||
|
ld a, [wLCDCCtr]
|
||||||
|
cp 21
|
||||||
|
jp nz, LCDCInterrupt_End
|
||||||
|
ld a, 255
|
||||||
|
ld [wLCDCCtr], a
|
||||||
|
ld a, 6
|
||||||
|
ldh [rLYC], a
|
||||||
|
ld a, 0
|
||||||
|
ldh [rSCY], a
|
||||||
|
|
||||||
|
LCDCInterrupt_End:
|
||||||
|
inc a
|
||||||
|
ld [wLCDCCtr], a
|
||||||
|
pop hl
|
||||||
|
pop af
|
||||||
|
reti
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
SECTION "Memory Functions", ROM0
|
||||||
|
; Copies data from de to hl, bc bytes
|
||||||
|
UnsafeMemCopy::
|
||||||
|
ld a, [de]
|
||||||
|
ld [hli], a
|
||||||
|
inc de
|
||||||
|
dec bc
|
||||||
|
ld a, b
|
||||||
|
or a, c
|
||||||
|
jp nz, UnsafeMemCopy
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
; Copies data from de to hl, bc bytes
|
||||||
|
SafeMemCopy::
|
||||||
|
wait_vram
|
||||||
|
ld a, [de]
|
||||||
|
ld [hli], a
|
||||||
|
inc de
|
||||||
|
dec bc
|
||||||
|
ld a, b
|
||||||
|
or a, c
|
||||||
|
jp nz, SafeMemCopy
|
||||||
|
ret
|
|
@ -0,0 +1,34 @@
|
||||||
|
section "RNG Functions", ROM0
|
||||||
|
NextByte::
|
||||||
|
; Load seed
|
||||||
|
ld hl,wRNGSeed+3
|
||||||
|
ld a,[hl-]
|
||||||
|
ld b,a
|
||||||
|
ld a,[hl-]
|
||||||
|
ld c,a
|
||||||
|
ld a,[hl-]
|
||||||
|
|
||||||
|
; Multiply by 0x01010101
|
||||||
|
add [hl]
|
||||||
|
ld d,a
|
||||||
|
adc c
|
||||||
|
ld c,a
|
||||||
|
adc b
|
||||||
|
ld b,a
|
||||||
|
|
||||||
|
; Add 0x31415927 and write back
|
||||||
|
ld a,[hl]
|
||||||
|
add $27
|
||||||
|
ld [hl+],a
|
||||||
|
ld a,d
|
||||||
|
adc $59
|
||||||
|
ld [hl+],a
|
||||||
|
ld a,c
|
||||||
|
adc $41
|
||||||
|
ld [hl+],a
|
||||||
|
ld c,a
|
||||||
|
ld a,b
|
||||||
|
adc $31
|
||||||
|
ld [hl],a
|
||||||
|
ld b,a
|
||||||
|
ret
|
|
@ -0,0 +1,338 @@
|
||||||
|
; MIT License
|
||||||
|
;
|
||||||
|
; Copyright (c) 2018-2022 Eldred Habert and contributors
|
||||||
|
; Originally hosted at https://github.com/ISSOtm/rgbds-structs
|
||||||
|
;
|
||||||
|
; Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
; of this software and associated documentation files (the "Software"), to deal
|
||||||
|
; in the Software without restriction, including without limitation the rights
|
||||||
|
; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
; copies of the Software, and to permit persons to whom the Software is
|
||||||
|
; furnished to do so, subject to the following conditions:
|
||||||
|
;
|
||||||
|
; The above copyright notice and this permission notice shall be included in all
|
||||||
|
; copies or substantial portions of the Software.
|
||||||
|
;
|
||||||
|
; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
; SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DEF STRUCTS_VERSION equs "3.0.1"
|
||||||
|
MACRO structs_assert
|
||||||
|
assert (\1), "rgbds-structs {STRUCTS_VERSION} bug. Please report at https://github.com/ISSOtm/rgbds-structs, and share the above stack trace *and* your code there!"
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
; Call with the expected RGBDS-structs version string to ensure your code
|
||||||
|
; is compatible with the INCLUDEd version of RGBDS-structs.
|
||||||
|
; Example: `rgbds_structs_version 2.0.0`
|
||||||
|
MACRO rgbds_structs_version ; version_string
|
||||||
|
DEF CURRENT_VERSION EQUS STRRPL("{STRUCTS_VERSION}", ".", ",")
|
||||||
|
|
||||||
|
; Undefine `EXPECTED_VERSION` if it does not match `CURRENT_VERSION`
|
||||||
|
DEF EXPECTED_VERSION EQUS STRRPL("\1", ".", ",")
|
||||||
|
check_ver {EXPECTED_VERSION}, {CURRENT_VERSION}
|
||||||
|
|
||||||
|
IF !DEF(EXPECTED_VERSION)
|
||||||
|
FAIL "rgbds-structs version \1 is required, which is incompatible with current version {STRUCTS_VERSION}"
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
PURGE CURRENT_VERSION, EXPECTED_VERSION
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
; Checks whether trios of version components match.
|
||||||
|
; Used internally by `rgbds_structs_version`.
|
||||||
|
MACRO check_ver ; expected major, minor, patch, current major, minor, patch
|
||||||
|
IF (\1) != (\4) || (\2) > (\5) || (\3) > (\6)
|
||||||
|
PURGE EXPECTED_VERSION
|
||||||
|
ENDC
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
; Begins a struct declaration.
|
||||||
|
MACRO struct ; struct_name
|
||||||
|
IF DEF(STRUCT_NAME) || DEF(NB_FIELDS)
|
||||||
|
FAIL "Please close struct definitions using `end_struct`"
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
; Define two internal variables for field definitions
|
||||||
|
DEF STRUCT_NAME EQUS "\1"
|
||||||
|
DEF NB_FIELDS = 0
|
||||||
|
DEF NB_NONALIASES = 0
|
||||||
|
|
||||||
|
; Initialize _RS to 0 for defining offset constants
|
||||||
|
RSRESET
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
; Ends a struct declaration.
|
||||||
|
MACRO end_struct
|
||||||
|
; Define the number of fields and size in bytes
|
||||||
|
DEF {STRUCT_NAME}_nb_fields EQU NB_FIELDS
|
||||||
|
DEF {STRUCT_NAME}_nb_nonaliases EQU NB_NONALIASES
|
||||||
|
DEF sizeof_{STRUCT_NAME} EQU _RS
|
||||||
|
|
||||||
|
IF DEF(STRUCTS_EXPORT_CONSTANTS)
|
||||||
|
EXPORT {STRUCT_NAME}_nb_fields, sizeof_{STRUCT_NAME}
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
; Purge the internal variables defined by `struct`
|
||||||
|
PURGE STRUCT_NAME, NB_FIELDS, NB_NONALIASES
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
; Defines a field of N bytes.
|
||||||
|
DEF bytes equs "new_field rb,"
|
||||||
|
DEF words equs "new_field rw,"
|
||||||
|
DEF longs equs "new_field rl,"
|
||||||
|
DEF alias equs "new_field rb, 0,"
|
||||||
|
|
||||||
|
; Extends a new struct by an existing struct, effectively cloning its fields.
|
||||||
|
MACRO extends ; struct_type[, sub_struct_name]
|
||||||
|
IF !DEF(\1_nb_fields)
|
||||||
|
FAIL "Struct \1 isn't defined!"
|
||||||
|
ENDC
|
||||||
|
IF _NARG != 1 && _NARG != 2
|
||||||
|
FAIL "Invalid number of arguments, expected 1 or 2"
|
||||||
|
ENDC
|
||||||
|
FOR FIELD_ID, \1_nb_fields
|
||||||
|
DEF EXTENDS_FIELD EQUS "\1_field{d:FIELD_ID}"
|
||||||
|
get_nth_field_info {STRUCT_NAME}, NB_FIELDS
|
||||||
|
|
||||||
|
IF _NARG == 1
|
||||||
|
DEF {STRUCT_FIELD_NAME} EQUS "{{EXTENDS_FIELD}_name}"
|
||||||
|
ELSE
|
||||||
|
DEF {STRUCT_FIELD_NAME} EQUS "\2_{{EXTENDS_FIELD}_name}"
|
||||||
|
ENDC
|
||||||
|
DEF {STRUCT_FIELD} RB {EXTENDS_FIELD}_size
|
||||||
|
IF DEF(STRUCTS_EXPORT_CONSTANTS)
|
||||||
|
EXPORT {STRUCT_FIELD}
|
||||||
|
ENDC
|
||||||
|
DEF {STRUCT_NAME}_{{STRUCT_FIELD_NAME}} EQU {STRUCT_FIELD}
|
||||||
|
DEF {STRUCT_FIELD_SIZE} EQU {EXTENDS_FIELD}_size
|
||||||
|
DEF {STRUCT_FIELD_TYPE} EQUS "{{EXTENDS_FIELD}_type}"
|
||||||
|
|
||||||
|
purge_nth_field_info
|
||||||
|
|
||||||
|
DEF NB_FIELDS += 1
|
||||||
|
IF {EXTENDS_FIELD}_size != 0
|
||||||
|
DEF NB_NONALIASES += 1
|
||||||
|
ENDC
|
||||||
|
PURGE EXTENDS_FIELD
|
||||||
|
ENDR
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
; Defines EQUS strings pertaining to a struct's Nth field.
|
||||||
|
; Used internally by `new_field` and `dstruct`.
|
||||||
|
MACRO get_nth_field_info ; struct_name, field_id
|
||||||
|
DEF STRUCT_FIELD EQUS "\1_field{d:\2}" ; prefix for other EQUS
|
||||||
|
DEF STRUCT_FIELD_NAME EQUS "{STRUCT_FIELD}_name" ; field's name
|
||||||
|
DEF STRUCT_FIELD_TYPE EQUS "{STRUCT_FIELD}_type" ; type ("b", "l", or "l")
|
||||||
|
DEF STRUCT_FIELD_SIZE EQUS "{STRUCT_FIELD}_size" ; sizeof(type) * nb_el
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
; Purges the variables defined by `get_nth_field_info`.
|
||||||
|
; Used internally by `new_field` and `dstruct`.
|
||||||
|
DEF purge_nth_field_info equs "PURGE STRUCT_FIELD, STRUCT_FIELD_NAME, STRUCT_FIELD_TYPE, STRUCT_FIELD_SIZE"
|
||||||
|
|
||||||
|
; Defines a field with a given RS type (`rb`, `rw`, or `rl`).
|
||||||
|
; Used internally by `bytes`, `words`, and `longs`.
|
||||||
|
MACRO new_field ; rs_type, nb_elems, field_name
|
||||||
|
IF !DEF(STRUCT_NAME) || !DEF(NB_FIELDS)
|
||||||
|
FAIL "Please start defining a struct, using `struct`"
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
get_nth_field_info {STRUCT_NAME}, NB_FIELDS
|
||||||
|
|
||||||
|
; Set field name
|
||||||
|
DEF {STRUCT_FIELD_NAME} EQUS "\3"
|
||||||
|
; Set field offset
|
||||||
|
DEF {STRUCT_FIELD} \1 (\2)
|
||||||
|
IF DEF(STRUCTS_EXPORT_CONSTANTS)
|
||||||
|
EXPORT {STRUCT_FIELD}
|
||||||
|
ENDC
|
||||||
|
; Alias this in a human-comprehensible manner
|
||||||
|
DEF {STRUCT_NAME}_\3 EQU {STRUCT_FIELD}
|
||||||
|
; Compute field size
|
||||||
|
DEF {STRUCT_FIELD_SIZE} EQU _RS - {STRUCT_FIELD}
|
||||||
|
; Set properties
|
||||||
|
DEF {STRUCT_FIELD_TYPE} EQUS STRSUB("\1", 2, 1)
|
||||||
|
|
||||||
|
purge_nth_field_info
|
||||||
|
|
||||||
|
DEF NB_FIELDS += 1
|
||||||
|
IF \2 != 0
|
||||||
|
DEF NB_NONALIASES += 1
|
||||||
|
ENDC
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
; Strips whitespace from the left of a string.
|
||||||
|
; Used internally by `dstruct`.
|
||||||
|
MACRO lstrip ; string_variable
|
||||||
|
FOR START_POS, 1, STRLEN("{\1}") + 1
|
||||||
|
IF !STRIN(" \t", STRSUB("{\1}", START_POS, 1))
|
||||||
|
BREAK
|
||||||
|
ENDC
|
||||||
|
ENDR
|
||||||
|
REDEF \1 EQUS STRSUB("{\1}", START_POS)
|
||||||
|
PURGE START_POS
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
; Allocates space for a struct in memory.
|
||||||
|
; If no further arguments are supplied, the space is allocated using `ds`.
|
||||||
|
; Otherwise, the data is written to memory using the appropriate types.
|
||||||
|
; For example, a struct defined with `bytes 1, Field1` and `words 3, Field2`
|
||||||
|
; could take four extra arguments, one byte then three words.
|
||||||
|
; Each such argument would have an equal sign between the name and value.
|
||||||
|
MACRO dstruct ; struct_type, instance_name[, ...]
|
||||||
|
IF !DEF(\1_nb_fields)
|
||||||
|
FAIL "Struct \1 isn't defined!"
|
||||||
|
ELIF _NARG != 2 && _NARG != 2 + \1_nb_nonaliases
|
||||||
|
; We must have either a RAM declaration (no data args)
|
||||||
|
; or a ROM one (RAM args + data args)
|
||||||
|
FAIL STRFMT("Expected 2 or %u args to `dstruct`, but got {d:_NARG}", 2 + \1_nb_nonaliases)
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
; RGBASM always expands macro args, so `IF _NARG > 2 && STRIN("\3", "=")`
|
||||||
|
; would error out when there are only two args.
|
||||||
|
; Therefore, the condition is checked here (we can't nest the `IF`s over
|
||||||
|
; there because that would require a duplicated `ELSE`).
|
||||||
|
DEF IS_NAMED_INSTANTIATION = 0
|
||||||
|
IF _NARG > 2
|
||||||
|
REDEF IS_NAMED_INSTANTIATION = STRIN("\3", "=")
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
IF IS_NAMED_INSTANTIATION
|
||||||
|
; This is a named instantiation; translate that to an ordered one.
|
||||||
|
; This is needed because data has to be laid out in order, so some translation is needed anyway.
|
||||||
|
; And finally, I believe it's better to re-use the existing code at the cost of a single nested macro.
|
||||||
|
|
||||||
|
FOR ARG_NUM, 3, _NARG + 1
|
||||||
|
; Remove leading whitespace to obtain something like ".name=value"
|
||||||
|
; (this enables a simple check for starting with a period)
|
||||||
|
REDEF CUR_ARG EQUS "\<ARG_NUM>"
|
||||||
|
lstrip CUR_ARG
|
||||||
|
|
||||||
|
; Ensure that the argument has a name and a value,
|
||||||
|
; separated by an equal sign
|
||||||
|
DEF EQUAL_POS = STRIN("{CUR_ARG}", "=")
|
||||||
|
IF !EQUAL_POS
|
||||||
|
FAIL "\"{CUR_ARG}\" is not a named initializer!"
|
||||||
|
ELIF STRCMP(STRSUB("{CUR_ARG}", 1, 1), ".")
|
||||||
|
FAIL "\"{CUR_ARG}\" does not start with a period!"
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
; Find out which field the current argument is
|
||||||
|
FOR FIELD_ID, \1_nb_fields
|
||||||
|
IF !STRCMP(STRSUB("{CUR_ARG}", 2, EQUAL_POS - 2), "{\1_field{d:FIELD_ID}_name}")
|
||||||
|
IF \1_field{d:FIELD_ID}_size == 0
|
||||||
|
FAIL "Cannot initialize an alias"
|
||||||
|
ENDC
|
||||||
|
BREAK ; Match found!
|
||||||
|
ENDC
|
||||||
|
ENDR
|
||||||
|
|
||||||
|
IF FIELD_ID == \1_nb_fields
|
||||||
|
FAIL "\"{CUR_ARG}\" does not match any member of \1"
|
||||||
|
ELIF DEF(FIELD_{d:FIELD_ID}_INITIALIZER)
|
||||||
|
FAIL "\"{CUR_ARG}\" conflicts with \"{FIELD_{d:FIELD_ID}_ARG}\""
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
; Save the argument to report in case a later argument conflicts with it
|
||||||
|
DEF FIELD_{d:FIELD_ID}_ARG EQUS "{CUR_ARG}"
|
||||||
|
|
||||||
|
; Escape any commas in a multi-byte argument initializer so it can
|
||||||
|
; be passed as one argument to the nested ordered instantiation
|
||||||
|
DEF FIELD_{d:FIELD_ID}_INITIALIZER EQUS STRRPL(STRSUB("{CUR_ARG}", EQUAL_POS + 1), ",", "\\,")
|
||||||
|
ENDR
|
||||||
|
PURGE ARG_NUM, CUR_ARG
|
||||||
|
|
||||||
|
; Now that we matched each named initializer to their order,
|
||||||
|
; invoke the macro again but without names
|
||||||
|
DEF ORDERED_ARGS EQUS "\1, \2"
|
||||||
|
FOR FIELD_ID, \1_nb_fields
|
||||||
|
IF \1_field{d:FIELD_ID}_size != 0
|
||||||
|
REDEF ORDERED_ARGS EQUS "{ORDERED_ARGS}, {FIELD_{d:FIELD_ID}_INITIALIZER}"
|
||||||
|
PURGE FIELD_{d:FIELD_ID}_ARG, FIELD_{d:FIELD_ID}_INITIALIZER
|
||||||
|
ENDC
|
||||||
|
ENDR
|
||||||
|
PURGE FIELD_ID
|
||||||
|
|
||||||
|
; Do the nested ordered instantiation
|
||||||
|
dstruct {ORDERED_ARGS} ; purges IS_NAMED_INSTANTIATION
|
||||||
|
PURGE ORDERED_ARGS
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
; This is an ordered instantiation, not a named one.
|
||||||
|
|
||||||
|
; Define the struct's root label
|
||||||
|
\2::
|
||||||
|
|
||||||
|
IF DEF(STRUCT_SEPARATOR)
|
||||||
|
DEF DSTRUCT_SEPARATOR equs "{STRUCT_SEPARATOR}"
|
||||||
|
ELSE
|
||||||
|
DEF DSTRUCT_SEPARATOR equs "_"
|
||||||
|
ENDC
|
||||||
|
; Define each field
|
||||||
|
DEF ARG_NUM = 3
|
||||||
|
FOR FIELD_ID, \1_nb_fields
|
||||||
|
get_nth_field_info \1, FIELD_ID
|
||||||
|
|
||||||
|
; Define the label for the field
|
||||||
|
\2_{{STRUCT_FIELD_NAME}}::
|
||||||
|
|
||||||
|
IF STRUCT_FIELD_SIZE != 0 ; Skip aliases
|
||||||
|
; Declare the space for the field
|
||||||
|
IF ARG_NUM <= _NARG
|
||||||
|
; ROM declaration; use `db`, `dw`, or `dl`
|
||||||
|
d{{STRUCT_FIELD_TYPE}} \<ARG_NUM>
|
||||||
|
REDEF ARG_NUM = ARG_NUM + 1
|
||||||
|
ENDC
|
||||||
|
; Add padding as necessary after the provided initializer
|
||||||
|
; (possibly all of it, especially for RAM use)
|
||||||
|
IF {STRUCT_FIELD_SIZE} < @ - \2_{{STRUCT_FIELD_NAME}}
|
||||||
|
FAIL STRFMT("Initializer for %s is %u bytes, expected %u at most", "\2_{{STRUCT_FIELD_NAME}}", @ - \2_{{STRUCT_FIELD_NAME}}, {STRUCT_FIELD_SIZE})
|
||||||
|
ENDC
|
||||||
|
ds {STRUCT_FIELD_SIZE} - (@ - \2_{{STRUCT_FIELD_NAME}})
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
purge_nth_field_info
|
||||||
|
ENDR
|
||||||
|
PURGE FIELD_ID, ARG_NUM, DSTRUCT_SEPARATOR
|
||||||
|
|
||||||
|
; Define instance's properties from struct's
|
||||||
|
DEF \2_nb_fields EQU \1_nb_fields
|
||||||
|
DEF sizeof_\2 EQU @ - (\2)
|
||||||
|
structs_assert sizeof_\1 == sizeof_\2
|
||||||
|
|
||||||
|
IF DEF(STRUCTS_EXPORT_CONSTANTS)
|
||||||
|
EXPORT \2_nb_fields, sizeof_\2
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
PURGE IS_NAMED_INSTANTIATION
|
||||||
|
ENDC
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
; Allocates space for an array of structs in memory.
|
||||||
|
; Each struct will have the index appended to its name **as decimal**.
|
||||||
|
; For example: `dstructs 32, NPC, wNPC` will define `wNPC0`, `wNPC1`, and so on until `wNPC31`.
|
||||||
|
; This is a change from the previous version of rgbds-structs, where the index was uppercase hexadecimal.
|
||||||
|
; Does not support data declarations because I think each struct should be defined individually for that purpose.
|
||||||
|
MACRO dstructs ; nb_structs, struct_type, instance_name
|
||||||
|
IF _NARG != 3
|
||||||
|
FAIL "`dstructs` only takes 3 arguments!"
|
||||||
|
ENDC
|
||||||
|
|
||||||
|
FOR STRUCT_ID, \1
|
||||||
|
dstruct \2, \3{d:STRUCT_ID}
|
||||||
|
ENDR
|
||||||
|
PURGE STRUCT_ID
|
||||||
|
ENDM
|
|
@ -0,0 +1,126 @@
|
||||||
|
INCLUDE "globals.asm"
|
||||||
|
INCLUDE "memcpy.asm"
|
||||||
|
INCLUDE "hardwarectl.asm"
|
||||||
|
INCLUDE "interrupts.asm"
|
||||||
|
INCLUDE "res/tiles.inc"
|
||||||
|
INCLUDE "res/gameplay_map.inc"
|
||||||
|
|
||||||
|
SECTION "Code Entry Point", ROM0
|
||||||
|
MainEntryPoint::
|
||||||
|
; Turn off LCD during initialization.
|
||||||
|
call DisableLCD
|
||||||
|
call DisableAudio
|
||||||
|
|
||||||
|
; We use a single set of tiles for the entire game, so we copy it at the start.
|
||||||
|
ld de, Tiles
|
||||||
|
ld hl, $9000
|
||||||
|
ld bc, TilesEnd - Tiles
|
||||||
|
call UnsafeMemCopy
|
||||||
|
|
||||||
|
; The tilemap is just for testing for now.
|
||||||
|
ld de, GameplayTilemap
|
||||||
|
ld hl, $9800
|
||||||
|
ld bc, GameplayTilemapEnd - GameplayTilemap
|
||||||
|
call UnsafeMemCopy
|
||||||
|
|
||||||
|
ld a, PALETTE_REGULAR
|
||||||
|
call SetBGPalette
|
||||||
|
|
||||||
|
call InitializeVariables
|
||||||
|
call InitializeLCDCInterrupt
|
||||||
|
|
||||||
|
; And turn it back on before we start.
|
||||||
|
call EnableLCD
|
||||||
|
|
||||||
|
; Make sure the first game loop starts just like all the future ones.
|
||||||
|
wait_vblank
|
||||||
|
wait_vblank_end
|
||||||
|
|
||||||
|
|
||||||
|
GameLoop::
|
||||||
|
call GetInput
|
||||||
|
call HandleTimers
|
||||||
|
|
||||||
|
ld bc, 20*10
|
||||||
|
ld hl, wField
|
||||||
|
: ld a, [wFill]
|
||||||
|
ld [hl+], a
|
||||||
|
dec bc
|
||||||
|
ld a, b
|
||||||
|
or a, c
|
||||||
|
jp nz, :-
|
||||||
|
|
||||||
|
ld a, [wFill]
|
||||||
|
inc a
|
||||||
|
ld [wFill], a
|
||||||
|
|
||||||
|
; Handle gameplay here
|
||||||
|
; TODO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
GameLoopEnd:
|
||||||
|
wait_vblank
|
||||||
|
call BlitField
|
||||||
|
jp GameLoop
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; *****************************************************************************
|
||||||
|
; * *
|
||||||
|
; * Functions *
|
||||||
|
; * *
|
||||||
|
; *****************************************************************************
|
||||||
|
SECTION "Functions", ROM0
|
||||||
|
InitializeVariables:
|
||||||
|
xor a, a
|
||||||
|
ld [wLCDCCtr], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
BlitField:
|
||||||
|
; The first 16 rows can be blitted without checking for vram access.
|
||||||
|
ld de, wField
|
||||||
|
DEF row = 0
|
||||||
|
REPT 16
|
||||||
|
ld hl, FIELD_ROW_1+(32*row)
|
||||||
|
REPT 10
|
||||||
|
ld a, [de]
|
||||||
|
ld [hl+], a
|
||||||
|
inc de
|
||||||
|
ENDR
|
||||||
|
DEF row += 1
|
||||||
|
ENDR
|
||||||
|
|
||||||
|
; The last 4 rows need some care.
|
||||||
|
REPT 4
|
||||||
|
ld hl, FIELD_ROW_1+(32*row)
|
||||||
|
REPT 2
|
||||||
|
: ldh a, [rSTAT]
|
||||||
|
and STATF_LCD
|
||||||
|
cp STATF_HBL
|
||||||
|
jr z, :-
|
||||||
|
: ldh a, [rSTAT]
|
||||||
|
and STATF_LCD
|
||||||
|
cp STATF_HBL
|
||||||
|
jr nz, :-
|
||||||
|
REPT 5
|
||||||
|
ld a, [de]
|
||||||
|
ld [hl+], a
|
||||||
|
inc de
|
||||||
|
ENDR
|
||||||
|
ENDR
|
||||||
|
DEF row += 1
|
||||||
|
ENDR
|
||||||
|
ret
|
||||||
|
|
||||||
|
GetInput:
|
||||||
|
ret
|
||||||
|
|
||||||
|
HandleTimers:
|
||||||
|
ld a, [wEvenFrame]
|
||||||
|
inc a
|
||||||
|
and 1
|
||||||
|
ld [wEvenFrame], a
|
||||||
|
ret
|
|
@ -0,0 +1,6 @@
|
||||||
|
SECTION "Build date", ROM0
|
||||||
|
|
||||||
|
db "Built "
|
||||||
|
BuildDate::
|
||||||
|
db __ISO_8601_UTC__
|
||||||
|
db 0
|
Binary file not shown.
|
@ -0,0 +1,24 @@
|
||||||
|
SECTION "Gameplay Tilemap", ROM0
|
||||||
|
GameplayTilemap::
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$44,$42,$42,$42,$42,$42,$42,$43, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$57,$4E,$61,$5D,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$48,$42,$42,$42,$42,$42,$42,$47, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$51,$58,$55,$4D,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$48,$42,$42,$42,$42,$42,$42,$47, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$5C,$4C,$58,$5B,$4E,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$48,$42,$42,$42,$42,$42,$42,$47, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$55,$4E,$5F,$4E,$55,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$08,$08,$08,$08,$08,$08,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $02,$07,$07,$07,$07,$07,$07,$07,$07,$07,$07,$03,$49,$01,$01,$01,$01,$01,$01,$49, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
DB $05,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$06,$46,$42,$42,$42,$42,$42,$42,$45, 0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
GameplayTilemapEnd::
|
Binary file not shown.
|
@ -0,0 +1,259 @@
|
||||||
|
SECTION "Tile data", ROM0
|
||||||
|
Tiles::
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $67,$1F,$67,$1F,$67,$1F,$67,$1F
|
||||||
|
DB $67,$1F,$67,$1F,$67,$1F,$00,$00
|
||||||
|
DB $E6,$F8,$E6,$F8,$E6,$F8,$E6,$F8
|
||||||
|
DB $E6,$F8,$E6,$F8,$E6,$F8,$00,$00
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$FF
|
||||||
|
DB $00,$FF,$FF,$00,$FF,$00,$00,$00
|
||||||
|
DB $67,$1F,$67,$1F,$67,$1F,$60,$1F
|
||||||
|
DB $60,$1F,$7F,$00,$7F,$00,$00,$00
|
||||||
|
DB $E6,$F8,$E6,$F8,$E6,$F8,$06,$F8
|
||||||
|
DB $06,$F8,$FE,$00,$FE,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$01,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$FF,$FF,$FF
|
||||||
|
DB $00,$FF,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $80,$80,$E0,$E0,$F8,$F8,$FE,$FE
|
||||||
|
DB $F8,$F8,$E0,$E0,$80,$80,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$66,$BD,$66,$BD
|
||||||
|
DB $66,$BD,$7E,$99,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$6C,$93,$5A,$A5
|
||||||
|
DB $36,$C9,$6C,$93,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$3C,$81,$00,$81
|
||||||
|
DB $3C,$81,$00,$BD,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$5A,$A5,$7E,$81
|
||||||
|
DB $5A,$A5,$3C,$C3,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$42,$BD,$42,$BD
|
||||||
|
DB $42,$BD,$5A,$A5,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$7E,$81,$7E,$81
|
||||||
|
DB $7E,$81,$7E,$81,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$2A,$D5,$54,$AB
|
||||||
|
DB $2A,$D5,$54,$AB,$00,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$FF,$99,$E7,$BD,$E7,$BD
|
||||||
|
DB $E7,$BD,$FF,$99,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$B7,$C9,$ED,$93,$DB,$A5
|
||||||
|
DB $B7,$C9,$ED,$93,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$81,$BD,$BD,$81,$81,$81
|
||||||
|
DB $BD,$81,$81,$BD,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$BD,$C3,$DB,$A5,$FF,$81
|
||||||
|
DB $DB,$A5,$BD,$C3,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$DB,$A5,$C3,$BD,$C3,$BD
|
||||||
|
DB $C3,$BD,$DB,$A5,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$FF,$81,$FF,$81,$FF,$81
|
||||||
|
DB $FF,$81,$FF,$81,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$D5,$AB,$AB,$D5,$D5,$AB
|
||||||
|
DB $AB,$D5,$D5,$AB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$66,$BD,$66,$BD
|
||||||
|
DB $66,$BD,$FE,$BB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$6C,$93,$5A,$A5
|
||||||
|
DB $36,$C9,$EE,$BB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$3C,$81,$00,$81
|
||||||
|
DB $3C,$81,$AA,$BF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$5A,$A5,$7E,$81
|
||||||
|
DB $5A,$A5,$BE,$EB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$42,$BD,$42,$BD
|
||||||
|
DB $42,$BD,$FA,$AF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$7E,$81,$7E,$81
|
||||||
|
DB $7E,$81,$FE,$AB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$2A,$D5,$54,$AB
|
||||||
|
DB $2A,$D5,$FE,$AB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$66,$BD,$66,$BD
|
||||||
|
DB $EE,$BF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$6C,$93,$5A,$A5
|
||||||
|
DB $BE,$EB,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$3C,$81,$00,$81
|
||||||
|
DB $BE,$AB,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$5A,$A5,$7E,$81
|
||||||
|
DB $FA,$AF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$42,$BD,$42,$BD
|
||||||
|
DB $EA,$BF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$7E,$81,$7E,$81
|
||||||
|
DB $FE,$AB,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$2A,$D5,$54,$AB
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$66,$BD,$EE,$BF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$6C,$93,$FA,$AF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$3C,$81,$AA,$AB
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$5A,$A5,$FE,$AB
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$42,$BD,$EA,$BF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$7E,$81,$FE,$AB
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$2A,$D5,$FE,$AB
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$EE,$BF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$EE,$BB,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$BE,$AB,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$FA,$AF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$EA,$BF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$FE,$AB,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$AA,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$FE,$BB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$BE,$EB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$AA,$BF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$BE,$EB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$FA,$AF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$FE,$AB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$FE,$AB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$FF,$FF,$FF,$00
|
||||||
|
DB $FF,$FF,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$F0,$F0,$F8,$08
|
||||||
|
DB $FC,$E4,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$07,$07,$0F,$08
|
||||||
|
DB $1F,$13,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$FC,$E4,$F8,$08
|
||||||
|
DB $F0,$F0,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$1F,$13,$0F,$08
|
||||||
|
DB $07,$07,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$FC,$E4,$F8,$08
|
||||||
|
DB $FC,$E4,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$1F,$13,$0F,$08
|
||||||
|
DB $1F,$13,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$1C,$14,$1C,$14
|
||||||
|
DB $1C,$14,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $38,$38,$6C,$6C,$C6,$C6,$FE,$FE
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $FC,$FC,$C6,$C6,$C6,$C6,$FC,$FC
|
||||||
|
DB $C6,$C6,$C6,$C6,$FC,$FC,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C0,$C0,$C0,$C0
|
||||||
|
DB $C0,$C0,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $FC,$FC,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $C6,$C6,$C6,$C6,$FC,$FC,$00,$00
|
||||||
|
DB $FE,$FE,$C0,$C0,$C0,$C0,$F8,$F8
|
||||||
|
DB $C0,$C0,$C0,$C0,$FE,$FE,$00,$00
|
||||||
|
DB $FE,$FE,$C0,$C0,$C0,$C0,$F8,$F8
|
||||||
|
DB $C0,$C0,$C0,$C0,$C0,$C0,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C0,$C0,$CE,$CE
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$FE,$FE
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $60,$60,$60,$60,$60,$60,$60,$60
|
||||||
|
DB $60,$60,$60,$60,$60,$60,$00,$00
|
||||||
|
DB $0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C
|
||||||
|
DB $CC,$CC,$CC,$CC,$78,$78,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$CC,$CC,$F8,$F8
|
||||||
|
DB $CC,$CC,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $60,$60,$60,$60,$60,$60,$60,$60
|
||||||
|
DB $60,$60,$60,$60,$7C,$7C,$00,$00
|
||||||
|
DB $C6,$C6,$EE,$EE,$FE,$FE,$D6,$D6
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $C6,$C6,$E6,$E6,$F6,$F6,$DE,$DE
|
||||||
|
DB $CE,$CE,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $FC,$FC,$C6,$C6,$C6,$C6,$FC,$FC
|
||||||
|
DB $C0,$C0,$C0,$C0,$C0,$C0,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $D6,$D6,$DE,$DE,$7C,$7C,$00,$00
|
||||||
|
DB $FC,$FC,$C6,$C6,$C6,$C6,$FC,$FC
|
||||||
|
DB $F8,$F8,$DC,$DC,$CE,$CE,$00,$00
|
||||||
|
DB $7E,$7E,$C0,$C0,$C0,$C0,$7C,$7C
|
||||||
|
DB $06,$06,$06,$06,$FC,$FC,$00,$00
|
||||||
|
DB $FC,$FC,$30,$30,$30,$30,$30,$30
|
||||||
|
DB $30,$30,$30,$30,$30,$30,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$6C,$6C,$6C,$6C
|
||||||
|
DB $6C,$6C,$38,$38,$38,$38,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $D6,$D6,$D6,$D6,$6C,$6C,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$6C,$6C,$38,$38
|
||||||
|
DB $6C,$6C,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $C6,$C6,$EE,$EE,$7C,$7C,$38,$38
|
||||||
|
DB $70,$70,$E0,$E0,$C0,$C0,$00,$00
|
||||||
|
DB $FE,$FE,$0C,$0C,$18,$18,$30,$30
|
||||||
|
DB $60,$60,$C0,$C0,$FE,$FE,$00,$00
|
||||||
|
DB $7C,$7C,$CE,$CE,$D6,$D6,$D6,$D6
|
||||||
|
DB $D6,$D6,$E6,$E6,$7C,$7C,$00,$00
|
||||||
|
DB $38,$38,$78,$78,$D8,$D8,$18,$18
|
||||||
|
DB $18,$18,$18,$18,$18,$18,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$0C,$0C
|
||||||
|
DB $38,$38,$E0,$E0,$FE,$FE,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$06,$06,$0C,$0C
|
||||||
|
DB $06,$06,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $1C,$1C,$3C,$3C,$6C,$6C,$CC,$CC
|
||||||
|
DB $FE,$FE,$0C,$0C,$0C,$0C,$00,$00
|
||||||
|
DB $FE,$FE,$C0,$C0,$C0,$C0,$FC,$FC
|
||||||
|
DB $06,$06,$06,$06,$FC,$FC,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C0,$C0,$FC,$FC
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $FE,$FE,$0C,$0C,$18,$18,$18,$18
|
||||||
|
DB $30,$30,$30,$30,$30,$30,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$7C,$7C
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$7E,$7E
|
||||||
|
DB $06,$06,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $00,$7C,$00,$CE,$00,$D6,$00,$D6
|
||||||
|
DB $00,$D6,$00,$E6,$00,$7C,$00,$00
|
||||||
|
DB $00,$38,$00,$78,$00,$D8,$00,$18
|
||||||
|
DB $00,$18,$00,$18,$00,$18,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$C6,$00,$0C
|
||||||
|
DB $00,$38,$00,$E0,$00,$FE,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$06,$00,$0C
|
||||||
|
DB $00,$06,$00,$C6,$00,$7C,$00,$00
|
||||||
|
DB $00,$1C,$00,$3C,$00,$6C,$00,$CC
|
||||||
|
DB $00,$FE,$00,$0C,$00,$0C,$00,$00
|
||||||
|
DB $00,$FE,$00,$C0,$00,$C0,$00,$FC
|
||||||
|
DB $00,$06,$00,$06,$00,$FC,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$C0,$00,$FC
|
||||||
|
DB $00,$C6,$00,$C6,$00,$7C,$00,$00
|
||||||
|
DB $00,$FE,$00,$0C,$00,$18,$00,$18
|
||||||
|
DB $00,$30,$00,$30,$00,$30,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$C6,$00,$7C
|
||||||
|
DB $00,$C6,$00,$C6,$00,$7C,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$C6,$00,$7E
|
||||||
|
DB $00,$06,$00,$C6,$00,$7C,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
TilesEnd::
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,253 @@
|
||||||
|
#Emulicious settings file
|
||||||
|
#Tue Oct 10 08:21:37 CEST 2023
|
||||||
|
SouthPanelHeight=635
|
||||||
|
GameBoyErrorBreakpointMessage6=
|
||||||
|
GameBoyErrorBreakpointMessage5=
|
||||||
|
InterruptBreakpointEnabled=false
|
||||||
|
GameBoyErrorBreakpointMessage4=
|
||||||
|
GameBoyErrorBreakpointEnabled19=false
|
||||||
|
GameBoyErrorBreakpointMessage3=
|
||||||
|
DebuggerHideCpuUsageGraph=false
|
||||||
|
RomDir=C\:\\workspace\\dmgtris\\bin
|
||||||
|
GameBoyErrorBreakpointEnabled18=false
|
||||||
|
GameBoyErrorBreakpointMessage2=
|
||||||
|
GameBoyErrorBreakpointEnabled17=false
|
||||||
|
GameBoyErrorBreakpointMessage1=
|
||||||
|
GameBoyErrorBreakpointEnabled16=false
|
||||||
|
Key19=72
|
||||||
|
GameBoyErrorBreakpointMessage0=
|
||||||
|
Key18=71
|
||||||
|
Key17=76
|
||||||
|
Key16=74
|
||||||
|
GameBoyErrorBreakpointEnabled9=false
|
||||||
|
DebuggerEventFiltersGameBoy=
|
||||||
|
Key15=75
|
||||||
|
GameBoyErrorBreakpointEnabled8=false
|
||||||
|
Key14=73
|
||||||
|
GameBoyErrorBreakpointEnabled7=false
|
||||||
|
GameBoyErrorBreakpointEnabled10=true
|
||||||
|
Gamepad0Key9=-1
|
||||||
|
Key13=83
|
||||||
|
GameBoyErrorBreakpointEnabled6=false
|
||||||
|
WindowEventViewerWindowHeight=861
|
||||||
|
Gamepad0Key8=-1
|
||||||
|
Key12=65
|
||||||
|
GameBoyErrorBreakpointEnabled5=false
|
||||||
|
Gamepad0Key7=-1
|
||||||
|
Key11=39
|
||||||
|
GameBoyErrorBreakpointEnabled4=false
|
||||||
|
Gamepad0Key6=-1
|
||||||
|
Key10=37
|
||||||
|
GameBoyErrorBreakpointEnabled3=false
|
||||||
|
Gamepad0Key5=-1
|
||||||
|
GameBoyErrorBreakpointEnabled2=false
|
||||||
|
Gamepad0Key4=-1
|
||||||
|
GameBoyErrorBreakpointEnabled1=false
|
||||||
|
Gamepad0Key3=-1
|
||||||
|
GameBoyErrorBreakpointEnabled0=false
|
||||||
|
Gamepad0Key2=-1
|
||||||
|
Gamepad0Key1=-1
|
||||||
|
AudioSync=false
|
||||||
|
Gamepad0Key0=-1
|
||||||
|
WindowTilemapViewerOpen=true
|
||||||
|
SMSInputDeviceB=1
|
||||||
|
SMSInputDeviceA=1
|
||||||
|
DataExecutionBreakpointEnabled=false
|
||||||
|
GameBoyErrorBreakpointCondition32=
|
||||||
|
WindowEventViewerWindowY=489
|
||||||
|
WindowEventViewerWindowX=1472
|
||||||
|
DebuggerWestPanelSelectedTab=0
|
||||||
|
Gamepad0Key37=-1
|
||||||
|
Gamepad0Key36=-1
|
||||||
|
SMSbuttonsGamepad=-1
|
||||||
|
Gamepad0Key35=-1
|
||||||
|
GameBoyErrorBreakpointCondition20=
|
||||||
|
Gamepad0Key34=-1
|
||||||
|
Gamepad0Key33=-1
|
||||||
|
Gamepad0Key32=-1
|
||||||
|
Gamepad0Key31=-1
|
||||||
|
Gamepad0Key30=-1
|
||||||
|
DebuggerSouthPanelSelectedTab=0
|
||||||
|
StackWidth=940
|
||||||
|
SMSGamepadAKeyboard=false
|
||||||
|
GameBoyErrorBreakpointCondition19=
|
||||||
|
GameBoyErrorBreakpointCondition18=
|
||||||
|
GameBoyErrorBreakpointCondition17=
|
||||||
|
GameBoyErrorBreakpointCondition16=
|
||||||
|
Gamepad0Key29=-1
|
||||||
|
Gamepad0Key28=-1
|
||||||
|
Gamepad0Key27=-1
|
||||||
|
Gamepad0Key26=-1
|
||||||
|
Gamepad0Key25=-1
|
||||||
|
GameBoyErrorBreakpointCondition10=
|
||||||
|
GBGamepadThreshold=50
|
||||||
|
InterruptBreakpointSuspend=true
|
||||||
|
Gamepad0Key24=-1
|
||||||
|
Gamepad0Key23=-1
|
||||||
|
Gamepad0Key22=-1
|
||||||
|
Gamepad0Key21=-1
|
||||||
|
Gamepad0Key20=-1
|
||||||
|
UninitializedMemoryBreakpointEnabled=false
|
||||||
|
Gamepad0Key19=-1
|
||||||
|
WindowDebuggerHeight=987
|
||||||
|
Gamepad0Key18=-1
|
||||||
|
Gamepad0Key17=-1
|
||||||
|
Gamepad0Key16=-1
|
||||||
|
Gamepad0Key15=-1
|
||||||
|
Gamepad0Key14=-1
|
||||||
|
Gamepad0Key13=-1
|
||||||
|
Gamepad0Key12=-1
|
||||||
|
Gamepad0Key11=-1
|
||||||
|
KeyboardRequireWindowFocus=true
|
||||||
|
Gamepad0Key10=-1
|
||||||
|
DataExecutionBreakpointSuspend=true
|
||||||
|
SMSbuttonsKeyboard=false
|
||||||
|
GBGamepad=-1
|
||||||
|
WindowEventViewerWindowOpen=true
|
||||||
|
StretchToWindow=false
|
||||||
|
Gamepad1Key37=-1
|
||||||
|
Gamepad1Key36=-1
|
||||||
|
DebuggerHideToolbar=false
|
||||||
|
Gamepad1Key35=-1
|
||||||
|
Gamepad1Key34=-1
|
||||||
|
Gamepad1Key33=-1
|
||||||
|
Gamepad1Key32=-1
|
||||||
|
Gamepad1Key31=-1
|
||||||
|
Gamepad1Key30=-1
|
||||||
|
InterruptBreakpointCondition=
|
||||||
|
SMSGamepadAThreshold=50
|
||||||
|
Gamepad1Key29=-1
|
||||||
|
Gamepad1Key28=-1
|
||||||
|
WindowDebuggerOpen=false
|
||||||
|
Gamepad1Key27=-1
|
||||||
|
Gamepad1Key26=-1
|
||||||
|
SMSGamepadB=-1
|
||||||
|
Gamepad1Key25=-1
|
||||||
|
SMSGamepadA=-1
|
||||||
|
Gamepad1Key24=-1
|
||||||
|
EventViewerEventFiltersGameBoy=
|
||||||
|
Gamepad1Key23=-1
|
||||||
|
Gamepad1Key22=-1
|
||||||
|
Gamepad1Key21=-1
|
||||||
|
Gamepad1Key20=-1
|
||||||
|
StackSplitLocation=320
|
||||||
|
FontSize=13
|
||||||
|
WindowEmuliciousHeight=781
|
||||||
|
CodeFontSize=13
|
||||||
|
WindowTilemapViewerY=544
|
||||||
|
GBGamepadKeyboard=false
|
||||||
|
UninitializedMemoryBreakpointSuspend=true
|
||||||
|
WindowTilemapViewerX=1013
|
||||||
|
SMSGamepadBKeyboard=false
|
||||||
|
DebuggerConsoleLogBreakpoints=true
|
||||||
|
SMSGamepadBThreshold=50
|
||||||
|
Gamepad1Key19=-1
|
||||||
|
Gamepad1Key18=-1
|
||||||
|
BankSwapAtPCBreakpointEnabled=false
|
||||||
|
Gamepad1Key17=-1
|
||||||
|
Gamepad1Key16=-1
|
||||||
|
Gamepad1Key15=-1
|
||||||
|
Recent0=C\:\\workspace\\dmgtris\\bin\\out.gb
|
||||||
|
GameBoyErrorBreakpointSuspend32=true
|
||||||
|
Gamepad1Key14=-1
|
||||||
|
Gamepad1Key13=-1
|
||||||
|
Gamepad1Key12=-1
|
||||||
|
Gamepad1Key11=-1
|
||||||
|
GameBoyErrorBreakpointSuspend9=true
|
||||||
|
Gamepad1Key10=-1
|
||||||
|
GameBoyErrorBreakpointSuspend8=true
|
||||||
|
GameBoyErrorBreakpointSuspend7=true
|
||||||
|
GameBoyErrorBreakpointSuspend6=true
|
||||||
|
GameBoyErrorBreakpointSuspend5=true
|
||||||
|
GameBoyErrorBreakpointSuspend4=true
|
||||||
|
GameBoyErrorBreakpointSuspend3=true
|
||||||
|
GameBoyErrorBreakpointSuspend2=true
|
||||||
|
GameBoyErrorBreakpointSuspend1=true
|
||||||
|
GameBoyErrorBreakpointSuspend0=true
|
||||||
|
Scale=5.0
|
||||||
|
DebuggerMemorySelectedAddress=0
|
||||||
|
WindowEmuliciousWidth=816
|
||||||
|
GameBoyErrorBreakpointSuspend20=true
|
||||||
|
DataExecutionBreakpointCondition=
|
||||||
|
GameBoyErrorBreakpointMessage32=
|
||||||
|
BankSwapAtPCBreakpointCondition=
|
||||||
|
WindowTilemapViewerWidth=404
|
||||||
|
SMSbuttonsThreshold=50
|
||||||
|
Gamepad1Key9=-1
|
||||||
|
Gamepad1Key8=-1
|
||||||
|
UninitializedMemoryBreakpointCondition=
|
||||||
|
Gamepad1Key7=-1
|
||||||
|
GameBoyErrorBreakpointSuspend19=true
|
||||||
|
Gamepad1Key6=-1
|
||||||
|
GameBoyErrorBreakpointSuspend18=true
|
||||||
|
Gamepad1Key5=-1
|
||||||
|
GameBoyErrorBreakpointSuspend17=true
|
||||||
|
Gamepad1Key4=-1
|
||||||
|
GameBoyErrorBreakpointSuspend16=true
|
||||||
|
Gamepad1Key3=-1
|
||||||
|
Gamepad1Key2=-1
|
||||||
|
Gamepad1Key1=-1
|
||||||
|
Gamepad1Key0=-1
|
||||||
|
GameBoyErrorBreakpointSuspend10=true
|
||||||
|
WindowTilemapViewerHeight=744
|
||||||
|
WindowEventViewerWindowDivider=309
|
||||||
|
GameBoyErrorBreakpointMessage20=
|
||||||
|
WindowDebuggerY=158
|
||||||
|
WindowDebuggerX=939
|
||||||
|
Key37=-1
|
||||||
|
Key36=-1
|
||||||
|
Key35=-1
|
||||||
|
GameBoyErrorBreakpointCondition9=
|
||||||
|
GameBoyErrorBreakpointEnabled32=false
|
||||||
|
Key34=-1
|
||||||
|
GameBoyErrorBreakpointCondition8=
|
||||||
|
Key33=-1
|
||||||
|
GameBoyErrorBreakpointMessage19=
|
||||||
|
GameBoyErrorBreakpointCondition7=
|
||||||
|
Key32=-1
|
||||||
|
GameBoyErrorBreakpointCondition6=
|
||||||
|
GameBoyErrorBreakpointMessage18=
|
||||||
|
DebuggerMemoryTabVisibleRect=0,0,0,0
|
||||||
|
Key31=-1
|
||||||
|
GameBoyErrorBreakpointCondition5=
|
||||||
|
GameBoyErrorBreakpointMessage17=
|
||||||
|
OutlineWidth=324
|
||||||
|
WindowEventViewerWindowWidth=930
|
||||||
|
Key30=-1
|
||||||
|
GameBoyErrorBreakpointCondition4=
|
||||||
|
GameBoyErrorBreakpointMessage16=
|
||||||
|
GameBoyErrorBreakpointCondition3=
|
||||||
|
GameBoyErrorBreakpointCondition2=
|
||||||
|
GameBoyErrorBreakpointCondition1=
|
||||||
|
Key9=40
|
||||||
|
GameBoyErrorBreakpointCondition0=
|
||||||
|
Key8=38
|
||||||
|
Key7=83
|
||||||
|
Key6=87
|
||||||
|
GameBoyErrorBreakpointMessage10=
|
||||||
|
Key5=65
|
||||||
|
Key4=68
|
||||||
|
Key3=10
|
||||||
|
Key2=192
|
||||||
|
Key1=75
|
||||||
|
Key0=74
|
||||||
|
Update=2
|
||||||
|
Key29=-1
|
||||||
|
Key28=10
|
||||||
|
Key27=-1
|
||||||
|
Key26=-1
|
||||||
|
Key25=-1
|
||||||
|
Key24=-1
|
||||||
|
Key23=10
|
||||||
|
GameBoyErrorBreakpointEnabled20=false
|
||||||
|
Key22=-1
|
||||||
|
Key21=-1
|
||||||
|
Key20=-1
|
||||||
|
BankSwapAtPCBreakpointSuspend=true
|
||||||
|
WindowEmuliciousY=385
|
||||||
|
WindowEmuliciousX=97
|
||||||
|
DebuggerMemorySelectedTab=RAM
|
||||||
|
WindowDebuggerWidth=1110
|
||||||
|
GameBoyErrorBreakpointMessage9=
|
||||||
|
GameBoyErrorBreakpointMessage8=
|
||||||
|
GameBoyErrorBreakpointMessage7=
|
Binary file not shown.
|
@ -0,0 +1,65 @@
|
||||||
|
Expressions/conditions/messages support the following:
|
||||||
|
|
||||||
|
arithmetic operators: +, -, *, /, %, # (modulo)
|
||||||
|
bitwise/logical operators: & (bitwise AND), | (bitwise OR), ^ (XOR), ~ (bitwise NOT), ! (logical NOT), && (logical AND), || (logical OR)
|
||||||
|
shift operators: <<, >>
|
||||||
|
compare operators: =, ==, !=, <, >, <=, >=
|
||||||
|
decimal numbers
|
||||||
|
hex numbers (prefixed by either $ or 0x)
|
||||||
|
binary numbers (prefixed by %)
|
||||||
|
character literals (surrounded by ')
|
||||||
|
symbols loaded from a symfile
|
||||||
|
variables (see below)
|
||||||
|
the @ operator to "read" a value from a calculated address
|
||||||
|
the @@ operator to specifcy the location to read from (Usage: location@@address)
|
||||||
|
the : operator to map a specified address to a specified bank (Usage: bank:address)
|
||||||
|
the & operator to retrive the bank at the specified address (Usage: &address)
|
||||||
|
the && operator to retrive the bank of the specified symbol (Usage: &&symbol)
|
||||||
|
|
||||||
|
Besides that the following variables are supported:
|
||||||
|
All register names (As single registers and as register pairs)
|
||||||
|
Flag names followed by the letter f (For example zf for the zero flag)
|
||||||
|
va (the current vdp address)
|
||||||
|
vaddress (the current vdp address)
|
||||||
|
scanline (the current scanline)
|
||||||
|
address (the current address)
|
||||||
|
ie (1 if interrupts enabled else 0)
|
||||||
|
ime (same as above)
|
||||||
|
sram (0 if sram disabled, 1 if sram enabled, -1 if sram not available)
|
||||||
|
bank0 (the bank in slot 0)
|
||||||
|
bank1 (the bank in slot 1)
|
||||||
|
bank2 (the bank in slot 2)
|
||||||
|
bankS (the SRAM bank)
|
||||||
|
For read/write watchpoints only:
|
||||||
|
value (the value being read/written)
|
||||||
|
port (the port being read/written)
|
||||||
|
source (the address being read/written)
|
||||||
|
op (the operation: 0 - read, 1 - write, 2 - execute)
|
||||||
|
oldvalue (the value before the operation)
|
||||||
|
For read watchpoints only:
|
||||||
|
destination (the destination of a branch instruction)
|
||||||
|
|
||||||
|
Possible locations are:
|
||||||
|
rom, ram, vram, sram,
|
||||||
|
word (word is a pseudo-location to read words instead of bytes),
|
||||||
|
dword (same as word but for double words, i.e. 4 bytes),
|
||||||
|
beword (same as word but big-endian),
|
||||||
|
bedword (same as dword but big-endian)
|
||||||
|
Locations can be prefixed with "word." to read a word from a location. Example: "word.ram@@spritePointer" to read the sprite pointer from RAM.
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
Expression "a:hl" maps the value of register hl to the bank specified by register a
|
||||||
|
Watchpoint on RAM address $c000 with condition "value = $82": The watchpoint only triggers when the value being read/written from/to $c000 equals to $82
|
||||||
|
Watchpoint on RAM address $c000 with condition "value != oldvalue": The watchpoint only triggers when the value being written to $c000 differs from its old value
|
||||||
|
Breakpoint on ROM address $0100 with condition "!zf": The breakpoint only triggers when the zero flag is not set.
|
||||||
|
Explanation: f is the flags register, $40 has only the 6th bit set (which is the zero flag)
|
||||||
|
Watchpoint on RAM address $c000 with condition "value != 0": The watchpoint only triggers when the value being read/written from/to $c000 is not 0
|
||||||
|
Watchpoint on RAM address $c000 with condition "oldvalue > 0 && value = 0": The watchpoint only triggers when the value being written to $c000
|
||||||
|
is 0 and the old value at $c000 was greater than 0
|
||||||
|
Watchpoint on RAM address $c000 with condition "(value & 1) != (oldvalue & 1)": The watchpoint only triggers when bit 0 at $c000 changes by a write
|
||||||
|
Breakpoint on ROM at vBlankHandler with condition "@flagUpdatingGame != 0"
|
||||||
|
and message "Entered VBlank while still in the Game Update!": The breakpoint only triggers when the value read from flagUpdatingGame is not 0.
|
||||||
|
It then logs the message "Entered VBlank while still in the Game Update!".
|
||||||
|
Explanation: flagUpdatingGame is a RAM label, @ is the read operator
|
||||||
|
|
||||||
|
Watchpoint on Port $dc and all its mirrors is achieved by entering "pc0..ff" as address and "(source & 1) = 0" as condition
|
|
@ -0,0 +1,175 @@
|
||||||
|
Gameboy Map Builder
|
||||||
|
|
||||||
|
Version 1.8
|
||||||
|
|
||||||
|
Release date: 2-10-99
|
||||||
|
|
||||||
|
Copyright H. Mulder 1999
|
||||||
|
|
||||||
|
DESCRIPTION:
|
||||||
|
------------
|
||||||
|
You can use the Gameboy Map Builder ("GBMB") to design maps for your own
|
||||||
|
Gameboy productions.
|
||||||
|
|
||||||
|
|
||||||
|
DISCLAIMER:
|
||||||
|
-----------
|
||||||
|
The Gameboy Map Builder is Freeware; you are allowed to use it in any way
|
||||||
|
you want, without paying me anything. The only thing I want in return are
|
||||||
|
bug-reports and enhancement-requests, which can be mailed to
|
||||||
|
hpmulder@casema.net.
|
||||||
|
|
||||||
|
You are also allowed (and encouraged) to distribute this software, as long
|
||||||
|
as you don't receive any payment for it. If you want to link your home page
|
||||||
|
to GBMB, be sure to link it to the main site, not directly to the file, as
|
||||||
|
updates will receive different filenames.
|
||||||
|
|
||||||
|
Keep in mind that you use this software at your own risk; any damage which
|
||||||
|
might occur, in whatever form, is your own responsibility.
|
||||||
|
|
||||||
|
|
||||||
|
TO INSTALL:
|
||||||
|
-----------
|
||||||
|
Start GBMB.EXE (That's generally it).
|
||||||
|
|
||||||
|
For maximum enjoyment, make sure all accompanied files are in the same
|
||||||
|
directory as GBMB.EXE. Also, associate .GBM-files to GBMB; next to loading
|
||||||
|
GBMB when you select a .GBM-file, GBMB will also start adding these files
|
||||||
|
to your Documents-menu when this association exists. Adding GBMB.EXE to
|
||||||
|
your start-bar or desktop might also simplify things.
|
||||||
|
|
||||||
|
|
||||||
|
CONTACT INFO:
|
||||||
|
-------------
|
||||||
|
You can get the latest version and info about GBMB from www-site:
|
||||||
|
|
||||||
|
http://www.casema.net/~hpmulder
|
||||||
|
|
||||||
|
I can be contacted though E-Mail at: hpmulder@casema.net
|
||||||
|
|
||||||
|
|
||||||
|
HISTORY:
|
||||||
|
--------
|
||||||
|
|
||||||
|
Version: Date: Description:
|
||||||
|
|
||||||
|
1.8 2 October 1999 NEW! each location can have its own palette
|
||||||
|
Fix: 'Copy as Bitmap' works for SGB colorsets
|
||||||
|
Note:Copy/paste format changed due to location-palettes
|
||||||
|
|
||||||
|
1.7 28 August 1999 NO$GMB Filter is now optional (under "Color set")
|
||||||
|
Added various hotkeys
|
||||||
|
Fix: C-export corrected when splitting data
|
||||||
|
Fixed usage of relative paths for GBR-files:
|
||||||
|
-Killed off AVs
|
||||||
|
-Auto Update now works for them
|
||||||
|
-Some other minor glitches
|
||||||
|
|
||||||
|
1.6 13 August 1999 'Win9X cleanup':
|
||||||
|
Fix: Copy/Paste finally works
|
||||||
|
Fix: Much less system drag
|
||||||
|
Fix: Saved tilesets now directly updated
|
||||||
|
|
||||||
|
Note that I use NT4 myself, so if you see
|
||||||
|
technical problems on the Win9X-platform,
|
||||||
|
mail me. I will try to handle these problems
|
||||||
|
more swiftly in the future.
|
||||||
|
|
||||||
|
1.5 6 August 1999 NO$GMB GBC color filter (thanks to Martin)
|
||||||
|
Fix: #512> tiles are saved correctly
|
||||||
|
Fix: Only last Paste is Undone
|
||||||
|
|
||||||
|
1.4 13 June 1999 Fix: Copy as Bitmap works again
|
||||||
|
Fix: large Pastes are undone correctly
|
||||||
|
|
||||||
|
1.3 24 May 1999 Auto update! (see HLP for info)
|
||||||
|
768 tile-support
|
||||||
|
Fix: Ver/Hor flip are shown correctly
|
||||||
|
Tile Copy/Paste tweaked
|
||||||
|
MouseWheel support
|
||||||
|
|
||||||
|
1.2 21 March 1999 Export: Tile offset added
|
||||||
|
Block Fill: new patterns added
|
||||||
|
Relative filepath support (Export, Tileset)
|
||||||
|
Cleaned up Clipboard:
|
||||||
|
- Tile Paste bug fixed
|
||||||
|
- Property Copy bug fixed
|
||||||
|
- V & H-Flip are now copied
|
||||||
|
- Format changed; see HLP
|
||||||
|
|
||||||
|
1.1 23 January 1999 New: ISAS export-format
|
||||||
|
New: Bank constant generated in export
|
||||||
|
Fix: Possible AV when opening tilefiles
|
||||||
|
Fix: GBDK format error
|
||||||
|
Fix: GUI-settings not always saved
|
||||||
|
Fix: Zoom wrong in new file
|
||||||
|
|
||||||
|
1.0 17 January 1999 Larger maps (1024 x 1024)
|
||||||
|
More properties (32)
|
||||||
|
Less memory usage (new mem-handling)
|
||||||
|
Build-in vert/hor flip for GBC
|
||||||
|
More predefined export properties
|
||||||
|
New info-panel
|
||||||
|
Export: 'Split' for >16K maps
|
||||||
|
512 tiles support
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
NOTE: As of version 1.0, a new file-format is used. Download GBMB Converter
|
||||||
|
from my page to convert older files to the new format.
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
0.9 29 November 1998 Gameboy Color support
|
||||||
|
|
||||||
|
0.8 30 August 1998 New feature: Property colors
|
||||||
|
New feature: Copy as bitmap
|
||||||
|
|
||||||
|
0.7 22 August 1998 Fixed SGB/GB palette behaviour
|
||||||
|
New drawtool: Dropper
|
||||||
|
New zoom: 25%
|
||||||
|
Faster screen-draws
|
||||||
|
Fixed: Maximized forms saved incorrectly
|
||||||
|
|
||||||
|
0.6 27 July 1998 Super Gameboy support
|
||||||
|
New Export-setting: Map layout
|
||||||
|
Fixed 0.5 plane export-output
|
||||||
|
|
||||||
|
0.5 5 june 1998 New: Block selection
|
||||||
|
NOTE: The following functions have changed
|
||||||
|
due to Block selection; see HLP for new
|
||||||
|
behaviour.
|
||||||
|
Mouse buttons (!!)
|
||||||
|
Block Fill
|
||||||
|
Info Panel
|
||||||
|
Cut/Copy/Paste implemented.
|
||||||
|
Selection-visibility increased.
|
||||||
|
Space bar fills current selection with
|
||||||
|
selected tile.
|
||||||
|
|
||||||
|
0.4 22 May 1998 New feature: Grid.
|
||||||
|
New feature: Double markers.
|
||||||
|
Undo for Insert/Delete Row/Column.
|
||||||
|
Undo less sensitive.
|
||||||
|
Scrollbars move a page.
|
||||||
|
Cleaner GUI when loading.
|
||||||
|
Fixed: Some settings were not saved.
|
||||||
|
|
||||||
|
0.3 17 May 1998 Tileset automatically reloaded when changed.
|
||||||
|
(Partial) Undo implemented.
|
||||||
|
New feature: Block fill.
|
||||||
|
Cleaned up GBDK C export.
|
||||||
|
|
||||||
|
0.2 2 May 1998 Faster screen-updates.
|
||||||
|
Infopanel-input friendlier.
|
||||||
|
'Clear map' added.
|
||||||
|
'Color set' added.
|
||||||
|
[Ctrl]-cursorkeys move the map.
|
||||||
|
Defaults can be set in GBMB.INI.
|
||||||
|
Bug fix: Export filename not always
|
||||||
|
shown correctly.
|
||||||
|
Bug fix: RGBDS Obj could not export
|
||||||
|
to bank 0.
|
||||||
|
Bug fix: Didn't use tileset palette.
|
||||||
|
Various GUI tweaks.
|
||||||
|
|
||||||
|
0.1 25 April 1998 Initial release.
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,14 @@
|
||||||
|
[General]
|
||||||
|
GBMPath=C:\workspace\dmgtris\src\res\
|
||||||
|
GBRPath=C:\workspace\dmgtris\src\res\
|
||||||
|
|
||||||
|
ViewInfoPanel=1
|
||||||
|
ViewColorSet=0
|
||||||
|
ViewZoom=2
|
||||||
|
rem ViewGrid=1
|
||||||
|
rem ViewDoubleMarkers=1
|
||||||
|
rem ViewPropertyColors=1
|
||||||
|
|
||||||
|
[Recently used files]
|
||||||
|
F0=c:\workspace\dmgtris\src\res\gameplay.gbm
|
||||||
|
F1=c:\workspace\dmgtris\gameplay.gbm
|
|
@ -0,0 +1,153 @@
|
||||||
|
Gameboy Tile Designer
|
||||||
|
Version 2.2
|
||||||
|
|
||||||
|
Release date: 28-08-1999
|
||||||
|
|
||||||
|
Copyright H. Mulder 1999
|
||||||
|
|
||||||
|
DESCRIPTION:
|
||||||
|
------------
|
||||||
|
You can use the Gameboy Tile Designer ("GBTD") to design tiles for your own
|
||||||
|
Gameboy productions.
|
||||||
|
|
||||||
|
|
||||||
|
DISCLAIMER:
|
||||||
|
-----------
|
||||||
|
The Gameboy Tile Designer is Freeware; you are allowed to use it in any way
|
||||||
|
you want, without paying me anything. The only thing I want in return are
|
||||||
|
bug-reports and enhancement-requests, which can be mailed to
|
||||||
|
hpmulder@casema.net.
|
||||||
|
|
||||||
|
You are also allowed (and encouraged) to distribute this software, as long
|
||||||
|
as you don't receive any payment for it. If you want to link your home page
|
||||||
|
to GBTD, be sure to link it to the main site, not directly to the file, as
|
||||||
|
updates will receive different filenames.
|
||||||
|
|
||||||
|
Keep in mind that you use this software at your own risk; any damage which
|
||||||
|
might occur, in whatever form, is your own responsibility.
|
||||||
|
|
||||||
|
|
||||||
|
TO INSTALL:
|
||||||
|
-----------
|
||||||
|
Start GBTD.EXE (That's generally it).
|
||||||
|
|
||||||
|
For maximum enjoyment, make sure all accompanied files are in the same
|
||||||
|
directory as GBTD.EXE. Also, associate .GBR-files to GBTD; next to loading
|
||||||
|
GBTD when you select a .GBR-file, GBTD will also start adding these files
|
||||||
|
to your Documents-menu when this association exists. Adding GBTD.EXE to
|
||||||
|
your start-bar or desktop might also simplify things.
|
||||||
|
|
||||||
|
|
||||||
|
CONTACT INFO:
|
||||||
|
-------------
|
||||||
|
You can get the latest version and info about GBTD from www-site:
|
||||||
|
|
||||||
|
http://www.casema.net/~hpmulder
|
||||||
|
|
||||||
|
I can be contacted through E-Mail at: hpmulder@casema.net
|
||||||
|
|
||||||
|
|
||||||
|
HISTORY:
|
||||||
|
--------
|
||||||
|
Version: Date: Description:
|
||||||
|
|
||||||
|
2.2 28 August 1999 Fix: Palette-paste less prone to errors
|
||||||
|
NO$GMB Filter is now optional (under "Color set")
|
||||||
|
Added various hotkeys
|
||||||
|
|
||||||
|
2.1 6 August 1999 NO$GMB GBC color filter (thanks to Martin)
|
||||||
|
Fix: 'Save file?'-dialog popped up too often
|
||||||
|
|
||||||
|
2.0 24 May 1999 Auto update! (see HLP for info)
|
||||||
|
768 tile-support
|
||||||
|
Palette Copy&Paste fixed (again..)
|
||||||
|
Various minor fixes
|
||||||
|
|
||||||
|
1.9 18 April 1999 Dropdown-list with palettes
|
||||||
|
ISAS Export format
|
||||||
|
Fix: "Palettes.." more keyboard-friendly
|
||||||
|
Fix: Palette-Copy&Paste didn't copy correctly
|
||||||
|
|
||||||
|
1.8 17 January 1999 512 tiles support
|
||||||
|
Export: 'Split' for large tilesets
|
||||||
|
|
||||||
|
1.7 29 November 1998 Gameboy Color support
|
||||||
|
|
||||||
|
1.6 16 August 1998 Fix: Color Selector up-arrow fixed
|
||||||
|
Fix: 8x16 showcases work again
|
||||||
|
Color Selector shows SGB palette# as hint
|
||||||
|
Internal overhaul
|
||||||
|
|
||||||
|
1.5 9 August 1998 Export: Metatile support.
|
||||||
|
Import: Binary file support.
|
||||||
|
|
||||||
|
1.4 2 August 1998 Palette entries can now be exported.
|
||||||
|
Copy/Paste for palette colors.
|
||||||
|
Fixed SGB/GB palette behaviour.
|
||||||
|
Cleaned up showcases.
|
||||||
|
|
||||||
|
1.3 5 July 1998 Super Gameboy support.
|
||||||
|
Selection-visibility increased.
|
||||||
|
New export data-format: 'consecutive 4-color'.
|
||||||
|
|
||||||
|
1.2 16 May 1998 Bug fix: cursor inprecise when drawing constantly.
|
||||||
|
Internal clean-up (a bit faster, a bit less resources, etc).
|
||||||
|
|
||||||
|
1.1 9 May 1998 Faster screen-updates.
|
||||||
|
'Bookmarks' added.
|
||||||
|
Bug fix: Export filename not always shown correctly.
|
||||||
|
Bug fix: RGBDS Obj could not export to bank 0.
|
||||||
|
Cleaned up GBDK C export.
|
||||||
|
Various GUI tweaks.
|
||||||
|
|
||||||
|
1.0 18 January 1998 Gameboy color support.
|
||||||
|
INI file enhanced;
|
||||||
|
customizable default settings added.
|
||||||
|
Filename is shown in title.
|
||||||
|
Various GUI glitches fixed.
|
||||||
|
Minor internal optimizations.
|
||||||
|
|
||||||
|
0.9 7 December 1997 New feature: 'Split Copy and Paste';
|
||||||
|
Copy and paste whole images to and from GBTD.
|
||||||
|
Various GUI glitches fixed.
|
||||||
|
|
||||||
|
0.8 30 November 1997 Compression fixed.
|
||||||
|
Tilesets no longer restricted to 128 tiles.
|
||||||
|
|
||||||
|
0.7 8 November 1997 Build-in GB-Compress support.
|
||||||
|
'Rotate clockwise' added.
|
||||||
|
Screen-update fixed when opening files.
|
||||||
|
TASM export-remarks fixed.
|
||||||
|
|
||||||
|
0.6 26 October 1997 'Flip colors' added.
|
||||||
|
Partial F1 help-support added.
|
||||||
|
Minor changes/fixes to HLP-file.
|
||||||
|
'Paste' fixed; now it handles non-default
|
||||||
|
palettes correctly.
|
||||||
|
|
||||||
|
0.5 27 june 1997 UI rearranged; design tools now have their
|
||||||
|
own toolbar and menu.
|
||||||
|
'Flood fill' added.
|
||||||
|
'Undo' added.
|
||||||
|
'Reopen' added.
|
||||||
|
Display-bug when importing GBE files has
|
||||||
|
been fixed.
|
||||||
|
Smoother handling of display when loading
|
||||||
|
files.
|
||||||
|
|
||||||
|
0.4 18 june 1997 Added Help File.
|
||||||
|
Interface cleanup:
|
||||||
|
- Pasting now uses the standard CTRL-V.
|
||||||
|
- Arrow-buttons now function as expected.
|
||||||
|
- Better key-handling.
|
||||||
|
|
||||||
|
0.3 11 june 1997 Export for 'TASM' added.
|
||||||
|
'Clear tiles' added.
|
||||||
|
'Nibble markers' added.
|
||||||
|
|
||||||
|
0.2 1 june 1997 Export for 'GBDK C' and 'Binary file' added.
|
||||||
|
Direct export via Ctrl-E or menu.
|
||||||
|
Faster startup.
|
||||||
|
Minor bug-fixes.
|
||||||
|
|
||||||
|
0.1 25 May 1997 Initial beta release
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,4 @@
|
||||||
|
[General]
|
||||||
|
GBRPath=c:\workspace\dmgtris\
|
||||||
|
[Recently used files]
|
||||||
|
F0=c:\workspace\dmgtris\tiles.gbr
|
|
@ -0,0 +1,30 @@
|
||||||
|
; TILES.INC
|
||||||
|
;
|
||||||
|
; Include File.
|
||||||
|
;
|
||||||
|
; Info:
|
||||||
|
; Section : Tiles
|
||||||
|
; Bank : 0
|
||||||
|
; Form : All tiles as one unit.
|
||||||
|
; Format : Gameboy 4 color.
|
||||||
|
; Compression : None.
|
||||||
|
; Counter : None.
|
||||||
|
; Tile size : 8 x 8
|
||||||
|
; Tiles : 0 to 127
|
||||||
|
;
|
||||||
|
; Palette colors : None.
|
||||||
|
; SGB Palette : None.
|
||||||
|
; CGB Palette : None.
|
||||||
|
;
|
||||||
|
; Convert to metatiles : No.
|
||||||
|
;
|
||||||
|
; This file was generated by GBTD v2.2
|
||||||
|
|
||||||
|
|
||||||
|
; Bank of tiles.
|
||||||
|
TileLabelBank EQU 0
|
||||||
|
|
||||||
|
; Start of tile array.
|
||||||
|
GLOBAL TileLabel
|
||||||
|
|
||||||
|
; End of TILES.INC
|
|
@ -0,0 +1,284 @@
|
||||||
|
; TILES.Z80
|
||||||
|
;
|
||||||
|
; Tile Source File.
|
||||||
|
;
|
||||||
|
; Info:
|
||||||
|
; Section : Tiles
|
||||||
|
; Bank : 0
|
||||||
|
; Form : All tiles as one unit.
|
||||||
|
; Format : Gameboy 4 color.
|
||||||
|
; Compression : None.
|
||||||
|
; Counter : None.
|
||||||
|
; Tile size : 8 x 8
|
||||||
|
; Tiles : 0 to 127
|
||||||
|
;
|
||||||
|
; Palette colors : None.
|
||||||
|
; SGB Palette : None.
|
||||||
|
; CGB Palette : None.
|
||||||
|
;
|
||||||
|
; Convert to metatiles : No.
|
||||||
|
;
|
||||||
|
; This file was generated by GBTD v2.2
|
||||||
|
|
||||||
|
SECTION "Tiles", ROM0
|
||||||
|
|
||||||
|
; Start of tile array.
|
||||||
|
TileLabel::
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $67,$1F,$67,$1F,$67,$1F,$67,$1F
|
||||||
|
DB $67,$1F,$67,$1F,$67,$1F,$00,$00
|
||||||
|
DB $E6,$F8,$E6,$F8,$E6,$F8,$E6,$F8
|
||||||
|
DB $E6,$F8,$E6,$F8,$E6,$F8,$00,$00
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$FF
|
||||||
|
DB $00,$FF,$FF,$00,$FF,$00,$00,$00
|
||||||
|
DB $67,$1F,$67,$1F,$67,$1F,$60,$1F
|
||||||
|
DB $60,$1F,$7F,$00,$7F,$00,$00,$00
|
||||||
|
DB $E6,$F8,$E6,$F8,$E6,$F8,$06,$F8
|
||||||
|
DB $06,$F8,$FE,$00,$FE,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$01,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$FF,$FF,$FF
|
||||||
|
DB $00,$FF,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $80,$80,$E0,$E0,$F8,$F8,$FE,$FE
|
||||||
|
DB $F8,$F8,$E0,$E0,$80,$80,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$66,$BD,$66,$BD
|
||||||
|
DB $66,$BD,$7E,$99,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$6C,$93,$5A,$A5
|
||||||
|
DB $36,$C9,$6C,$93,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$3C,$81,$00,$81
|
||||||
|
DB $3C,$81,$00,$BD,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$5A,$A5,$7E,$81
|
||||||
|
DB $5A,$A5,$3C,$C3,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$42,$BD,$42,$BD
|
||||||
|
DB $42,$BD,$5A,$A5,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$7E,$81,$7E,$81
|
||||||
|
DB $7E,$81,$7E,$81,$00,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$2A,$D5,$54,$AB
|
||||||
|
DB $2A,$D5,$54,$AB,$00,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$FF,$99,$E7,$BD,$E7,$BD
|
||||||
|
DB $E7,$BD,$FF,$99,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$B7,$C9,$ED,$93,$DB,$A5
|
||||||
|
DB $B7,$C9,$ED,$93,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$81,$BD,$BD,$81,$81,$81
|
||||||
|
DB $BD,$81,$81,$BD,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$BD,$C3,$DB,$A5,$FF,$81
|
||||||
|
DB $DB,$A5,$BD,$C3,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$DB,$A5,$C3,$BD,$C3,$BD
|
||||||
|
DB $C3,$BD,$DB,$A5,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$FF,$81,$FF,$81,$FF,$81
|
||||||
|
DB $FF,$81,$FF,$81,$FF,$FF,$00,$00
|
||||||
|
DB $FF,$FF,$D5,$AB,$AB,$D5,$D5,$AB
|
||||||
|
DB $AB,$D5,$D5,$AB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$66,$BD,$66,$BD
|
||||||
|
DB $66,$BD,$FE,$BB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$6C,$93,$5A,$A5
|
||||||
|
DB $36,$C9,$EE,$BB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$3C,$81,$00,$81
|
||||||
|
DB $3C,$81,$AA,$BF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$5A,$A5,$7E,$81
|
||||||
|
DB $5A,$A5,$BE,$EB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$42,$BD,$42,$BD
|
||||||
|
DB $42,$BD,$FA,$AF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$7E,$81,$7E,$81
|
||||||
|
DB $7E,$81,$FE,$AB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$2A,$D5,$54,$AB
|
||||||
|
DB $2A,$D5,$FE,$AB,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$66,$BD,$66,$BD
|
||||||
|
DB $EE,$BF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$6C,$93,$5A,$A5
|
||||||
|
DB $BE,$EB,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$3C,$81,$00,$81
|
||||||
|
DB $BE,$AB,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$5A,$A5,$7E,$81
|
||||||
|
DB $FA,$AF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$42,$BD,$42,$BD
|
||||||
|
DB $EA,$BF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$7E,$81,$7E,$81
|
||||||
|
DB $FE,$AB,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$2A,$D5,$54,$AB
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$66,$BD,$EE,$BF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$6C,$93,$FA,$AF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$3C,$81,$AA,$AB
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$5A,$A5,$FE,$AB
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$42,$BD,$EA,$BF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$7E,$81,$FE,$AB
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$2A,$D5,$FE,$AB
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$99,$EE,$BF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$36,$C9,$EE,$BB,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$00,$BD,$BE,$AB,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$3C,$C3,$FA,$AF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$5A,$A5,$EA,$BF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$7E,$81,$FE,$AB,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$54,$AB,$AA,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$FE,$BB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$BE,$EB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$AA,$BF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$BE,$EB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$FA,$AF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$FE,$AB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$FF,$FE,$AB,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $AA,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||||
|
DB $FF,$FF,$FF,$FF,$FF,$FF,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$FF,$FF,$FF,$00
|
||||||
|
DB $FF,$FF,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$F0,$F0,$F8,$08
|
||||||
|
DB $FC,$E4,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$07,$07,$0F,$08
|
||||||
|
DB $1F,$13,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$FC,$E4,$F8,$08
|
||||||
|
DB $F0,$F0,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$1F,$13,$0F,$08
|
||||||
|
DB $07,$07,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$FC,$E4,$F8,$08
|
||||||
|
DB $FC,$E4,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$1F,$13,$0F,$08
|
||||||
|
DB $1F,$13,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $1C,$14,$1C,$14,$1C,$14,$1C,$14
|
||||||
|
DB $1C,$14,$1C,$14,$1C,$14,$00,$00
|
||||||
|
DB $38,$38,$6C,$6C,$C6,$C6,$FE,$FE
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $FC,$FC,$C6,$C6,$C6,$C6,$FC,$FC
|
||||||
|
DB $C6,$C6,$C6,$C6,$FC,$FC,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C0,$C0,$C0,$C0
|
||||||
|
DB $C0,$C0,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $FC,$FC,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $C6,$C6,$C6,$C6,$FC,$FC,$00,$00
|
||||||
|
DB $FE,$FE,$C0,$C0,$C0,$C0,$F8,$F8
|
||||||
|
DB $C0,$C0,$C0,$C0,$FE,$FE,$00,$00
|
||||||
|
DB $FE,$FE,$C0,$C0,$C0,$C0,$F8,$F8
|
||||||
|
DB $C0,$C0,$C0,$C0,$C0,$C0,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C0,$C0,$CE,$CE
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$FE,$FE
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $60,$60,$60,$60,$60,$60,$60,$60
|
||||||
|
DB $60,$60,$60,$60,$60,$60,$00,$00
|
||||||
|
DB $0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C
|
||||||
|
DB $CC,$CC,$CC,$CC,$78,$78,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$CC,$CC,$F8,$F8
|
||||||
|
DB $CC,$CC,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $60,$60,$60,$60,$60,$60,$60,$60
|
||||||
|
DB $60,$60,$60,$60,$7C,$7C,$00,$00
|
||||||
|
DB $C6,$C6,$EE,$EE,$FE,$FE,$D6,$D6
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $C6,$C6,$E6,$E6,$F6,$F6,$DE,$DE
|
||||||
|
DB $CE,$CE,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $FC,$FC,$C6,$C6,$C6,$C6,$FC,$FC
|
||||||
|
DB $C0,$C0,$C0,$C0,$C0,$C0,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $D6,$D6,$DE,$DE,$7C,$7C,$00,$00
|
||||||
|
DB $FC,$FC,$C6,$C6,$C6,$C6,$FC,$FC
|
||||||
|
DB $F8,$F8,$DC,$DC,$CE,$CE,$00,$00
|
||||||
|
DB $7E,$7E,$C0,$C0,$C0,$C0,$7C,$7C
|
||||||
|
DB $06,$06,$06,$06,$FC,$FC,$00,$00
|
||||||
|
DB $FC,$FC,$30,$30,$30,$30,$30,$30
|
||||||
|
DB $30,$30,$30,$30,$30,$30,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$6C,$6C,$6C,$6C
|
||||||
|
DB $6C,$6C,$38,$38,$38,$38,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$C6,$C6,$C6,$C6
|
||||||
|
DB $D6,$D6,$D6,$D6,$6C,$6C,$00,$00
|
||||||
|
DB $C6,$C6,$C6,$C6,$6C,$6C,$38,$38
|
||||||
|
DB $6C,$6C,$C6,$C6,$C6,$C6,$00,$00
|
||||||
|
DB $C6,$C6,$EE,$EE,$7C,$7C,$38,$38
|
||||||
|
DB $70,$70,$E0,$E0,$C0,$C0,$00,$00
|
||||||
|
DB $FE,$FE,$0C,$0C,$18,$18,$30,$30
|
||||||
|
DB $60,$60,$C0,$C0,$FE,$FE,$00,$00
|
||||||
|
DB $7C,$7C,$CE,$CE,$D6,$D6,$D6,$D6
|
||||||
|
DB $D6,$D6,$E6,$E6,$7C,$7C,$00,$00
|
||||||
|
DB $38,$38,$78,$78,$D8,$D8,$18,$18
|
||||||
|
DB $18,$18,$18,$18,$18,$18,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$0C,$0C
|
||||||
|
DB $38,$38,$E0,$E0,$FE,$FE,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$06,$06,$0C,$0C
|
||||||
|
DB $06,$06,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $1C,$1C,$3C,$3C,$6C,$6C,$CC,$CC
|
||||||
|
DB $FE,$FE,$0C,$0C,$0C,$0C,$00,$00
|
||||||
|
DB $FE,$FE,$C0,$C0,$C0,$C0,$FC,$FC
|
||||||
|
DB $06,$06,$06,$06,$FC,$FC,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C0,$C0,$FC,$FC
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $FE,$FE,$0C,$0C,$18,$18,$18,$18
|
||||||
|
DB $30,$30,$30,$30,$30,$30,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$7C,$7C
|
||||||
|
DB $C6,$C6,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $7C,$7C,$C6,$C6,$C6,$C6,$7E,$7E
|
||||||
|
DB $06,$06,$C6,$C6,$7C,$7C,$00,$00
|
||||||
|
DB $00,$7C,$00,$CE,$00,$D6,$00,$D6
|
||||||
|
DB $00,$D6,$00,$E6,$00,$7C,$00,$00
|
||||||
|
DB $00,$38,$00,$78,$00,$D8,$00,$18
|
||||||
|
DB $00,$18,$00,$18,$00,$18,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$C6,$00,$0C
|
||||||
|
DB $00,$38,$00,$E0,$00,$FE,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$06,$00,$0C
|
||||||
|
DB $00,$06,$00,$C6,$00,$7C,$00,$00
|
||||||
|
DB $00,$1C,$00,$3C,$00,$6C,$00,$CC
|
||||||
|
DB $00,$FE,$00,$0C,$00,$0C,$00,$00
|
||||||
|
DB $00,$FE,$00,$C0,$00,$C0,$00,$FC
|
||||||
|
DB $00,$06,$00,$06,$00,$FC,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$C0,$00,$FC
|
||||||
|
DB $00,$C6,$00,$C6,$00,$7C,$00,$00
|
||||||
|
DB $00,$FE,$00,$0C,$00,$18,$00,$18
|
||||||
|
DB $00,$30,$00,$30,$00,$30,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$C6,$00,$7C
|
||||||
|
DB $00,$C6,$00,$C6,$00,$7C,$00,$00
|
||||||
|
DB $00,$7C,$00,$C6,$00,$C6,$00,$7E
|
||||||
|
DB $00,$06,$00,$C6,$00,$7C,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
DB $00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
|
||||||
|
; End of TILES.Z80
|
|
@ -0,0 +1,46 @@
|
||||||
|
00 rP1
|
||||||
|
01 rSB
|
||||||
|
02 rSC
|
||||||
|
04 rDIV
|
||||||
|
05 rTIMA
|
||||||
|
06 rTMA
|
||||||
|
07 rTAC
|
||||||
|
0f rIF
|
||||||
|
10 rAUD1SWEEP
|
||||||
|
11 rAUD1LEN
|
||||||
|
12 rAUD1ENV
|
||||||
|
13 rAUD1LOW
|
||||||
|
14 rAUD1HIGH
|
||||||
|
16 rAUD2LEN
|
||||||
|
17 rAUD2ENV
|
||||||
|
18 rAUD2LOW
|
||||||
|
19 rAUD2HIGH
|
||||||
|
1a rAUD3ENA
|
||||||
|
1b rAUD3LEN
|
||||||
|
1c rAUD3LEVEL
|
||||||
|
1d rAUD3LOW
|
||||||
|
1e rAUD3HIGH
|
||||||
|
20 rAUD4LEN
|
||||||
|
21 rAUD4ENV
|
||||||
|
22 rAUD4POLY
|
||||||
|
23 rAUD4GO
|
||||||
|
24 rAUDVOL
|
||||||
|
25 rAUDTERM
|
||||||
|
26 rAUDENA
|
||||||
|
|
||||||
|
30 _AUD3WAVERAM
|
||||||
|
|
||||||
|
40 rLCDC
|
||||||
|
41 rSTAT
|
||||||
|
42 rSCY
|
||||||
|
43 rSCX
|
||||||
|
44 rLY
|
||||||
|
45 rLYC
|
||||||
|
46 rDMA
|
||||||
|
47 rBGP
|
||||||
|
48 rOBP0
|
||||||
|
49 rOBP1
|
||||||
|
4a rWY
|
||||||
|
4b rWX
|
||||||
|
|
||||||
|
ff rIE
|
|
@ -0,0 +1,67 @@
|
||||||
|
00 rP1
|
||||||
|
01 rSB
|
||||||
|
02 rSC
|
||||||
|
04 rDIV
|
||||||
|
05 rTIMA
|
||||||
|
06 rTMA
|
||||||
|
07 rTAC
|
||||||
|
0f rIF
|
||||||
|
10 rAUD1SWEEP
|
||||||
|
11 rAUD1LEN
|
||||||
|
12 rAUD1ENV
|
||||||
|
13 rAUD1LOW
|
||||||
|
14 rAUD1HIGH
|
||||||
|
16 rAUD2LEN
|
||||||
|
17 rAUD2ENV
|
||||||
|
18 rAUD2LOW
|
||||||
|
19 rAUD2HIGH
|
||||||
|
1a rAUD3ENA
|
||||||
|
1b rAUD3LEN
|
||||||
|
1c rAUD3LEVEL
|
||||||
|
1d rAUD3LOW
|
||||||
|
1e rAUD3HIGH
|
||||||
|
20 rAUD4LEN
|
||||||
|
21 rAUD4ENV
|
||||||
|
22 rAUD4POLY
|
||||||
|
23 rAUD4GO
|
||||||
|
24 rAUDVOL
|
||||||
|
25 rAUDTERM
|
||||||
|
26 rAUDENA
|
||||||
|
|
||||||
|
30 _AUD3WAVERAM
|
||||||
|
|
||||||
|
40 rLCDC
|
||||||
|
41 rSTAT
|
||||||
|
42 rSCY
|
||||||
|
43 rSCX
|
||||||
|
44 rLY
|
||||||
|
45 rLYC
|
||||||
|
46 rDMA
|
||||||
|
47 rBGP
|
||||||
|
48 rOBP0
|
||||||
|
49 rOBP1
|
||||||
|
4a rWY
|
||||||
|
4b rWX
|
||||||
|
|
||||||
|
4d rKEY1
|
||||||
|
|
||||||
|
4f rVBK
|
||||||
|
|
||||||
|
51 rHDMA1
|
||||||
|
52 rHDMA2
|
||||||
|
53 rHDMA3
|
||||||
|
54 rHDMA4
|
||||||
|
55 rHDMA5
|
||||||
|
56 rRP
|
||||||
|
|
||||||
|
68 rBCPS
|
||||||
|
69 rBCPD
|
||||||
|
6A rOCPS
|
||||||
|
6B rOCPD
|
||||||
|
|
||||||
|
70 rSVBK
|
||||||
|
|
||||||
|
76 rPCM12
|
||||||
|
77 rPCM34
|
||||||
|
|
||||||
|
ff rIE
|
|
@ -0,0 +1,17 @@
|
||||||
|
00 Port_StartButtonAndRegion
|
||||||
|
01 Port_SerialDataEXT
|
||||||
|
02 Port_SerialRaw
|
||||||
|
03 Port_SerialSend
|
||||||
|
04 Port_SerialReceive
|
||||||
|
05 Port_SerialStatus
|
||||||
|
06 Port_Stereo
|
||||||
|
3e Port_MemoryControl out
|
||||||
|
3f Port_IOPortControl out
|
||||||
|
7e Port_VCounter in
|
||||||
|
7f Port_PSG out
|
||||||
|
7f Port_HCounter in
|
||||||
|
be Port_VDPData
|
||||||
|
bf Port_VDPAddress out
|
||||||
|
bf Port_VDPStatus in
|
||||||
|
dc Port_IOPort1 in
|
||||||
|
dd Port_IOPort2 in
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Eldred Habert
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
|
@ -0,0 +1,64 @@
|
||||||
|
<NotepadPlus>
|
||||||
|
<UserLang name="RGBASM" ext="asm inc" udlVersion="2.1">
|
||||||
|
<Settings>
|
||||||
|
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
|
||||||
|
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
|
||||||
|
</Settings>
|
||||||
|
<KeywordLists>
|
||||||
|
<Keywords name="Comments">00; 01 02 03/* 04*/</Keywords>
|
||||||
|
<Keywords name="Numbers, prefix1"></Keywords>
|
||||||
|
<Keywords name="Numbers, prefix2">$ % & `</Keywords>
|
||||||
|
<Keywords name="Numbers, extras1">_ A B C D E F a b c d e f</Keywords>
|
||||||
|
<Keywords name="Numbers, extras2"></Keywords>
|
||||||
|
<Keywords name="Numbers, suffix1"></Keywords>
|
||||||
|
<Keywords name="Numbers, suffix2"></Keywords>
|
||||||
|
<Keywords name="Numbers, range"></Keywords>
|
||||||
|
<Keywords name="Operators1">, ( ) [ ] ** ~ + - * / % << >> & | ^ != == <= >= < > && || ! = \@ \# \1 \2 \3 \4 \5 \6 \7 \8 \9 \<</Keywords>
|
||||||
|
<Keywords name="Operators2"></Keywords>
|
||||||
|
<Keywords name="Folders in code1, open"></Keywords>
|
||||||
|
<Keywords name="Folders in code1, middle"></Keywords>
|
||||||
|
<Keywords name="Folders in code1, close"></Keywords>
|
||||||
|
<Keywords name="Folders in code2, open"></Keywords>
|
||||||
|
<Keywords name="Folders in code2, middle"></Keywords>
|
||||||
|
<Keywords name="Folders in code2, close"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, open"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, middle"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, close"></Keywords>
|
||||||
|
<Keywords name="Keywords1">ADC ADD AND BIT CALL CCF CPL CP DAA DEC DI EI HALT INC JP JR LD LDI LDD LDIO LDH NOP OR POP PUSH RES RETI RET RLCA RLC RLA RL RRC RRCA RRA RR RST SBC SCF SET SLA SRA SRL STOP SUB SWAP XOR</Keywords>
|
||||||
|
<Keywords name="Keywords2">AF BC DE HL SP HLD HLI A B C D E H L NZ Z NC</Keywords>
|
||||||
|
<Keywords name="Keywords3">DEF FRAGMENT BANK ALIGN SIZEOF STARTOF ROUND CEIL FLOOR DIV MUL POW LOG SIN COS TAN ASIN ACOS ATAN ATAN2 HIGH LOW ISCONST STRCMP STRIN STRRIN STRSUB STRLEN STRCAT STRUPR STRLWR STRRPL STRFMT CHARLEN CHARSUB INCLUDE PRINT PRINTLN PRINTT PRINTI PRINTV PRINTF EXPORT DS DB DW DL SECTION PURGE RSRESET RSSET INCBIN CHARMAP NEWCHARMAP SETCHARMAP PUSHC POPC FAIL WARN FATAL ASSERT STATIC_ASSERT MACRO ENDM SHIFT REPT FOR ENDR BREAK LOAD ENDL IF ELSE ELIF ENDC UNION NEXTU ENDU RB RW RL EQU EQUS REDEF SET PUSHS POPS PUSHO POPO OPT</Keywords>
|
||||||
|
<Keywords name="Keywords4">WRAM0 VRAM ROMX ROM0 HRAM WRAMX SRAM OAM</Keywords>
|
||||||
|
<Keywords name="Keywords5">@ _RS _NARG __LINE__ __FILE__ __DATE__ __TIME__ __ISO_8601_LOCAL__ __ISO_8601_UTC__ __UTC_YEAR__ __UTC_MONTH__ __UTC_DAY__ __UTC_HOUR__ __UTC_MINUTE__ __UTC_SECOND__ __RGBDS_MAJOR__ __RGBDS_MINOR__ __RGBDS_PATCH__ __RGBDS_RC__ __RGBDS_VERSION__</Keywords>
|
||||||
|
<Keywords name="Keywords6"></Keywords>
|
||||||
|
<Keywords name="Keywords7"></Keywords>
|
||||||
|
<Keywords name="Keywords8"></Keywords>
|
||||||
|
<Keywords name="Delimiters">00""" 01\ 02""" 03" 04\ 05" 06{ 07 08} 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
|
||||||
|
</KeywordLists>
|
||||||
|
<Styles>
|
||||||
|
<WordsStyle name="DEFAULT" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="COMMENTS" fgColor="797979" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="LINE COMMENTS" fgColor="797979" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="NUMBERS" fgColor="9E86C8" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS1" fgColor="6C99BB" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS2" fgColor="B4D273" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS3" fgColor="E87D3E" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS4" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS5" fgColor="B2B9BD" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS6" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS7" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS8" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="OPERATORS" fgColor="B05279" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN CODE1" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN CODE2" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN COMMENT" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS1" fgColor="E5B567" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="4" />
|
||||||
|
<WordsStyle name="DELIMITERS2" fgColor="E5B567" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="4" />
|
||||||
|
<WordsStyle name="DELIMITERS3" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="4" />
|
||||||
|
<WordsStyle name="DELIMITERS4" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS5" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS6" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS7" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS8" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
</Styles>
|
||||||
|
</UserLang>
|
||||||
|
</NotepadPlus>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<NotepadPlus>
|
||||||
|
<UserLang name="RGBASM" ext="asm inc" udlVersion="2.1">
|
||||||
|
<Settings>
|
||||||
|
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
|
||||||
|
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
|
||||||
|
</Settings>
|
||||||
|
<KeywordLists>
|
||||||
|
<Keywords name="Comments">00; 01 02 03/* 04*/</Keywords>
|
||||||
|
<Keywords name="Numbers, prefix1"></Keywords>
|
||||||
|
<Keywords name="Numbers, prefix2">$ % & `</Keywords>
|
||||||
|
<Keywords name="Numbers, extras1">_ A B C D E F a b c d e f</Keywords>
|
||||||
|
<Keywords name="Numbers, extras2"></Keywords>
|
||||||
|
<Keywords name="Numbers, suffix1"></Keywords>
|
||||||
|
<Keywords name="Numbers, suffix2"></Keywords>
|
||||||
|
<Keywords name="Numbers, range"></Keywords>
|
||||||
|
<Keywords name="Operators1">, ( ) [ ] ** ~ + - * / % << >> & | ^ != == <= >= < > && || ! = \@ \# \1 \2 \3 \4 \5 \6 \7 \8 \9 \<</Keywords>
|
||||||
|
<Keywords name="Operators2"></Keywords>
|
||||||
|
<Keywords name="Folders in code1, open"></Keywords>
|
||||||
|
<Keywords name="Folders in code1, middle"></Keywords>
|
||||||
|
<Keywords name="Folders in code1, close"></Keywords>
|
||||||
|
<Keywords name="Folders in code2, open"></Keywords>
|
||||||
|
<Keywords name="Folders in code2, middle"></Keywords>
|
||||||
|
<Keywords name="Folders in code2, close"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, open"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, middle"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, close"></Keywords>
|
||||||
|
<Keywords name="Keywords1">ADC ADD AND BIT CALL CCF CPL CP DAA DEC DI EI HALT INC JP JR LD LDI LDD LDIO LDH NOP OR POP PUSH RES RETI RET RLCA RLC RLA RL RRC RRCA RRA RR RST SBC SCF SET SLA SRA SRL STOP SUB SWAP XOR</Keywords>
|
||||||
|
<Keywords name="Keywords2">AF BC DE HL SP HLD HLI A B C D E H L NZ Z NC</Keywords>
|
||||||
|
<Keywords name="Keywords3">DEF FRAGMENT BANK ALIGN SIZEOF STARTOF ROUND CEIL FLOOR DIV MUL POW LOG SIN COS TAN ASIN ACOS ATAN ATAN2 HIGH LOW ISCONST STRCMP STRIN STRRIN STRSUB STRLEN STRCAT STRUPR STRLWR STRRPL STRFMT CHARLEN CHARSUB INCLUDE PRINT PRINTLN PRINTT PRINTI PRINTV PRINTF EXPORT DS DB DW DL SECTION PURGE RSRESET RSSET INCBIN CHARMAP NEWCHARMAP SETCHARMAP PUSHC POPC FAIL WARN FATAL ASSERT STATIC_ASSERT MACRO ENDM SHIFT REPT FOR ENDR BREAK LOAD ENDL IF ELSE ELIF ENDC UNION NEXTU ENDU RB RW RL EQU EQUS REDEF SET PUSHS POPS PUSHO POPO OPT</Keywords>
|
||||||
|
<Keywords name="Keywords4">WRAM0 VRAM ROMX ROM0 HRAM WRAMX SRAM OAM</Keywords>
|
||||||
|
<Keywords name="Keywords5">@ _RS _NARG __LINE__ __FILE__ __DATE__ __TIME__ __ISO_8601_LOCAL__ __ISO_8601_UTC__ __UTC_YEAR__ __UTC_MONTH__ __UTC_DAY__ __UTC_HOUR__ __UTC_MINUTE__ __UTC_SECOND__ __RGBDS_MAJOR__ __RGBDS_MINOR__ __RGBDS_PATCH__ __RGBDS_RC__ __RGBDS_VERSION__</Keywords>
|
||||||
|
<Keywords name="Keywords6"></Keywords>
|
||||||
|
<Keywords name="Keywords7"></Keywords>
|
||||||
|
<Keywords name="Keywords8"></Keywords>
|
||||||
|
<Keywords name="Delimiters">00""" 01\ 02""" 03" 04\ 05" 06{ 07 08} 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
|
||||||
|
</KeywordLists>
|
||||||
|
<Styles>
|
||||||
|
<WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="LINE COMMENTS" fgColor="008000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="NUMBERS" fgColor="FF8000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS1" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS2" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS3" fgColor="0080FF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS5" fgColor="5B00B7" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="OPERATORS" fgColor="000080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN CODE2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS1" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="4" />
|
||||||
|
<WordsStyle name="DELIMITERS2" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="4" />
|
||||||
|
<WordsStyle name="DELIMITERS3" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="4" />
|
||||||
|
<WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
</Styles>
|
||||||
|
</UserLang>
|
||||||
|
</NotepadPlus>
|
|
@ -0,0 +1,184 @@
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Z80 Assembly plus WLA DX keywords highlighter written by Maxim, maxim@mwos.cjb.net
|
||||||
|
//
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// language name
|
||||||
|
|
||||||
|
Language: WLA-Z80 Assembler
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// put whatever you want here, short description, author name, email address..
|
||||||
|
|
||||||
|
Description: Z80 Assembly highlighter including WLA DX keywords, written by Maxim, maxim@mwos.cjb.net Keywords1 = Z80 opcodes; Keywords2 = Z80 registers; Keywords3 = Z80 opcode parameters; Keywords4 = WLA keywords; Keywords5 = WLA keyword parameters
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// default file filter
|
||||||
|
// note: if more than one extension is associated, eg:
|
||||||
|
// C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp
|
||||||
|
|
||||||
|
Filter: Z80 Assembler files (*.asm,*.inc,*.dat,*.z80)|*.asm;*.inc;*.dat;*.z80
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// help file which will be invoked when F1 is pressed
|
||||||
|
|
||||||
|
HelpFile:
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// language case sensitivity
|
||||||
|
// 0 - no
|
||||||
|
// 1 - yes
|
||||||
|
|
||||||
|
CaseSensitive: 0
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// comment type: LineComment - comment to the EOL
|
||||||
|
// BlockCommentBeg - block comment begin, it could be
|
||||||
|
// multiline
|
||||||
|
// BlockCommentEnd - block comment end
|
||||||
|
//
|
||||||
|
// if there is more than one definition of line/beg/end comment string,
|
||||||
|
// you can separate it with spaces.
|
||||||
|
// for example, for pascal it would be:
|
||||||
|
// LineComment: //
|
||||||
|
// BlockCommentBeg: (* {
|
||||||
|
// BlockCommentEnd: *) }
|
||||||
|
|
||||||
|
LineComment: ;
|
||||||
|
BlockCommentBeg: /*
|
||||||
|
BlockCommentEnd: */
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// identifier characters
|
||||||
|
// note: characters shouldn't be delimited, except arrays
|
||||||
|
// array of chars could be defined as from_char..to_char
|
||||||
|
|
||||||
|
IdentifierBegChars: a..z A..Z _ .
|
||||||
|
IdentifierChars: a..z A..Z 0..9 _ .
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// numeric constants begin characters
|
||||||
|
// note: characters shouldn't be delimited, except arrays
|
||||||
|
// array of chars could be defined as from_char..to_char
|
||||||
|
// number always starts with 0..9 except when NumConstBeg
|
||||||
|
// defines other
|
||||||
|
|
||||||
|
NumConstBegChars: 0..9 $ %
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// numeric constants characters
|
||||||
|
// note: characters shouldn't be delimited, except arrays
|
||||||
|
// array of chars could be defined as from_char..to_char
|
||||||
|
// number always starts with 0..9 except when NumConstBeg
|
||||||
|
// defines other
|
||||||
|
|
||||||
|
NumConstChars: 0..9 a..f A..F . h
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// escape character
|
||||||
|
|
||||||
|
EscapeChar: \
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// keyword table
|
||||||
|
// note: delimited with spaces, lines could be wrapped
|
||||||
|
// you may divide keywords into five groups which can be
|
||||||
|
// highlighted differently
|
||||||
|
|
||||||
|
// Z80 opcodes
|
||||||
|
KeyWords1: adc add and bit call ccf cp cpd cpdr cpi cpir cpl daa dec di djnz ei ex exx halt im in inc ind indr ini inir jp jr ld ldd lddr ldi ldir neg nop or otdr otir out outd outi pop push res ret reti retn rl rla rlc rlca rld rr rra rrc rrca rrd rst sbc scf set sla sra srl sub xor
|
||||||
|
|
||||||
|
// registers
|
||||||
|
KeyWords2: a f b c d e h l af bc de hl ix iy i r af' sp pc
|
||||||
|
|
||||||
|
// Z80 opcode parameters
|
||||||
|
KeyWords3: z nz nc po pe p m
|
||||||
|
|
||||||
|
// WLA keywords
|
||||||
|
KeyWords4: .computesmschecksum .sdsctag .smstag .emptyfill .export .outname .asc .asctable .asciitable .asm .background .bank .block .br .breakpoint .byt .rombanksize .db .dbcos .dbrnd .dbsin .define .def .ds .dsb .dstruct .dsw .dw .dwcos .dwrnd .dwsin .else .enda .endasm .endb .ende .endif .endm .endme .endr .endro .ends .endst .enum .equ .fail .fclose .fopen .fread .fsize .if .ifdef .ifdefm .ifeq .ifexists .ifgr .ifgreq .ifle .ifleeq .ifndef .ifndefm .ifneq .incbin .incdir .include .input .macro .memorymap .org .orga .printt .printv .ramsection .redefine .redef .repeat .rept .rombankmap .rombanks .seed .section .shift .slot .struct .sym .symbol .unbackground .undefine .undef .word
|
||||||
|
|
||||||
|
// WLA keyword parameters and special things
|
||||||
|
KeyWords5: align args asc bank banks banksize bankstotal data db defaultslot desc ds dsb dsw dw export force free fsize instanceof map nargs overwrite read returnorg semifree size skip slot slotsize start superfree swap to
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// string delimiter: StringBegChar - string begin char
|
||||||
|
// StringEndChar - string end char
|
||||||
|
// MultilineStrings - enables multiline strings, as perl
|
||||||
|
// has it
|
||||||
|
|
||||||
|
StringBegChar: "
|
||||||
|
StringEndChar: "
|
||||||
|
MultilineStrings: 0
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// use preprocessor: 0 - no
|
||||||
|
// 1 - yes
|
||||||
|
// note: if yes, '#' and statements after it will be
|
||||||
|
// highlighted with Preprocessor defined colors
|
||||||
|
|
||||||
|
UsePreprocessor: 0
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// highlight line: 0 - no
|
||||||
|
// 1 - yes
|
||||||
|
// note: if yes, current line will be highlighted
|
||||||
|
|
||||||
|
CurrLineHighlighted: 0
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
// colors
|
||||||
|
// note: first value is foreground, second is background color
|
||||||
|
// and third (optional) represents font attribute:
|
||||||
|
// B - bold
|
||||||
|
// I - italic
|
||||||
|
// U - underline
|
||||||
|
// S - strike out
|
||||||
|
// attributes can be combined: eg. B or BI
|
||||||
|
// as value, it could be used any standard windows color:
|
||||||
|
// clBlack, clMaroon, clGreen, clOlive, clNavy,
|
||||||
|
// clPurple, clTeal, clGray, clSilver, clRed, clLime,
|
||||||
|
// clYellow, clBlue, clFuchsia, clAqua, clLtGray,
|
||||||
|
// clDkGray, clWhite, clScrollBar, clBackground,
|
||||||
|
// clActiveCaption, clInactiveCaption, clMenu, clWindow,
|
||||||
|
// clWindowFrame, clMenuText, clWindowText, clCaptionText,
|
||||||
|
// clActiveBorder, clInactiveBorder, clAppWorkSpace,
|
||||||
|
// clHighlight, clHighlightText, clBtnFace, clBtnShadow,
|
||||||
|
// clGrayText, clBtnText, clInactiveCaptionText,
|
||||||
|
// clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText,
|
||||||
|
// clInfoBk
|
||||||
|
// as value, it could be used hex numeric constant too:
|
||||||
|
// $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00
|
||||||
|
|
||||||
|
SpaceCol: clWindowText clWindow
|
||||||
|
Keyword1Col: clNavy clWindow B
|
||||||
|
Keyword2Col: clPurple clWindow B
|
||||||
|
Keyword3Col: clNavy clWindow BI
|
||||||
|
IdentifierCol: clWindowText clWindow I
|
||||||
|
CommentCol: clNavy clWindow I
|
||||||
|
NumberCol: clRed clWindow
|
||||||
|
StringCol: clMaroon clWindow
|
||||||
|
SymbolCol: clGray clWindow
|
||||||
|
PreprocessorCol: clBlue clWindow
|
||||||
|
SelectionCol: clBlack $00C0C0C0
|
||||||
|
CurrentLineCol: clBlack $00FFFF00
|
||||||
|
|
||||||
|
OverrideTxtFgColor: 0
|
||||||
|
BlockAutoindent: 0
|
||||||
|
BlockBegStr:
|
||||||
|
BlockEndStr:
|
||||||
|
|
||||||
|
Keyword4Col: $00FF4040 clWindow
|
||||||
|
Keyword5Col: $00FF4040 clWindow I
|
||||||
|
MatchedBracesCol: clWindowText clGray
|
|
@ -0,0 +1,64 @@
|
||||||
|
<NotepadPlus>
|
||||||
|
<UserLang name="Z80 Assembly" ext="asm" udlVersion="2.1">
|
||||||
|
<Settings>
|
||||||
|
<Global caseIgnored="yes" allowFoldOfComments="yes" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
|
||||||
|
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
|
||||||
|
</Settings>
|
||||||
|
<KeywordLists>
|
||||||
|
<Keywords name="Comments">00; 01 02 03/* 04*/</Keywords>
|
||||||
|
<Keywords name="Numbers, prefix1">%</Keywords>
|
||||||
|
<Keywords name="Numbers, prefix2">$</Keywords>
|
||||||
|
<Keywords name="Numbers, extras1">A B C D E F a b c d e f</Keywords>
|
||||||
|
<Keywords name="Numbers, extras2"></Keywords>
|
||||||
|
<Keywords name="Numbers, suffix1">h</Keywords>
|
||||||
|
<Keywords name="Numbers, suffix2"></Keywords>
|
||||||
|
<Keywords name="Numbers, range"></Keywords>
|
||||||
|
<Keywords name="Operators1">( ) [ ] | & ^ << >> + - # ~ * / < > , :</Keywords>
|
||||||
|
<Keywords name="Operators2"></Keywords>
|
||||||
|
<Keywords name="Folders in code1, open">.section .struct .enum .macro .memorymap .rombankmap .endasm .block .asciitable .asctable .rept .repeat .smsheader .ramsection .union</Keywords>
|
||||||
|
<Keywords name="Folders in code1, middle">.nextu</Keywords>
|
||||||
|
<Keywords name="Folders in code1, close">.endst .ends .endme .endro .ende .endm .asm .endb .enda .endr .endsms .endu</Keywords>
|
||||||
|
<Keywords name="Folders in code2, open">.ifndef .if .ifeq .ifdef .ifexists .ifdefm .ifndefm .ifneq .ifle .ifleeq .ifgr .ifgreq</Keywords>
|
||||||
|
<Keywords name="Folders in code2, middle">.else</Keywords>
|
||||||
|
<Keywords name="Folders in code2, close">.endif</Keywords>
|
||||||
|
<Keywords name="Folders in comment, open"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, middle"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, close"></Keywords>
|
||||||
|
<Keywords name="Keywords1">###Opcodes
ex exx ld ldd lddr ldi ldir pop push adc add cp cpd cpdr cpi cpir cpl daa dec inc neg sbc sub and bit ccf or res scf set xor rl rla rlc rlca rld rr rra rrc rrca rrd sla sra srl call djnz jp jr nop ret reti retn rst di ei halt im in ind indr ini inir otdr otir out outd outi</Keywords>
|
||||||
|
<Keywords name="Keywords2">###registers
a af b bc c d de e h hl i ix iy l r sp af' </Keywords>
|
||||||
|
<Keywords name="Keywords3">###wackyregisters
hx hy ixh ixl sll iyh iyl lx ly</Keywords>
|
||||||
|
<Keywords name="Keywords4">###directiveparams
overwrite free force semifree superfree desc asc export slot skip read swap fsize instanceof data map to defaultslot slotsize start size bankstotal banksize banks returnorg align dec hex step productcode version regioncode reservedspace romsize namespace once filter values name offset keep semisubfree bank appendto</Keywords>
|
||||||
|
<Keywords name="Keywords5">###enumentries
byte byt db word dw addr long dl faraddr ds dsb dsw dsl</Keywords>
|
||||||
|
<Keywords name="Keywords6">###conditions
z nz pe po m c</Keywords>
|
||||||
|
<Keywords name="Keywords7">###onelinemacros
.define .def .equ .redefine .undefine .undef .redef .bank .slot .org .orga .db .byt .ds .dsb .dw .word .addr .dl .long .dsw .dsl .dbm .dwm .dlm .asc .ascii .include .inc .incbin .dbrnd .dwrnd .dbcos .dbsin .dwcos .dwsin .rombanks .emptyfill .computesmschecksum .smstag .sdsctag .incdir .input .background .unbackground .fail .fclose .fopen .fread .fsize .shift .rombanksize .dstruct .symbol .sym .br .breakpoint .seed .export .print .printt .printv .outname .enumid .table .row .data</Keywords>
|
||||||
|
<Keywords name="Keywords8">CADDR WLA_FILENAME WLA_TIME WLA_VERSION</Keywords>
|
||||||
|
<Keywords name="Delimiters">00 01 02 03" 04\ 05" 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
|
||||||
|
</KeywordLists>
|
||||||
|
<Styles>
|
||||||
|
<WordsStyle name="DEFAULT" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="2" nesting="0" />
|
||||||
|
<WordsStyle name="COMMENTS" fgColor="797979" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="256" />
|
||||||
|
<WordsStyle name="LINE COMMENTS" fgColor="797979" bgColor="2E2E2E" fontName="" fontStyle="2" nesting="256" />
|
||||||
|
<WordsStyle name="NUMBERS" fgColor="9E86C8" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS1" fgColor="6C99BB" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS2" fgColor="B4D273" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS3" fgColor="B4D273" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS4" fgColor="C0C0C0" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS5" fgColor="6C99BB" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS6" fgColor="E87D3E" bgColor="2E2E2E" fontName="" fontStyle="2" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS7" fgColor="E87D3E" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS8" fgColor="E5B567" bgColor="2E2E2E" fontName="" fontStyle="3" nesting="0" />
|
||||||
|
<WordsStyle name="OPERATORS" fgColor="B05279" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN CODE1" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN CODE2" fgColor="6C99BB" bgColor="2E2E2E" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN COMMENT" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS1" fgColor="9E86C8" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS2" fgColor="9E86C8" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS3" fgColor="9E86C8" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS4" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS5" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS6" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS7" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS8" fgColor="D6D6D6" bgColor="2E2E2E" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
</Styles>
|
||||||
|
</UserLang>
|
||||||
|
</NotepadPlus>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<NotepadPlus>
|
||||||
|
<UserLang name="Z80 Assembly" ext="asm" udlVersion="2.1">
|
||||||
|
<Settings>
|
||||||
|
<Global caseIgnored="yes" allowFoldOfComments="yes" foldCompact="no" forcePureLC="0" decimalSeparator="0" />
|
||||||
|
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="no" Keywords8="no" />
|
||||||
|
</Settings>
|
||||||
|
<KeywordLists>
|
||||||
|
<Keywords name="Comments">00; 01 02 03/* 04*/</Keywords>
|
||||||
|
<Keywords name="Numbers, prefix1">%</Keywords>
|
||||||
|
<Keywords name="Numbers, prefix2">$</Keywords>
|
||||||
|
<Keywords name="Numbers, extras1">A B C D E F a b c d e f</Keywords>
|
||||||
|
<Keywords name="Numbers, extras2"></Keywords>
|
||||||
|
<Keywords name="Numbers, suffix1">h</Keywords>
|
||||||
|
<Keywords name="Numbers, suffix2"></Keywords>
|
||||||
|
<Keywords name="Numbers, range"></Keywords>
|
||||||
|
<Keywords name="Operators1">( ) [ ] | & ^ << >> + - # ~ * / < > , :</Keywords>
|
||||||
|
<Keywords name="Operators2"></Keywords>
|
||||||
|
<Keywords name="Folders in code1, open">.section .struct .enum .macro .memorymap .rombankmap .endasm .block .asciitable .asctable .rept .repeat .smsheader .ramsection .union</Keywords>
|
||||||
|
<Keywords name="Folders in code1, middle">.nextu</Keywords>
|
||||||
|
<Keywords name="Folders in code1, close">.endst .ends .endme .endro .ende .endm .asm .endb .enda .endr .endsms .endu</Keywords>
|
||||||
|
<Keywords name="Folders in code2, open">.ifndef .if .ifeq .ifdef .ifexists .ifdefm .ifndefm .ifneq .ifle .ifleeq .ifgr .ifgreq</Keywords>
|
||||||
|
<Keywords name="Folders in code2, middle">.else</Keywords>
|
||||||
|
<Keywords name="Folders in code2, close">.endif</Keywords>
|
||||||
|
<Keywords name="Folders in comment, open"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, middle"></Keywords>
|
||||||
|
<Keywords name="Folders in comment, close"></Keywords>
|
||||||
|
<Keywords name="Keywords1">###Opcodes
ex exx ld ldd lddr ldi ldir pop push adc add cp cpd cpdr cpi cpir cpl daa dec inc neg sbc sub and bit ccf or res scf set xor rl rla rlc rlca rld rr rra rrc rrca rrd sla sra srl call djnz jp jr nop ret reti retn rst di ei halt im in ind indr ini inir otdr otir out outd outi</Keywords>
|
||||||
|
<Keywords name="Keywords2">###registers
a af b bc c d de e h hl i ix iy l r sp af' </Keywords>
|
||||||
|
<Keywords name="Keywords3">###wackyregisters
hx hy ixh ixl sll iyh iyl lx ly</Keywords>
|
||||||
|
<Keywords name="Keywords4">###directiveparams
overwrite free force semifree superfree desc asc export slot skip read swap fsize instanceof data map to defaultslot slotsize start size bankstotal banksize banks returnorg align dec hex step productcode version regioncode reservedspace romsize namespace once filter values name offset keep semisubfree bank appendto</Keywords>
|
||||||
|
<Keywords name="Keywords5">###enumentries
byte byt db word dw addr long dl faraddr ds dsb dsw dsl</Keywords>
|
||||||
|
<Keywords name="Keywords6">###conditions
z nz pe po m c</Keywords>
|
||||||
|
<Keywords name="Keywords7">###onelinemacros
.define .def .equ .redefine .undefine .undef .redef .bank .slot .org .orga .db .byt .ds .dsb .dw .word .addr .dl .long .dsw .dsl .dbm .dwm .dlm .asc .ascii .include .inc .incbin .dbrnd .dwrnd .dbcos .dbsin .dwcos .dwsin .rombanks .emptyfill .computesmschecksum .smstag .sdsctag .incdir .input .background .unbackground .fail .fclose .fopen .fread .fsize .shift .rombanksize .dstruct .symbol .sym .br .breakpoint .seed .export .print .printt .printv .outname .enumid .table .row .data</Keywords>
|
||||||
|
<Keywords name="Keywords8">CADDR WLA_FILENAME WLA_TIME WLA_VERSION</Keywords>
|
||||||
|
<Keywords name="Delimiters">00 01 02 03" 04\ 05" 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23</Keywords>
|
||||||
|
</KeywordLists>
|
||||||
|
<Styles>
|
||||||
|
<WordsStyle name="DEFAULT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
|
||||||
|
<WordsStyle name="COMMENTS" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="256" />
|
||||||
|
<WordsStyle name="LINE COMMENTS" fgColor="007F00" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="256" />
|
||||||
|
<WordsStyle name="NUMBERS" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS1" fgColor="0000EF" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS2" fgColor="800000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS3" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS4" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS6" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="2" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="KEYWORDS8" fgColor="FF0000" bgColor="FFFFFF" fontName="" fontStyle="3" nesting="0" />
|
||||||
|
<WordsStyle name="OPERATORS" fgColor="808080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN CODE1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN CODE2" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" nesting="0" />
|
||||||
|
<WordsStyle name="FOLDER IN COMMENT" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS1" fgColor="7F007F" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS2" fgColor="7F007F" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS3" fgColor="800080" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS5" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS6" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
<WordsStyle name="DELIMITERS8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" nesting="0" />
|
||||||
|
</Styles>
|
||||||
|
</UserLang>
|
||||||
|
</NotepadPlus>
|
|
@ -0,0 +1,80 @@
|
||||||
|
#Emulicious Key Bindings
|
||||||
|
#Thu Jan 28 02:10:59 CET 2021
|
||||||
|
DebuggerKeysGoToWhen=0
|
||||||
|
DebuggerKeysOpenBreakpointsWindow=ctrl pressed B
|
||||||
|
DebuggerKeysOpenCoverageWindow=ctrl pressed K
|
||||||
|
DebuggerKeysProfileFromLineWhen=0
|
||||||
|
DebuggerKeysSuspend=pressed F6
|
||||||
|
DebuggerKeysToggleBreakpoint=pressed F9
|
||||||
|
DebuggerKeysGoToNextAddressWhen=0
|
||||||
|
DebuggerKeysSaveAsWhen=0
|
||||||
|
DebuggerKeysTraceFromLine=ctrl alt pressed T
|
||||||
|
KeysOpenDebuggerWhen=1
|
||||||
|
DebuggerKeysGoToDestinationWhen=0
|
||||||
|
DebuggerKeysStepOverWhen=2
|
||||||
|
DebuggerKeysNavigateForwardWhen=0
|
||||||
|
DebuggerKeysStepInto=pressed F11
|
||||||
|
KeysOpenTilemapViewer=pressed F3
|
||||||
|
DebuggerKeysUndoWhen=0
|
||||||
|
DebuggerKeysOpenReferenceHierarchy=shift pressed F12
|
||||||
|
DebuggerKeysOpenRamSearchWindow=ctrl pressed E
|
||||||
|
DebuggerKeysRunToLineWhen=0
|
||||||
|
DebuggerKeysStepReturnWhen=2
|
||||||
|
DebuggerKeysResume=pressed F5
|
||||||
|
KeysOpenMemoryEditor=pressed F2
|
||||||
|
DebuggerKeysAdvanceFrame=ctrl pressed F5
|
||||||
|
DebuggerKeysRedoWhen=0
|
||||||
|
DebuggerKeysReloadSymbolsWhen=0
|
||||||
|
DebuggerKeysGoToPrevAddress=ctrl pressed LEFT
|
||||||
|
DebuggerKeysOpenRamWatchWindow=ctrl pressed W
|
||||||
|
DebuggerKeysGoToPrevAddressWhen=0
|
||||||
|
DebuggerKeysOpenBreakpointsWindowWhen=0
|
||||||
|
DebuggerKeysAdvanceFrameWhen=2
|
||||||
|
DebuggerKeysRunToLine=ctrl pressed R
|
||||||
|
DebuggerKeysJumpToLine=ctrl pressed J
|
||||||
|
DebuggerKeysStepOver=pressed F10
|
||||||
|
DebuggerKeysJumpToLineWhen=0
|
||||||
|
DebuggerKeysOpenRamSearchWindowWhen=0
|
||||||
|
DebuggerKeysToggleBreakpointWhen=0
|
||||||
|
DebuggerKeysOpenTracerWindow=ctrl pressed T
|
||||||
|
KeysOpenMemoryEditorWhen=1
|
||||||
|
DebuggerKeysSelectInMemoryEditor=ctrl alt pressed M
|
||||||
|
DebuggerKeysTraceFromLineWhen=0
|
||||||
|
DebuggerKeysUndo=ctrl pressed Z
|
||||||
|
DebuggerKeysSelectInMemoryEditorWhen=0
|
||||||
|
DebuggerKeysOpenReferenceHierarchyWhen=0
|
||||||
|
DebuggerKeysResumeWhen=2
|
||||||
|
DebuggerKeysOpenRamWatchWindowWhen=0
|
||||||
|
DebuggerKeysStepReturn=shift pressed F11
|
||||||
|
DebuggerKeysOpenPlotterWindow=ctrl pressed O
|
||||||
|
DebuggerKeysStepIntoWhen=2
|
||||||
|
DebuggerKeysFindWhen=0
|
||||||
|
DebuggerKeysOpenTracerWindowWhen=0
|
||||||
|
KeysOpenDebugger=pressed F1
|
||||||
|
DebuggerKeysLoadSymbolsWhen=0
|
||||||
|
DebuggerKeysSuspendWhen=2
|
||||||
|
DebuggerKeysReloadSymbols=ctrl pressed M
|
||||||
|
DebuggerKeysProfileToNextLine=shift ctrl alt pressed P
|
||||||
|
DebuggerKeysGoToNextAddress=ctrl pressed RIGHT
|
||||||
|
KeysOpenTileViewer=pressed F4
|
||||||
|
DebuggerKeysProfileFromLine=ctrl alt pressed P
|
||||||
|
DebuggerKeysOpenProfilerWindowWhen=0
|
||||||
|
KeysOpenTilemapViewerWhen=1
|
||||||
|
DebuggerKeysOpenCoverageWindowWhen=0
|
||||||
|
DebuggerKeysGoTo=ctrl pressed G
|
||||||
|
DebuggerKeysFind=ctrl pressed F
|
||||||
|
DebuggerKeysRedo=ctrl pressed Y
|
||||||
|
DebuggerKeysWatchWhen=0
|
||||||
|
DebuggerKeysGoToCurrentInstructionWhen=0
|
||||||
|
DebuggerKeysWatch=ctrl alt pressed W
|
||||||
|
DebuggerKeysLoadSymbols=ctrl pressed L
|
||||||
|
DebuggerKeysProfileToNextLineWhen=0
|
||||||
|
DebuggerKeysNavigateForward=alt pressed RIGHT
|
||||||
|
KeysOpenTileViewerWhen=1
|
||||||
|
DebuggerKeysOpenProfilerWindow=ctrl pressed P
|
||||||
|
DebuggerKeysNavigateBack=alt pressed LEFT
|
||||||
|
DebuggerKeysNavigateBackWhen=0
|
||||||
|
DebuggerKeysSaveAs=ctrl pressed S
|
||||||
|
DebuggerKeysGoToDestination=pressed F12
|
||||||
|
DebuggerKeysOpenPlotterWindowWhen=0
|
||||||
|
DebuggerKeysGoToCurrentInstruction=pressed SPACE
|
|
@ -0,0 +1,80 @@
|
||||||
|
#Emulicious Key Bindings
|
||||||
|
#Thu Jan 28 02:10:20 CET 2021
|
||||||
|
DebuggerKeysGoToWhen=0
|
||||||
|
DebuggerKeysOpenBreakpointsWindow=ctrl pressed B
|
||||||
|
DebuggerKeysOpenCoverageWindow=ctrl pressed K
|
||||||
|
DebuggerKeysProfileFromLineWhen=0
|
||||||
|
DebuggerKeysSuspend=pressed ESCAPE
|
||||||
|
DebuggerKeysToggleBreakpoint=pressed F2
|
||||||
|
DebuggerKeysGoToNextAddressWhen=0
|
||||||
|
DebuggerKeysSaveAsWhen=0
|
||||||
|
DebuggerKeysTraceFromLine=ctrl alt pressed T
|
||||||
|
KeysOpenDebuggerWhen=1
|
||||||
|
DebuggerKeysGoToDestinationWhen=0
|
||||||
|
DebuggerKeysStepOverWhen=2
|
||||||
|
DebuggerKeysNavigateForwardWhen=0
|
||||||
|
DebuggerKeysStepInto=pressed F7
|
||||||
|
KeysOpenTilemapViewer=<unassigned>
|
||||||
|
DebuggerKeysUndoWhen=0
|
||||||
|
DebuggerKeysOpenReferenceHierarchy=ctrl alt pressed H
|
||||||
|
DebuggerKeysOpenRamSearchWindow=ctrl pressed E
|
||||||
|
DebuggerKeysRunToLineWhen=0
|
||||||
|
DebuggerKeysStepReturnWhen=2
|
||||||
|
DebuggerKeysResume=pressed F9
|
||||||
|
KeysOpenMemoryEditor=<unassigned>
|
||||||
|
DebuggerKeysAdvanceFrame=ctrl pressed F5
|
||||||
|
DebuggerKeysRedoWhen=0
|
||||||
|
DebuggerKeysReloadSymbolsWhen=0
|
||||||
|
DebuggerKeysGoToPrevAddress=ctrl pressed LEFT
|
||||||
|
DebuggerKeysOpenRamWatchWindow=ctrl pressed W
|
||||||
|
DebuggerKeysGoToPrevAddressWhen=0
|
||||||
|
DebuggerKeysOpenBreakpointsWindowWhen=0
|
||||||
|
DebuggerKeysAdvanceFrameWhen=2
|
||||||
|
DebuggerKeysRunToLine=pressed F4
|
||||||
|
DebuggerKeysJumpToLine=pressed F6
|
||||||
|
DebuggerKeysStepOver=pressed F3
|
||||||
|
DebuggerKeysJumpToLineWhen=0
|
||||||
|
DebuggerKeysOpenRamSearchWindowWhen=0
|
||||||
|
DebuggerKeysToggleBreakpointWhen=0
|
||||||
|
DebuggerKeysOpenTracerWindow=ctrl pressed T
|
||||||
|
KeysOpenMemoryEditorWhen=1
|
||||||
|
DebuggerKeysSelectInMemoryEditor=ctrl alt pressed M
|
||||||
|
DebuggerKeysTraceFromLineWhen=0
|
||||||
|
DebuggerKeysUndo=ctrl pressed Z
|
||||||
|
DebuggerKeysSelectInMemoryEditorWhen=0
|
||||||
|
DebuggerKeysOpenReferenceHierarchyWhen=0
|
||||||
|
DebuggerKeysResumeWhen=2
|
||||||
|
DebuggerKeysOpenRamWatchWindowWhen=0
|
||||||
|
DebuggerKeysStepReturn=pressed F8
|
||||||
|
DebuggerKeysOpenPlotterWindow=ctrl pressed O
|
||||||
|
DebuggerKeysStepIntoWhen=2
|
||||||
|
DebuggerKeysFindWhen=0
|
||||||
|
DebuggerKeysOpenTracerWindowWhen=0
|
||||||
|
KeysOpenDebugger=<unassigned>
|
||||||
|
DebuggerKeysLoadSymbolsWhen=0
|
||||||
|
DebuggerKeysSuspendWhen=2
|
||||||
|
DebuggerKeysReloadSymbols=ctrl pressed M
|
||||||
|
DebuggerKeysProfileToNextLine=shift ctrl alt pressed P
|
||||||
|
DebuggerKeysGoToNextAddress=ctrl pressed RIGHT
|
||||||
|
KeysOpenTileViewer=<unassigned>
|
||||||
|
DebuggerKeysProfileFromLine=ctrl alt pressed P
|
||||||
|
DebuggerKeysOpenProfilerWindowWhen=0
|
||||||
|
KeysOpenTilemapViewerWhen=1
|
||||||
|
DebuggerKeysOpenCoverageWindowWhen=0
|
||||||
|
DebuggerKeysGoTo=ctrl pressed G
|
||||||
|
DebuggerKeysFind=ctrl pressed F
|
||||||
|
DebuggerKeysRedo=ctrl pressed Y
|
||||||
|
DebuggerKeysWatchWhen=0
|
||||||
|
DebuggerKeysGoToCurrentInstructionWhen=0
|
||||||
|
DebuggerKeysWatch=ctrl alt pressed W
|
||||||
|
DebuggerKeysLoadSymbols=ctrl pressed L
|
||||||
|
DebuggerKeysProfileToNextLineWhen=0
|
||||||
|
DebuggerKeysNavigateForward=alt pressed RIGHT
|
||||||
|
KeysOpenTileViewerWhen=1
|
||||||
|
DebuggerKeysOpenProfilerWindow=ctrl pressed P
|
||||||
|
DebuggerKeysNavigateBack=alt pressed LEFT
|
||||||
|
DebuggerKeysNavigateBackWhen=0
|
||||||
|
DebuggerKeysSaveAs=ctrl pressed S
|
||||||
|
DebuggerKeysGoToDestination=pressed F12
|
||||||
|
DebuggerKeysOpenPlotterWindowWhen=0
|
||||||
|
DebuggerKeysGoToCurrentInstruction=ctrl pressed A
|
|
@ -0,0 +1 @@
|
||||||
|
JInput is licensed under BSD License (https://opensource.org/licenses/BSD-3-Clause).
|
|
@ -0,0 +1,16 @@
|
||||||
|
Copyright (c) 2013-2023, Michael Stegmaier (Calindro)
|
||||||
|
https://www.emulicious.net
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Permission to use, copy and distribute Emulicious in binary form,
|
||||||
|
for non-commercial purposes, is hereby granted without fee,
|
||||||
|
providing that this license information and copyright notice appear with
|
||||||
|
all copies.
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event shall the authors be held liable for any damages
|
||||||
|
arising from the use of this software.
|
||||||
|
|
||||||
|
Emulicious is freeware for PERSONAL USE only. Commercial users should
|
||||||
|
seek permission of the copyright holders first. Commercial use includes
|
||||||
|
charging money for Emulicious.
|
|
@ -0,0 +1,13 @@
|
||||||
|
98 Port_VDPData
|
||||||
|
99 Port_VDPAddress out
|
||||||
|
99 Port_VDPStatus in
|
||||||
|
9a Port_VDPPalette out
|
||||||
|
9b Port_VDPRegisterWrite out
|
||||||
|
a0 Port_PSGRegister out
|
||||||
|
a1 Port_PSGData out
|
||||||
|
a2 Port_PSGData in
|
||||||
|
a9 Port_Keyboard in
|
||||||
|
fc Port_RAMMapper0 out
|
||||||
|
fd Port_RAMMapper1 out
|
||||||
|
fe Port_RAMMapper2 out
|
||||||
|
ff Port_RAMMapper3 out
|
|
@ -0,0 +1,231 @@
|
||||||
|
C-BIOS 0.29
|
||||||
|
===========
|
||||||
|
|
||||||
|
This software is a substitute BIOS which is can be used for running MSX
|
||||||
|
emulators. It currently supports only execution of cartridge image ("ROMs").
|
||||||
|
Before you use it, you should read and accept the license (see below).
|
||||||
|
|
||||||
|
On the C-BIOS web site, you can download newer versions, download the source
|
||||||
|
code, and report bugs.
|
||||||
|
|
||||||
|
http://cbios.sourceforge.net/
|
||||||
|
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
Copyright (c) 2002-2005 BouKiCHi. All rights reserved.
|
||||||
|
Copyright (c) 2003 Reikan. All rights reserved.
|
||||||
|
Copyright (c) 2004-2006,2008-2010 Maarten ter Huurne. All rights reserved.
|
||||||
|
Copyright (c) 2004-2006,2008-2011 Albert Beevendorp. All rights reserved.
|
||||||
|
Copyright (c) 2004-2005 Patrick van Arkel. All rights reserved.
|
||||||
|
Copyright (c) 2004,2010-2011 Manuel Bilderbeek. All rights reserved.
|
||||||
|
Copyright (c) 2004-2006 Joost Yervante Damad. All rights reserved.
|
||||||
|
Copyright (c) 2004-2006 Jussi Pitkänen. All rights reserved.
|
||||||
|
Copyright (c) 2004-2007 Eric Boon. All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
History
|
||||||
|
-------
|
||||||
|
|
||||||
|
ver 0.01 Initial
|
||||||
|
ver 0.02 2002-08-15(JST)
|
||||||
|
* Added original font and drawing screen.
|
||||||
|
* Added dump-mode.
|
||||||
|
* Changed recognition method of cartridges
|
||||||
|
to recognize cartridges taking priority.
|
||||||
|
ver 0.03 2002-08-19(JST)
|
||||||
|
* Based on a suggestion from Ms.Okei,
|
||||||
|
wrote 20h of BIOS(compare HL and DE).
|
||||||
|
In the result, shooting game of a certain company became runnable
|
||||||
|
more correctly.
|
||||||
|
Thank Ms.Okei!!
|
||||||
|
ver 0.04 2002-08-20(JST)
|
||||||
|
* Added initialize of FCC2h-FCC4h.
|
||||||
|
* Added function of GTSTCK and GTTRIG temporarily.
|
||||||
|
* Divided msxb.bin to halfs.
|
||||||
|
doing combining/copying with setb.bat now.
|
||||||
|
ver 0.05 2002-08-27(JST)
|
||||||
|
* Added INITGRP(only screen2), CHGMOD(graphic mode change routine),
|
||||||
|
a routine calls H.STKE.
|
||||||
|
* Rewrite memory recognition routine.
|
||||||
|
* Some bug fixes.
|
||||||
|
* Added sound test function.
|
||||||
|
ver 0.06 2002-09-01(JST)
|
||||||
|
* Fixed around of color.
|
||||||
|
ver 0.07 2002-09-09(JST)
|
||||||
|
* Added some sorts of keyboard routines.
|
||||||
|
* Added joystich function to GTSTCK and GTTRIG.
|
||||||
|
ver 0.08 2002-09-12(JST)
|
||||||
|
* Restructured memory initialize routine.
|
||||||
|
* Added error display routine.
|
||||||
|
* Fixed routine of finding kinds of cartridges.
|
||||||
|
* Fixed using method of EXPTBL.
|
||||||
|
* Added initialize of from RG8SAV to RG23SA.
|
||||||
|
* Now return within disabled interrupt from ENASLT routine.
|
||||||
|
ver 0.09 2002-09-19(JST)
|
||||||
|
* Made the rest half of font.
|
||||||
|
* Improved key input routine.
|
||||||
|
* Added CHPUT. With it, rewrote display routine.
|
||||||
|
* Fixed init_grp.
|
||||||
|
* Changed filenames to CBIOS.ROM, CBIOS_SUB.ROM.
|
||||||
|
ver 0.10 2002-09-20(JST)
|
||||||
|
* Fixed indent.
|
||||||
|
* and so on...
|
||||||
|
ver 0.10a 2002-09-22(JST)
|
||||||
|
* Fixed license.
|
||||||
|
* Added support of ROMs in page3.
|
||||||
|
ver 0.11 2002-09-22(JST)
|
||||||
|
* Small fix in init_sc5.
|
||||||
|
ver 0.12beta
|
||||||
|
2002-09-25(JST)
|
||||||
|
* Added test routine for disk access. need DISK.ROM.
|
||||||
|
* Added init_sc7.
|
||||||
|
* Improved ENASLT. now finding cartridge uses ENASLT.
|
||||||
|
* Improved RAM detection.
|
||||||
|
ver 0.12 2002-09-27(JST)
|
||||||
|
* Changed finding cartridge again.
|
||||||
|
* Changed screen mode of cartridge running time.
|
||||||
|
* Fixed keyboard routine.
|
||||||
|
* Fixed stick routine against to interrupt.
|
||||||
|
ver 0.13 2002-10-02(JST)
|
||||||
|
* Based on info from Mr.Maarten (a member of openMSX developers),
|
||||||
|
fixed around of SCREEN 5.
|
||||||
|
For detail, switching line numbers,
|
||||||
|
temporary treatment for a bug of reading from VDP status register,
|
||||||
|
and so on.
|
||||||
|
ver 0.14 2002-10-10(JST)
|
||||||
|
* Rewrote comments in source within Japanese.
|
||||||
|
ver 0.15 2003-02-26(JST)
|
||||||
|
* Rewrote some of comments back to English again.
|
||||||
|
* Fixed non-assemblable condition becauseof lack of font file.
|
||||||
|
* Changed filename, some of label name, strings and so on.
|
||||||
|
ver 0.16 2003-04-16(JST)
|
||||||
|
* Separated sound test from source. (Disabled)
|
||||||
|
ver 0.16a 2003-06-01(JST)
|
||||||
|
* CHGMOD: When screen0/1, now load font to VRAM.
|
||||||
|
* CHPUT: Now support also screen1 not only screen0.
|
||||||
|
ver 0.16b 2003-08-10(JST)
|
||||||
|
* Added entry: INITXT, INIT32.
|
||||||
|
These were exist only as internal routine of CHGMOD.
|
||||||
|
* INITXT, INIT32: Fixed screen clear failure.
|
||||||
|
* CHPUT: Fixed scroll failure.
|
||||||
|
ver 0.17 2003-08-10(JST)
|
||||||
|
* Changed LICENSE.
|
||||||
|
New LICENSE will be suitable in various situations.
|
||||||
|
e.g. use as a firmware for hand-made hardware.
|
||||||
|
ver 0.18 2004-12-18(CET)
|
||||||
|
* First release since moving to SourceForge.
|
||||||
|
* Much improved support for MSX2 games.
|
||||||
|
* Graphical boot logo.
|
||||||
|
* Included machine config files for several MSX emulators.
|
||||||
|
* Various bug fixes.
|
||||||
|
ver 0.19 2004-12-24(CET)
|
||||||
|
* Added support for SCREEN4 and SCREEN8.
|
||||||
|
* Added support for clock chip.
|
||||||
|
* Added support for palette. This fixes a lot of wrong colours.
|
||||||
|
* Stubbed many calls: non-implemented calls print their name on the
|
||||||
|
openMSX debugdevice (if present).
|
||||||
|
* Various bug fixes.
|
||||||
|
ver 0.20 2005-02-09(CET)
|
||||||
|
* Added an MSX2+ configuration, which includes V9958 and MSX MUSIC.
|
||||||
|
* Separate main ROMs for MSX1/MSX2/MSX2+.
|
||||||
|
* Implemented several MSX2 specific routines, including BLT*.
|
||||||
|
* Display is disabled when switching to a different screen mode.
|
||||||
|
* Improved CHPUT a lot; implemented control and escape codes.
|
||||||
|
* Rewrote key buffering; fixes bug of keys being repeated.
|
||||||
|
* New boot logo, even cooler than the previous one.
|
||||||
|
* New font, placed at a fixed address so all games can find it.
|
||||||
|
* Started work on a disk ROM, but it is not functional yet, so it
|
||||||
|
is not enabled in the configurations.
|
||||||
|
* Stubbed all non-implemented calls.
|
||||||
|
* Various bug fixes.
|
||||||
|
ver 0.21 2005-06-07(CET)
|
||||||
|
* Fixed RuMSX configuration files, thanks to Rudolf Lechleitner.
|
||||||
|
* Rewrote ROM search code; now all ROMs are recognized.
|
||||||
|
Also a clear error message is printed for BASIC ROMs.
|
||||||
|
* New boot logo for MSX2 and MSX2+.
|
||||||
|
* Changed boot sequence:
|
||||||
|
Show logo, switch to SCREEN 1 and search for ROMs.
|
||||||
|
* Improved video code; fixes several games.
|
||||||
|
* Various bug fixes.
|
||||||
|
ver 0.22 2008-12-27(CET)
|
||||||
|
* Use separate logo ROM to save space in the main ROM.
|
||||||
|
* Set lower bits of PSG reg 15 before reading joystick trigger status.
|
||||||
|
* Improved RAM search.
|
||||||
|
* Many new routines implemented and existing implementations made
|
||||||
|
more complete, especially character I/O and bitmap graphics.
|
||||||
|
* Added lots of documentation to system variables.
|
||||||
|
* Added support for GNU assembler.
|
||||||
|
* Various bug fixes.
|
||||||
|
ver 0.23 2009-01-04(CET)
|
||||||
|
* Updated blueMSX configuration files, thanks to Benoît Delvaux.
|
||||||
|
* Fixed version reported by MSX1 logo ROM.
|
||||||
|
* Fixed several video routines so they work on MSX1 VDPs (TMS99xx).
|
||||||
|
* A couple of other bug fixes.
|
||||||
|
ver 0.24 2010-05-24(CET)
|
||||||
|
* VRAM size is now properly checked, fixing R-Type's V9938 detection.
|
||||||
|
* C-BIOS doesn't lie anymore about the interrupt frequency.
|
||||||
|
* Don't di; halt when no ROM is found, the warning in openMSX may be
|
||||||
|
confusing
|
||||||
|
* A few minor bug fixes and tweaks.
|
||||||
|
ver 0.25 2011-02-01(CET)
|
||||||
|
* C-BIOS now offers localized versions in the flavours INT (default),
|
||||||
|
JP and BR.
|
||||||
|
* Bug fixes for compatibility with Mirai, Family Billiards.
|
||||||
|
* A couple of other bug fixes.
|
||||||
|
* This version only compiles with Pasmo 0.5.3, due to lack of
|
||||||
|
standards in assembler directives...
|
||||||
|
ver 0.26 2014-11-02(CET)
|
||||||
|
* Restored support to compile with tniASM (v1.0 Beta 17 or higher)
|
||||||
|
* Moved to git, which means a.o.: archived changelog.txt, use git log
|
||||||
|
from now on
|
||||||
|
* Fixed VDP VRAM access timing for MSX1 VDP's
|
||||||
|
* Update openMSX configurations to the new structure
|
||||||
|
* Fixed bug blueMSX configurations
|
||||||
|
* Fixed build on Mac OS X and add support for "make dist"
|
||||||
|
ver 0.27 2014-11-05(CET)
|
||||||
|
* Fixed bug (regression) in filvrm on non-MSX1-VDP's
|
||||||
|
* Fixed some small bugs in openMSX configs
|
||||||
|
* Fixed line endings of this file
|
||||||
|
ver 0.28 2017-07-30(CEST)
|
||||||
|
* Fixed bug that prevented brackets and a few other keys from
|
||||||
|
generating characters when pressed
|
||||||
|
ver 0.29 2018-02-18(CET)
|
||||||
|
* Removed NLMSX configs. We don't think anyone is interested anymore
|
||||||
|
* Made generic international ROM config 60Hz and added an EU variant
|
||||||
|
at 50Hz default interrupt frequency
|
||||||
|
ver 0.29a 2018-09-23(CEST)
|
||||||
|
* Fixed metadata in openMSX configs for EU machines
|
||||||
|
|
||||||
|
Special Thanks
|
||||||
|
--------------
|
||||||
|
|
||||||
|
People uploading MSX information to the internet.
|
||||||
|
People developing any kind of emulators.
|
||||||
|
All users.
|
||||||
|
|
||||||
|
Font edit tool:
|
||||||
|
Gameboy Tile Designer version 2.2
|
||||||
|
Copyright H. Mulder 1999
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,13 @@
|
||||||
|
3e Port_MemoryControl out
|
||||||
|
3f Port_IOPortControl out
|
||||||
|
7e Port_VCounter in
|
||||||
|
7f Port_PSG out
|
||||||
|
7f Port_HCounter in
|
||||||
|
be Port_VDPData
|
||||||
|
bf Port_VDPAddress out
|
||||||
|
bf Port_VDPStatus in
|
||||||
|
dc Port_IOPort1 in
|
||||||
|
dd Port_IOPort2 in
|
||||||
|
f0 Port_FMAddress
|
||||||
|
f1 Port_FMData
|
||||||
|
f2 Port_AudioControl
|
|
@ -0,0 +1,48 @@
|
||||||
|
Emulicious
|
||||||
|
Project Homepage: https://www.emulicious.net
|
||||||
|
Discord Server: https://discord.gg/YuKjBUF
|
||||||
|
VS Code Extension: https://marketplace.visualstudio.com/items?itemName=emulicious.emulicious-debugger
|
||||||
|
|
||||||
|
This program is distributed under the attached license. See License.txt.
|
||||||
|
|
||||||
|
=================
|
||||||
|
Special Thanks
|
||||||
|
=================
|
||||||
|
PG Lomba - Visual identity design
|
||||||
|
|
||||||
|
=================
|
||||||
|
Required Runtimes
|
||||||
|
=================
|
||||||
|
Java 6 or newer:
|
||||||
|
http://www.java.com
|
||||||
|
|
||||||
|
===============
|
||||||
|
Troubleshooting
|
||||||
|
===============
|
||||||
|
There have been reports of bad performance on Windows 11. This seems to be a driver issue. You can either update your drivers or disable Hardware Acceleration.
|
||||||
|
On Windows with high-dpi screens, Windows applies some scaling which causes fonts to appear blurry. You can fix this by letting the application handle the scaling.
|
||||||
|
You can find this via right-click on Emulicious.exe -> Properties -> Compatibility -> Change High DPI Settings -> Tick the checkbox at the bottom and select Application.
|
||||||
|
|
||||||
|
====================
|
||||||
|
Commandline Commands
|
||||||
|
====================
|
||||||
|
-muted = start without sound (can still be manually enabled, see controls below)
|
||||||
|
-scale [level] = start with given zoom level
|
||||||
|
-link [address] = connects your Emulicious via link with the given address (e.g. "-link localhost" to connect to yourself)
|
||||||
|
-linkport [port] = specifies to port to use with the -link option (default is 5887, if not specified)
|
||||||
|
-fullscreen = Start provided rom in fullscreen mode
|
||||||
|
-set [key=value] = Set a property. E.g. "-set SMSFM=true"
|
||||||
|
-throttle [speed] = throttles the speed to the given value in percent
|
||||||
|
-disassemble [file] = Disassemble the provided file. If a directory is provided, all contained files are disassembled.
|
||||||
|
|
||||||
|
=================
|
||||||
|
Expressions
|
||||||
|
=================
|
||||||
|
Expressions are used in many places in the Debugger.
|
||||||
|
For explanations and examples checkout Expressions.txt.
|
||||||
|
|
||||||
|
==========
|
||||||
|
What's New
|
||||||
|
==========
|
||||||
|
To keep track on what's new check out WhatsNew.txt.
|
||||||
|
It also contains explanations of some features.
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,69 @@
|
||||||
|
Copyright © 1993, 2018, Oracle and/or its affiliates.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
This software and related documentation are provided under a
|
||||||
|
license agreement containing restrictions on use and
|
||||||
|
disclosure and are protected by intellectual property laws.
|
||||||
|
Except as expressly permitted in your license agreement or
|
||||||
|
allowed by law, you may not use, copy, reproduce, translate,
|
||||||
|
broadcast, modify, license, transmit, distribute, exhibit,
|
||||||
|
perform, publish, or display any part, in any form, or by
|
||||||
|
any means. Reverse engineering, disassembly, or
|
||||||
|
decompilation of this software, unless required by law for
|
||||||
|
interoperability, is prohibited.
|
||||||
|
|
||||||
|
The information contained herein is subject to change
|
||||||
|
without notice and is not warranted to be error-free. If you
|
||||||
|
find any errors, please report them to us in writing.
|
||||||
|
|
||||||
|
If this is software or related documentation that is
|
||||||
|
delivered to the U.S. Government or anyone licensing it on
|
||||||
|
behalf of the U.S. Government, the following notice is
|
||||||
|
applicable:
|
||||||
|
|
||||||
|
U.S. GOVERNMENT END USERS: Oracle programs, including any
|
||||||
|
operating system, integrated software, any programs
|
||||||
|
installed on the hardware, and/or documentation, delivered
|
||||||
|
to U.S. Government end users are "commercial computer
|
||||||
|
software" pursuant to the applicable Federal Acquisition
|
||||||
|
Regulation and agency-specific supplemental regulations. As
|
||||||
|
such, use, duplication, disclosure, modification, and
|
||||||
|
adaptation of the programs, including any operating system,
|
||||||
|
integrated software, any programs installed on the hardware,
|
||||||
|
and/or documentation, shall be subject to license terms and
|
||||||
|
license restrictions applicable to the programs. No other
|
||||||
|
rights are granted to the U.S. Government.
|
||||||
|
|
||||||
|
This software or hardware is developed for general use in a
|
||||||
|
variety of information management applications. It is not
|
||||||
|
developed or intended for use in any inherently dangerous
|
||||||
|
applications, including applications that may create a risk
|
||||||
|
of personal injury. If you use this software or hardware in
|
||||||
|
dangerous applications, then you shall be responsible to
|
||||||
|
take all appropriate fail-safe, backup, redundancy, and
|
||||||
|
other measures to ensure its safe use. Oracle Corporation
|
||||||
|
and its affiliates disclaim any liability for any damages
|
||||||
|
caused by use of this software or hardware in dangerous
|
||||||
|
applications.
|
||||||
|
|
||||||
|
Oracle and Java are registered trademarks of Oracle and/or
|
||||||
|
its affiliates. Other names may be trademarks of their
|
||||||
|
respective owners.
|
||||||
|
|
||||||
|
Intel and Intel Xeon are trademarks or registered trademarks
|
||||||
|
of Intel Corporation. All SPARC trademarks are used under
|
||||||
|
license and are trademarks or registered trademarks of SPARC
|
||||||
|
International, Inc. AMD, Opteron, the AMD logo, and the AMD
|
||||||
|
Opteron logo are trademarks or registered trademarks of
|
||||||
|
Advanced Micro Devices. UNIX is a registered trademark of
|
||||||
|
The Open Group.
|
||||||
|
|
||||||
|
This software or hardware and documentation may provide
|
||||||
|
access to or information on content, products, and services
|
||||||
|
from third parties. Oracle Corporation and its affiliates
|
||||||
|
are not responsible for and expressly disclaim all
|
||||||
|
warranties of any kind with respect to third-party content,
|
||||||
|
products, and services. Oracle Corporation and its
|
||||||
|
affiliates will not be responsible for any loss, costs, or
|
||||||
|
damages incurred due to your access to or use of third-party
|
||||||
|
content, products, or services.
|
|
@ -0,0 +1 @@
|
||||||
|
Please refer to http://java.com/license
|
|
@ -0,0 +1 @@
|
||||||
|
Please refer to http://java.com/licensereadme
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,28 @@
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>
|
||||||
|
Welcome to the Java(TM) Platform
|
||||||
|
</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h2>Welcome to the Java<SUP><FONT SIZE=-2>TM</FONT></SUP> Platform</h2>
|
||||||
|
<p> Welcome to the Java<SUP><FONT SIZE=-2>TM</FONT></SUP> Standard Edition Runtime
|
||||||
|
Environment. This provides complete runtime support for Java applications.
|
||||||
|
<p> The runtime environment includes the Java<SUP><FONT SIZE=-2>TM</FONT></SUP>
|
||||||
|
Plug-in product which supports the Java environment inside web browsers.
|
||||||
|
<h3>References</h3>
|
||||||
|
<p>
|
||||||
|
See the <a href="http://download.oracle.com/javase/7/docs/technotes/guides/plugin/">Java Plug-in</a> product
|
||||||
|
documentation for more information on using the Java Plug-in product.
|
||||||
|
<p> See the <a href=
|
||||||
|
"http://www.oracle.com/technetwork/java/javase/overview/"
|
||||||
|
>Java Platform</a> web site for
|
||||||
|
more information on the Java Platform.
|
||||||
|
<hr>
|
||||||
|
<font size="-2">
|
||||||
|
Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||||
|
</font>
|
||||||
|
<p>
|
||||||
|
</body>
|
||||||
|
</html>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue