commit b29f44c1c038a41854073e8b63e28b56d9b1cd7a Author: Randy Thiemann Date: Tue Oct 10 10:32:24 2023 +0200 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..170aaea --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/bin/ +/obj/ +/dep/ +/res/ diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..6b155f0 --- /dev/null +++ b/.vscode/launch.json @@ -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" + } + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..636d850 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,10 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "buildrom", + "type": "shell", + "command": "make" + } + ] +} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..d493419 --- /dev/null +++ b/Makefile @@ -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 diff --git a/designnotes.md b/designnotes.md new file mode 100644 index 0000000..7f2c1a1 --- /dev/null +++ b/designnotes.md @@ -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 ----------------------------------------------- diff --git a/project.mk b/project.mk new file mode 100644 index 0000000..9cda45a --- /dev/null +++ b/project.mk @@ -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 diff --git a/src/header.asm b/src/header.asm new file mode 100644 index 0000000..7f2d278 --- /dev/null +++ b/src/header.asm @@ -0,0 +1,8 @@ +; ***************************************************************************** +; * * +; * Cartridge Header. * +; * * +; ***************************************************************************** +SECTION "Header", ROM0[$100] + jp MainEntryPoint + ds $150 - @, 0 ; RGBFIX will fill in the header. diff --git a/src/include/globals.asm b/src/include/globals.asm new file mode 100644 index 0000000..24e4307 --- /dev/null +++ b/src/include/globals.asm @@ -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 diff --git a/src/include/hardware.inc b/src/include/hardware.inc new file mode 100644 index 0000000..c86c0de --- /dev/null +++ b/src/include/hardware.inc @@ -0,0 +1,1113 @@ +;* +;* Gameboy Hardware definitions +;* https://github.com/gbdev/hardware.inc +;* +;* Based on Jones' hardware.inc +;* And based on Carsten Sorensen's ideas. +;* +;* To the extent possible under law, the authors of this work have +;* waived all copyright and related or neighboring rights to the work. +;* See https://creativecommons.org/publicdomain/zero/1.0/ for details. +;* +;* SPDX-License-Identifier: CC0-1.0 +;* +;* Rev 1.1 - 15-Jul-97 : Added define check +;* Rev 1.2 - 18-Jul-97 : Added revision check macro +;* Rev 1.3 - 19-Jul-97 : Modified for RGBASM V1.05 +;* Rev 1.4 - 27-Jul-97 : Modified for new subroutine prefixes +;* Rev 1.5 - 15-Aug-97 : Added _HRAM, PAD, CART defines +;* : and Nintendo Logo +;* Rev 1.6 - 30-Nov-97 : Added rDIV, rTIMA, rTMA, & rTAC +;* Rev 1.7 - 31-Jan-98 : Added _SCRN0, _SCRN1 +;* Rev 1.8 - 15-Feb-98 : Added rSB, rSC +;* Rev 1.9 - 16-Feb-98 : Converted I/O registers to $FFXX format +;* Rev 2.0 - : Added GBC registers +;* Rev 2.1 - : Added MBC5 & cart RAM enable/disable defines +;* Rev 2.2 - : Fixed NR42,NR43, & NR44 equates +;* Rev 2.3 - : Fixed incorrect _HRAM equate +;* Rev 2.4 - 27-Apr-13 : Added some cart defines (AntonioND) +;* Rev 2.5 - 03-May-15 : Fixed format (AntonioND) +;* Rev 2.6 - 09-Apr-16 : Added GBC OAM and cart defines (AntonioND) +;* Rev 2.7 - 19-Jan-19 : Added rPCMXX (ISSOtm) +;* Rev 2.8 - 03-Feb-19 : Added audio registers flags (Álvaro Cuesta) +;* Rev 2.9 - 28-Feb-20 : Added utility rP1 constants +;* Rev 3.0 - 27-Aug-20 : Register ordering, byte-based sizes, OAM additions, general cleanup (Blitter Object) +;* Rev 4.0 - 03-May-21 : Updated to use RGBDS 0.5.0 syntax, changed IEF_LCDC to IEF_STAT (Eievui) +;* Rev 4.1 - 16-Aug-21 : Added more flags, bit number defines, and offset constants for OAM and window positions (rondnelson99) +;* Rev 4.2 - 04-Sep-21 : Added CH3- and CH4-specific audio registers flags (ISSOtm) +;* Rev 4.3 - 07-Nov-21 : Deprecate VRAM address constants (Eievui) +;* Rev 4.4 - 11-Jan-22 : Deprecate VRAM CART_SRAM_2KB constant (avivace) +;* Rev 4.5 - 03-Mar-22 : Added bit number definitions for OCPS, BCPS and LCDC (sukus) +;* Rev 4.6 - 15-Jun-22 : Added MBC3 registers and special values +;* Rev 4.7.0 - 27-Jun-22 : Added alternate names for some constants +;* Rev 4.7.1 - 05-Jul-22 : Added RPB_LED_ON constant +;* Rev 4.8.0 - 25-Oct-22 : Changed background addressing constants (zlago) +;* Rev 4.8.1 - 29-Apr-23 : Added rOPRI (rbong) +;* Rev 4.9.0 - 24-Jun-23 : Added definitions for interrupt vectors (sukus) +;* Rev 4.9.1 - 11-Sep-23 : Added repository link and CC0 waiver notice + + +; NOTE: REVISION NUMBER CHANGES MUST BE REFLECTED +; IN `rev_Check_hardware_inc` BELOW! + +IF __RGBDS_MAJOR__ == 0 && __RGBDS_MINOR__ < 5 + FAIL "This version of 'hardware.inc' requires RGBDS version 0.5.0 or later." +ENDC + +; If all of these are already defined, don't do it again. + + IF !DEF(HARDWARE_INC) +DEF HARDWARE_INC EQU 1 + +; Usage: rev_Check_hardware_inc +; Examples: rev_Check_hardware_inc 4.1.2 +; rev_Check_hardware_inc 4.1 (equivalent to 4.1.0) +; rev_Check_hardware_inc 4 (equivalent to 4.0.0) +MACRO rev_Check_hardware_inc + DEF CUR_VER equs "4,9,1" ; ** UPDATE THIS LINE WHEN CHANGING THE REVISION NUMBER ** + + DEF MIN_VER equs STRRPL("\1", ".", ",") + DEF INTERNAL_CHK equs """MACRO ___internal + IF \\1 != \\4 || \\2 < \\5 || (\\2 == \\5 && \\3 < \\6) + FAIL "Version \\1.\\2.\\3 of 'hardware.inc' is incompatible with requested version \\4.\\5.\\6" + ENDC +\nENDM""" + INTERNAL_CHK + ___internal {CUR_VER}, {MIN_VER},0,0 + PURGE CUR_VER, MIN_VER, INTERNAL_CHK, ___internal +ENDM + + +;*************************************************************************** +;* +;* General memory region constants +;* +;*************************************************************************** + +DEF _VRAM EQU $8000 ; $8000->$9FFF +DEF _SCRN0 EQU $9800 ; $9800->$9BFF +DEF _SCRN1 EQU $9C00 ; $9C00->$9FFF +DEF _SRAM EQU $A000 ; $A000->$BFFF +DEF _RAM EQU $C000 ; $C000->$CFFF / $C000->$DFFF +DEF _RAMBANK EQU $D000 ; $D000->$DFFF +DEF _OAMRAM EQU $FE00 ; $FE00->$FE9F +DEF _IO EQU $FF00 ; $FF00->$FF7F,$FFFF +DEF _AUD3WAVERAM EQU $FF30 ; $FF30->$FF3F +DEF _HRAM EQU $FF80 ; $FF80->$FFFE + + +;*************************************************************************** +;* +;* MBC registers +;* +;*************************************************************************** + +; *** Common *** + +; -- +; -- RAMG ($0000-$1FFF) +; -- Controls whether access to SRAM (and the MBC3 RTC registers) is allowed (W) +; -- +DEF rRAMG EQU $0000 + +DEF CART_SRAM_ENABLE EQU $0A +DEF CART_SRAM_DISABLE EQU $00 + + +; -- +; -- ROMB0 ($2000-$3FFF) +; -- Selects which ROM bank is mapped to the ROMX space ($4000-$7FFF) (W) +; -- +; -- The range of accepted values, as well as the behavior of writing $00, +; -- varies depending on the MBC. +; -- +DEF rROMB0 EQU $2000 + +; -- +; -- RAMB ($4000-$5FFF) +; -- Selects which SRAM bank is mapped to the SRAM space ($A000-$BFFF) (W) +; -- +; -- The range of accepted values varies depending on the cartridge configuration. +; -- +DEF rRAMB EQU $4000 + + +; *** MBC3-specific registers *** + +; Write one of these to rRAMG to map the corresponding RTC register to all SRAM space +DEF RTC_S EQU $08 ; Seconds (0-59) +DEF RTC_M EQU $09 ; Minutes (0-59) +DEF RTC_H EQU $0A ; Hours (0-23) +DEF RTC_DL EQU $0B ; Lower 8 bits of Day Counter ($00-$FF) +DEF RTC_DH EQU $0C ; Bit 7 - Day Counter Carry Bit (1=Counter Overflow) + ; Bit 6 - Halt (0=Active, 1=Stop Timer) + ; Bit 0 - Most significant bit of Day Counter (Bit 8) + + +; -- +; -- RTCLATCH ($6000-$7FFF) +; -- Write $00 then $01 to latch the current time into the RTC registers (W) +; -- +DEF rRTCLATCH EQU $6000 + + +; *** MBC5-specific register *** + +; -- +; -- ROMB1 ($3000-$3FFF) +; -- A 9th bit that "extends" ROMB0 if more than 256 banks are present (W) +; -- +; -- Also note that rROMB0 thus only spans $2000-$2FFF. +; -- +DEF rROMB1 EQU $3000 + + +; Bit 3 of RAMB enables the rumble motor (if any) +DEF CART_RUMBLE_ON EQU 1 << 3 + + +;*************************************************************************** +;* +;* Memory-mapped registers +;* +;*************************************************************************** + +; -- +; -- P1 ($FF00) +; -- Register for reading joy pad info. (R/W) +; -- +DEF rP1 EQU $FF00 + +DEF P1F_5 EQU %00100000 ; P15 out port, set to 0 to get buttons +DEF P1F_4 EQU %00010000 ; P14 out port, set to 0 to get dpad +DEF P1F_3 EQU %00001000 ; P13 in port +DEF P1F_2 EQU %00000100 ; P12 in port +DEF P1F_1 EQU %00000010 ; P11 in port +DEF P1F_0 EQU %00000001 ; P10 in port + +DEF P1F_GET_DPAD EQU P1F_5 +DEF P1F_GET_BTN EQU P1F_4 +DEF P1F_GET_NONE EQU P1F_4 | P1F_5 + + +; -- +; -- SB ($FF01) +; -- Serial Transfer Data (R/W) +; -- +DEF rSB EQU $FF01 + + +; -- +; -- SC ($FF02) +; -- Serial I/O Control (R/W) +; -- +DEF rSC EQU $FF02 + +DEF SCF_START EQU %10000000 ; Transfer Start Flag (1=Transfer in progress, or requested) +DEF SCF_SPEED EQU %00000010 ; Clock Speed (0=Normal, 1=Fast) ** CGB Mode Only ** +DEF SCF_SOURCE EQU %00000001 ; Shift Clock (0=External Clock, 1=Internal Clock) + +DEF SCB_START EQU 7 +DEF SCB_SPEED EQU 1 +DEF SCB_SOURCE EQU 0 + +; -- +; -- DIV ($FF04) +; -- Divider register (R/W) +; -- +DEF rDIV EQU $FF04 + + +; -- +; -- TIMA ($FF05) +; -- Timer counter (R/W) +; -- +DEF rTIMA EQU $FF05 + + +; -- +; -- TMA ($FF06) +; -- Timer modulo (R/W) +; -- +DEF rTMA EQU $FF06 + + +; -- +; -- TAC ($FF07) +; -- Timer control (R/W) +; -- +DEF rTAC EQU $FF07 + +DEF TACF_START EQU %00000100 +DEF TACF_STOP EQU %00000000 +DEF TACF_4KHZ EQU %00000000 +DEF TACF_16KHZ EQU %00000011 +DEF TACF_65KHZ EQU %00000010 +DEF TACF_262KHZ EQU %00000001 + +DEF TACB_START EQU 2 + + +; -- +; -- IF ($FF0F) +; -- Interrupt Flag (R/W) +; -- +DEF rIF EQU $FF0F + + +; -- +; -- AUD1SWEEP/NR10 ($FF10) +; -- Sweep register (R/W) +; -- +; -- Bit 6-4 - Sweep Time +; -- Bit 3 - Sweep Increase/Decrease +; -- 0: Addition (frequency increases???) +; -- 1: Subtraction (frequency increases???) +; -- Bit 2-0 - Number of sweep shift (# 0-7) +; -- Sweep Time: (n*7.8ms) +; -- +DEF rNR10 EQU $FF10 +DEF rAUD1SWEEP EQU rNR10 + +DEF AUD1SWEEP_UP EQU %00000000 +DEF AUD1SWEEP_DOWN EQU %00001000 + + +; -- +; -- AUD1LEN/NR11 ($FF11) +; -- Sound length/Wave pattern duty (R/W) +; -- +; -- Bit 7-6 - Wave Pattern Duty (00:12.5% 01:25% 10:50% 11:75%) +; -- Bit 5-0 - Sound length data (# 0-63) +; -- +DEF rNR11 EQU $FF11 +DEF rAUD1LEN EQU rNR11 + + +; -- +; -- AUD1ENV/NR12 ($FF12) +; -- Envelope (R/W) +; -- +; -- Bit 7-4 - Initial value of envelope +; -- Bit 3 - Envelope UP/DOWN +; -- 0: Decrease +; -- 1: Range of increase +; -- Bit 2-0 - Number of envelope sweep (# 0-7) +; -- +DEF rNR12 EQU $FF12 +DEF rAUD1ENV EQU rNR12 + + +; -- +; -- AUD1LOW/NR13 ($FF13) +; -- Frequency low byte (W) +; -- +DEF rNR13 EQU $FF13 +DEF rAUD1LOW EQU rNR13 + + +; -- +; -- AUD1HIGH/NR14 ($FF14) +; -- Frequency high byte (W) +; -- +; -- Bit 7 - Initial (when set, sound restarts) +; -- Bit 6 - Counter/consecutive selection +; -- Bit 2-0 - Frequency's higher 3 bits +; -- +DEF rNR14 EQU $FF14 +DEF rAUD1HIGH EQU rNR14 + + +; -- +; -- AUD2LEN/NR21 ($FF16) +; -- Sound Length; Wave Pattern Duty (R/W) +; -- +; -- see AUD1LEN for info +; -- +DEF rNR21 EQU $FF16 +DEF rAUD2LEN EQU rNR21 + + +; -- +; -- AUD2ENV/NR22 ($FF17) +; -- Envelope (R/W) +; -- +; -- see AUD1ENV for info +; -- +DEF rNR22 EQU $FF17 +DEF rAUD2ENV EQU rNR22 + + +; -- +; -- AUD2LOW/NR23 ($FF18) +; -- Frequency low byte (W) +; -- +DEF rNR23 EQU $FF18 +DEF rAUD2LOW EQU rNR23 + + +; -- +; -- AUD2HIGH/NR24 ($FF19) +; -- Frequency high byte (W) +; -- +; -- see AUD1HIGH for info +; -- +DEF rNR24 EQU $FF19 +DEF rAUD2HIGH EQU rNR24 + + +; -- +; -- AUD3ENA/NR30 ($FF1A) +; -- Sound on/off (R/W) +; -- +; -- Bit 7 - Sound ON/OFF (1=ON,0=OFF) +; -- +DEF rNR30 EQU $FF1A +DEF rAUD3ENA EQU rNR30 + +DEF AUD3ENA_OFF EQU %00000000 +DEF AUD3ENA_ON EQU %10000000 + + +; -- +; -- AUD3LEN/NR31 ($FF1B) +; -- Sound length (R/W) +; -- +; -- Bit 7-0 - Sound length +; -- +DEF rNR31 EQU $FF1B +DEF rAUD3LEN EQU rNR31 + + +; -- +; -- AUD3LEVEL/NR32 ($FF1C) +; -- Select output level +; -- +; -- Bit 6-5 - Select output level +; -- 00: 0/1 (mute) +; -- 01: 1/1 +; -- 10: 1/2 +; -- 11: 1/4 +; -- +DEF rNR32 EQU $FF1C +DEF rAUD3LEVEL EQU rNR32 + +DEF AUD3LEVEL_MUTE EQU %00000000 +DEF AUD3LEVEL_100 EQU %00100000 +DEF AUD3LEVEL_50 EQU %01000000 +DEF AUD3LEVEL_25 EQU %01100000 + + +; -- +; -- AUD3LOW/NR33 ($FF1D) +; -- Frequency low byte (W) +; -- +; -- see AUD1LOW for info +; -- +DEF rNR33 EQU $FF1D +DEF rAUD3LOW EQU rNR33 + + +; -- +; -- AUD3HIGH/NR34 ($FF1E) +; -- Frequency high byte (W) +; -- +; -- see AUD1HIGH for info +; -- +DEF rNR34 EQU $FF1E +DEF rAUD3HIGH EQU rNR34 + + +; -- +; -- AUD4LEN/NR41 ($FF20) +; -- Sound length (R/W) +; -- +; -- Bit 5-0 - Sound length data (# 0-63) +; -- +DEF rNR41 EQU $FF20 +DEF rAUD4LEN EQU rNR41 + + +; -- +; -- AUD4ENV/NR42 ($FF21) +; -- Envelope (R/W) +; -- +; -- see AUD1ENV for info +; -- +DEF rNR42 EQU $FF21 +DEF rAUD4ENV EQU rNR42 + + +; -- +; -- AUD4POLY/NR43 ($FF22) +; -- Polynomial counter (R/W) +; -- +; -- Bit 7-4 - Selection of the shift clock frequency of the (scf) +; -- polynomial counter (0000-1101) +; -- freq=drf*1/2^scf (not sure) +; -- Bit 3 - Selection of the polynomial counter's step +; -- 0: 15 steps +; -- 1: 7 steps +; -- Bit 2-0 - Selection of the dividing ratio of frequencies (drf) +; -- 000: f/4 001: f/8 010: f/16 011: f/24 +; -- 100: f/32 101: f/40 110: f/48 111: f/56 (f=4.194304 Mhz) +; -- +DEF rNR43 EQU $FF22 +DEF rAUD4POLY EQU rNR43 + +DEF AUD4POLY_15STEP EQU %00000000 +DEF AUD4POLY_7STEP EQU %00001000 + + +; -- +; -- AUD4GO/NR44 ($FF23) +; -- +; -- Bit 7 - Initial (when set, sound restarts) +; -- Bit 6 - Counter/consecutive selection +; -- +DEF rNR44 EQU $FF23 +DEF rAUD4GO EQU rNR44 + + +; -- +; -- AUDVOL/NR50 ($FF24) +; -- Channel control / ON-OFF / Volume (R/W) +; -- +; -- Bit 7 - Vin->SO2 ON/OFF (left) +; -- Bit 6-4 - SO2 output level (left speaker) (# 0-7) +; -- Bit 3 - Vin->SO1 ON/OFF (right) +; -- Bit 2-0 - SO1 output level (right speaker) (# 0-7) +; -- +DEF rNR50 EQU $FF24 +DEF rAUDVOL EQU rNR50 + +DEF AUDVOL_VIN_LEFT EQU %10000000 ; SO2 +DEF AUDVOL_VIN_RIGHT EQU %00001000 ; SO1 + + +; -- +; -- AUDTERM/NR51 ($FF25) +; -- Selection of Sound output terminal (R/W) +; -- +; -- Bit 7 - Output channel 4 to SO2 terminal (left) +; -- Bit 6 - Output channel 3 to SO2 terminal (left) +; -- Bit 5 - Output channel 2 to SO2 terminal (left) +; -- Bit 4 - Output channel 1 to SO2 terminal (left) +; -- Bit 3 - Output channel 4 to SO1 terminal (right) +; -- Bit 2 - Output channel 3 to SO1 terminal (right) +; -- Bit 1 - Output channel 2 to SO1 terminal (right) +; -- Bit 0 - Output channel 1 to SO1 terminal (right) +; -- +DEF rNR51 EQU $FF25 +DEF rAUDTERM EQU rNR51 + +; SO2 +DEF AUDTERM_4_LEFT EQU %10000000 +DEF AUDTERM_3_LEFT EQU %01000000 +DEF AUDTERM_2_LEFT EQU %00100000 +DEF AUDTERM_1_LEFT EQU %00010000 +; SO1 +DEF AUDTERM_4_RIGHT EQU %00001000 +DEF AUDTERM_3_RIGHT EQU %00000100 +DEF AUDTERM_2_RIGHT EQU %00000010 +DEF AUDTERM_1_RIGHT EQU %00000001 + + +; -- +; -- AUDENA/NR52 ($FF26) +; -- Sound on/off (R/W) +; -- +; -- Bit 7 - All sound on/off (sets all audio regs to 0!) +; -- Bit 3 - Sound 4 ON flag (read only) +; -- Bit 2 - Sound 3 ON flag (read only) +; -- Bit 1 - Sound 2 ON flag (read only) +; -- Bit 0 - Sound 1 ON flag (read only) +; -- +DEF rNR52 EQU $FF26 +DEF rAUDENA EQU rNR52 + +DEF AUDENA_ON EQU %10000000 +DEF AUDENA_OFF EQU %00000000 ; sets all audio regs to 0! + + +; -- +; -- LCDC ($FF40) +; -- LCD Control (R/W) +; -- +DEF rLCDC EQU $FF40 + +DEF LCDCF_OFF EQU %00000000 ; LCD Control Operation +DEF LCDCF_ON EQU %10000000 ; LCD Control Operation +DEF LCDCF_WIN9800 EQU %00000000 ; Window Tile Map Display Select +DEF LCDCF_WIN9C00 EQU %01000000 ; Window Tile Map Display Select +DEF LCDCF_WINOFF EQU %00000000 ; Window Display +DEF LCDCF_WINON EQU %00100000 ; Window Display +DEF LCDCF_BLK21 EQU %00000000 ; BG & Window Tile Data Select +DEF LCDCF_BLK01 EQU %00010000 ; BG & Window Tile Data Select +DEF LCDCF_BG9800 EQU %00000000 ; BG Tile Map Display Select +DEF LCDCF_BG9C00 EQU %00001000 ; BG Tile Map Display Select +DEF LCDCF_OBJ8 EQU %00000000 ; OBJ Construction +DEF LCDCF_OBJ16 EQU %00000100 ; OBJ Construction +DEF LCDCF_OBJOFF EQU %00000000 ; OBJ Display +DEF LCDCF_OBJON EQU %00000010 ; OBJ Display +DEF LCDCF_BGOFF EQU %00000000 ; BG Display +DEF LCDCF_BGON EQU %00000001 ; BG Display + +DEF LCDCB_ON EQU 7 ; LCD Control Operation +DEF LCDCB_WIN9C00 EQU 6 ; Window Tile Map Display Select +DEF LCDCB_WINON EQU 5 ; Window Display +DEF LCDCB_BLKS EQU 4 ; BG & Window Tile Data Select +DEF LCDCB_BG9C00 EQU 3 ; BG Tile Map Display Select +DEF LCDCB_OBJ16 EQU 2 ; OBJ Construction +DEF LCDCB_OBJON EQU 1 ; OBJ Display +DEF LCDCB_BGON EQU 0 ; BG Display +; "Window Character Data Select" follows BG + + +; -- +; -- STAT ($FF41) +; -- LCDC Status (R/W) +; -- +DEF rSTAT EQU $FF41 + +DEF STATF_LYC EQU %01000000 ; LYC=LY Coincidence (Selectable) +DEF STATF_MODE10 EQU %00100000 ; Mode 10 +DEF STATF_MODE01 EQU %00010000 ; Mode 01 (V-Blank) +DEF STATF_MODE00 EQU %00001000 ; Mode 00 (H-Blank) +DEF STATF_LYCF EQU %00000100 ; Coincidence Flag +DEF STATF_HBL EQU %00000000 ; H-Blank +DEF STATF_VBL EQU %00000001 ; V-Blank +DEF STATF_OAM EQU %00000010 ; OAM-RAM is used by system +DEF STATF_LCD EQU %00000011 ; Both OAM and VRAM used by system +DEF STATF_BUSY EQU %00000010 ; When set, VRAM access is unsafe + +DEF STATB_LYC EQU 6 +DEF STATB_MODE10 EQU 5 +DEF STATB_MODE01 EQU 4 +DEF STATB_MODE00 EQU 3 +DEF STATB_LYCF EQU 2 +DEF STATB_BUSY EQU 1 + +; -- +; -- SCY ($FF42) +; -- Scroll Y (R/W) +; -- +DEF rSCY EQU $FF42 + + +; -- +; -- SCX ($FF43) +; -- Scroll X (R/W) +; -- +DEF rSCX EQU $FF43 + + +; -- +; -- LY ($FF44) +; -- LCDC Y-Coordinate (R) +; -- +; -- Values range from 0->153. 144->153 is the VBlank period. +; -- +DEF rLY EQU $FF44 + + +; -- +; -- LYC ($FF45) +; -- LY Compare (R/W) +; -- +; -- When LY==LYC, STATF_LYCF will be set in STAT +; -- +DEF rLYC EQU $FF45 + + +; -- +; -- DMA ($FF46) +; -- DMA Transfer and Start Address (W) +; -- +DEF rDMA EQU $FF46 + + +; -- +; -- BGP ($FF47) +; -- BG Palette Data (W) +; -- +; -- Bit 7-6 - Intensity for %11 +; -- Bit 5-4 - Intensity for %10 +; -- Bit 3-2 - Intensity for %01 +; -- Bit 1-0 - Intensity for %00 +; -- +DEF rBGP EQU $FF47 + + +; -- +; -- OBP0 ($FF48) +; -- Object Palette 0 Data (W) +; -- +; -- See BGP for info +; -- +DEF rOBP0 EQU $FF48 + + +; -- +; -- OBP1 ($FF49) +; -- Object Palette 1 Data (W) +; -- +; -- See BGP for info +; -- +DEF rOBP1 EQU $FF49 + + +; -- +; -- WY ($FF4A) +; -- Window Y Position (R/W) +; -- +; -- 0 <= WY <= 143 +; -- When WY = 0, the window is displayed from the top edge of the LCD screen. +; -- +DEF rWY EQU $FF4A + + +; -- +; -- WX ($FF4B) +; -- Window X Position (R/W) +; -- +; -- 7 <= WX <= 166 +; -- When WX = 7, the window is displayed from the left edge of the LCD screen. +; -- Values of 0-6 and 166 are unreliable due to hardware bugs. +; -- +DEF rWX EQU $FF4B + +DEF WX_OFS EQU 7 ; add this to a screen position to get a WX position + + +; -- +; -- SPEED ($FF4D) +; -- Select CPU Speed (R/W) +; -- +DEF rKEY1 EQU $FF4D +DEF rSPD EQU rKEY1 + +DEF KEY1F_DBLSPEED EQU %10000000 ; 0=Normal Speed, 1=Double Speed (R) +DEF KEY1F_PREPARE EQU %00000001 ; 0=No, 1=Prepare (R/W) + + +; -- +; -- VBK ($FF4F) +; -- Select Video RAM Bank (R/W) +; -- +; -- Bit 0 - Bank Specification (0: Specify Bank 0; 1: Specify Bank 1) +; -- +DEF rVBK EQU $FF4F + + +; -- +; -- HDMA1 ($FF51) +; -- High byte for Horizontal Blanking/General Purpose DMA source address (W) +; -- CGB Mode Only +; -- +DEF rHDMA1 EQU $FF51 + + +; -- +; -- HDMA2 ($FF52) +; -- Low byte for Horizontal Blanking/General Purpose DMA source address (W) +; -- CGB Mode Only +; -- +DEF rHDMA2 EQU $FF52 + + +; -- +; -- HDMA3 ($FF53) +; -- High byte for Horizontal Blanking/General Purpose DMA destination address (W) +; -- CGB Mode Only +; -- +DEF rHDMA3 EQU $FF53 + + +; -- +; -- HDMA4 ($FF54) +; -- Low byte for Horizontal Blanking/General Purpose DMA destination address (W) +; -- CGB Mode Only +; -- +DEF rHDMA4 EQU $FF54 + + +; -- +; -- HDMA5 ($FF55) +; -- Transfer length (in tiles minus 1)/mode/start for Horizontal Blanking, General Purpose DMA (R/W) +; -- CGB Mode Only +; -- +DEF rHDMA5 EQU $FF55 + +DEF HDMA5F_MODE_GP EQU %00000000 ; General Purpose DMA (W) +DEF HDMA5F_MODE_HBL EQU %10000000 ; HBlank DMA (W) +DEF HDMA5B_MODE EQU 7 ; DMA mode select (W) + +; -- Once DMA has started, use HDMA5F_BUSY to check when the transfer is complete +DEF HDMA5F_BUSY EQU %10000000 ; 0=Busy (DMA still in progress), 1=Transfer complete (R) + + +; -- +; -- RP ($FF56) +; -- Infrared Communications Port (R/W) +; -- CGB Mode Only +; -- +DEF rRP EQU $FF56 + +DEF RPF_ENREAD EQU %11000000 +DEF RPF_DATAIN EQU %00000010 ; 0=Receiving IR Signal, 1=Normal +DEF RPF_WRITE_HI EQU %00000001 +DEF RPF_WRITE_LO EQU %00000000 + +DEF RPB_LED_ON EQU 0 +DEF RPB_DATAIN EQU 1 + + +; -- +; -- BCPS/BGPI ($FF68) +; -- Background Color Palette Specification (aka Background Palette Index) (R/W) +; -- +DEF rBCPS EQU $FF68 +DEF rBGPI EQU rBCPS + +DEF BCPSF_AUTOINC EQU %10000000 ; Auto Increment (0=Disabled, 1=Increment after Writing) +DEF BCPSB_AUTOINC EQU 7 +DEF BGPIF_AUTOINC EQU BCPSF_AUTOINC +DEF BGPIB_AUTOINC EQU BCPSB_AUTOINC + + +; -- +; -- BCPD/BGPD ($FF69) +; -- Background Color Palette Data (aka Background Palette Data) (R/W) +; -- +DEF rBCPD EQU $FF69 +DEF rBGPD EQU rBCPD + + +; -- +; -- OCPS/OBPI ($FF6A) +; -- Object Color Palette Specification (aka Object Background Palette Index) (R/W) +; -- +DEF rOCPS EQU $FF6A +DEF rOBPI EQU rOCPS + +DEF OCPSF_AUTOINC EQU %10000000 ; Auto Increment (0=Disabled, 1=Increment after Writing) +DEF OCPSB_AUTOINC EQU 7 +DEF OBPIF_AUTOINC EQU OCPSF_AUTOINC +DEF OBPIB_AUTOINC EQU OCPSB_AUTOINC + + +; -- +; -- OCPD/OBPD ($FF6B) +; -- Object Color Palette Data (aka Object Background Palette Data) (R/W) +; -- +DEF rOCPD EQU $FF6B +DEF rOBPD EQU rOCPD + + +; -- +; -- OPRI ($FF6C) +; -- Object Priority Mode (R/W) +; -- CGB Only + +; -- +; -- Priority can be changed only from the boot ROM +; -- +DEF rOPRI EQU $FF6C + +DEF OPRI_OAM EQU 0 ; Prioritize objects by location in OAM (CGB Mode default) +DEF OPRI_COORD EQU 1 ; Prioritize objects by x-coordinate (Non-CGB Mode default) + + + +; -- +; -- SMBK/SVBK ($FF70) +; -- Select Main RAM Bank (R/W) +; -- +; -- Bit 2-0 - Bank Specification (0,1: Specify Bank 1; 2-7: Specify Banks 2-7) +; -- +DEF rSVBK EQU $FF70 +DEF rSMBK EQU rSVBK + + +; -- +; -- PCM12 ($FF76) +; -- Sound channel 1&2 PCM amplitude (R) +; -- +; -- Bit 7-4 - Copy of sound channel 2's PCM amplitude +; -- Bit 3-0 - Copy of sound channel 1's PCM amplitude +; -- +DEF rPCM12 EQU $FF76 + + +; -- +; -- PCM34 ($FF77) +; -- Sound channel 3&4 PCM amplitude (R) +; -- +; -- Bit 7-4 - Copy of sound channel 4's PCM amplitude +; -- Bit 3-0 - Copy of sound channel 3's PCM amplitude +; -- +DEF rPCM34 EQU $FF77 + + +; -- +; -- IE ($FFFF) +; -- Interrupt Enable (R/W) +; -- +DEF rIE EQU $FFFF + +DEF IEF_HILO EQU %00010000 ; Transition from High to Low of Pin number P10-P13 +DEF IEF_SERIAL EQU %00001000 ; Serial I/O transfer end +DEF IEF_TIMER EQU %00000100 ; Timer Overflow +DEF IEF_STAT EQU %00000010 ; STAT +DEF IEF_VBLANK EQU %00000001 ; V-Blank + +DEF IEB_HILO EQU 4 +DEF IEB_SERIAL EQU 3 +DEF IEB_TIMER EQU 2 +DEF IEB_STAT EQU 1 +DEF IEB_VBLANK EQU 0 + + +;*************************************************************************** +;* +;* Flags common to multiple sound channels +;* +;*************************************************************************** + +; -- +; -- Square wave duty cycle +; -- +; -- Can be used with AUD1LEN and AUD2LEN +; -- See AUD1LEN for more info +; -- +DEF AUDLEN_DUTY_12_5 EQU %00000000 ; 12.5% +DEF AUDLEN_DUTY_25 EQU %01000000 ; 25% +DEF AUDLEN_DUTY_50 EQU %10000000 ; 50% +DEF AUDLEN_DUTY_75 EQU %11000000 ; 75% + + +; -- +; -- Audio envelope flags +; -- +; -- Can be used with AUD1ENV, AUD2ENV, AUD4ENV +; -- See AUD1ENV for more info +; -- +DEF AUDENV_UP EQU %00001000 +DEF AUDENV_DOWN EQU %00000000 + + +; -- +; -- Audio trigger flags +; -- +; -- Can be used with AUD1HIGH, AUD2HIGH, AUD3HIGH +; -- See AUD1HIGH for more info +; -- +DEF AUDHIGH_RESTART EQU %10000000 +DEF AUDHIGH_LENGTH_ON EQU %01000000 +DEF AUDHIGH_LENGTH_OFF EQU %00000000 + + +;*************************************************************************** +;* +;* CPU values on bootup (a=type, b=qualifier) +;* +;*************************************************************************** + +DEF BOOTUP_A_DMG EQU $01 ; Dot Matrix Game +DEF BOOTUP_A_CGB EQU $11 ; Color GameBoy +DEF BOOTUP_A_MGB EQU $FF ; Mini GameBoy (Pocket GameBoy) + +; if a=BOOTUP_A_CGB, bit 0 in b can be checked to determine if real CGB or +; other system running in GBC mode +DEF BOOTUP_B_CGB EQU %00000000 +DEF BOOTUP_B_AGB EQU %00000001 ; GBA, GBA SP, Game Boy Player, or New GBA SP + + +;*************************************************************************** +;* +;* Interrupt vector addresses +;* +;*************************************************************************** + +DEF INT_HANDLER_VBLANK EQU $0040 +DEF INT_HANDLER_STAT EQU $0048 +DEF INT_HANDLER_TIMER EQU $0050 +DEF INT_HANDLER_SERIAL EQU $0058 +DEF INT_HANDLER_JOYPAD EQU $0060 + + +;*************************************************************************** +;* +;* Header +;* +;*************************************************************************** + +;* +;* Nintendo scrolling logo +;* (Code won't work on a real GameBoy) +;* (if next lines are altered.) +MACRO NINTENDO_LOGO + DB $CE,$ED,$66,$66,$CC,$0D,$00,$0B,$03,$73,$00,$83,$00,$0C,$00,$0D + DB $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99 + DB $BB,$BB,$67,$63,$6E,$0E,$EC,$CC,$DD,$DC,$99,$9F,$BB,$B9,$33,$3E +ENDM + +; $0143 Color GameBoy compatibility code +DEF CART_COMPATIBLE_DMG EQU $00 +DEF CART_COMPATIBLE_DMG_GBC EQU $80 +DEF CART_COMPATIBLE_GBC EQU $C0 + +; $0146 GameBoy/Super GameBoy indicator +DEF CART_INDICATOR_GB EQU $00 +DEF CART_INDICATOR_SGB EQU $03 + +; $0147 Cartridge type +DEF CART_ROM EQU $00 +DEF CART_ROM_MBC1 EQU $01 +DEF CART_ROM_MBC1_RAM EQU $02 +DEF CART_ROM_MBC1_RAM_BAT EQU $03 +DEF CART_ROM_MBC2 EQU $05 +DEF CART_ROM_MBC2_BAT EQU $06 +DEF CART_ROM_RAM EQU $08 +DEF CART_ROM_RAM_BAT EQU $09 +DEF CART_ROM_MMM01 EQU $0B +DEF CART_ROM_MMM01_RAM EQU $0C +DEF CART_ROM_MMM01_RAM_BAT EQU $0D +DEF CART_ROM_MBC3_BAT_RTC EQU $0F +DEF CART_ROM_MBC3_RAM_BAT_RTC EQU $10 +DEF CART_ROM_MBC3 EQU $11 +DEF CART_ROM_MBC3_RAM EQU $12 +DEF CART_ROM_MBC3_RAM_BAT EQU $13 +DEF CART_ROM_MBC5 EQU $19 +DEF CART_ROM_MBC5_BAT EQU $1A +DEF CART_ROM_MBC5_RAM_BAT EQU $1B +DEF CART_ROM_MBC5_RUMBLE EQU $1C +DEF CART_ROM_MBC5_RAM_RUMBLE EQU $1D +DEF CART_ROM_MBC5_RAM_BAT_RUMBLE EQU $1E +DEF CART_ROM_MBC7_RAM_BAT_GYRO EQU $22 +DEF CART_ROM_POCKET_CAMERA EQU $FC +DEF CART_ROM_BANDAI_TAMA5 EQU $FD +DEF CART_ROM_HUDSON_HUC3 EQU $FE +DEF CART_ROM_HUDSON_HUC1 EQU $FF + +; $0148 ROM size +; these are kilobytes +DEF CART_ROM_32KB EQU $00 ; 2 banks +DEF CART_ROM_64KB EQU $01 ; 4 banks +DEF CART_ROM_128KB EQU $02 ; 8 banks +DEF CART_ROM_256KB EQU $03 ; 16 banks +DEF CART_ROM_512KB EQU $04 ; 32 banks +DEF CART_ROM_1024KB EQU $05 ; 64 banks +DEF CART_ROM_2048KB EQU $06 ; 128 banks +DEF CART_ROM_4096KB EQU $07 ; 256 banks +DEF CART_ROM_8192KB EQU $08 ; 512 banks +DEF CART_ROM_1152KB EQU $52 ; 72 banks +DEF CART_ROM_1280KB EQU $53 ; 80 banks +DEF CART_ROM_1536KB EQU $54 ; 96 banks + +; $0149 SRAM size +; these are kilobytes +DEF CART_SRAM_NONE EQU 0 +DEF CART_SRAM_8KB EQU 2 ; 1 bank +DEF CART_SRAM_32KB EQU 3 ; 4 banks +DEF CART_SRAM_128KB EQU 4 ; 16 banks + +; $014A Destination code +DEF CART_DEST_JAPANESE EQU $00 +DEF CART_DEST_NON_JAPANESE EQU $01 + + +;*************************************************************************** +;* +;* Keypad related +;* +;*************************************************************************** + +DEF PADF_DOWN EQU $80 +DEF PADF_UP EQU $40 +DEF PADF_LEFT EQU $20 +DEF PADF_RIGHT EQU $10 +DEF PADF_START EQU $08 +DEF PADF_SELECT EQU $04 +DEF PADF_B EQU $02 +DEF PADF_A EQU $01 + +DEF PADB_DOWN EQU $7 +DEF PADB_UP EQU $6 +DEF PADB_LEFT EQU $5 +DEF PADB_RIGHT EQU $4 +DEF PADB_START EQU $3 +DEF PADB_SELECT EQU $2 +DEF PADB_B EQU $1 +DEF PADB_A EQU $0 + + +;*************************************************************************** +;* +;* Screen related +;* +;*************************************************************************** + +DEF SCRN_X EQU 160 ; Width of screen in pixels +DEF SCRN_Y EQU 144 ; Height of screen in pixels. Also corresponds to the value in LY at the beginning of VBlank. +DEF SCRN_X_B EQU 20 ; Width of screen in bytes +DEF SCRN_Y_B EQU 18 ; Height of screen in bytes + +DEF SCRN_VX EQU 256 ; Virtual width of screen in pixels +DEF SCRN_VY EQU 256 ; Virtual height of screen in pixels +DEF SCRN_VX_B EQU 32 ; Virtual width of screen in bytes +DEF SCRN_VY_B EQU 32 ; Virtual height of screen in bytes + + +;*************************************************************************** +;* +;* OAM related +;* +;*************************************************************************** + +; OAM attributes +; each entry in OAM RAM is 4 bytes (sizeof_OAM_ATTRS) +RSRESET +DEF OAMA_Y RB 1 ; y pos plus 16 +DEF OAMA_X RB 1 ; x pos plus 8 +DEF OAMA_TILEID RB 1 ; tile id +DEF OAMA_FLAGS RB 1 ; flags (see below) +DEF sizeof_OAM_ATTRS RB 0 + +DEF OAM_Y_OFS EQU 16 ; add this to a screen-relative Y position to get an OAM Y position +DEF OAM_X_OFS EQU 8 ; add this to a screen-relative X position to get an OAM X position + +DEF OAM_COUNT EQU 40 ; number of OAM entries in OAM RAM + +; flags +DEF OAMF_PRI EQU %10000000 ; Priority +DEF OAMF_YFLIP EQU %01000000 ; Y flip +DEF OAMF_XFLIP EQU %00100000 ; X flip +DEF OAMF_PAL0 EQU %00000000 ; Palette number; 0,1 (DMG) +DEF OAMF_PAL1 EQU %00010000 ; Palette number; 0,1 (DMG) +DEF OAMF_BANK0 EQU %00000000 ; Bank number; 0,1 (GBC) +DEF OAMF_BANK1 EQU %00001000 ; Bank number; 0,1 (GBC) + +DEF OAMF_PALMASK EQU %00000111 ; Palette (GBC) + +DEF OAMB_PRI EQU 7 ; Priority +DEF OAMB_YFLIP EQU 6 ; Y flip +DEF OAMB_XFLIP EQU 5 ; X flip +DEF OAMB_PAL1 EQU 4 ; Palette number; 0,1 (DMG) +DEF OAMB_BANK1 EQU 3 ; Bank number; 0,1 (GBC) + + +; Deprecated constants. Please avoid using. + +DEF IEF_LCDC EQU %00000010 ; LCDC (see STAT) +DEF _VRAM8000 EQU _VRAM +DEF _VRAM8800 EQU _VRAM+$800 +DEF _VRAM9000 EQU _VRAM+$1000 +DEF CART_SRAM_2KB EQU 1 ; 1 incomplete bank +DEF LCDCF_BG8800 EQU %00000000 ; BG & Window Tile Data Select +DEF LCDCF_BG8000 EQU %00010000 ; BG & Window Tile Data Select +DEF LCDCB_BG8000 EQU 4 ; BG & Window Tile Data Select + + + ENDC ;HARDWARE_INC diff --git a/src/include/hardwarectl.asm b/src/include/hardwarectl.asm new file mode 100644 index 0000000..60936e3 --- /dev/null +++ b/src/include/hardwarectl.asm @@ -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 diff --git a/src/include/interrupts.asm b/src/include/interrupts.asm new file mode 100644 index 0000000..c361d2b --- /dev/null +++ b/src/include/interrupts.asm @@ -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 + diff --git a/src/include/memcpy.asm b/src/include/memcpy.asm new file mode 100644 index 0000000..9daa304 --- /dev/null +++ b/src/include/memcpy.asm @@ -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 diff --git a/src/include/rng.asm b/src/include/rng.asm new file mode 100644 index 0000000..89592c2 --- /dev/null +++ b/src/include/rng.asm @@ -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 diff --git a/src/include/structs.asm b/src/include/structs.asm new file mode 100644 index 0000000..a341506 --- /dev/null +++ b/src/include/structs.asm @@ -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 "\" + 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}} \ + 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 diff --git a/src/main.asm b/src/main.asm new file mode 100644 index 0000000..c62c87d --- /dev/null +++ b/src/main.asm @@ -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 diff --git a/src/res/build_date.asm b/src/res/build_date.asm new file mode 100644 index 0000000..302e4f9 --- /dev/null +++ b/src/res/build_date.asm @@ -0,0 +1,6 @@ +SECTION "Build date", ROM0 + + db "Built " +BuildDate:: + db __ISO_8601_UTC__ + db 0 diff --git a/src/res/gameplay.gbm b/src/res/gameplay.gbm new file mode 100644 index 0000000..f22b730 Binary files /dev/null and b/src/res/gameplay.gbm differ diff --git a/src/res/gameplay_map.inc b/src/res/gameplay_map.inc new file mode 100644 index 0000000..1452009 --- /dev/null +++ b/src/res/gameplay_map.inc @@ -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:: diff --git a/src/res/tiles.gbr b/src/res/tiles.gbr new file mode 100644 index 0000000..f468095 Binary files /dev/null and b/src/res/tiles.gbr differ diff --git a/src/res/tiles.inc b/src/res/tiles.inc new file mode 100644 index 0000000..16cdecd --- /dev/null +++ b/src/res/tiles.inc @@ -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:: diff --git a/tools/Emulicious.exe b/tools/Emulicious.exe new file mode 100644 index 0000000..e463169 Binary files /dev/null and b/tools/Emulicious.exe differ diff --git a/tools/Emulicious.icl b/tools/Emulicious.icl new file mode 100644 index 0000000..892a5c6 Binary files /dev/null and b/tools/Emulicious.icl differ diff --git a/tools/Emulicious.ini b/tools/Emulicious.ini new file mode 100644 index 0000000..d742909 --- /dev/null +++ b/tools/Emulicious.ini @@ -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= diff --git a/tools/Emulicious.jar b/tools/Emulicious.jar new file mode 100644 index 0000000..86eba61 Binary files /dev/null and b/tools/Emulicious.jar differ diff --git a/tools/Expressions.txt b/tools/Expressions.txt new file mode 100644 index 0000000..1455cc9 --- /dev/null +++ b/tools/Expressions.txt @@ -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 \ No newline at end of file diff --git a/tools/GBMB/README.TXT b/tools/GBMB/README.TXT new file mode 100644 index 0000000..ef6de0e --- /dev/null +++ b/tools/GBMB/README.TXT @@ -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. + diff --git a/tools/GBMB/gbmb.exe b/tools/GBMB/gbmb.exe new file mode 100644 index 0000000..76a9588 Binary files /dev/null and b/tools/GBMB/gbmb.exe differ diff --git a/tools/GBMB/gbmb.hlp b/tools/GBMB/gbmb.hlp new file mode 100644 index 0000000..ec9ccbc Binary files /dev/null and b/tools/GBMB/gbmb.hlp differ diff --git a/tools/GBMB/gbmb.ini b/tools/GBMB/gbmb.ini new file mode 100644 index 0000000..34e4855 --- /dev/null +++ b/tools/GBMB/gbmb.ini @@ -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 diff --git a/tools/GBTD/README.TXT b/tools/GBTD/README.TXT new file mode 100644 index 0000000..086130b --- /dev/null +++ b/tools/GBTD/README.TXT @@ -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 diff --git a/tools/GBTD/gbtd.exe b/tools/GBTD/gbtd.exe new file mode 100644 index 0000000..0e66d0b Binary files /dev/null and b/tools/GBTD/gbtd.exe differ diff --git a/tools/GBTD/gbtd.hlp b/tools/GBTD/gbtd.hlp new file mode 100644 index 0000000..87a8ad8 Binary files /dev/null and b/tools/GBTD/gbtd.hlp differ diff --git a/tools/GBTD/gbtd.ini b/tools/GBTD/gbtd.ini new file mode 100644 index 0000000..46310fb --- /dev/null +++ b/tools/GBTD/gbtd.ini @@ -0,0 +1,4 @@ +[General] +GBRPath=c:\workspace\dmgtris\ +[Recently used files] +F0=c:\workspace\dmgtris\tiles.gbr diff --git a/tools/GBTD/tiles.inc b/tools/GBTD/tiles.inc new file mode 100644 index 0000000..08c0b9d --- /dev/null +++ b/tools/GBTD/tiles.inc @@ -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 diff --git a/tools/GBTD/tiles.z80 b/tools/GBTD/tiles.z80 new file mode 100644 index 0000000..4703686 --- /dev/null +++ b/tools/GBTD/tiles.z80 @@ -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 diff --git a/tools/GameBoy.ports b/tools/GameBoy.ports new file mode 100644 index 0000000..7ed5268 --- /dev/null +++ b/tools/GameBoy.ports @@ -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 \ No newline at end of file diff --git a/tools/GameBoyColor.ports b/tools/GameBoyColor.ports new file mode 100644 index 0000000..418838b --- /dev/null +++ b/tools/GameBoyColor.ports @@ -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 \ No newline at end of file diff --git a/tools/GameGear.ports b/tools/GameGear.ports new file mode 100644 index 0000000..7588b42 --- /dev/null +++ b/tools/GameGear.ports @@ -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 \ No newline at end of file diff --git a/tools/Highlighters/GBz80-LICENSE b/tools/Highlighters/GBz80-LICENSE new file mode 100644 index 0000000..686f593 --- /dev/null +++ b/tools/Highlighters/GBz80-LICENSE @@ -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. diff --git a/tools/Highlighters/GBz80-dark.xml b/tools/Highlighters/GBz80-dark.xml new file mode 100644 index 0000000..a5236a0 --- /dev/null +++ b/tools/Highlighters/GBz80-dark.xml @@ -0,0 +1,64 @@ + + + + + + + + 00; 01 02 03/* 04*/ + + $ % & ` + _ A B C D E F a b c d e f + + + + + , ( ) [ ] ** ~ + - * / % << >> & | ^ != == <= >= < > && || ! = \@ \# \1 \2 \3 \4 \5 \6 \7 \8 \9 \< + + + + + + + + + + + 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 + AF BC DE HL SP HLD HLI A B C D E H L NZ Z NC + 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 + WRAM0 VRAM ROMX ROM0 HRAM WRAMX SRAM OAM + @ _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__ + + + + 00""" 01\ 02""" 03" 04\ 05" 06{ 07 08} 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/Highlighters/GBz80.xml b/tools/Highlighters/GBz80.xml new file mode 100644 index 0000000..b6c769c --- /dev/null +++ b/tools/Highlighters/GBz80.xml @@ -0,0 +1,64 @@ + + + + + + + + 00; 01 02 03/* 04*/ + + $ % & ` + _ A B C D E F a b c d e f + + + + + , ( ) [ ] ** ~ + - * / % << >> & | ^ != == <= >= < > && || ! = \@ \# \1 \2 \3 \4 \5 \6 \7 \8 \9 \< + + + + + + + + + + + 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 + AF BC DE HL SP HLD HLI A B C D E H L NZ Z NC + 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 + WRAM0 VRAM ROMX ROM0 HRAM WRAMX SRAM OAM + @ _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__ + + + + 00""" 01\ 02""" 03" 04\ 05" 06{ 07 08} 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/Highlighters/WLA DX Z80 Assembler.chl b/tools/Highlighters/WLA DX Z80 Assembler.chl new file mode 100644 index 0000000..97b7e97 --- /dev/null +++ b/tools/Highlighters/WLA DX Z80 Assembler.chl @@ -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 diff --git a/tools/Highlighters/WLA Z80 Notepad++ UDL-dark.xml b/tools/Highlighters/WLA Z80 Notepad++ UDL-dark.xml new file mode 100644 index 0000000..df48f6e --- /dev/null +++ b/tools/Highlighters/WLA Z80 Notepad++ UDL-dark.xml @@ -0,0 +1,64 @@ + + + + + + + + 00; 01 02 03/* 04*/ + % + $ + A B C D E F a b c d e f + + h + + + ( ) [ ] | & ^ << >> + - # ~ * / < > , : + + .section .struct .enum .macro .memorymap .rombankmap .endasm .block .asciitable .asctable .rept .repeat .smsheader .ramsection .union + .nextu + .endst .ends .endme .endro .ende .endm .asm .endb .enda .endr .endsms .endu + .ifndef .if .ifeq .ifdef .ifexists .ifdefm .ifndefm .ifneq .ifle .ifleeq .ifgr .ifgreq + .else + .endif + + + + ###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 + ###registers a af b bc c d de e h hl i ix iy l r sp af' + ###wackyregisters hx hy ixh ixl sll iyh iyl lx ly + ###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 + ###enumentries byte byt db word dw addr long dl faraddr ds dsb dsw dsl + ###conditions z nz pe po m c + ###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 + CADDR WLA_FILENAME WLA_TIME WLA_VERSION + 00 01 02 03" 04\ 05" 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/Highlighters/WLA Z80 Notepad++ UDL.xml b/tools/Highlighters/WLA Z80 Notepad++ UDL.xml new file mode 100644 index 0000000..70e9fd4 --- /dev/null +++ b/tools/Highlighters/WLA Z80 Notepad++ UDL.xml @@ -0,0 +1,64 @@ + + + + + + + + 00; 01 02 03/* 04*/ + % + $ + A B C D E F a b c d e f + + h + + + ( ) [ ] | & ^ << >> + - # ~ * / < > , : + + .section .struct .enum .macro .memorymap .rombankmap .endasm .block .asciitable .asctable .rept .repeat .smsheader .ramsection .union + .nextu + .endst .ends .endme .endro .ende .endm .asm .endb .enda .endr .endsms .endu + .ifndef .if .ifeq .ifdef .ifexists .ifdefm .ifndefm .ifneq .ifle .ifleeq .ifgr .ifgreq + .else + .endif + + + + ###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 + ###registers a af b bc c d de e h hl i ix iy l r sp af' + ###wackyregisters hx hy ixh ixl sll iyh iyl lx ly + ###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 + ###enumentries byte byt db word dw addr long dl faraddr ds dsb dsw dsl + ###conditions z nz pe po m c + ###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 + CADDR WLA_FILENAME WLA_TIME WLA_VERSION + 00 01 02 03" 04\ 05" 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/KeyPresets/VSCode.ini b/tools/KeyPresets/VSCode.ini new file mode 100644 index 0000000..5c34a85 --- /dev/null +++ b/tools/KeyPresets/VSCode.ini @@ -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 diff --git a/tools/KeyPresets/bgb.ini b/tools/KeyPresets/bgb.ini new file mode 100644 index 0000000..44d1833 --- /dev/null +++ b/tools/KeyPresets/bgb.ini @@ -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= +DebuggerKeysUndoWhen=0 +DebuggerKeysOpenReferenceHierarchy=ctrl alt pressed H +DebuggerKeysOpenRamSearchWindow=ctrl pressed E +DebuggerKeysRunToLineWhen=0 +DebuggerKeysStepReturnWhen=2 +DebuggerKeysResume=pressed F9 +KeysOpenMemoryEditor= +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= +DebuggerKeysLoadSymbolsWhen=0 +DebuggerKeysSuspendWhen=2 +DebuggerKeysReloadSymbols=ctrl pressed M +DebuggerKeysProfileToNextLine=shift ctrl alt pressed P +DebuggerKeysGoToNextAddress=ctrl pressed RIGHT +KeysOpenTileViewer= +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 diff --git a/tools/LICENSE-JInput.txt b/tools/LICENSE-JInput.txt new file mode 100644 index 0000000..b076c16 --- /dev/null +++ b/tools/LICENSE-JInput.txt @@ -0,0 +1 @@ +JInput is licensed under BSD License (https://opensource.org/licenses/BSD-3-Clause). \ No newline at end of file diff --git a/tools/License.txt b/tools/License.txt new file mode 100644 index 0000000..c560fb5 --- /dev/null +++ b/tools/License.txt @@ -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. \ No newline at end of file diff --git a/tools/MSX.ports b/tools/MSX.ports new file mode 100644 index 0000000..690adca --- /dev/null +++ b/tools/MSX.ports @@ -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 \ No newline at end of file diff --git a/tools/MSX/cbios.txt b/tools/MSX/cbios.txt new file mode 100644 index 0000000..3bb714d --- /dev/null +++ b/tools/MSX/cbios.txt @@ -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 + diff --git a/tools/MSX/cbios_msx1.rom b/tools/MSX/cbios_msx1.rom new file mode 100644 index 0000000..738fe10 Binary files /dev/null and b/tools/MSX/cbios_msx1.rom differ diff --git a/tools/MSX/cbios_msx2.rom b/tools/MSX/cbios_msx2.rom new file mode 100644 index 0000000..6b7be4f Binary files /dev/null and b/tools/MSX/cbios_msx2.rom differ diff --git a/tools/MSX/cbios_sub.rom b/tools/MSX/cbios_sub.rom new file mode 100644 index 0000000..9ce6b73 Binary files /dev/null and b/tools/MSX/cbios_sub.rom differ diff --git a/tools/MasterSystem.ports b/tools/MasterSystem.ports new file mode 100644 index 0000000..adcef57 --- /dev/null +++ b/tools/MasterSystem.ports @@ -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 \ No newline at end of file diff --git a/tools/ReadMe.txt b/tools/ReadMe.txt new file mode 100644 index 0000000..2e397b6 --- /dev/null +++ b/tools/ReadMe.txt @@ -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. \ No newline at end of file diff --git a/tools/WhatsNew.txt b/tools/WhatsNew.txt new file mode 100644 index 0000000..3bc8e2a --- /dev/null +++ b/tools/WhatsNew.txt @@ -0,0 +1,1154 @@ +========== +2023-09-30 +========== +- Fixed an issue that could sometimes cause the cursor not to follow the current instruction (thanks to ISSOtm) +- Fixed an issue with step back while OAM DMA is running (thanks to leina) +- Fixed a memory leak when a rom keeps the LCD disabled all the time (thanks to sono) +- Fixed that modifying PSG frequencies and volumes for SMS were swapped (thanks to superdisk) +- Fixed a bug that could cause the disassembler to crash (thanks to Studio Loading) + +========== +2023-08-31 +========== +- Added .sc as supported filename extension for games supported by the Master System (thanks to Popfan) +- Added an option to the Debugger's File menu to unload the currently loaded sources +- Added some more variables to the Variables tab (e.g. if SRAM is enabled) +- Made the data execution exception breakpoint trigger in less cases (thanks to Maxim) +- Fixed a regression that could cause variables to not be changable from the Variables tab (thanks to rdp) +- Fixed dot numbers reported for events when Game Boy Color's double speed mode is enabled (thanks to bbbbbr) +- Fixed a deadlock that could be caused by the Game Boy's STOP instruction (thanks to Famicuber) +- Fixed that sometimes a general profiler didn't update unless it is selected (thanks to ISSOtm) +- Fixed that CTRL+END caused graphical glitches in the Memory Editor (thanks to Maxim) +- Fixed a regression that could cause general profilers to not get persisted properly +- Fixed crackling sound that could occur on initial suspend after skipping through a bootrom + +========== +2023-07-31 +========== +- Added Cartridge variable to investigate the current state of the cartridge hardware (thanks to ISSOtm and ax6) +- Fixed a deadlock issue that could be caused by Reset while profiling (thanks to ISSOtm) +- Fixed the symbol listed for the bank operator in the expressions manual (thanks to superdisk) +- Fixed a regression in sound quality of Game Boy emulation (thanks to superdisk) +- Fixed an issue with Game Boy window emulation (thanks to Kabcorp and sukus) +- Fixed an issue with Step Out when C debugging +- Fixed that the debugger could show a port name for an SRAM address +- Fixed that No Disk for MSX's Disk B could not be selected +- Improved Copy address in the Memory Editor's status bar (thanks to Antígeno) +- Improved mapper detection for SEGA Mastersystem (thanks to tbsp) + +========== +2023-06-30 +========== +- Fixed an issue where the Reference Hierarchy could display null as a label +- Fixed an issue with RAM symbols defined in the disassembly if an RBGDS map file is loaded +- Fixed a rendering issue of the CPU usage graph in dark theme +- Fixed that loading a GBC rom with the Tile Viewer open caused the list of palettes to be limitted to DMG palettes (thanks to leina) +- Fixed a bug that could cause the disassembly to not get amended properly (thanks to Zumi) +- Fixed crackling sound when throttle is not 100% (thanks to Zumi) +- Fixed missing dot numbers for some IRQs (thanks to Trirosmos and sono) +- Fixed that cheats did not work while debugging (thanks to Antígeno) +- Fixed that the displayed ROM bank number wasn't masked (thanks to Antígeno) +- Fixed a bug that could make the GUI cause a wave RAM corruption exception (thanks to ISSOtm and Evie) +- Reduced input latency with gamepads (thanks to Kabcorp) +- Improved debugging of MSXgl projects (thanks to aoineko) +- Improved performance of syntax highlighting (thanks to superdisk) + +========== +2023-06-01 +========== +- Added Step Back Over action to the debugger +- Fixed an issue with the Step Back Return action + +========== +2023-05-31 +========== +- Added a disassembler setting to pad mnemonics (thanks to Kak) +- Added a proper error if a debugfile ends unexpectedly (thanks to leina) +- Added selection of tile base address to Tilemap Viewer (thanks to leina) +- Added Step Back Return action to the debugger +- Added Run Backwards To Line action to the debugger +- Allow changing sound buffer size without realod (thanks to Zumi) +- Fixed that sometimes execution broke twice on a line breakpoint +- Fixed that for more complex expressions the tooltip text did not display correct values (thanks to ISSOtm) +- Fixed a regression where sometimes a line breakpoint could not be set on a line in a high bank (thanks to arnaud33200) +- Fixed that on some Linux systems sound randomly silenced (thanks to Zumi) +- Fixed that sometimes exception breakpoints would point to the line after the exception happened (thanks to CeL) + +========== +2023-04-22 +========== +- Added Step Back to the debugger +- Fixed misdetection of dahjee adapter in Pop Flamer for SG-1000 (thanks to Saverio Russo) + +========== +2023-04-06 +========== +- Added variable for Game Boy's Wave Pattern RAM (thanks to ISSOtm) +- Added variable for Game Boy's internal window line counter +- Fixed an issue where the state of the Game Boy's timer didn't get saved properly into savestates (thanks to 256 and ProstatePunch) +- Fixed that a watchpoint on WRAM address $c000 could break on a write to $ff80 (thanks to ISSOtm) +- Fixed an issue with banked vs. unbanked symbols in debugfiles (thanks to ax6) + +========== +2023-03-31 +========== +- Added an exception that triggers for an incorrect Game Boy cartridge header (thanks to leina) +- Added missing register annotations in Memory Editor for Game Boy's HRAM (thanks to ISSOtm) +- Added some more variables for Game Boy, most notably APU variables (thanks to ISSOtm) +- Improved wording in table headers of profiler (thanks to ISSOtm) +- Fixed that if the status bar of the Memory Editor grows after selection, it could hide the selected address +- Fixed that for Mastersystem VRAM write events the old and new value were swapped (thanks to Aissen) +- Fixed a regression that could cause unsigned variables in remote debugging to be displayed with signed values (thanks to MyNewSoundtrack) +- Fixed a regression that could cause wrong breakpoints to be added when double-clicking the ruler on banked code (thanks to purple tissue box) +- Fixed a bug where the disassembler did not amend an instruction on a sub-instruction boundary (thanks to ISSOtm) + +========== +2023-02-28 +========== +- Added support for debugfiles (thanks to ax6 and ISSOtm) +- Added options for font anti aliasing (thanks to ISSOtm) +- Made most variables in the Variables tab editable (thanks to leina) +- Made the Memory Editor reduce the spacing between bytes if Show Registers is disabled (thanks to ISSOtm) +- Improved invalid VDP access exception to catch a case that hadn't been caught yet (thanks to sverx) +- Fixed a crash that could be caused by cheats (thanks to Revo) +- Fixed an issue that had caused memory mapped ports to not be displayed using their names (thanks to ISSOtm) +- Fixed an issue in the Memory Tracer that could make it display an incorrect source for WRAM (thanks to ISSOtm) +- Fixed the tooltip shown when hovering hli (thanks to ISSOtm) +- Fixed an issue that could cause the disassembler to timeout too quickly when remote debugging (thanks to pokeglitch) +- Fixed the mnemonic used for the ldh opcode using the c register (thanks to ax6) +- Fixed that code didn't get amended when its being executed on a sub-instruction byte (thanks to ISSOtm and Maxim) +- Fixed color of caret in dark mode if OS uses light mode +- Fixed an issue in the Sprite Viewer that could falsly display sprites as 8x16 (thanks to 256) + +========== +2023-01-31 +========== +- Added tooltips to breakpoints table (thanks to lestar) +- Added an option to control whether .sav files should be saved next to the roms or not (thanks to Kuro) +- Improved breakpoint management (thanks to 256) +- Fixed a few issues in the disassembler (thanks to bankbank) + +========== +2022-12-30 +========== +- Added support for Gamepads on M1 Macs (thanks to mattcurrie) +- Made Set Code / Set Data with multiple selected lines apply on all selected lines (thanks to bbbbbr) +- Fixed an issue where remote debugging would suspend on start even though stopOnEntry is false (thanks to narbys) +- Fixed a regression in Mastersystem / Game Gear sound emulation that could cause audible pops (thanks to Atmostfear) +- Fixed a regression in MSX disk emulation that could cause disk operations to fail while they shouldn't (thanks to Zipper) +- Fixed a regression with Game Boy joypad delays (thanks to Under4Mhz) +- Fixed an issue with watch expressions referencing banked data in remote debugging (thanks to FerrantePescara) +- Fixed an issue that could cause local variables to be missing when C debugging (thanks to FerrantePescara) + +========== +2022-11-30 +========== +- Added option to show tool windows in the Windows taskbar (thanks to Trirosmos) +- Added support for sym files in UTF-8 format (thanks to Maxim) +- Added options to change the window theme +- Several UI improvements, most notably for dark theme +- Fixed that the Event Viewer did not rerender immediately after changing the integer scaling setting +- Fixed a regression that could cause Emulicious to crash with some dsk files (thanks to eruiz00) +- Fixed a regression that could cause settings to not be saved on restart +- Fixed a bug that could keep displaying a black screen on Linux until the window is resized (thanks to nitro2k01) +- Fixed that on Linux the main window sometimes jumped in front of the debugger window (thanks to sverx) +- Fixed that sometimes the debugger window did not get brought to top when it should (thanks to sverx and bbbbbr) + +========== +2022-11-12 +========== +- Fixed a regression that could cause breakpoints set via remote debugging to break on wrong lines (thanks to FerrantePescara) + +========== +2022-10-31 +========== +- Added change indicator for ROM tab of the Memory Editor (thanks to 256) +- Improved performance of debug mode +- Fixed that profilers did not get persisted properly when loading another ROM +- Fixed that sometimes when loading a Game Boy savestate the initial image contained garbage (thanks to DevEd) +- Fixed an issue that could cause a toolbar icon in the debugger to display as a black square +- Fixed a bug that could rarely cause Emulicious to save a corrupted Game Boy savestate (thanks to bbbbbr) + +========== +2022-10-07 +========== +- Fixed a regression in the YM2413 emulation that made it sound noisy (thanks to bengalack) +- Fixed duplicated Locals scope in remote debugging (thanks to darkowl) +- Fixed an issue that caused crackling noise when recording the YM2413 alone +- Fixed an issue related to installed gamepads that could prevent Emulicious from starting (thanks to VOXEL) + +========== +2022-10-01 +========== +- Fixed breakpoints set via remote debugging (thanks to Mallow) + +========== +2022-09-30 +========== +- Added missing base addresses in Tilemap Viewer for tile based modes on MSX2 (thanks to Bengalak) +- Improved focus traversal via TAB and Shift+TAB in the debugger (thanks to FIQ) +- Fixed that the data execution exception did not take the Suspend setting into account (thanks to superdisk) +- Fixed an issue that could cause an exception to get disabled by reloading a ROM (thanks to superdisk) +- Fixed that sometimes WRAM labels were missing in Memory Editor's Go To dialog (thanks to FIQ) +- Fixed an issue with loading a savestate while the Game Boy is stuck in STOP (thanks to FIQ) +- Fixed missing symbols if RGBDS map files only contains sections (thanks to FIQ) + +========== +2022-09-10 +========== +- Fixed false positive on nested interrupts in the interrupt exception (thanks to Eievui, asie) +- Fixed an issue with modal dialogs (e.g. Configure Input) on Mac OS (thanks to Snoopdroop, armixer24) +- Slightly reduced startup time + +========== +2022-08-31 +========== +- Added sorting by column to RAM Search tool and added a right-click menu (thanks to Crash) +- Fixed issue with watch expressions in remote debugging displaying the same subvariables (thanks to Banks) +- Fixed tracking of uninitialized memory on MSX (thanks to wimpie3) +- Fixed that saving wasn't possible from all tabs of the Memory Editor (thanks to klop) +- Fixed an issue with parsing ELIF in sources compiled with RGBDS (thanks to FIQ) +- Fixed palettes displayed in Palette Viewer in Game Boy Color's DMG mode (thanks to bbbbbr) +- Fixed an issue with sprite mixing on MSX2 (thanks to aoineko, bengalack) +- Fixed a regression with CRAM writes on Game Gear (thanks to Maxim, Revo) + +========== +2022-07-31 +========== +- Added MSX2 emulation +- Improved scoping of C local variables in VS Code (thanks to Streuwinkel) +- Improved parsing of Sjasm lst files (thanks to bas) +- Made pause shortcut configurable (thanks to Kabcorp) +- Fixed an issue with persisting window positions at the left edge of the screen (thanks to aoineko) +- Fixed that the Memory Editor did sometimes not open when clicking a VRAM address in the viewers (thanks to bas) +- Fixed an issue with negative numbers in VS Code +- Fixed an issue in C debugging with files containing spaces or dashes (thanks to Streuwinkel) +- Fixed a bug in Game Boy noise channel emulation that could cause audible clicks (thanks to tbsp, Matt Hughson) +- Fixed the value displayed for the Z80's R register (thanks to sverx) + +========== +2022-07-01 +========== +- Fixed an issue that could cause the Event Viewer to lag on selections + +========== +2022-06-30 +========== +- Added sound recording (thanks to Kabcorp) +- Added option to enable/disable high-pass filter for Game Boy (thanks to Kabcorp) +- Improved visibily of theme options by also adding them to the Appearance menu (thanks to Chong) +- Combined the emulation menus for Game Boy and Game Boy Color +- Made key shortcuts for exit and screenshot configurable (thanks to Under4MHz) +- Also display referenced values for instructions operating on 2-bytes (thanks to sverx) +- Fixed an issue with the stack view when debugging on MSX (thanks to aoineko) +- Fixed an issue that could cause local variables to be missing with C debugging (thanks to Studio Loading) +- Fixed that the main window key shortcuts did not work on the debugger anymore (thanks to tbsp) + +========== +2022-05-31 +========== +- Added filter for reads to the Event Viewer +- Added support for multi-byte symbols from tbl files (thanks to borkitall) +- Added configurable keyboard shortcuts for exit and screenshot (thanks to Under4Mhz) +- Minor speedup of Game Boy emulation +- Better handle PUSHS/POPS in Outline (thanks to Eievui) +- Fixed that for the SMS/MSX VDP old value and new value were swapped in the Event Viewer (thanks to sverx) +- Fixed a layout issue on Mac OS (thanks to vinheim3) +- Fixed a layout issue with the registers table (thanks to bbbbbr) +- Fixed a layout issue with the expressions table on Ubuntu (thanks to bbbbbr) +- Fixed a sound resampling issue (thanks to alexmush) +- Fixed that the savestates did not correctly restore the state of the SMS audio mixer (thanks to alexmush) +- Fixed an issue that could prevent the Profile From Line option to add a profiler (thanks to bbbbbr) +- Fixed an issue that made signed C types display unsigned values in the VS Code adapter (thanks to Eric Abroad) +- Fixed an issue that could lead to unmapped lines when using RGBDS's FOR directive (thanks to rondnelson99) + +========== +2022-05-03 +========== +- Fixed a regression that could cause loading savestates on Master System games to crash (thanks to Atmostfear) +- Fixed an issue int the Event Viewer that could cause it to update more often than it should (thanks to Eievui) +- Fixed a regression that could in rare cases cause Master System games to display a wrong color (thanks to Atmostfear) + +========== +2022-04-30 +========== +- Added Event Viewer +- Added some notes on troubleshooting to the ReadMe.txt +- Allow pressing Reset in the Profiler while it's enabled (thanks to bbbbbr) +- Fixed that sometimes a wrong value was displayed as old value for HRAM writes +- Fixed missing local variables in of functions defined in included .c files (thanks to djlink) +- Fixed a memory leak in the Trace Logger window (thanks to Revo) + +========== +2022-04-07 +========== +- Fixed hex values displayed for negative values in the Sprite Viewer (thanks to Maxim) +- Fixed crash of the debugger when loading a different ROM + +========== +2022-04-06 +========== +- Fixed a bug that caused input to stop working on Mac OS (thanks to NoFr1ends) +- Fixed an issue that could cause debugging of code in WRAM on Game Boy Color to misbehave (thanks to bbbbbr) +- Fixed an issue with resizing the window when a non 1:1 PAR is selected + +========== +2022-04-05 +========== +- Fixed a bug that could cause MSX2SMS conversions and SG-1000 games not to boot (thanks to Revo and Under4Mhz) + +========== +2022-04-01 +========== +- Fixed a bug that could cause Game Gear games not to boot (thanks to thatawesomeguy) + +========== +2022-03-31 +========== +- Improved Sprite Viewer for TMS modes (SMS, GG, MSX) +- Fixed a bug that could prevent the Coverage tool from opening +- Fixed a bug in the Procedure Profiler that could cause procedures to be nested incorrectly for code generated by SDCC (thanks to aoineko) +- Fixed a bug that caused the debugger's Suspend On Open option to be ignored when Remote Debugging is enabled (thanks to aoineko) +- Fixed a bug that could cause the stack view to get smaller everytime Emulicious is started +- Fixed an issue with write watchpoints on GameBoy's HRAM when added from CPU tab (thanks to michel_iwaniec) + +========== +2022-03-08 +========== +- Added style options for the CPU Usage graph (thanks to Kabcorp) +- Added options to specify the background color for sprite tiles in the Tile Viewer on MSX (thanks to toxa) +- Fixed a bug that could cause TMS/legacy modes on Mastersystem to only show a black screen (thanks to Revo) +- Fixed a bug in GameBoy's game link emulation that could cause one of the instances to lock up (Thanks to Matt Hughson) + +========== +2022-02-28 +========== +- Added option to hide the CPU usage graph +- Added Compare and Comparator to Cheats (thanks to TheAlmightyGuru) +- Added -linkport option to specify the port used for the Game Boy link cable (thanks to Junji Takakura) +- Added VDP addresses to the Variables tree (thanks to toxa) +- Added VDP labels to the Memory Editor +- Added support for ld d,d debugging messages for the remaining systems (thanks to bbbbbr) +- Improved usability of the Cheats window (thanks to Revo) +- Persist the selected tab in the Video Viewer +- Fixed the VRAM address shown for tiles of the TMS modes in the Tile Viewer +- Fixed support for watchpoint set from the I/O tab of the Memory Editor for Game Boy +- Fixed a bug that could cause an incorrect state of the debugger's toolbar after loading a state (thanks to JoseJX) +- Fixed a rendering issue of the status bar of the Memory Editor (thanks to Kabcorp) +- Fixed that the color cache did not get invalidated when manually changing CGB palettes (thanks to Eievui and Sono) +- Fixed a bug that could cause C source-level debugging not to work with MSX (thanks to Mallow) +- Fixed a bug that could cause global variables from SDCC sources to display wrong values (thanks to joyrider3774) + +========== +2022-01-31 +========== +- Added -fullscreen flag to start Emulicious in fullscreen (thanks to aoineko) +- Added RDiM (Remaining Dots in Mode) register (thanks to Sono, tbsp and bbbbbr) +- Added an option to disable hardware acceleration which can fix slowdowns on Windows 11 (thanks to SelvinPL) +- Added an option to allow inputs from keyboard as well when a gamepad is used (thanks to Matt Hughson) +- Improved usability of the Go To dialogs (thanks to BestPig) +- Use a better color for selection in Memory Editor when using a dark color theme (thanks to Kabcorp) +- Fixed missing tooltips in Registers table +- Fixed a bug that could cause RAM symbols to show up twice in the Go To dialog (thanks to Eievui) +- Fixed a misdetection of a Korean mapper on Mastersystem (thanks to Maxim) +- Fixed a bug that could display a wrong color on Game Boy Color due to a missing cache update (thanks to BestPig) +- Fixed a bug that could cause the disassembly to fail when a map file from a very old version of GBDK is present (thanks to BestPig) +- Fixed an issue with savestates for .pocket roms (thanks to BestPig) +- Fixed issues with C source-level debugging of banked devkitSMS roms (thanks to SteveProXNA) +- Fixed a memory leak caused by closing/reopening remote debugging sessions (thanks to Matt Hughson) +- Fixed a desync of the breakpoints table caused by closing/reopening the Debugger (thanks to BestPig and fracturetrey) +- Fixed a bug that could cause loading RGBDS sources to take a lot longer (thanks to Sukus) + +========== +2021-12-30 +========== +- Added an option to the Trace Logger to disable logging of breakpoints +- Added more font sizes to the Font Size menu (up to 24 Pt now) +- Fixed an issue that could prevent the debugger from opening when the other files were missing (thanks to Jamey) +- Fixed loading savestates for .pocket roms (thanks to BestPig) +- Fixed an issue in the .noi parser that could slow down opening the Debugger +- Fixed a bug in the RGBDS disassembler that could remove section headers (thanks to BestPig) +- Fixed that the preference for dark/light theme was only respected when a highlighter was selected +- Fixed an issue that could cause the PPU variables of the GB to be displyed incorrectly (thanks to bbbbbr) +- Fixed a NullPointerException in the Variables Tab when using GNOME desktop theme (thanks to Under4MHz) +- Fixed a bug that could prevent VS Code from connecting to Emulicious after it launched it + +========== +2021-11-30 +========== +- Added options for font configuration +- Added an option to disable UI scaling +- Added dark-themed syntax highlighters +- Greatly improved the UI of the Debugger's Variables tab +- Fixed a bug in the trace logger that could prevent it from logging instruction +- Fixed that the Memory Editor did not accept entering capital hex letters (thanks to Revo) +- Fixed font color in some debugger menus on Mac OS (thanks to Martz) + +========== +2021-11-08 +========== +- Added cheats +- Added support for Analoge Pocket roms +- Added support for starting Emulicious with remote debugging enabled immediately + +========== +2021-10-31 +========== +- Added support for software breakpoints (ld b,b) for the remaining systems +- Added an option to display memory values referenced by instructions in the Debugger +- Added an option to arrange the video viewers in tabs +- Added an option to freeze memory values from the Memory Editor +- Added Memory tab to the Debugger +- Added breakpoint properties to the Breakpoint tab in the Debugger (thanks to dan jia) +- Improved performance of plot widgets (e.g. used in the Sound Viewer) +- Fixed missing symbols from linked libraries with C debugging (thanks to Zalo) +- Fixed the appearance of some icons + +========== +2021-09-30 +========== +- Added a Sound Device Selection (thanks to martendo) +- Fixed Undo/Redo in the RAM Search tool (thanks to GOMF) +- Fixed an issue with symbols from an RGBDS tiny rom build (thanks to tbsp) +- Fixed that F2 could not be used to toggle breakpoints (thanks to martendo) +- Fixed an issue that could make the debugger misbehave when sound is unsupported (thanks to superdisk) + +========== +2021-09-08 +========== +- Added an Auto Palette option the Tilemap Viewer that allows to disable the paletization (thanks to tbsp) +- The Outline is now split up by ASM file when sources are loaded (thanks to rondnelson99) +- Improved the initial layout of the Debugger +- Fixed duplicated DE register in the initial register configuration for Game Boy (thanks to martendo) +- Fixed an issue with the trace logger that could cause duplicated entries +- Fixed an issue that sometimes kept the Breakpoints tab in the Debugger from updating +- Fixed that VRAM bank attribute of sprites didn't get ignored in CGB's DMG mode (thanks to CasualPokePlayer) +- Fixed that sometimes control flow arrows could get duplicated + +========== +2021-08-14 +========== +- Added a Variables tab to the Debugger +- Added a Breakpoints tab to the Debugger +- Added a Console tab to the Debugger +- Added a Call Stack to the Debugger +- Added a Toolbar to the Debugger +- Added Control Flow Arrows to the Debugger +- Added an option to the Debugger's context menu to watch the selected expression +- Added support for ld d,d message logging for Game Boy +- Reorganized the MSX menu (thanks to theNestruo) +- When MSX is emulated, do not open the menu when ALT is pressed (thanks to theNestruo) +- Fixed wrong colors of underline in Memory Editor +- Fixed an issue with the initial layout (on first start of Emulicious) of the Tile Viewer +- Fixed an issue with Remote Debugging that could disconnect the remote debugger on launch if a ROM was already loaded + +========== +2021-08-01 +========== +- Fixed a regression with sound emulation of the Mastersystem (thanks to Revo) +- Fixed a regression in the Game Boy emulation that had caused a few games to crash (thanks to KAT and Cavencruiser) +- Fixed an issue that sometimes after loading a ROM, toggling turbo via the SPACE key did not work +- Fixed an issue in the Memory Editor that had caused underlined entries to blink with the cursor +- Fixed an issue with Attach from VS Code that sometimes prevented it from working + +========== +2021-07-22 +========== +- Fixed crackling noise when starting Emulicious with Sync To Audio enabled +- Fixed that Sync To Audio could potentially freeze Emulicious + +========== +2021-07-19 +========== +- Improved the stability of the profiler +- Added TMS palette as alternative palette for the Tile Viewer for SMS (thanks to sverx) +- Added tooltips for the additional registers in the debugger +- Added Sync To Audio as a new speed option +- Added an option to the Memory Editor to copy the currently selected address +- Fixed inproper initial window sizes for the viewers on some (mostly Linux) systems (thanks to basxto) +- Fixed an incompatibility with Java 16, thank you Oracle... (thanks to RicardoLuis0) +- Fixed that for small window sizes of the debugger, it did not properly scroll to the current address (thanks to Kabcorp) +- Fixed an issue with Game Boy's sweep sometimes falsely muting the channel (thanks to DevEd and kivan117) +- Fixed that on SMS the Tile Viewer used a wrong tile as the bottom tile of 8x16 tiles in 2nd bank of tiles +- Fixed that an expression reading from non-existant cartridge RAM crashed the debugger (thanks to TypeDefinition) +- Fixed wrong row/column numbers in Tilemap Viewer when grid is enabled +- Fixed that sometimes the breakpoint console stopped updating +- Fixed that Game Gear ports did not trigger port breakpoints (thanks to sverx and djbass) + +========== +2021-06-07 +========== +- Improved Sprite Viewer to support 8x8 and 8x16 sprites at the same time +- Made the addresses in the video viewers clickable to open them in the Memory Editor +- Fixed an issue that had prevented some of the additional registers in the debugger from being edited +- Fixed that sometimes directly after disabling turbo an old frame was shown +- Fixed an issue that caused the state of some of the exception breakpoints not to be persisted +- Fixed that the Coverage tool did not update when a new rom was loaded, only after new data was gathered + +========== +2021-05-31 +========== +- Improved Game Boy Color color correction and made it configurable (thanks to Eievui) +- Fixed an issue with sound not playing on some computers running Linux (thanks to lhs_azevedo) +- Minor improvements of the combined video viewer + +========== +2021-04-30 +========== +- Added an option to the tracer to write its log to a file +- Added selection to the video viewers +- Added an option to combine the video viewers into one window +- Added grids for the video viewers +- Added more options to the Debugger's View menu (one is to reduce the spacing between rows) +- Added support for GameBoy BESS savestates that are interoperable with SameBoy and BGB (thanks to LIJI) +- Added a workaround for the path issue when remote debugging from WSL (thanks to tbsp) +- Added ROM bank and SRAM banks to the additional registers of the debugger +- Added a prototypical assembler to the debugger +- Fixed an issue with remote debugging that could make VS Code disconnect from Emulicious +- Fixed Reload ROM shortcut did not always work +- Fixed copy&paste in Go To boxes (thanks to Kabcorp) +- Keep the tool windows open when a rom is loaded +- Made the sources in the viewers clickable to directly open them in the Memory Editor / Debugger +- Overhauled the Tile Viewer (thanks to Daid) +- Improved support for RGBDS 0.5.0 +- In Memory Editor, show up to two labels before showing ellipsis (thanks to Advert665) +- Fixed a bug that could make the Tracer ignore its conditions +- Highlight uninitialized memory in Memory Editor +- Highlight the tile in the Tile Viewer that is currently hovered in one of the other viewers + +========== +2021-04-01 +========== +- Fixed an issue that could lock up Game Boy Color emulation when the Emulicious Bootrom is selected +- Fixed an issue that could cause Emulicious to freeze when an extended WLA DX sym file is used + +========== +2021-03-31 +========== +- Added CPU usage meter to debugger +- Added procedure cycles to Profiler's Hotspot view +- Avoid collapsing nodes in Profiler's call tree when the order changes (thanks to toxa) +- Added option to Memory Tracer to display file offsets in for ROM (thanks to EmuBoarding) +- Added an option to control whether to bring the debugger to top upon suspend (thanks to tbsp) +- Added options for sound sample rate and sound buffer size (thanks to Kabcorp) +- Added option to decide whether to keep ingame save data (SRAM) when loading a savestate (thanks to Maxim) +- Added color schemes for the Game Boy monochrome colors (thanks to Eievui) +- Show data types in their respective color in the status bar of the Memory Editor (thanks to Advert665) +- Fixed on Linux, sometimes the main window stayed black until a resize of the window (thanks to basxto) +- Fixed Game Boy RTC did not always load properly from .sav files (thanks to kivan117) +- Fixed SHIFT + key did not treat key as pressed (thanks to .exe) +- Fixed that after changing the layout of the Tile Viewer, its cursor did not work properly for the new layout (thanks to Kabcorp) +- Improved the performance of the disassembler +- Several other minor fixes and improvements + +========== +2021-02-28 +========== +- Added raw value for tilemap/sprite attributes +- Fixed a reset of the emulated system even caused the debugger to go on top even if it wasn't suspended +- Fixed Reload ROM option was disabled when a zip file was loaded and the zip file extension was not lowercase +- Fixed that disabling turbo sometimes caused a bit of stutter before it got back to normal speed +- Fixed an issue in the MSX mapper detection (thanks to Revo) +- Fixed a bug that would cause Emulicious to go unresponsive when a rom is inside a folder named src (thanks to basxto) +- Fixed that integer scaling and stretch to window could be enabled at the same time (thanks to Stiffie) +- Fixed adding of expressions from symbols included symbols for rom bank 3 (thanks to sverx) +- Fixed layout issue in Tilemap Viewer on Mac OS (thanks to romes) +- Fixed warning when running on Mac OS (thanks to romes) +- Fixed an issue with remote debugging of C code that could make Emulicious unresponsive for some mins (thanks to Alex Cash) + +========== +2021-01-30 +========== +- Added more registers to the debugger and made them exchangable +- Added a Key Setup to customize emulator/debug keys +- Show banked addresses in the Memory Editor +- Improved support for installing Emulicious into a folder where it doesn't have write access (thanks to basxto) +- Fixed the working directory of Emulicious when it gets invoked via Emulicious.exe (thanks to tbsp) +- Fixed an issue where the Outline would show opcodes as labels (thanks to Maxim) +- Fixed Emulicious reverted to scale=1 when it gets closed without loading a ROM (thanks to eruiz) +- Fixed initial state of VBK in Emulicious BIOS for GBC (thanks to .exe) + +========== +2020-12-29 +========== +- Added more options to the Tracer +- Fixed Debugger did not skip BIOS for Game Gear + +========== +2020-12-27 +========== +- Fixed issues with sound on some Mac Books (thanks to glinesbdev) +- Added "bankS" variable to query the current SRAM bank +- Added Profile To Next Line option to debugger's context menu (useful for profiling call sites) + +========== +2020-12-17 +========== +- VS Code integration: Added support for 4 byte values (long/uint32) +- Added 8x16 mode to the Tile Viewer +- When keys were pressed when Emulicious lost focus, they get treated as released now +- Made the cursor boxes in the viewers more visible +- The Memory Editor now persists its selection +- Fixed an issue when the Highlighters folder does not exist + +========== +2020-11-30 +========== +- Added an option to always keep main window on top (can be useful for VSCode debugging) +- Reduced cracking sounds when emulation lags (e.g. when the debugger is opened) +- Added emulation of the GG X-Terminator cheat device for the Game Gear + +========== +2020-10-04 +========== +- Fixed issues when CTRL or SHIFT were used as buttons (thanks to Kilkakon) +- Fixed code pointer in C source-level debugging +- Fixed an error when trying to paste at the end of the memory editor (thanks to JonteP) + +========== +2020-09-09 +========== +- Added Remote Debugging via VS Code + +========== +2020-08-20 +========== +- Fixed Space key in fullscreen with MSX emulation toggled turbo +- Added different disassembler dialects (WLA-DX, RGBDS, Sjasm) +- Added comments on GB header in disassembly. +- Added support for Notepad++ syntax highlighters + +========== +2020-07-25 +========== +- Added support for tniASM symbol files +- Added support for symbols from RGBDS map files + +========== +2020-07-17 +========== +- Fixed an issue in YM2413 emulation +- Added a setting to the disassembler to use uppercase mnemonics +- Added a dialog to add watchpoints to the Breakpoints window +- Added support for MIDI devices in MSX emulation +- Added CPU tab to Memory Editor +- Added Hot Spots view to the Profiler + +========== +2020-06-18 +========== +- Fixed a crash with Uninitialized Memory set to random for Game Boy (Color) +- The Memory Editor now also accepts digits entered from the numpad + +========== +2020-06-15 +========== +- Added setup of file associations for Windows users +- Added exe executable for Windows users +- Added a proper icon (thanks to MasterEmerald) +- Improved performance of YM2413 implementation +- Added @@ operator to read from locations and :: operator to map to a bank (see Expressions.txt) +- Fixed graphical glitches in main window on Linux (thanks to sverx) +- Screenshots are now saved with selected Pixel Aspect Ratio + +========== +2020-06-05 +========== +- Added stretch to window option +- Fixed issues with glitches in viewers on Linux (thanks to sverx) +- Added integer scaling option to main window and viewers +- Added Pixel Aspect Ratio settings to emulation options +- Slightly improved startup time + +========== +2020-05-19 +========== +- Fixed some disassembler issues with MSX ROMs + +========== +2020-05-17 +========== +- Fixed display issues after resetting Mastersystem, that were introduced in last update + +========== +2020-05-14 +========== +- Added MSX emulation +- Added support to load lst files containing Sjasm sourcecode in the debugger +- Improved Profiler to better work with C calling convention +- Remember last directory for loading sources/symbols +- Fixed an issue with breakpoints on ROMs larger than 4 MB (thanks to Antígeno) +- Improved Auto Palette option in Tile Viewer for SMS Mode 4 +- Added View menu to Tile Viewer to choose different layouts +- Added Frame Advance to the main emulator (formerly only available in debugger) +- Improved Tilemap Viewer and Tile Viewer support for TMS Modes +- Added CTRL+SHIFT+BACKSPACE as hotkey for Reload ROM +- Added an option to automatically reload a ROM when it changes +- Fixed a bug that wouldn't allow setting gamepad inputs if there + are more than 2 gamepads connected (Thanks to Niloct) +- Several minor bugfixes and improvements + +========== +2020-04-13 +========== +- Improved mapper support for Mastersystem games + +========== +2020-04-08 +========== +- Fixed persisted ROM watchpoints did not work correctly + +========== +2020-04-07 +========== +- Fixed Save As in PAL tab of Memory Editor was disabled +- Fixed disassembler labels resolving to wrong values that was + causing breakpoints to be off by a few bytes + +========== +2020-04-02 +========== +- When using Table Files the Memory Editor now shows all symbols (e.g. [LF]) +- Added missing label for the volume of the noise channel of the Mastersystem +- Fixed a bug where some persisted breakpoints did not work anymore +- Fixed that very long lines did not fully display in the debugger +- Added a status bar to the debugger showing size and cycles of selected lines +- Reduced delay caused by the debugger when changing a lot of bytes + in the Memory Editor + +========== +2020-02-02 +========== +- PAUSE key on the keyboard can now also be used for pausing + the emulator (do not confuse with suspend) +- Fixed Memory Tracer for Game Boy Color +- Support multiple labels at the same address in the disassembly +- Ignore _sizeof_ labels in WLA-DX symbol files +- Added support for child labels +- Breakpoints are based on expressions now instead of just addresses. + This improves the use of breakpoints for ROM development. +- Fixed a bug with sustain in YM2413 emulation (thanks to Kagesan) +- Fixed a repaint glitch in the disassembler table +- Added a sound viewer +- Improved batch file to work independently from the current working directory + +========== +2019-11-24 +========== +- Fixed a bug with breakpoint messages + +========== +2019-11-17 +========== +- Added FM chip emulation for the SEGA Mastersystem +- Added a Clear Log button to the Breakpoint Window +- Added Palettes tab to the Memory Editor +- Added VDP and PSG tabs for Mastersystem/Game Gear to the Memory Editor +- Added OAM and HRAM tabs for Game Boy (Color) to the Memory Editor +- Added Memory Tracer support for Game Boy (Color) +- Added Watchpoints for the Memory Editor tabs +- Improved the UI of the disassembler table +- Improved Go To dialogs by adding auto-completion +- Improved Find dialogs by adding a history and several search options +- Fixed cropped images in screenshots taken from Game Boy games + +========== +2019-10-19 +========== +- Added undo/redo of run actions in the debugger +- Added "Chat with the community" menu item to join Emulicious's Discord Server +- Added Expressions.txt with explanations and examples on how to use expressions + +========== +2019-10-12 +========== +- Fixed a bug in the disassembler where it used labels located in wrong slots + (Thanks to Wafer for pointing this out) + +========== +2019-10-07 +========== +- Minor bugfix in procedure profiler + +========== +2019-09-27 +========== +- Fixed an issue with automatic updates +- Added the possibility to set a message to log when a breakpoint is hit + These messages can consist of multiple expressions separated by commas. + An example is "Entered WaitForVBlank at scanline ", scanline + (The quotation marks need to be there to indicate a string) + This will yield log messages such as the following: + Entered WaitForVBlank at scanline 100 + +========== +2019-08-30 +========== +- Fixed an issue with the outline when sources are loaded + +========== +2019-07-19 +========== +- The debugger now allows to load sourcefiles so you can work with your own code now +- The disassembler now groups consecutive runs of equal bytes with dsb directives +- Added Volume levels to Sound menu +- The Outline can hide code or data now +- Outline and Reference Hierarchy use icons now to differentiate between code and data +- Coverage data is now persisted +- The memory editor now allows to save the current selection as a binary file +- On Mac OS when Emulicious is closed via Cmd+Q it will now also save its settings +- Fixed issues with symbols loaded from SDCC map files +- Fixed wrong position of current address in overview ruler +- Several minor bugfixes and improvements + +========== +2019-02-16 +========== +- Added Game Pad support +- Restructured setup input dialog +- Added BIOS emulation for Game Gear +- Added an option to skip all breakpoints +- Fixed that screenshots on Game Gear had always shown offscreen area +- Fixed that expressions could affect the emulated system +- Added value in different formats of selected byte in Memory Editor +- Improved Reference Hierarchy +- Improved Outline +- Several improvements of the disassembler +- Improved Light Phaser emulation accuracy + +========== +2018-06-21 +========== +- Fixed a memory leak that could cause Emulicious to crash + after loading too many ROMs in a row while the viewers are open +- Fixed a bug that broke throttled turbo +- Improved debugger UI: The right part can be resized now as well + +========== +2018-01-22 +========== +- Some minor bugfixes + +========== +2018-01-14 +========== +- Improved emulation accuracy of the sound chip of the SEGA Master System and SEGA Game Gear. + The improvement fixes issues with PDM sound. +- Added an option to force hardware acceleration for graphics. Bilinear Filtering can only be + enabled when graphics are hardware acceleration is available +- Several improvements of the disassembler and the memory tracer. They both are aware of SRAM now. + +========== +2017-10-22 +========== +- Several UI Improvements +- Loading files via Drag&Drop + +========== +2017-09-23 +========== +- Added support for new format of z88dk map files +- SRAM Watchpoints can now be added in the Memory Editor and in the Breakpoint Window using + the prefix 's' so entering "s0" would add an SRAM watchpoint on the SRAM address 0. +- Added a procedure profiler that detects procedures automatically and profiles them + +========== +2017-08-14 +========== +Minor improvements: +- Display "suspended" in title bar when emulation is suspended +- Bring debugger to top when a breakpoint is hit +- CTRL+TAB switches between main window and debugger +- Added option to "Setup Keys" dialog to allow input even + when other windows of Emulicious are focused +- Added region selection for Game Gear + +Improved accuracy of Everdrive Emulation: +- ROM and RAM are persisted +- True handling of SRAM files +- The files from the recent files menu are accessible via a folder called RECENT + +========== +2017-05-05 +========== +Added option to control if emulation should be suspended when debugger is opened. + +========== +2017-04-20 +========== +Improved Tilemap Viewer +Fixed inconsistency in coloring of coverage tool. + +========== +2017-04-02 +========== +VRAM Watchpoints can now be added in the Memory Editor and in the Breakpoint Window using +the prefix 'v' so entering "v0" would add a VRAM watchpoint on the VRAM address 0. +The Whats New file has been added to the project to let you keep track on what's new +more easily. + +========== +2017-02-27 +========== +The update comes with serveral new features and some improvements to existing tools. + +BIOS files for all supported systems can be selected now. For casual users this can help +to improve the authenticity of the emulated system. But also developers can benefit from it +because they can test if their rom will be rejected by the BIOS. Additionally, the state +of the system after the BIOS will be faithfully reproduced. Appropriate BIOS files +can be found on the web. + +The Master Everdrive and the Everdrive GG can be emulated now. This feature as well can help +to improve the authenticity of the emulated system. Developers can test if their rom is +compatible with an Everdrive and also the state of the system after the Everdrive will be +faithfully reproduced. To enable Everdrive emulation you need an Everdrive OS file. These can +be found on the official website of the Everdrive. You can select a 1bpp font to use with +the Everdrive but you can also let Emulicious derive a 1bpp font from the system font. +Recent versions of the Everdrive OS come with their own font. They ignore the selected font. + +The Memory Editor got expanded by a context menu and its interaction with the Debugger +has been improved. Table files can now be manually selected in the Memory Editor and symbol +files can now be manually selected in the Debugger. Furthermore, the Memory Editor now supports +multi-selection and copy&paste. The Coverage Analyzer also got expanded by a context menu. +It allows to exclude selected addresses from the analysis or to reset the collected data +for selected addresses. + +========== +2016-12-04 +========== +The update comes with some improvements to existing tools and also introduces new tools. + +Improvements +------------ +The disassembler now also identifies accesses to ports and creates labels for them as well. +Profiler data is now persisted between runs of Emulicious. +When hovering a sprite in the Sprite Editor it now also gets highlighted in the main window. +New errors have been added to expressions that should help with writing correct expressions. + +Savestates +---------- +Savestates can now be used with hotkeys. The number keys 1-9 load the savestate from +the corresponding slot. Holding the CTRL key while pressing the number keys saves into +the corresponding slot. If you accidentally loaded a state instead of saving to it you +can just undo the load and return to the state before loading. The same works for saving. +If you accidentally saved into a slot that you wanted to keep you can just undo the save. +You can also quick save using CTRL+S and load the quicksave using CTRL+Q. +Furthermore, you can setup Emulicious to automatically load the most recent state when a +rom is loaded. You can also steup Emulicious to automatically save the current state on exit. + +New tools +--------- +A RAM Search tool (also known as Cheat Search) has been added to Emulicious. It filters +RAM addresses based on the comparison of the current value with its previous value. It helps +to identify variables within RAM such as the number of lives, the current position, and so on. +A plotter has been added that can plot the data of a specified range in ROM. It can help to +identify tables such as sine/cosine tables or other pattern data. +A RAM Watch tool has been added. It keeps track of the values of specified +variables / values in RAM and plots them. + +========== +2016-06-17 +========== +Finally the tools previously only available for the Master System and the Game Gear +are now also available for the Game Boy and Game Boy Color. That means that all the +viewers, i.e., the Palette Viewer, the Tile Viewer, the Tilemap Viewer and the Sprite +Viewer are now also available for the Game Boy and the Game Boy Color. +Furthermore, the debugger including the smart disassembler with automated code/data +separation and all of its additional tools are also usable for Game Boy and Game Boy +Color debugging. These additional tools are the Tracer, the Profiler and the Coverage +Analyzer. The only tool that isn't supported for the Game Boy and the Game Boy Color +is the Memory Tracer + +Additionally, the accuracy of Game Boy and Game Boy Color emulation has been +improved greatly. + +========== +2016-04-29 +========== +The update comes with a lot of improvements and additions: + Performance + ----------- + - The overall performance has been improved + - The impact of the debugger on the performance has been reduced significantly + + Bugfixes + -------- + - A bug has been fixed that could cause crashes on Linux based systems + - A bug has been fixed that could cause Emulicious to run even slower + when it couldn't reach 100% + + Additions to Emulation + ---------------------- + - Light Phaser Emulation + - Emulation 3 and 6 button Mega Drive Controllers + + Additions to Tooling + -------------------- + - Hovering over a RAM address in the debugger shows its current value + - The Memory Editor now indicates labels by underlining the corresponding bytes + - When the Tracer is enabled the debugger now also visualizes the trace + - Port Watchpoints can now be added in the Breakpoint Window using the prefix 'p' + so entering "pdd" would add a port breakpoint on port dd + - Acompletely new tool has beed added called "Coverage". It records all accesses + to any address. It uses different colors to encode relative numbers of accesses. + It uses 3 base colors at different levels of brightness. Yellow means it is + accessed significantly more often than green and red means it is accessed + significantly more often than yellow. The brightness indicates the relation + to other values with the same base color. A brighter color means that it has more + accesses than the one with the darker color. The Coverage tool can be used to + identify hotspots but also to identify dead code, unused data or unused RAM. + In conjunction with breakpoints and stepping it can also be used to identify which + code/data/ram is used from one point of the execution to another. + - An overview ruler has been added to the debugger which is a 1 dimensional + representation of the whole file of the debugger. It also shows the colors of the + tracer and the coverage tool. It can be clicked to directly scroll to the + corresponding address + + Misc + ---- + - Patch files can now be loaded like ROM files + - Screenshots can now be taken by pressing F12 + +========== +2015-12-03 +========== +Changelog: + - Several bugs have been fixed and some inconsistencies have been eliminated + - Performance has been improved + - An option to enable scanlines has been added + - Sub-line selections in the debugger have been enabled + - The disassembler has been made more stable to significantly reduce the number + of crashes and freezes caused by it + - The reference hierarchy has been improved and now also supportes jump + table, pointer tables and RAM addresses + +========== +2015-06-25 +========== +A log has been added to the Breakpoint Window. +All breakpoints that get hi will be logged there. By disabling the checkbox for +"Suspend" you can avoid suspension when breakpoints are hit and only log them instead. + +========== +2015-05-17 +========== +The update comes with additional options for the tracer and introduces +an outline to the debugger. +The outline helps you navigate through code more easily by providing +a sructured representation of the code. It is directly linked to the +selection of the debugger so it can also help to orient yourself in the code. +The tracer can be controlled using conditions now. You can define conditions +on which to start/end tracing and a condition on which to trace an instruction +at all. Besides that, the tracer allows you to provide an expression to be +evaluated before each instruction being trace. The result of the evaluation is +appended to the trace. +This way you can add additional information to your trace. For example, if you +want to watch the value in RAM at $c000 you can set the expression to "@$c000". +Using this expression each line of your trace will also show you the value at $c000. + +========== +2015-04-22 +========== +For Windows users that don't have Java installed on their system +an alternative download including Java binaries has been added to +the Downloads section. + +The update comes with several new features: + - The stack now shows labels of the functions that have been + called (it can be double-clicked to navigate to the call) + - The stack now shows the names of the registers that have + been stored int it + - Conditional breakpoints + - An option for setting uninitialized memory and a breakpoint + that suspends execution on access of uninitialized memory + - A breakpoint that suspends when an interrupt does't restore + the state properly (Break on inconsistent state after interrupt) + - Emulation of PAL for the SEGA Master System + - Emulation of the screen borders of the SEGA Master System + - Options to unhide the offscreen area of the SEGA Game Gear + - DATA labels in the Z80 disassembler + - RAM labels in the Z80 disassembler + +Z80 disassembler / Master System disassembler +--------------------------------------------- + +The Z80 disassembler / Master System disassembler has been improved +to create DATA labels for data that is referenced. This can help to +identify blocks of data. It now also creates RAM labels that can help to +determine RAM usage and variable sizes + +Expressions/conditions support the following +-------------------------------------------- + +arithmetic operators: +, - +boolean/logical operators: &, | +shift operators: <<, >> +compare operators: =, ==, !=, <, >, <=, >= +decimal numbers +hex numbers (prefixed by either $ or 0x) +binary numbers (prefixed by %) +symbols loaded from a symfile +variables (see below) +the @ operator to "read" a value from a calculated address. + +Besides that, the following variables are supported: + +All register names. As single registers and as register pairs. +va (the current vdp address) +scanline (the current scanline) +address (the current address) +bank0 (the bank in slot 0) +bank1 (the bank in slot 1) +bank2 (the bank in slot 2) + +For read/write watchpoints only: +value (the value being read/written) +source (the address being read/written) + +For write watchpoints only: +oldvalue (the value being overwritten) + +========== +2015-02-09 +========== +The new version extends the debugger with a Find Dialog and helps +you track the control flow by highlighting the trace of the +instructions being executed. A Reference Hierarchy has been added +that lists all references to a specified label. + +When hovering a control flow instruction its destination will be +highlighted now and when it is clicked while holding the CTRL key +the debugger will be scrolled to its destination. + +========== +2014-12-07 +========== +With this new version you can finally enjoy your favorite games +in fullscreen! You can enter fullscreen by either pressing +ALT+ENTER or from the Graphics menu. + +The debugger has been extended by watchpoints (aka memory +breakpoints) that will suspend execution on a read/write of a +specified memory location. + +The memory editor has been extended by a find dialog that allows +searching the memory. Besides that the memory editor now supports +simple table files. + +========== +2014-09-19 +========== +A Memory Editor has been added and the Profiler and Tracer in +the Debugger have been improved + +========== +2014-06-26 +========== +New features: + - SEGA Game Gear Emulation + - Emulation of Master System/Game Gear Legacy Video Modes + - Debugger + - Palette Viewer + - Tilemap Viewer + - Memory Tracer + - IPS Patching \ No newline at end of file diff --git a/tools/java/COPYRIGHT b/tools/java/COPYRIGHT new file mode 100644 index 0000000..945e19c --- /dev/null +++ b/tools/java/COPYRIGHT @@ -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. diff --git a/tools/java/LICENSE b/tools/java/LICENSE new file mode 100644 index 0000000..39e216a --- /dev/null +++ b/tools/java/LICENSE @@ -0,0 +1 @@ +Please refer to http://java.com/license diff --git a/tools/java/README.txt b/tools/java/README.txt new file mode 100644 index 0000000..cdb30f2 --- /dev/null +++ b/tools/java/README.txt @@ -0,0 +1 @@ +Please refer to http://java.com/licensereadme diff --git a/tools/java/THIRDPARTYLICENSEREADME.txt b/tools/java/THIRDPARTYLICENSEREADME.txt new file mode 100644 index 0000000..0d91e25 --- /dev/null +++ b/tools/java/THIRDPARTYLICENSEREADME.txt @@ -0,0 +1,3271 @@ +DO NOT TRANSLATE OR LOCALIZE. +----------------------------- + +%% This notice is provided with respect to ASM Bytecode Manipulation +Framework v5.0.3, which may be included with JRE 8, and JDK 8, and +OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2000-2011 France Télécom +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. + +3. Neither the name of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS 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. + +--- end of LICENSE --- + +-------------------------------------------------------------------------------- + +%% This notice is provided with respect to BSDiff v4.3, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright 2003-2005 Colin Percival +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted providing 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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to CodeViewer 1.0, which may be +included with JDK 8. + +--- begin of LICENSE --- + +Copyright 1999 by CoolServlets.com. + +Any errors or suggested improvements to this class can be reported as +instructed on CoolServlets.com. We hope you enjoy this program... your +comments will encourage further development! This software is distributed +under the terms of the BSD License. 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. + +Neither name of CoolServlets.com nor the names of its contributors may be +used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY COOLSERVLETS.COM AND CONTRIBUTORS ``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 OR CONTRIBUTORS 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." + + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Cryptix AES 3.2.0, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Cryptix General License + +Copyright (c) 1995-2005 The Cryptix Foundation Limited. +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 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 CRYPTIX FOUNDATION LIMITED AND +CONTRIBUTORS ``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 CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS 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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to CUP Parser Generator for +Java 0.10k, which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, provided +that the above copyright notice appear in all copies and that both the +copyright notice and this permission notice and warranty disclaimer appear in +supporting documentation, and that the names of the authors or their +employers not be used in advertising or publicity pertaining to distribution of +the software without specific, written prior permission. + +The authors and their employers disclaim all warranties with regard to +this software, including all implied warranties of merchantability and fitness. +In no event shall the authors or their employers be liable for any special, +indirect or consequential damages or any damages whatsoever resulting from +loss of use, data or profits, whether in an action of contract, negligence or +other tortious action, arising out of or in connection with the use or +performance of this software. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to DejaVu fonts v2.34, which may be +included with JRE 8, and JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. +Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below) + + +Bitstream Vera Fonts Copyright +------------------------------ + +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is +a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license ("Fonts") and associated +documentation files (the "Font Software"), to reproduce and distribute the +Font Software, including without limitation the rights to use, copy, merge, +publish, distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to the +following conditions: + +The above copyright and trademark notices and this permission notice shall +be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may be modified and +additional glyphs or characters may be added to the Fonts, only if the fonts +are renamed to names not containing either the words "Bitstream" or the word +"Vera". + +This License becomes null and void to the extent applicable to Fonts or Font +Software that has been modified and is distributed under the "Bitstream +Vera" names. + +The Font Software may be sold as part of a larger software package but no +copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME +FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING +ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE +FONT SOFTWARE. + +Except as contained in this notice, the names of Gnome, the Gnome +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font Software +without prior written authorization from the Gnome Foundation or Bitstream +Inc., respectively. For further information, contact: fonts at gnome dot +org. + +Arev Fonts Copyright +------------------------------ + +Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the fonts accompanying this license ("Fonts") and +associated documentation files (the "Font Software"), to reproduce +and distribute the modifications to the Bitstream Vera Font Software, +including without limitation the rights to use, copy, merge, publish, +distribute, and/or sell copies of the Font Software, and to permit +persons to whom the Font Software is furnished to do so, subject to +the following conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software +typefaces. + +The Font Software may be modified, altered, or added to, and in +particular the designs of glyphs or characters in the Fonts may be +modified and additional glyphs or characters may be added to the +Fonts, only if the fonts are renamed to names not containing either +the words "Tavmjong Bah" or the word "Arev". + +This License becomes null and void to the extent applicable to Fonts +or Font Software that has been modified and is distributed under the +"Tavmjong Bah Arev" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by +itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL +TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. + +Except as contained in this notice, the name of Tavmjong Bah shall not +be used in advertising or otherwise to promote the sale, use or other +dealings in this Font Software without prior written authorization +from Tavmjong Bah. For further information, contact: tavmjong @ free +. fr. + +TeX Gyre DJV Math +----------------- +Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. + +Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski +(on behalf of TeX users groups) are in public domain. + +Letters imported from Euler Fraktur from AMSfonts are (c) American +Mathematical Society (see below). +Bitstream Vera Fonts Copyright +Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera +is a trademark of Bitstream, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the fonts accompanying this license ("Fonts") and associated documentation +files (the "Font Software"), to reproduce and distribute the Font Software, +including without limitation the rights to use, copy, merge, publish, +distribute, and/or sell copies of the Font Software, and to permit persons +to whom the Font Software is furnished to do so, subject to the following +conditions: + +The above copyright and trademark notices and this permission notice +shall be included in all copies of one or more of the Font Software typefaces. + +The Font Software may be modified, altered, or added to, and in particular +the designs of glyphs or characters in the Fonts may be modified and +additional glyphs or characters may be added to the Fonts, only if the +fonts are renamed to names not containing either the words "Bitstream" +or the word "Vera". + +This License becomes null and void to the extent applicable to Fonts or +Font Software that has been modified and is distributed under the +"Bitstream Vera" names. + +The Font Software may be sold as part of a larger software package but +no copy of one or more of the Font Software typefaces may be sold by itself. + +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, +TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME +FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING +ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT +OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN +THE FONT SOFTWARE. +Except as contained in this notice, the names of GNOME, the GNOME +Foundation, and Bitstream Inc., shall not be used in advertising or +otherwise to promote the sale, use or other dealings in this Font Software +without prior written authorization from the GNOME Foundation or +Bitstream Inc., respectively. +For further information, contact: fonts at gnome dot org. + +AMSFonts (v. 2.2) copyright + +The PostScript Type 1 implementation of the AMSFonts produced by and +previously distributed by Blue Sky Research and Y&Y, Inc. are now freely +available for general use. This has been accomplished through the +cooperation +of a consortium of scientific publishers with Blue Sky Research and Y&Y. +Members of this consortium include: + +Elsevier Science IBM Corporation Society for Industrial and Applied +Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS) + +In order to assure the authenticity of these fonts, copyright will be +held by the American Mathematical Society. This is not meant to restrict +in any way the legitimate use of the fonts, such as (but not limited to) +electronic distribution of documents containing these fonts, inclusion of +these fonts into other public domain or commercial font collections or computer +applications, use of the outline data to create derivative fonts and/or +faces, etc. However, the AMS does require that the AMS copyright notice be +removed from any derivative versions of the fonts which have been altered in +any way. In addition, to ensure the fidelity of TeX documents using Computer +Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces, +has requested that any alterations which yield different font metrics be +given a different name. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Document Object Model (DOM) Level 2 +& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +W3C SOFTWARE NOTICE AND LICENSE + +http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + +This work (and included software, documentation such as READMEs, or other +related items) is being provided by the copyright holders under the following +license. By obtaining, using and/or copying this work, you (the licensee) +agree that you have read, understood, and will comply with the following terms +and conditions. + +Permission to copy, modify, and distribute this software and its +documentation, with or without modification, for any purpose and without fee +or royalty is hereby granted, provided that you include the following on ALL +copies of the software and documentation or portions thereof, including +modifications: + + 1.The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. + + 2.Any pre-existing intellectual property disclaimers, notices, or terms and + conditions. If none exist, the W3C Software Short Notice should be included + (hypertext is preferred, text is permitted) within the body of any + redistributed or derivative code. + + 3.Notice of any changes or modifications to the files, including the date + changes were made. (We recommend you provide URIs to the location from + which the code is derived.) + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS +MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR +PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY +THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL +OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR +DOCUMENTATION. The name and trademarks of copyright holders may NOT be used +in advertising or publicity pertaining to the software without specific, +written prior permission. Title to copyright in this software and any +associated documentation will at all times remain with copyright holders. + +____________________________________ + +This formulation of W3C's notice and license became active on December 31 +2002. This version removes the copyright ownership notice such that this +license can be used with materials other than those owned by the W3C, reflects +that ERCIM is now a host of the W3C, includes references to this specific +dated version of the license, and removes the ambiguous grant of "use". +Otherwise, this version is the same as the previous version and is written so +as to preserve the Free Software Foundation's assessment of GPL compatibility +and OSI's certification under the Open Source Definition. Please see our +Copyright FAQ for common questions about using materials from our site, +including specific terms and conditions for packages like libwww, Amaya, and +Jigsaw. Other questions about this notice can be directed to +site-policy@w3.org. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Dynalink v0.5, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2009-2013, Attila Szegedi + +All rights reserved.Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the following conditions are +met:* Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. * 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. * Neither the name of Attila +Szegedi nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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 THEPOSSIBILITY OF SUCH DAMAGE. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Elliptic Curve Cryptography, which +may be included with JRE 8, JDK 8, and OpenJDK 8. + +You are receiving a copy of the Elliptic Curve Cryptography library in source +form with the JDK 8 and OpenJDK 8 source distributions, and as object code in +the JRE 8 & JDK 8 runtimes. + +In the case of the JRE & JDK runtimes, the terms of the Oracle license do +NOT apply to the Elliptic Curve Cryptography library; it is licensed under the +following license, separately from Oracle's JDK & JRE. If you do not wish to +install the Elliptic Curve Cryptography library, you may delete the +Elliptic Curve Cryptography library: + - On Solaris and Linux systems: delete $(JAVA_HOME)/lib/libsunec.so + - On Windows systems: delete $(JAVA_HOME)\bin\sunec.dll + - On Mac systems, delete: + for JRE: /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/libsunec.dylib + for JDK: $(JAVA_HOME)/jre/lib/libsunec.dylib + +Written Offer for ECC Source Code + For third party technology that you receive from Oracle in binary form + which is licensed under an open source license that gives you the right + to receive the source code for that binary, you can obtain a copy of + the applicable source code from this page: + http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/native/sun/security/ec/impl + + If the source code for the technology was not provided to you with the + binary, you can also receive a copy of the source code on physical + media by submitting a written request to: + + Oracle America, Inc. + Attn: Associate General Counsel, + Development and Engineering Legal + 500 Oracle Parkway, 10th Floor + Redwood Shores, CA 94065 + + Or, you may send an email to Oracle using the form at: + http://www.oracle.com/goto/opensourcecode/request + + Your request should include: + - The name of the component or binary file(s) for which you are requesting + the source code + - The name and version number of the Oracle product containing the binary + - The date you received the Oracle product + - Your name + - Your company name (if applicable) + - Your return mailing address and email and + - A telephone number in the event we need to reach you. + + We may charge you a fee to cover the cost of physical media and processing. + Your request must be sent (i) within three (3) years of the date you + received the Oracle product that included the component or binary + file(s) that are the subject of your request, or (ii) in the case of + code licensed under the GPL v3, for as long as Oracle offers spare + parts or customer support for that product model. + +--- begin of LICENSE --- + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to ECMAScript Language +Specification ECMA-262 Edition 5.1 which may be included with +JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright notice +Copyright © 2011 Ecma International +Ecma International +Rue du Rhone 114 +CH-1204 Geneva +Tel: +41 22 849 6000 +Fax: +41 22 849 6001 +Web: http://www.ecma-international.org + +This document and possible translations of it may be copied and furnished to +others, and derivative works that comment on or otherwise explain it or assist +in its implementation may be prepared, copied, published, and distributed, in +whole or in part, without restriction of any kind, provided that the above +copyright notice and this section are included on all such copies and derivative +works. However, this document itself may not be modified in any way, including +by removing the copyright notice or references to Ecma International, except as +needed for the purpose of developing any document or deliverable produced by +Ecma International (in which case the rules applied to copyrights must be +followed) or as required to translate it into languages other than English. The +limited permissions granted above are perpetual and will not be revoked by Ecma +International or its successors or assigns. This document and the information +contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL +DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY +WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP +RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR +PURPOSE." Software License + +All Software contained in this document ("Software)" is protected by copyright +and is being made available under the "BSD License", included below. This +Software may be subject to third party rights (rights from parties other than +Ecma International), including patent rights, and no licenses under such third +party rights are granted under this license even if the third party concerned is +a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS +AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR +INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO +IMPLEMENT ECMA INTERNATIONAL STANDARDS*. 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. + +3. Neither the name of the authors nor Ecma International may be used to endorse +or promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "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 ECMA INTERNATIONAL 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. +--- end of LICENSE --- + +%% This notice is provided with respect to FontConfig 2.5, which may be +included with JRE 8, JDK 8, and OpenJDK 8 source distributions on +Linux and Solaris. + +--- begin of LICENSE --- + +Copyright © 2001,2003 Keith Packard + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that the +above copyright notice appear in all copies and that both that copyright +notice and this permission notice appear in supporting documentation, and that +the name of Keith Packard not be used in advertising or publicity pertaining +to distribution of the software without specific, written prior permission. +Keith Packard makes no representations about the suitability of this software +for any purpose. It is provided "as is" without express or implied warranty. + +KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL KEITH +PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to freebXML Registry 3.0 & 3.1, +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +freebxml: Copyright (c) 2001 freebxml.org. All rights reserved. + +The names "The freebXML Registry Project" and "freebxml Software +Foundation" must not be used to endorse or promote products derived +from this software or be used in a product name without prior +written permission. For written permission, please contact +ebxmlrr-team@lists.sourceforge.net. + +This software consists of voluntary contributions made by many individuals +on behalf of the the freebxml Software Foundation. For more information on +the freebxml Software Foundation, please see . + +This product includes software developed by the Apache Software Foundation +(http://www.apache.org/). + +The freebxml License, Version 1.1 5 +Copyright (c) 2001 freebxml.org. 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. + + 3. The end-user documentation included with the redistribution, if + any, must include the following acknowlegement: + "This product includes software developed by + freebxml.org (http://www.freebxml.org/)." + Alternately, this acknowlegement may appear in the software itself, + if and wherever such third-party acknowlegements normally appear. + + 4. The names "The freebXML Registry Project", "freebxml Software + Foundation" must not be used to endorse or promote products derived + from this software without prior written permission. For written + permission, please contact ebxmlrr-team@lists.sourceforge.net. + + 5. Products derived from this software may not be called "freebxml", + "freebXML Registry" nor may freebxml" appear in their names without + prior written permission of the freebxml Group. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 freebxml SOFTWARE FOUNDATION OR +ITS CONTRIBUTORS 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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to IAIK PKCS#11 Wrapper, +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +IAIK PKCS#11 Wrapper License + +Copyright (c) 2002 Graz University of Technology. 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. + +3. The end-user documentation included with the redistribution, if any, must + include the following acknowledgment: + + "This product includes software developed by IAIK of Graz University of + Technology." + + Alternately, this acknowledgment may appear in the software itself, if and + wherever such third-party acknowledgments normally appear. + +4. The names "Graz University of Technology" and "IAIK of Graz University of + Technology" must not be used to endorse or promote products derived from this + software without prior written permission. + +5. Products derived from this software may not be called "IAIK PKCS Wrapper", + nor may "IAIK" appear in their name, without prior written permission of + Graz University of Technology. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED 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 +LICENSOR 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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to ICU4C 4.0.1 and ICU4J 4.4, which +may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 1995-2010 International Business Machines Corporation and others + +All rights reserved. + +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, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +provided that the above copyright notice(s) and this permission notice appear +in all copies of the Software and that both the above copyright notice(s) and +this permission notice appear in supporting documentation. + +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 OF THIRD PARTY RIGHTS. IN +NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE +LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization of the copyright holder. +All trademarks and registered trademarks mentioned herein are the property of +their respective owners. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to IJG JPEG 6b, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +This software is copyright (C) 1991-1998, Thomas G. Lane. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. + +--- end of LICENSE --- + +-------------------------------------------------------------------------------- + +%% This notice is provided with respect to Jing 20030619, which may +be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2001-2003 Thai Open Source Software Center Ltd All +rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +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. + +Neither the name of the Thai Open Source Software Center Ltd nor +the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"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 +REGENTS OR CONTRIBUTORS 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. + +--- end of LICENSE --- + +-------------------------------------------------------------------------------- + +%% This notice is provided with respect to Joni v1.1.9, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to JOpt-Simple v3.0, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + Copyright (c) 2004-2009 Paul R. Holser, Jr. + + 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. + +--- end of LICENSE --- + +-------------------------------------------------------------------------------- + +%% This notice is provided with respect to Kerberos functionality, which +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + (C) Copyright IBM Corp. 1999 All Rights Reserved. + Copyright 1997 The Open Group Research Institute. All rights reserved. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Kerberos functionality from +FundsXpress, INC., which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + Copyright (C) 1998 by the FundsXpress, INC. + + All rights reserved. + + Export of this software from the United States of America may require + a specific license from the United States Government. It is the + responsibility of any person or organization contemplating export to + obtain such a license before exporting. + + WITHIN THAT CONSTRAINT, permission to use, copy, modify, and + distribute this software and its documentation for any purpose and + without fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright notice and + this permission notice appear in supporting documentation, and that + the name of FundsXpress. not be used in advertising or publicity pertaining + to distribution of the software without specific, written prior + permission. FundsXpress makes no representations about the suitability of + this software for any purpose. It is provided "as is" without express + or implied warranty. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Kronos OpenGL headers, which may be +included with JDK 8 and OpenJDK 8 source distributions. + +--- begin of LICENSE --- + + Copyright (c) 2007 The Khronos Group Inc. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and/or associated documentation files (the "Materials"), to + deal in the Materials without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Materials, and to permit persons to whom the Materials are + 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 Materials. + + THE MATERIALS ARE 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 MATERIALS OR THE USE OR OTHER DEALINGS IN THE + MATERIALS. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% Portions Copyright Eastman Kodak Company 1991-2003 + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to libpng 1.6.35, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +This copy of the libpng notices is provided for your convenience. In case of +any discrepancy between this copy and the notices in the file png.h that is +included in the libpng distribution, the latter shall prevail. + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: + +If you modify libpng you may insert additional notices immediately following +this sentence. + +This code is released under the libpng license. + +libpng versions 1.0.7, July 1, 2000 through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of the + library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is with + the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the list +of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing Authors +and Group 42, Inc. disclaim all warranties, expressed or implied, +including, without limitation, the warranties of merchantability and of +fitness for any purpose. The Contributing Authors and Group 42, Inc. +assume no liability for direct, indirect, incidental, special, exemplary, +or consequential damages, which may result from the use of the PNG +Reference Library, even if advised of the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, without +fee, and encourage the use of this source code as a component to +supporting the PNG file format in commercial products. If you use this +source code in a product, acknowledgment is not required but would be +appreciated. + +END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE. + +TRADEMARK: + +The name "libpng" has not been registered by the Copyright owner +as a trademark in any jurisdiction. However, because libpng has +been distributed and maintained world-wide, continually since 1995, +the Copyright owner claims "common-law trademark protection" in any +jurisdiction where common-law trademark is recognized. + +OSI CERTIFICATION: + +Libpng is OSI Certified Open Source Software. OSI Certified Open Source is +a certification mark of the Open Source Initiative. OSI has not addressed +the additional disclaimers inserted at version 1.0.7. + +EXPORT CONTROL: + +The Copyright owner believes that the Export Control Classification +Number (ECCN) for libpng is EAR99, which means not subject to export +controls or International Traffic in Arms Regulations (ITAR) because +it is open source, publicly available software, that does not contain +any encryption software. See the EAR, paragraphs 734.3(b)(3) and +734.7(b). + +Glenn Randers-Pehrson +glennrp at users.sourceforge.net +July 15, 2018 + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to GIFLIB 5.1.1 & libungif 4.1.3, +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Little CMS 2.9, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Little CMS +Copyright (c) 1998-2011 Marti Maria Saguer + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% Lucida is a registered trademark or trademark of Bigelow & Holmes in the +U.S. and other countries. + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Mesa 3D Graphics Library v4.1, +which may be included with JRE 8, JDK 8, and OpenJDK 8 source distributions. + +--- begin of LICENSE --- + + Mesa 3-D graphics library + Version: 4.1 + + Copyright (C) 1999-2002 Brian Paul All Rights Reserved. + + 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 + BRIAN PAUL 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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Mozilla Network Security +Services (NSS), which is supplied with the JDK test suite in the OpenJDK +source code repository. It is licensed under Mozilla Public License (MPL), +version 2.0. + +The NSS libraries are supplied in executable form, built from unmodified +NSS source code labeled with the "NSS_3_16_RTM" HG tag. + +The NSS source code is available in the OpenJDK source code repository at: + jdk/test/sun/security/pkcs11/nss/src + +The NSS libraries are available in the OpenJDK source code repository at: + jdk/test/sun/security/pkcs11/nss/lib + +--- begin of LICENSE --- + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1, +which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. + +--- begin of LICENSE --- + +Copyright (c) 1999-2004 David Corcoran +Copyright (c) 1999-2004 Ludovic Rousseau +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. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by: + David Corcoran + http://www.linuxnet.com (MUSCLE) +4. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +Changes to this license can be made only by the copyright author with +explicit written consent. + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to PorterStemmer v4, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +See: http://tartarus.org/~martin/PorterStemmer + +The software is completely free for any purpose, unless notes at the head of +the program text indicates otherwise (which is rare). In any case, the notes +about licensing are never more restrictive than the BSD License. + +In every case where the software is not written by me (Martin Porter), this +licensing arrangement has been endorsed by the contributor, and it is +therefore unnecessary to ask the contributor again to confirm it. + +I have not asked any contributors (or their employers, if they have them) for +proofs that they have the right to distribute their software in this way. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Relax NG Object/Parser v.20050510, +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) Kohsuke Kawaguchi + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to RelaxNGCC v1.12, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2000-2003 Daisuke Okajima and Kohsuke Kawaguchi. +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. + +3. The end-user documentation included with the redistribution, if any, must + include the following acknowledgment: + + "This product includes software developed by Daisuke Okajima + and Kohsuke Kawaguchi (http://relaxngcc.sf.net/)." + +Alternately, this acknowledgment may appear in the software itself, if and +wherever such third-party acknowledgments normally appear. + +4. The names of the copyright holders must not be used to endorse or promote + products derived from this software without prior written permission. For + written permission, please contact the copyright holders. + +5. Products derived from this software may not be called "RELAXNGCC", nor may + "RELAXNGCC" appear in their name, without prior written permission of the + copyright holders. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED 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 APACHE +SOFTWARE FOUNDATION OR ITS CONTRIBUTORS 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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Relax NG Datatype 1.0, which +may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (c) 2005, 2010 Thai Open Source Software Center Ltd +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 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. + + Neither the names of the copyright holders nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"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 REGENTS OR +CONTRIBUTORS 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. + +--- end of LICENSE --- + +-------------------------------------------------------------------------------- + +%% This notice is provided with respect to SoftFloat version 2b, which may be +included with JRE 8, JDK 8, and OpenJDK 8 on Linux/ARM. + +--- begin of LICENSE --- + +Use of any of this software is governed by the terms of the license below: + +SoftFloat was written by me, John R. Hauser. This work was made possible in +part by the International Computer Science Institute, located at Suite 600, +1947 Center Street, Berkeley, California 94704. Funding was partially +provided by the National Science Foundation under grant MIP-9311980. The +original version of this code was written as part of a project to build +a fixed-point vector processor in collaboration with the University of +California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek. + +THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort +has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT +TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO +PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL +LOSSES, COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO +FURTHERMORE EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER +SCIENCE INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, +COSTS, OR OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE +SOFTWARE. + +Derivative works are acceptable, even for commercial purposes, provided +that the minimal documentation requirements stated in the source code are +satisfied. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Sparkle 1.5, +which may be included with JRE 8 on Mac OS X. + +--- begin of LICENSE --- + +Copyright (c) 2012 Sparkle.org and Andy Matuschak + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% Portions licensed from Taligent, Inc. + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Thai Dictionary, which may be +included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Copyright (C) 1982 The Royal Institute, Thai Royal Government. + +Copyright (C) 1998 National Electronics and Computer Technology Center, +National Science and Technology Development Agency, +Ministry of Science Technology and Environment, +Thai Royal Government. + +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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Unicode 6.2.0 & CLDR 21.0.1 +which may be included with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + +Unicode Terms of Use + +For the general privacy policy governing access to this site, see the Unicode +Privacy Policy. For trademark usage, see the Unicode® Consortium Name and +Trademark Usage Policy. + +A. Unicode Copyright. + 1. Copyright © 1991-2013 Unicode, Inc. All rights reserved. + + 2. Certain documents and files on this website contain a legend indicating + that "Modification is permitted." Any person is hereby authorized, + without fee, to modify such documents and files to create derivative + works conforming to the Unicode® Standard, subject to Terms and + Conditions herein. + + 3. Any person is hereby authorized, without fee, to view, use, reproduce, + and distribute all documents and files solely for informational + purposes in the creation of products supporting the Unicode Standard, + subject to the Terms and Conditions herein. + + 4. Further specifications of rights and restrictions pertaining to the use + of the particular set of data files known as the "Unicode Character + Database" can be found in Exhibit 1. + + 5. Each version of the Unicode Standard has further specifications of + rights and restrictions of use. For the book editions (Unicode 5.0 and + earlier), these are found on the back of the title page. The online + code charts carry specific restrictions. All other files, including + online documentation of the core specification for Unicode 6.0 and + later, are covered under these general Terms of Use. + + 6. No license is granted to "mirror" the Unicode website where a fee is + charged for access to the "mirror" site. + + 7. Modification is not permitted with respect to this document. All copies + of this document must be verbatim. + +B. Restricted Rights Legend. Any technical data or software which is licensed + to the United States of America, its agencies and/or instrumentalities + under this Agreement is commercial technical data or commercial computer + software developed exclusively at private expense as defined in FAR 2.101, + or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, + duplication, or disclosure by the Government is subject to restrictions as + set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov + 1995) and this Agreement. For Software, in accordance with FAR 12-212 or + DFARS 227-7202, as applicable, use, duplication or disclosure by the + Government is subject to the restrictions set forth in this Agreement. + +C. Warranties and Disclaimers. + 1. This publication and/or website may include technical or typographical + errors or other inaccuracies . Changes are periodically added to the + information herein; these changes will be incorporated in new editions + of the publication and/or website. Unicode may make improvements and/or + changes in the product(s) and/or program(s) described in this + publication and/or website at any time. + + 2. If this file has been purchased on magnetic or optical media from + Unicode, Inc. the sole and exclusive remedy for any claim will be + exchange of the defective media within ninety (90) days of original + purchase. + + 3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR SOFTWARE IS + PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, + OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. + UNICODE AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR + OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH + ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE. + +D. Waiver of Damages. In no event shall Unicode or its licensors be liable for + any special, incidental, indirect or consequential damages of any kind, or + any damages whatsoever, whether or not Unicode was advised of the + possibility of the damage, including, without limitation, those resulting + from the following: loss of use, data or profits, in connection with the + use, modification or distribution of this information or its derivatives. + +E.Trademarks & Logos. + 1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, + Inc. “The Unicode Consortium” and “Unicode, Inc.” are trade names of + Unicode, Inc. Use of the information and materials found on this + website indicates your acknowledgement of Unicode, Inc.’s exclusive + worldwide rights in the Unicode Word Mark, the Unicode Logo, and the + Unicode trade names. + + 2. The Unicode Consortium Name and Trademark Usage Policy (“Trademark + Policy”) are incorporated herein by reference and you agree to abide by + the provisions of the Trademark Policy, which may be changed from time + to time in the sole discretion of Unicode, Inc. + + 3. All third party trademarks referenced herein are the property of their + respective owners. + +Miscellaneous. + 1. Jurisdiction and Venue. This server is operated from a location in the + State of California, United States of America. Unicode makes no + representation that the materials are appropriate for use in other + locations. If you access this server from other locations, you are + responsible for compliance with local laws. This Agreement, all use of + this site and any claims and damages resulting from use of this site are + governed solely by the laws of the State of California without regard to + any principles which would apply the laws of a different jurisdiction. + The user agrees that any disputes regarding this site shall be resolved + solely in the courts located in Santa Clara County, California. The user + agrees said courts have personal jurisdiction and agree to waive any + right to transfer the dispute to any other forum. + + 2. Modification by Unicode. Unicode shall have the right to modify this + Agreement at any time by posting it to this site. The user may not + assign any part of this Agreement without Unicode’s prior written + consent. + + 3. Taxes. The user agrees to pay any taxes arising from access to this + website or use of the information herein, except for those based on + Unicode’s net income. + + 4. Severability. If any provision of this Agreement is declared invalid or + unenforceable, the remaining provisions of this Agreement shall remain + in effect. + + 5. Entire Agreement. This Agreement constitutes the entire agreement + between the parties. + +EXHIBIT 1 +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +Unicode Data Files include all data files under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, and +http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF +online code charts under the directory http://www.unicode.org/Public/. +Software includes any source code published in the Unicode Standard or under +the directories http://www.unicode.org/Public/, +http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/. + +NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, +INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA +FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO +BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT +AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR +SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright © 1991-2012 Unicode, Inc. All rights reserved. Distributed under the +Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the Unicode data files and any associated documentation (the "Data Files") +or Unicode software and any associated documentation (the "Software") to deal +in the Data Files or Software without restriction, including without +limitation the rights to use, copy, modify, merge, publish, distribute, and/or +sell copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that (a) the above +copyright notice(s) and this permission notice appear with all copies of the +Data Files or Software, (b) both the above copyright notice(s) and this +permission notice appear in associated documentation, and (c) there is clear +notice in each modified Data File or in the Software as well as in the +documentation associated with the Data File(s) or Software that the data or +software has been modified. + +THE DATA FILES AND SOFTWARE ARE 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 OF THIRD +PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN +THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE +DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall not +be used in advertising or otherwise to promote the sale, use or other dealings +in these Data Files or Software without prior written authorization of the +copyright holder. + +Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United +States and other countries. All third party trademarks referenced herein are +the property of their respective owners. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to UPX v3.01, which may be included +with JRE 8 on Windows. + +--- begin of LICENSE --- + +Use of any of this software is governed by the terms of the license below: + + + ooooo ooo ooooooooo. ooooooo ooooo + `888' `8' `888 `Y88. `8888 d8' + 888 8 888 .d88' Y888..8P + 888 8 888ooo88P' `8888' + 888 8 888 .8PY888. + `88. .8' 888 d8' `888b + `YbodP' o888o o888o o88888o + + + The Ultimate Packer for eXecutables + Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar + http://wildsau.idv.uni-linz.ac.at/mfx/upx.html + http://www.nexus.hu/upx + http://upx.tsx.org + + +PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN +TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION. + + +ABSTRACT +======== + + UPX and UCL are copyrighted software distributed under the terms + of the GNU General Public License (hereinafter the "GPL"). + + The stub which is imbedded in each UPX compressed program is part + of UPX and UCL, and contains code that is under our copyright. The + terms of the GNU General Public License still apply as compressing + a program is a special form of linking with our stub. + + As a special exception we grant the free usage of UPX for all + executables, including commercial programs. + See below for details and restrictions. + + +COPYRIGHT +========= + + UPX and UCL are copyrighted software. All rights remain with the authors. + + UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer + UPX is Copyright (C) 1996-2000 Laszlo Molnar + + UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer + + +GNU GENERAL PUBLIC LICENSE +========================== + + UPX and the UCL library are free software; you can redistribute them + and/or modify them under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + UPX and UCL are distributed in the hope that they will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; see the file COPYING. + + +SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES +============================================ + + The stub which is imbedded in each UPX compressed program is part + of UPX and UCL, and contains code that is under our copyright. The + terms of the GNU General Public License still apply as compressing + a program is a special form of linking with our stub. + + Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special + permission to freely use and distribute all UPX compressed programs + (including commercial ones), subject to the following restrictions: + + 1. You must compress your program with a completely unmodified UPX + version; either with our precompiled version, or (at your option) + with a self compiled version of the unmodified UPX sources as + distributed by us. + 2. This also implies that the UPX stub must be completely unmodfied, i.e. + the stub imbedded in your compressed program must be byte-identical + to the stub that is produced by the official unmodified UPX version. + 3. The decompressor and any other code from the stub must exclusively get + used by the unmodified UPX stub for decompressing your program at + program startup. No portion of the stub may get read, copied, + called or otherwise get used or accessed by your program. + + +ANNOTATIONS +=========== + + - You can use a modified UPX version or modified UPX stub only for + programs that are compatible with the GNU General Public License. + + - We grant you special permission to freely use and distribute all UPX + compressed programs. But any modification of the UPX stub (such as, + but not limited to, removing our copyright string or making your + program non-decompressible) will immediately revoke your right to + use and distribute a UPX compressed program. + + - UPX is not a software protection tool; by requiring that you use + the unmodified UPX version for your proprietary programs we + make sure that any user can decompress your program. This protects + both you and your users as nobody can hide malicious code - + any program that cannot be decompressed is highly suspicious + by definition. + + - You can integrate all or part of UPX and UCL into projects that + are compatible with the GNU GPL, but obviously you cannot grant + any special exceptions beyond the GPL for our code in your project. + + - We want to actively support manufacturers of virus scanners and + similar security software. Please contact us if you would like to + incorporate parts of UPX or UCL into such a product. + + + +Markus F.X.J. Oberhumer Laszlo Molnar +markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu + +Linz, Austria, 25 Feb 2000 + +Additional License(s) + +The UPX license file is at http://upx.sourceforge.net/upx-license.html. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to Xfree86-VidMode Extension 1.0, +which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. + +--- begin of LICENSE --- + +Version 1.1 of XFree86 ProjectLicence. + +Copyright (C) 1994-2004 The XFree86 Project, Inc. All rights reserved. + +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, sublicence, 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: + + 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, and in the same place + and form as other copyright, license and disclaimer information. + + 3. The end-user documentation included with the redistribution, if any,must + include the following acknowledgment: "This product includes + software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and + its contributors", in the same place and form as other third-party + acknowledgments. Alternately, this acknowledgment may appear in the software + itself, in the same form and location as other such third-party + acknowledgments. + + 4. Except as contained in this notice, the name of The XFree86 Project,Inc + shall not be used in advertising or otherwise to promote the sale, use + or other dealings in this Software without prior written authorization from + The XFree86 Project, Inc. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 XFREE86 PROJECT, INC OR ITS CONTRIBUTORS 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. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to X Window System 6.8.2, which may be +included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. + +--- begin of LICENSE --- + +This is the copyright for the files in src/solaris/native/sun/awt: list.h, +multiVis.h, wsutils.h, list.c, multiVis.c +Copyright (c) 1994 Hewlett-Packard Co. +Copyright (c) 1996 X Consortium + +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 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 X CONSORTIUM 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. + +Except as contained in this notice, the name of the X Consortium shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from the X Consortium. +___________________________ +The files in motif/lib/Xm/util included this copyright:mkdirhier.man, +xmkmf.man, chownxterm.c, makeg.man, mergelib.cpp, lndir.man, makestrs.man, +checktree.c, lndir.c, makestrs.c +Copyright (c) 1993, 1994 X Consortium + +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 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 X CONSORTIUM 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. + +Except as contained in this notice, the name of the X Consortium shall not +be used in advertising or otherwise to promote the sale, use or other +dealing in this Software without prior written authorization from the +X Consortium. +_____________________________ +Xmos_r.h: +/* +Copyright (c) 1996 X Consortium + +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 +X CONSORTIUM 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. + +Except as contained in this notice, the name of the X Consortium shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from the X Consortium. +*/ + +_____________________________ +Copyright notice for extutil.h: +Copyright 1989, 1998 The Open Group + +All Rights Reserved. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. +* +* Author: Jim Fulton, MIT The Open Group +* +* Xlib Extension-Writing Utilities +* +* This package contains utilities for writing the client API for various +* protocol extensions. THESE INTERFACES ARE NOT PART OF THE X STANDARD AND +* ARE SUBJECT TO CHANGE! +*/ + +_____________________________ +Copyright notice for HPkeysym.h: +/* + +Copyright 1987, 1998 The Open Group + +All Rights Reserved. + +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 OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, + +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the names of Hewlett Packard +or Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD +TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. Hewlett-Packard shall not be liable for errors +contained herein or direct, indirect, special, incidental or +consequential damages in connection with the furnishing, +performance, or use of this material. + +*/ +_____________________________________ +Copyright notice in keysym2ucs.h: + +Copyright 1987, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall +not be used in advertising or otherwise to promote the sale, use or +other dealings in this Software without prior written authorization +from The Open Group. + + +Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts + +All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +*/ + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to zlib v1.2.11, which may be included +with JRE 8, JDK 8, and OpenJDK 8. + +--- begin of LICENSE --- + + version 1.2.11, January 15th, 2017 + + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + +%% This notice is provided with respect to the following which may be +included with JRE 8, JDK 8, and OpenJDK 8. + + Apache Commons Math 3.2 + Apache Derby 10.11.1.2 + Apache Jakarta BCEL 5.1 + Apache Jakarta Regexp 1.4 + Apache Santuario XML Security for Java 1.5.4 + Apache Xalan-Java 2.7.1 + Apache Xerces Java 2.10.0 + Apache XML Resolver 1.1 + + +--- begin of LICENSE --- + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--- end of LICENSE --- + +------------------------------------------------------------------------------- + diff --git a/tools/java/Welcome.html b/tools/java/Welcome.html new file mode 100644 index 0000000..f731854 --- /dev/null +++ b/tools/java/Welcome.html @@ -0,0 +1,28 @@ + + + +Welcome to the Java(TM) Platform + + + + +

Welcome to the JavaTM Platform

+

Welcome to the JavaTM Standard Edition Runtime + Environment. This provides complete runtime support for Java applications. +

The runtime environment includes the JavaTM + Plug-in product which supports the Java environment inside web browsers. +

References

+

+See the Java Plug-in product +documentation for more information on using the Java Plug-in product. +

See the Java Platform web site for + more information on the Java Platform. +


+ +Copyright (c) 2006, 2018, Oracle and/or its affiliates. All rights reserved. + +

+ + diff --git a/tools/java/bin/api-ms-win-core-console-l1-1-0.dll b/tools/java/bin/api-ms-win-core-console-l1-1-0.dll new file mode 100644 index 0000000..b469ccb Binary files /dev/null and b/tools/java/bin/api-ms-win-core-console-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-datetime-l1-1-0.dll b/tools/java/bin/api-ms-win-core-datetime-l1-1-0.dll new file mode 100644 index 0000000..d0cdea4 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-datetime-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-debug-l1-1-0.dll b/tools/java/bin/api-ms-win-core-debug-l1-1-0.dll new file mode 100644 index 0000000..11283e3 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-debug-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-errorhandling-l1-1-0.dll b/tools/java/bin/api-ms-win-core-errorhandling-l1-1-0.dll new file mode 100644 index 0000000..1069800 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-errorhandling-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-file-l1-1-0.dll b/tools/java/bin/api-ms-win-core-file-l1-1-0.dll new file mode 100644 index 0000000..b608d0c Binary files /dev/null and b/tools/java/bin/api-ms-win-core-file-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-file-l1-2-0.dll b/tools/java/bin/api-ms-win-core-file-l1-2-0.dll new file mode 100644 index 0000000..620539c Binary files /dev/null and b/tools/java/bin/api-ms-win-core-file-l1-2-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-file-l2-1-0.dll b/tools/java/bin/api-ms-win-core-file-l2-1-0.dll new file mode 100644 index 0000000..16f3d88 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-file-l2-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-handle-l1-1-0.dll b/tools/java/bin/api-ms-win-core-handle-l1-1-0.dll new file mode 100644 index 0000000..cbd019a Binary files /dev/null and b/tools/java/bin/api-ms-win-core-handle-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-heap-l1-1-0.dll b/tools/java/bin/api-ms-win-core-heap-l1-1-0.dll new file mode 100644 index 0000000..963f042 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-heap-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-interlocked-l1-1-0.dll b/tools/java/bin/api-ms-win-core-interlocked-l1-1-0.dll new file mode 100644 index 0000000..62d0d8a Binary files /dev/null and b/tools/java/bin/api-ms-win-core-interlocked-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-libraryloader-l1-1-0.dll b/tools/java/bin/api-ms-win-core-libraryloader-l1-1-0.dll new file mode 100644 index 0000000..054fca5 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-libraryloader-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-localization-l1-2-0.dll b/tools/java/bin/api-ms-win-core-localization-l1-2-0.dll new file mode 100644 index 0000000..4747756 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-localization-l1-2-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-memory-l1-1-0.dll b/tools/java/bin/api-ms-win-core-memory-l1-1-0.dll new file mode 100644 index 0000000..41b3a5b Binary files /dev/null and b/tools/java/bin/api-ms-win-core-memory-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-namedpipe-l1-1-0.dll b/tools/java/bin/api-ms-win-core-namedpipe-l1-1-0.dll new file mode 100644 index 0000000..c89a74c Binary files /dev/null and b/tools/java/bin/api-ms-win-core-namedpipe-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-processenvironment-l1-1-0.dll b/tools/java/bin/api-ms-win-core-processenvironment-l1-1-0.dll new file mode 100644 index 0000000..a820084 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-processenvironment-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-processthreads-l1-1-0.dll b/tools/java/bin/api-ms-win-core-processthreads-l1-1-0.dll new file mode 100644 index 0000000..debbd17 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-processthreads-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-processthreads-l1-1-1.dll b/tools/java/bin/api-ms-win-core-processthreads-l1-1-1.dll new file mode 100644 index 0000000..f7a2395 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-processthreads-l1-1-1.dll differ diff --git a/tools/java/bin/api-ms-win-core-profile-l1-1-0.dll b/tools/java/bin/api-ms-win-core-profile-l1-1-0.dll new file mode 100644 index 0000000..99d2336 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-profile-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-rtlsupport-l1-1-0.dll b/tools/java/bin/api-ms-win-core-rtlsupport-l1-1-0.dll new file mode 100644 index 0000000..2352c90 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-rtlsupport-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-string-l1-1-0.dll b/tools/java/bin/api-ms-win-core-string-l1-1-0.dll new file mode 100644 index 0000000..2af9f45 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-string-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-synch-l1-1-0.dll b/tools/java/bin/api-ms-win-core-synch-l1-1-0.dll new file mode 100644 index 0000000..86a893a Binary files /dev/null and b/tools/java/bin/api-ms-win-core-synch-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-synch-l1-2-0.dll b/tools/java/bin/api-ms-win-core-synch-l1-2-0.dll new file mode 100644 index 0000000..70d2f4b Binary files /dev/null and b/tools/java/bin/api-ms-win-core-synch-l1-2-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-sysinfo-l1-1-0.dll b/tools/java/bin/api-ms-win-core-sysinfo-l1-1-0.dll new file mode 100644 index 0000000..400883d Binary files /dev/null and b/tools/java/bin/api-ms-win-core-sysinfo-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-timezone-l1-1-0.dll b/tools/java/bin/api-ms-win-core-timezone-l1-1-0.dll new file mode 100644 index 0000000..3543bf6 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-timezone-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-core-util-l1-1-0.dll b/tools/java/bin/api-ms-win-core-util-l1-1-0.dll new file mode 100644 index 0000000..3932409 Binary files /dev/null and b/tools/java/bin/api-ms-win-core-util-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-conio-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-conio-l1-1-0.dll new file mode 100644 index 0000000..fee9507 Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-conio-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-convert-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-convert-l1-1-0.dll new file mode 100644 index 0000000..e398c3b Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-convert-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-environment-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-environment-l1-1-0.dll new file mode 100644 index 0000000..ee25a45 Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-environment-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-filesystem-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-filesystem-l1-1-0.dll new file mode 100644 index 0000000..d8e225f Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-filesystem-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-heap-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-heap-l1-1-0.dll new file mode 100644 index 0000000..f568d6d Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-heap-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-locale-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-locale-l1-1-0.dll new file mode 100644 index 0000000..d11e4ba Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-locale-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-math-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-math-l1-1-0.dll new file mode 100644 index 0000000..514e2d4 Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-math-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-multibyte-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-multibyte-l1-1-0.dll new file mode 100644 index 0000000..1234fb9 Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-multibyte-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-private-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-private-l1-1-0.dll new file mode 100644 index 0000000..95c2067 Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-private-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-process-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-process-l1-1-0.dll new file mode 100644 index 0000000..abbbf7c Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-process-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-runtime-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-runtime-l1-1-0.dll new file mode 100644 index 0000000..87f9144 Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-runtime-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-stdio-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-stdio-l1-1-0.dll new file mode 100644 index 0000000..a03d17c Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-stdio-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-string-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-string-l1-1-0.dll new file mode 100644 index 0000000..19fff9d Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-string-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-time-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-time-l1-1-0.dll new file mode 100644 index 0000000..faf5204 Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-time-l1-1-0.dll differ diff --git a/tools/java/bin/api-ms-win-crt-utility-l1-1-0.dll b/tools/java/bin/api-ms-win-crt-utility-l1-1-0.dll new file mode 100644 index 0000000..772b23e Binary files /dev/null and b/tools/java/bin/api-ms-win-crt-utility-l1-1-0.dll differ diff --git a/tools/java/bin/attach.dll b/tools/java/bin/attach.dll new file mode 100644 index 0000000..6e19850 Binary files /dev/null and b/tools/java/bin/attach.dll differ diff --git a/tools/java/bin/awt.dll b/tools/java/bin/awt.dll new file mode 100644 index 0000000..47a37a5 Binary files /dev/null and b/tools/java/bin/awt.dll differ diff --git a/tools/java/bin/bci.dll b/tools/java/bin/bci.dll new file mode 100644 index 0000000..ae6d70c Binary files /dev/null and b/tools/java/bin/bci.dll differ diff --git a/tools/java/bin/concrt140.dll b/tools/java/bin/concrt140.dll new file mode 100644 index 0000000..f237a8a Binary files /dev/null and b/tools/java/bin/concrt140.dll differ diff --git a/tools/java/bin/dcpr.dll b/tools/java/bin/dcpr.dll new file mode 100644 index 0000000..21ae08b Binary files /dev/null and b/tools/java/bin/dcpr.dll differ diff --git a/tools/java/bin/dt_shmem.dll b/tools/java/bin/dt_shmem.dll new file mode 100644 index 0000000..c448cb5 Binary files /dev/null and b/tools/java/bin/dt_shmem.dll differ diff --git a/tools/java/bin/dt_socket.dll b/tools/java/bin/dt_socket.dll new file mode 100644 index 0000000..6fdbf3e Binary files /dev/null and b/tools/java/bin/dt_socket.dll differ diff --git a/tools/java/bin/eula.dll b/tools/java/bin/eula.dll new file mode 100644 index 0000000..222bcca Binary files /dev/null and b/tools/java/bin/eula.dll differ diff --git a/tools/java/bin/fontmanager.dll b/tools/java/bin/fontmanager.dll new file mode 100644 index 0000000..72f617f Binary files /dev/null and b/tools/java/bin/fontmanager.dll differ diff --git a/tools/java/bin/hprof.dll b/tools/java/bin/hprof.dll new file mode 100644 index 0000000..de03b52 Binary files /dev/null and b/tools/java/bin/hprof.dll differ diff --git a/tools/java/bin/instrument.dll b/tools/java/bin/instrument.dll new file mode 100644 index 0000000..5c83ed7 Binary files /dev/null and b/tools/java/bin/instrument.dll differ diff --git a/tools/java/bin/j2pcsc.dll b/tools/java/bin/j2pcsc.dll new file mode 100644 index 0000000..12cd4d7 Binary files /dev/null and b/tools/java/bin/j2pcsc.dll differ diff --git a/tools/java/bin/j2pkcs11.dll b/tools/java/bin/j2pkcs11.dll new file mode 100644 index 0000000..3d266ff Binary files /dev/null and b/tools/java/bin/j2pkcs11.dll differ diff --git a/tools/java/bin/jaas_nt.dll b/tools/java/bin/jaas_nt.dll new file mode 100644 index 0000000..379961f Binary files /dev/null and b/tools/java/bin/jaas_nt.dll differ diff --git a/tools/java/bin/java-rmi.exe b/tools/java/bin/java-rmi.exe new file mode 100644 index 0000000..bdf19d0 Binary files /dev/null and b/tools/java/bin/java-rmi.exe differ diff --git a/tools/java/bin/java.dll b/tools/java/bin/java.dll new file mode 100644 index 0000000..95a2bc2 Binary files /dev/null and b/tools/java/bin/java.dll differ diff --git a/tools/java/bin/java.exe b/tools/java/bin/java.exe new file mode 100644 index 0000000..f9edf85 Binary files /dev/null and b/tools/java/bin/java.exe differ diff --git a/tools/java/bin/java_crw_demo.dll b/tools/java/bin/java_crw_demo.dll new file mode 100644 index 0000000..4d6e3fd Binary files /dev/null and b/tools/java/bin/java_crw_demo.dll differ diff --git a/tools/java/bin/javaw.exe b/tools/java/bin/javaw.exe new file mode 100644 index 0000000..fe20ba0 Binary files /dev/null and b/tools/java/bin/javaw.exe differ diff --git a/tools/java/bin/jawt.dll b/tools/java/bin/jawt.dll new file mode 100644 index 0000000..30052dd Binary files /dev/null and b/tools/java/bin/jawt.dll differ diff --git a/tools/java/bin/jdwp.dll b/tools/java/bin/jdwp.dll new file mode 100644 index 0000000..84f5313 Binary files /dev/null and b/tools/java/bin/jdwp.dll differ diff --git a/tools/java/bin/jjs.exe b/tools/java/bin/jjs.exe new file mode 100644 index 0000000..5569880 Binary files /dev/null and b/tools/java/bin/jjs.exe differ diff --git a/tools/java/bin/jli.dll b/tools/java/bin/jli.dll new file mode 100644 index 0000000..f4adfb9 Binary files /dev/null and b/tools/java/bin/jli.dll differ diff --git a/tools/java/bin/jp2iexp.dll b/tools/java/bin/jp2iexp.dll new file mode 100644 index 0000000..681bffb Binary files /dev/null and b/tools/java/bin/jp2iexp.dll differ diff --git a/tools/java/bin/jp2launcher.exe b/tools/java/bin/jp2launcher.exe new file mode 100644 index 0000000..0279b0d Binary files /dev/null and b/tools/java/bin/jp2launcher.exe differ diff --git a/tools/java/bin/jp2native.dll b/tools/java/bin/jp2native.dll new file mode 100644 index 0000000..6c0fe89 Binary files /dev/null and b/tools/java/bin/jp2native.dll differ diff --git a/tools/java/bin/jp2ssv.dll b/tools/java/bin/jp2ssv.dll new file mode 100644 index 0000000..1aa2531 Binary files /dev/null and b/tools/java/bin/jp2ssv.dll differ diff --git a/tools/java/bin/jpeg.dll b/tools/java/bin/jpeg.dll new file mode 100644 index 0000000..92a394b Binary files /dev/null and b/tools/java/bin/jpeg.dll differ diff --git a/tools/java/bin/jsdt.dll b/tools/java/bin/jsdt.dll new file mode 100644 index 0000000..1fc6aee Binary files /dev/null and b/tools/java/bin/jsdt.dll differ diff --git a/tools/java/bin/jsound.dll b/tools/java/bin/jsound.dll new file mode 100644 index 0000000..69ef4e8 Binary files /dev/null and b/tools/java/bin/jsound.dll differ diff --git a/tools/java/bin/jsoundds.dll b/tools/java/bin/jsoundds.dll new file mode 100644 index 0000000..e489707 Binary files /dev/null and b/tools/java/bin/jsoundds.dll differ diff --git a/tools/java/bin/kcms.dll b/tools/java/bin/kcms.dll new file mode 100644 index 0000000..25fe313 Binary files /dev/null and b/tools/java/bin/kcms.dll differ diff --git a/tools/java/bin/lcms.dll b/tools/java/bin/lcms.dll new file mode 100644 index 0000000..ff31dc9 Binary files /dev/null and b/tools/java/bin/lcms.dll differ diff --git a/tools/java/bin/management.dll b/tools/java/bin/management.dll new file mode 100644 index 0000000..367d23c Binary files /dev/null and b/tools/java/bin/management.dll differ diff --git a/tools/java/bin/mlib_image.dll b/tools/java/bin/mlib_image.dll new file mode 100644 index 0000000..4886460 Binary files /dev/null and b/tools/java/bin/mlib_image.dll differ diff --git a/tools/java/bin/msvcp140.dll b/tools/java/bin/msvcp140.dll new file mode 100644 index 0000000..570be5f Binary files /dev/null and b/tools/java/bin/msvcp140.dll differ diff --git a/tools/java/bin/msvcr100.dll b/tools/java/bin/msvcr100.dll new file mode 100644 index 0000000..329b111 Binary files /dev/null and b/tools/java/bin/msvcr100.dll differ diff --git a/tools/java/bin/net.dll b/tools/java/bin/net.dll new file mode 100644 index 0000000..de14215 Binary files /dev/null and b/tools/java/bin/net.dll differ diff --git a/tools/java/bin/nio.dll b/tools/java/bin/nio.dll new file mode 100644 index 0000000..4a81a43 Binary files /dev/null and b/tools/java/bin/nio.dll differ diff --git a/tools/java/bin/npt.dll b/tools/java/bin/npt.dll new file mode 100644 index 0000000..2662101 Binary files /dev/null and b/tools/java/bin/npt.dll differ diff --git a/tools/java/bin/pack200.exe b/tools/java/bin/pack200.exe new file mode 100644 index 0000000..c83f577 Binary files /dev/null and b/tools/java/bin/pack200.exe differ diff --git a/tools/java/bin/resource.dll b/tools/java/bin/resource.dll new file mode 100644 index 0000000..c5ba4e4 Binary files /dev/null and b/tools/java/bin/resource.dll differ diff --git a/tools/java/bin/sawindbg.dll b/tools/java/bin/sawindbg.dll new file mode 100644 index 0000000..90bfaee Binary files /dev/null and b/tools/java/bin/sawindbg.dll differ diff --git a/tools/java/bin/server/Xusage.txt b/tools/java/bin/server/Xusage.txt new file mode 100644 index 0000000..11302aa --- /dev/null +++ b/tools/java/bin/server/Xusage.txt @@ -0,0 +1,24 @@ + -Xmixed mixed mode execution (default) + -Xint interpreted mode execution only + -Xbootclasspath: + set search path for bootstrap classes and resources + -Xbootclasspath/a: + append to end of bootstrap class path + -Xbootclasspath/p: + prepend in front of bootstrap class path + -Xnoclassgc disable class garbage collection + -Xincgc enable incremental garbage collection + -Xloggc: log GC status to a file with time stamps + -Xbatch disable background compilation + -Xms set initial Java heap size + -Xmx set maximum Java heap size + -Xss set java thread stack size + -Xprof output cpu profiling data + -Xfuture enable strictest checks, anticipating future default + -Xrs reduce use of OS signals by Java/VM (see documentation) + -Xcheck:jni perform additional checks for JNI functions + -Xshare:off do not attempt to use shared class data + -Xshare:auto use shared class data if possible (default) + -Xshare:on require using shared class data, otherwise fail. + +The -X options are non-standard and subject to change without notice. diff --git a/tools/java/bin/server/classes.jsa b/tools/java/bin/server/classes.jsa new file mode 100644 index 0000000..da29129 Binary files /dev/null and b/tools/java/bin/server/classes.jsa differ diff --git a/tools/java/bin/server/jvm.dll b/tools/java/bin/server/jvm.dll new file mode 100644 index 0000000..cacae9a Binary files /dev/null and b/tools/java/bin/server/jvm.dll differ diff --git a/tools/java/bin/splashscreen.dll b/tools/java/bin/splashscreen.dll new file mode 100644 index 0000000..c7c4837 Binary files /dev/null and b/tools/java/bin/splashscreen.dll differ diff --git a/tools/java/bin/ssv.dll b/tools/java/bin/ssv.dll new file mode 100644 index 0000000..5e0b162 Binary files /dev/null and b/tools/java/bin/ssv.dll differ diff --git a/tools/java/bin/ssvagent.exe b/tools/java/bin/ssvagent.exe new file mode 100644 index 0000000..b448609 Binary files /dev/null and b/tools/java/bin/ssvagent.exe differ diff --git a/tools/java/bin/sunec.dll b/tools/java/bin/sunec.dll new file mode 100644 index 0000000..ac35ea4 Binary files /dev/null and b/tools/java/bin/sunec.dll differ diff --git a/tools/java/bin/sunmscapi.dll b/tools/java/bin/sunmscapi.dll new file mode 100644 index 0000000..776d1e6 Binary files /dev/null and b/tools/java/bin/sunmscapi.dll differ diff --git a/tools/java/bin/t2k.dll b/tools/java/bin/t2k.dll new file mode 100644 index 0000000..b901332 Binary files /dev/null and b/tools/java/bin/t2k.dll differ diff --git a/tools/java/bin/ucrtbase.dll b/tools/java/bin/ucrtbase.dll new file mode 100644 index 0000000..4c0f926 Binary files /dev/null and b/tools/java/bin/ucrtbase.dll differ diff --git a/tools/java/bin/unpack.dll b/tools/java/bin/unpack.dll new file mode 100644 index 0000000..3ae7339 Binary files /dev/null and b/tools/java/bin/unpack.dll differ diff --git a/tools/java/bin/unpack200.exe b/tools/java/bin/unpack200.exe new file mode 100644 index 0000000..c98194a Binary files /dev/null and b/tools/java/bin/unpack200.exe differ diff --git a/tools/java/bin/vcruntime140.dll b/tools/java/bin/vcruntime140.dll new file mode 100644 index 0000000..7aeaf83 Binary files /dev/null and b/tools/java/bin/vcruntime140.dll differ diff --git a/tools/java/bin/verify.dll b/tools/java/bin/verify.dll new file mode 100644 index 0000000..7ab6791 Binary files /dev/null and b/tools/java/bin/verify.dll differ diff --git a/tools/java/bin/w2k_lsa_auth.dll b/tools/java/bin/w2k_lsa_auth.dll new file mode 100644 index 0000000..409adcc Binary files /dev/null and b/tools/java/bin/w2k_lsa_auth.dll differ diff --git a/tools/java/bin/zip.dll b/tools/java/bin/zip.dll new file mode 100644 index 0000000..c420111 Binary files /dev/null and b/tools/java/bin/zip.dll differ diff --git a/tools/java/lib/accessibility.properties b/tools/java/lib/accessibility.properties new file mode 100644 index 0000000..d9f12e3 --- /dev/null +++ b/tools/java/lib/accessibility.properties @@ -0,0 +1,6 @@ +# +# Load the Java Access Bridge class into the JVM +# +#assistive_technologies=com.sun.java.accessibility.AccessBridge +#screen_magnifier_present=true + diff --git a/tools/java/lib/amd64/jvm.cfg b/tools/java/lib/amd64/jvm.cfg new file mode 100644 index 0000000..4a2d964 --- /dev/null +++ b/tools/java/lib/amd64/jvm.cfg @@ -0,0 +1,38 @@ +# +# +# +# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# List of JVMs that can be used as an option to java, javac, etc. +# Order is important -- first in this list is the default JVM. +# NOTE that this both this file and its format are UNSUPPORTED and +# WILL GO AWAY in a future release. +# +# You may also select a JVM in an arbitrary location with the +# "-XXaltjvm=" option, but that too is unsupported +# and may not be available in a future release. +# +-server KNOWN +-client IGNORE diff --git a/tools/java/lib/calendars.properties b/tools/java/lib/calendars.properties new file mode 100644 index 0000000..87a8630 --- /dev/null +++ b/tools/java/lib/calendars.properties @@ -0,0 +1,60 @@ +# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# + +# +# Japanese imperial calendar +# +# Meiji since 1868-01-01 00:00:00 local time (Gregorian) +# Taisho since 1912-07-30 00:00:00 local time (Gregorian) +# Showa since 1926-12-25 00:00:00 local time (Gregorian) +# Heisei since 1989-01-08 00:00:00 local time (Gregorian) +calendar.japanese.type: LocalGregorianCalendar +calendar.japanese.eras: \ + name=Meiji,abbr=M,since=-3218832000000; \ + name=Taisho,abbr=T,since=-1812153600000; \ + name=Showa,abbr=S,since=-1357603200000; \ + name=Heisei,abbr=H,since=600220800000 + +# +# Taiwanese calendar +# Minguo since 1911-01-01 00:00:00 local time (Gregorian) +calendar.taiwanese.type: LocalGregorianCalendar +calendar.taiwanese.eras: \ + name=MinGuo,since=-1830384000000 + +# +# Thai Buddhist calendar +# Buddhist Era since -542-01-01 00:00:00 local time (Gregorian) +calendar.thai-buddhist.type: LocalGregorianCalendar +calendar.thai-buddhist.eras: \ + name=BuddhistEra,abbr=B.E.,since=-79302585600000 +calendar.thai-buddhist.year-boundary: \ + day1=4-1,since=-79302585600000; \ + day1=1-1,since=-915148800000 + +# +# Hijrah calendars +# +calendar.hijrah.Hijrah-umalqura: hijrah-config-umalqura.properties +calendar.hijrah.Hijrah-umalqura.type: islamic-umalqura diff --git a/tools/java/lib/charsets.jar b/tools/java/lib/charsets.jar new file mode 100644 index 0000000..e957f0d Binary files /dev/null and b/tools/java/lib/charsets.jar differ diff --git a/tools/java/lib/classlist b/tools/java/lib/classlist new file mode 100644 index 0000000..e66c06a --- /dev/null +++ b/tools/java/lib/classlist @@ -0,0 +1,2469 @@ +java/lang/Object +java/lang/String +java/io/Serializable +java/lang/Comparable +java/lang/CharSequence +java/lang/Class +java/lang/reflect/GenericDeclaration +java/lang/reflect/AnnotatedElement +java/lang/reflect/Type +java/lang/Cloneable +java/lang/ClassLoader +java/lang/System +java/lang/Throwable +java/lang/Error +java/lang/ThreadDeath +java/lang/Exception +java/lang/RuntimeException +java/lang/SecurityManager +java/security/ProtectionDomain +java/security/AccessControlContext +java/security/SecureClassLoader +java/lang/ClassNotFoundException +java/lang/ReflectiveOperationException +java/lang/NoClassDefFoundError +java/lang/LinkageError +java/lang/ClassCastException +java/lang/ArrayStoreException +java/lang/VirtualMachineError +java/lang/OutOfMemoryError +java/lang/StackOverflowError +java/lang/IllegalMonitorStateException +java/lang/ref/Reference +java/lang/ref/SoftReference +java/lang/ref/WeakReference +java/lang/ref/FinalReference +java/lang/ref/PhantomReference +sun/misc/Cleaner +java/lang/ref/Finalizer +java/lang/Thread +java/lang/Runnable +java/lang/ThreadGroup +java/lang/Thread$UncaughtExceptionHandler +java/util/Properties +java/util/Hashtable +java/util/Map +java/util/Dictionary +java/lang/reflect/AccessibleObject +java/lang/reflect/Field +java/lang/reflect/Member +java/lang/reflect/Parameter +java/lang/reflect/Method +java/lang/reflect/Executable +java/lang/reflect/Constructor +sun/reflect/MagicAccessorImpl +sun/reflect/MethodAccessorImpl +sun/reflect/MethodAccessor +sun/reflect/ConstructorAccessorImpl +sun/reflect/ConstructorAccessor +sun/reflect/DelegatingClassLoader +sun/reflect/ConstantPool +sun/reflect/UnsafeStaticFieldAccessorImpl +sun/reflect/UnsafeFieldAccessorImpl +sun/reflect/FieldAccessorImpl +sun/reflect/FieldAccessor +sun/reflect/CallerSensitive +java/lang/annotation/Annotation +java/lang/invoke/DirectMethodHandle +java/lang/invoke/MethodHandle +java/lang/invoke/MemberName +java/lang/invoke/MethodHandleNatives +java/lang/invoke/LambdaForm +java/lang/invoke/MethodType +java/lang/BootstrapMethodError +java/lang/invoke/CallSite +java/lang/invoke/ConstantCallSite +java/lang/invoke/MutableCallSite +java/lang/invoke/VolatileCallSite +java/lang/StringBuffer +java/lang/AbstractStringBuilder +java/lang/Appendable +java/lang/StringBuilder +sun/misc/Unsafe +java/io/ByteArrayInputStream +java/io/InputStream +java/io/Closeable +java/lang/AutoCloseable +java/io/File +java/net/URLClassLoader +java/net/URL +java/util/jar/Manifest +sun/misc/Launcher +sun/misc/Launcher$AppClassLoader +sun/misc/Launcher$ExtClassLoader +java/security/CodeSource +java/lang/StackTraceElement +java/nio/Buffer +java/lang/Boolean +java/lang/Character +java/lang/Float +java/lang/Number +java/lang/Double +java/lang/Byte +java/lang/Short +java/lang/Integer +java/lang/Long +java/lang/NullPointerException +java/lang/ArithmeticException +java/io/ObjectStreamField +java/lang/String$CaseInsensitiveComparator +java/util/Comparator +java/lang/RuntimePermission +java/security/BasicPermission +java/security/Permission +java/security/Guard +java/security/AccessController +java/lang/reflect/ReflectPermission +sun/reflect/ReflectionFactory$GetReflectionFactoryAction +java/security/PrivilegedAction +java/security/cert/Certificate +java/util/Vector +java/util/List +java/util/Collection +java/lang/Iterable +java/util/RandomAccess +java/util/AbstractList +java/util/AbstractCollection +java/util/Stack +sun/reflect/ReflectionFactory +java/lang/ref/Reference$Lock +java/lang/ref/Reference$ReferenceHandler +java/lang/ref/ReferenceQueue +java/lang/ref/ReferenceQueue$Null +java/lang/ref/ReferenceQueue$Lock +java/lang/ref/Finalizer$FinalizerThread +sun/misc/VM +java/util/Hashtable$Entry +java/util/Map$Entry +java/lang/Math +java/util/Hashtable$EntrySet +java/util/AbstractSet +java/util/Set +java/util/Collections +java/util/Collections$EmptySet +java/util/Collections$EmptyList +java/util/Collections$EmptyMap +java/util/AbstractMap +java/util/Collections$SynchronizedSet +java/util/Collections$SynchronizedCollection +java/util/Objects +java/util/Hashtable$Enumerator +java/util/Enumeration +java/util/Iterator +java/lang/Runtime +sun/misc/Version +java/io/FileInputStream +java/io/FileDescriptor +java/io/FileDescriptor$1 +sun/misc/JavaIOFileDescriptorAccess +sun/misc/SharedSecrets +java/lang/NoSuchMethodError +java/lang/IncompatibleClassChangeError +java/util/ArrayList +java/util/Collections$UnmodifiableRandomAccessList +java/util/Collections$UnmodifiableList +java/util/Collections$UnmodifiableCollection +sun/reflect/Reflection +java/util/HashMap +java/util/HashMap$Node +java/io/FileOutputStream +java/io/OutputStream +java/io/Flushable +java/io/BufferedInputStream +java/io/FilterInputStream +java/util/concurrent/atomic/AtomicReferenceFieldUpdater +java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl +java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 +java/security/PrivilegedExceptionAction +java/lang/Class$3 +java/lang/Class$ReflectionData +java/lang/Class$Atomic +sun/reflect/generics/repository/ClassRepository +sun/reflect/generics/repository/GenericDeclRepository +sun/reflect/generics/repository/AbstractRepository +java/lang/Class$AnnotationData +sun/reflect/annotation/AnnotationType +java/lang/ClassValue$ClassValueMap +java/util/WeakHashMap +java/lang/reflect/Modifier +java/lang/reflect/ReflectAccess +sun/reflect/LangReflectAccess +sun/reflect/misc/ReflectUtil +java/io/PrintStream +java/io/FilterOutputStream +java/io/BufferedOutputStream +java/io/OutputStreamWriter +java/io/Writer +sun/nio/cs/StreamEncoder +java/nio/charset/Charset +sun/nio/cs/StandardCharsets +sun/nio/cs/FastCharsetProvider +java/nio/charset/spi/CharsetProvider +sun/nio/cs/StandardCharsets$Aliases +sun/util/PreHashedMap +sun/nio/cs/StandardCharsets$Classes +sun/nio/cs/StandardCharsets$Cache +java/lang/ThreadLocal +java/util/concurrent/atomic/AtomicInteger +sun/security/action/GetPropertyAction +java/util/Arrays +sun/nio/cs/MS1252 +sun/nio/cs/HistoricallyNamedCharset +sun/nio/cs/SingleByte +java/lang/Class$1 +sun/reflect/ReflectionFactory$1 +sun/reflect/NativeConstructorAccessorImpl +sun/reflect/DelegatingConstructorAccessorImpl +sun/nio/cs/SingleByte$Encoder +sun/nio/cs/ArrayEncoder +java/nio/charset/CharsetEncoder +java/nio/charset/CodingErrorAction +java/nio/ByteBuffer +java/nio/HeapByteBuffer +java/nio/Bits +java/nio/ByteOrder +java/nio/Bits$1 +sun/misc/JavaNioAccess +java/io/BufferedWriter +java/io/DefaultFileSystem +java/io/WinNTFileSystem +java/io/FileSystem +java/io/ExpiringCache +java/io/ExpiringCache$1 +java/util/LinkedHashMap +java/io/File$PathStatus +java/lang/Enum +java/nio/file/Path +java/nio/file/Watchable +java/lang/ClassLoader$3 +java/io/ExpiringCache$Entry +java/util/LinkedHashMap$Entry +java/lang/ClassLoader$NativeLibrary +java/lang/Terminator +java/lang/Terminator$1 +sun/misc/SignalHandler +sun/misc/Signal +sun/misc/NativeSignalHandler +java/lang/Integer$IntegerCache +sun/misc/OSEnvironment +sun/io/Win32ErrorMode +java/lang/System$2 +sun/misc/JavaLangAccess +java/lang/IllegalArgumentException +java/lang/Compiler +java/lang/Compiler$1 +sun/misc/Launcher$Factory +java/net/URLStreamHandlerFactory +sun/security/util/Debug +java/lang/ClassLoader$ParallelLoaders +java/util/WeakHashMap$Entry +java/util/Collections$SetFromMap +java/util/WeakHashMap$KeySet +java/net/URLClassLoader$7 +sun/misc/JavaNetAccess +java/util/StringTokenizer +sun/misc/Launcher$ExtClassLoader$1 +sun/misc/MetaIndex +java/io/BufferedReader +java/io/Reader +java/lang/Readable +java/io/FileReader +java/io/InputStreamReader +sun/nio/cs/StreamDecoder +sun/nio/cs/SingleByte$Decoder +sun/nio/cs/ArrayDecoder +java/nio/charset/CharsetDecoder +java/nio/CharBuffer +java/nio/HeapCharBuffer +java/nio/charset/CoderResult +java/nio/charset/CoderResult$1 +java/nio/charset/CoderResult$Cache +java/nio/charset/CoderResult$2 +java/lang/reflect/Array +java/util/Locale +java/util/Locale$Cache +sun/util/locale/LocaleObjectCache +java/util/concurrent/ConcurrentHashMap +java/util/concurrent/ConcurrentMap +java/util/concurrent/ConcurrentHashMap$Segment +java/util/concurrent/locks/ReentrantLock +java/util/concurrent/locks/Lock +java/util/concurrent/ConcurrentHashMap$Node +java/util/concurrent/ConcurrentHashMap$CounterCell +java/util/concurrent/ConcurrentHashMap$KeySetView +java/util/concurrent/ConcurrentHashMap$CollectionView +java/util/concurrent/ConcurrentHashMap$ValuesView +java/util/concurrent/ConcurrentHashMap$EntrySetView +sun/util/locale/BaseLocale +sun/util/locale/BaseLocale$Cache +sun/util/locale/BaseLocale$Key +sun/util/locale/LocaleObjectCache$CacheEntry +java/util/Locale$LocaleKey +sun/util/locale/LocaleUtils +java/lang/CharacterData +java/lang/CharacterDataLatin1 +java/util/HashMap$TreeNode +java/io/FileInputStream$1 +sun/net/www/ParseUtil +java/util/BitSet +java/net/Parts +sun/net/www/protocol/file/Handler +java/net/URLStreamHandler +java/security/ProtectionDomain$JavaSecurityAccessImpl +sun/misc/JavaSecurityAccess +java/security/ProtectionDomain$2 +sun/misc/JavaSecurityProtectionDomainAccess +java/security/ProtectionDomain$Key +java/security/Principal +java/util/HashSet +sun/misc/URLClassPath +sun/net/www/protocol/jar/Handler +sun/misc/Launcher$AppClassLoader$1 +java/lang/SystemClassLoaderAction +java/lang/invoke/MethodHandleImpl +java/lang/invoke/MethodHandleImpl$1 +java/lang/invoke/MethodHandleImpl$2 +java/util/function/Function +java/lang/invoke/MethodHandleImpl$3 +java/lang/invoke/MethodHandleImpl$4 +java/lang/ClassValue +java/lang/ClassValue$Entry +java/lang/ClassValue$Identity +java/lang/ClassValue$Version +java/lang/invoke/MemberName$Factory +java/lang/invoke/MethodHandleStatics +java/lang/invoke/MethodHandleStatics$1 +sun/misc/PostVMInitHook +sun/usagetracker/UsageTrackerClient +java/util/concurrent/atomic/AtomicBoolean +sun/usagetracker/UsageTrackerClient$1 +sun/usagetracker/UsageTrackerClient$4 +sun/usagetracker/UsageTrackerClient$2 +java/lang/ProcessEnvironment +java/lang/ProcessEnvironment$NameComparator +java/lang/ProcessEnvironment$EntryComparator +java/util/Collections$UnmodifiableMap +java/util/TreeMap +java/util/NavigableMap +java/util/SortedMap +java/lang/ProcessEnvironment$CheckedEntrySet +java/util/HashMap$EntrySet +java/lang/ProcessEnvironment$CheckedEntrySet$1 +java/util/HashMap$EntryIterator +java/util/HashMap$HashIterator +java/lang/ProcessEnvironment$CheckedEntry +java/util/TreeMap$Entry +sun/usagetracker/UsageTrackerClient$3 +java/lang/StringCoding +java/lang/ThreadLocal$ThreadLocalMap +java/lang/ThreadLocal$ThreadLocalMap$Entry +sun/nio/cs/UTF_8 +sun/nio/cs/Unicode +java/lang/StringCoding$StringEncoder +sun/nio/cs/UTF_8$Encoder +java/io/FileOutputStream$1 +sun/launcher/LauncherHelper +java/lang/StringCoding$StringDecoder +java/net/URLClassLoader$1 +sun/net/util/URLUtil +sun/misc/URLClassPath$3 +sun/misc/URLClassPath$JarLoader +sun/misc/URLClassPath$Loader +java/util/zip/ZipFile +java/util/zip/ZipConstants +java/util/zip/ZipFile$1 +sun/misc/JavaUtilZipFileAccess +sun/misc/URLClassPath$JarLoader$1 +sun/misc/FileURLMapper +java/util/jar/JarFile +java/util/jar/JavaUtilJarAccessImpl +sun/misc/JavaUtilJarAccess +java/nio/charset/StandardCharsets +sun/nio/cs/US_ASCII +sun/nio/cs/ISO_8859_1 +sun/nio/cs/UTF_16BE +sun/nio/cs/UTF_16LE +sun/nio/cs/UTF_16 +java/util/ArrayDeque +java/util/Deque +java/util/Queue +java/util/zip/ZipCoder +sun/misc/PerfCounter +sun/misc/Perf$GetPerfAction +sun/misc/Perf +sun/misc/PerfCounter$CoreCounters +sun/nio/ch/DirectBuffer +java/nio/DirectByteBuffer +java/nio/MappedByteBuffer +java/nio/DirectLongBufferU +java/nio/LongBuffer +sun/misc/JarIndex +sun/misc/ExtensionDependency +java/util/zip/ZipEntry +java/util/jar/JarFile$JarFileEntry +java/util/jar/JarEntry +java/util/zip/ZipFile$ZipFileInputStream +java/util/zip/Inflater +java/util/zip/ZStreamRef +java/util/zip/ZipFile$ZipFileInflaterInputStream +java/util/zip/InflaterInputStream +sun/misc/IOUtils +sun/misc/URLClassPath$JarLoader$2 +sun/misc/Resource +sun/nio/ByteBuffered +java/security/Permissions +java/security/PermissionCollection +sun/net/www/protocol/file/FileURLConnection +sun/net/www/URLConnection +java/net/URLConnection +sun/net/www/MessageHeader +java/io/FilePermission +java/io/FilePermission$1 +java/io/FilePermissionCollection +java/security/AllPermission +java/security/UnresolvedPermission +java/security/BasicPermissionCollection +javax/swing/JLabel +javax/swing/SwingConstants +javax/accessibility/Accessible +javax/swing/JComponent +javax/swing/TransferHandler$HasGetTransferHandler +java/awt/Container +java/awt/Component +java/awt/image/ImageObserver +java/awt/MenuContainer +sun/launcher/LauncherHelper$FXHelper +java/lang/Class$MethodArray +java/lang/InterruptedException +javax/swing/JFrame +javax/swing/WindowConstants +javax/swing/RootPaneContainer +java/awt/Frame +java/awt/Window +java/util/concurrent/ConcurrentHashMap$ForwardingNode +java/awt/Graphics +java/lang/Void +sun/util/logging/PlatformLogger +sun/util/logging/PlatformLogger$Level +sun/util/logging/PlatformLogger$1 +sun/util/logging/PlatformLogger$DefaultLoggerProxy +sun/util/logging/PlatformLogger$LoggerProxy +sun/util/logging/PlatformLogger$JavaLoggerProxy +sun/util/logging/LoggingSupport +sun/util/logging/LoggingSupport$1 +java/util/logging/LoggingProxyImpl +sun/util/logging/LoggingProxy +sun/reflect/UnsafeFieldAccessorFactory +sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl +sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl +sun/util/logging/LoggingSupport$2 +java/util/Date +sun/util/calendar/CalendarSystem +sun/util/calendar/Gregorian +sun/util/calendar/BaseCalendar +sun/util/calendar/AbstractCalendar +java/awt/Component$AWTTreeLock +java/awt/Toolkit +java/awt/Toolkit$4 +sun/awt/AWTAccessor$ToolkitAccessor +sun/awt/AWTAccessor +java/awt/Toolkit$5 +sun/util/CoreResourceBundleControl +java/util/ResourceBundle$Control +java/util/Arrays$ArrayList +java/util/ResourceBundle$Control$CandidateListCache +java/util/ResourceBundle +java/util/ResourceBundle$1 +java/util/spi/ResourceBundleControlProvider +java/util/ServiceLoader +java/util/ServiceLoader$LazyIterator +java/util/ServiceLoader$1 +java/util/LinkedHashMap$LinkedEntrySet +java/util/LinkedHashMap$LinkedEntryIterator +java/util/LinkedHashMap$LinkedHashIterator +sun/misc/Launcher$BootClassPathHolder +sun/misc/Launcher$BootClassPathHolder$1 +sun/misc/URLClassPath$2 +java/lang/ClassLoader$2 +sun/misc/URLClassPath$1 +java/net/URLClassLoader$3 +sun/misc/CompoundEnumeration +java/io/FileNotFoundException +java/io/IOException +java/security/PrivilegedActionException +java/net/URLClassLoader$3$1 +java/util/ResourceBundle$RBClassLoader +java/util/ResourceBundle$RBClassLoader$1 +java/util/ResourceBundle$CacheKey +java/util/ResourceBundle$LoaderReference +java/util/ResourceBundle$CacheKeyReference +java/util/ResourceBundle$SingleFormatControl +java/util/LinkedList +java/util/AbstractSequentialList +java/util/LinkedList$Node +sun/awt/resources/awt +java/util/ListResourceBundle +java/awt/Toolkit$3 +java/awt/Toolkit$1 +java/util/Properties$LineReader +java/awt/GraphicsEnvironment +java/lang/invoke/LambdaMetafactory +java/lang/invoke/MethodHandles$Lookup +java/lang/invoke/MethodType$ConcurrentWeakInternSet +java/lang/invoke/MethodTypeForm +java/lang/invoke/Invokers +java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry +java/lang/invoke/MethodHandles +sun/invoke/util/Wrapper +sun/invoke/util/Wrapper$Format +java/lang/Byte$ByteCache +java/lang/Short$ShortCache +java/lang/Character$CharacterCache +java/lang/Long$LongCache +sun/invoke/util/VerifyAccess +sun/invoke/util/ValueConversions +java/lang/NoSuchMethodException +java/lang/invoke/LambdaForm$BasicType +java/lang/invoke/LambdaForm$Name +java/lang/invoke/LambdaForm$NamedFunction +java/lang/invoke/SimpleMethodHandle +java/lang/invoke/BoundMethodHandle +java/lang/invoke/BoundMethodHandle$SpeciesData +java/lang/invoke/BoundMethodHandle$Factory +java/lang/invoke/BoundMethodHandle$Species_L +java/util/HashMap$Values +java/util/HashMap$ValueIterator +sun/invoke/util/BytecodeDescriptor +java/lang/invoke/DirectMethodHandle$Lazy +java/lang/InstantiationException +java/util/Collections$UnmodifiableCollection$1 +java/util/AbstractList$Itr +java/lang/invoke/InvokerBytecodeGenerator +jdk/internal/org/objectweb/asm/ClassWriter +jdk/internal/org/objectweb/asm/ClassVisitor +jdk/internal/org/objectweb/asm/ByteVector +jdk/internal/org/objectweb/asm/Item +jdk/internal/org/objectweb/asm/MethodWriter +jdk/internal/org/objectweb/asm/MethodVisitor +jdk/internal/org/objectweb/asm/Type +jdk/internal/org/objectweb/asm/Label +jdk/internal/org/objectweb/asm/Frame +jdk/internal/org/objectweb/asm/AnnotationWriter +jdk/internal/org/objectweb/asm/AnnotationVisitor +java/lang/invoke/MethodHandleImpl$Intrinsic +java/lang/invoke/InvokerBytecodeGenerator$2 +sun/invoke/util/VerifyType +sun/invoke/empty/Empty +java/lang/NoSuchFieldException +java/lang/invoke/InvokerBytecodeGenerator$CpPatch +java/lang/invoke/DirectMethodHandle$Accessor +java/util/ArrayList$Itr +java/util/RandomAccessSubList +java/util/SubList +java/util/SubList$1 +java/util/ListIterator +java/util/AbstractList$ListItr +java/lang/invoke/MethodHandleImpl$AsVarargsCollector +java/lang/invoke/DelegatingMethodHandle +java/lang/invoke/WrongMethodTypeException +java/lang/invoke/MethodHandleImpl$Lazy +java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle +java/lang/NoSuchFieldError +java/lang/IllegalAccessException +java/lang/invoke/LambdaFormEditor +java/lang/invoke/LambdaFormEditor$Transform$Kind +java/lang/invoke/LambdaFormEditor$Transform +java/lang/invoke/LambdaFormBuffer +jdk/internal/org/objectweb/asm/FieldWriter +jdk/internal/org/objectweb/asm/FieldVisitor +java/lang/invoke/InnerClassLambdaMetafactory +java/lang/invoke/AbstractValidatingLambdaMetafactory +java/util/PropertyPermission +java/security/AccessController$1 +sun/security/util/SecurityConstants +java/net/NetPermission +java/security/SecurityPermission +java/net/SocketPermission +sun/security/action/GetBooleanAction +java/security/AllPermissionCollection +java/lang/invoke/InfoFromMemberName +java/lang/invoke/MethodHandleInfo +java/lang/invoke/InnerClassLambdaMetafactory$ForwardingMethodGenerator +java/lang/invoke/TypeConvertingMethodAdapter +java/lang/invoke/InnerClassLambdaMetafactory$1 +java/awt/Insets +java/awt/event/InputEvent +java/awt/event/ComponentEvent +java/awt/AWTEvent +java/util/EventObject +java/awt/AWTEvent$1 +sun/awt/AWTAccessor$AWTEventAccessor +java/awt/event/NativeLibLoader +java/awt/event/NativeLibLoader$1 +java/awt/event/InputEvent$1 +sun/awt/AWTAccessor$InputEventAccessor +sun/awt/windows/WComponentPeer +java/awt/peer/ComponentPeer +java/awt/dnd/peer/DropTargetPeer +sun/awt/windows/WObjectPeer +java/awt/Font +java/awt/Font$FontAccessImpl +sun/font/FontAccess +java/awt/geom/AffineTransform +sun/font/AttributeValues +sun/font/EAttribute +java/text/AttributedCharacterIterator$Attribute +java/lang/Class$4 +sun/reflect/NativeMethodAccessorImpl +sun/reflect/DelegatingMethodAccessorImpl +java/awt/font/TextAttribute +java/awt/Component$1 +sun/awt/AWTAccessor$ComponentAccessor +java/awt/Component$DummyRequestFocusController +sun/awt/RequestFocusController +java/awt/LayoutManager +java/awt/LightweightDispatcher +java/awt/event/AWTEventListener +java/util/EventListener +java/awt/Dimension +java/awt/geom/Dimension2D +java/awt/Container$1 +sun/awt/AWTAccessor$ContainerAccessor +javax/swing/JComponent$1 +java/awt/ComponentOrientation +java/awt/Component$3 +sun/awt/AppContext +java/util/IdentityHashMap +java/util/Collections$SynchronizedMap +sun/awt/AppContext$GetAppContextLock +sun/awt/AppContext$6 +sun/misc/JavaAWTAccess +sun/awt/AppContext$3 +sun/awt/AppContext$2 +sun/awt/SunToolkit +sun/awt/WindowClosingSupport +sun/awt/WindowClosingListener +sun/awt/ComponentFactory +sun/awt/InputMethodSupport +sun/awt/KeyboardFocusManagerPeerProvider +java/util/concurrent/locks/ReentrantLock$NonfairSync +java/util/concurrent/locks/ReentrantLock$Sync +java/util/concurrent/locks/AbstractQueuedSynchronizer +java/util/concurrent/locks/AbstractOwnableSynchronizer +java/util/concurrent/locks/AbstractQueuedSynchronizer$Node +java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject +java/util/concurrent/locks/Condition +sun/misc/SoftCache +sun/awt/AppContext$State +sun/awt/AppContext$1 +java/awt/EventQueue +java/awt/EventQueue$1 +java/awt/EventQueue$2 +sun/awt/AWTAccessor$EventQueueAccessor +java/awt/Queue +sun/awt/MostRecentKeyValue +sun/awt/PostEventQueue +javax/swing/event/EventListenerList +javax/swing/SwingUtilities +javax/swing/RepaintManager +javax/swing/RepaintManager$DisplayChangedHandler +sun/awt/DisplayChangedListener +javax/swing/RepaintManager$1 +sun/swing/SwingAccessor$RepaintManagerAccessor +sun/swing/SwingAccessor +sun/awt/Win32GraphicsEnvironment +sun/java2d/SunGraphicsEnvironment +sun/awt/windows/WToolkit +sun/awt/windows/WToolkit$1 +sun/java2d/SurfaceData +java/awt/Transparency +sun/java2d/DisposerTarget +sun/java2d/StateTrackable +sun/java2d/Surface +sun/java2d/InvalidPipeException +java/lang/IllegalStateException +sun/java2d/NullSurfaceData +sun/java2d/StateTrackable$State +sun/java2d/loops/SurfaceType +sun/awt/image/PixelConverter +sun/awt/image/PixelConverter$Xrgb +sun/awt/image/PixelConverter$Argb +sun/awt/image/PixelConverter$ArgbPre +sun/awt/image/PixelConverter$Xbgr +sun/awt/image/PixelConverter$Rgba +sun/awt/image/PixelConverter$RgbaPre +sun/awt/image/PixelConverter$Ushort565Rgb +sun/awt/image/PixelConverter$Ushort555Rgb +sun/awt/image/PixelConverter$Ushort555Rgbx +sun/awt/image/PixelConverter$Ushort4444Argb +sun/awt/image/PixelConverter$ByteGray +sun/awt/image/PixelConverter$UshortGray +sun/awt/image/PixelConverter$Rgbx +sun/awt/image/PixelConverter$Bgrx +sun/awt/image/PixelConverter$ArgbBm +java/awt/image/ColorModel +java/awt/image/ColorModel$1 +java/awt/image/DirectColorModel +java/awt/image/PackedColorModel +java/awt/color/ColorSpace +java/awt/color/ICC_Profile +sun/java2d/cmm/ProfileDeferralInfo +sun/java2d/cmm/ProfileDeferralMgr +java/awt/color/ICC_ProfileRGB +java/awt/color/ICC_Profile$1 +sun/java2d/cmm/ProfileActivator +java/awt/color/ICC_ColorSpace +sun/java2d/StateTrackableDelegate +sun/java2d/StateTrackableDelegate$2 +sun/java2d/pipe/NullPipe +sun/java2d/pipe/PixelDrawPipe +sun/java2d/pipe/PixelFillPipe +sun/java2d/pipe/ShapeDrawPipe +sun/java2d/pipe/TextPipe +sun/java2d/pipe/DrawImagePipe +java/awt/image/IndexColorModel +sun/java2d/pipe/LoopPipe +sun/java2d/pipe/ParallelogramPipe +sun/java2d/pipe/LoopBasedPipe +sun/java2d/pipe/RenderingEngine +sun/java2d/pipe/RenderingEngine$1 +sun/dc/DuctusRenderingEngine +sun/java2d/pipe/OutlineTextRenderer +sun/java2d/pipe/SolidTextRenderer +sun/java2d/pipe/GlyphListLoopPipe +sun/java2d/pipe/GlyphListPipe +sun/java2d/pipe/AATextRenderer +sun/java2d/pipe/LCDTextRenderer +sun/java2d/pipe/AlphaColorPipe +sun/java2d/pipe/CompositePipe +sun/java2d/SurfaceData$PixelToShapeLoopConverter +sun/java2d/pipe/PixelToShapeConverter +sun/java2d/SurfaceData$PixelToPgramLoopConverter +sun/java2d/pipe/PixelToParallelogramConverter +sun/java2d/pipe/TextRenderer +sun/java2d/pipe/SpanClipRenderer +sun/java2d/pipe/Region +sun/java2d/pipe/RegionIterator +sun/java2d/pipe/Region$ImmutableRegion +sun/java2d/pipe/AAShapePipe +sun/java2d/pipe/AlphaPaintPipe +sun/java2d/pipe/SpanShapeRenderer$Composite +sun/java2d/pipe/SpanShapeRenderer +sun/java2d/pipe/GeneralCompositePipe +sun/java2d/pipe/DrawImage +sun/java2d/loops/RenderCache +sun/java2d/loops/RenderCache$Entry +sun/awt/image/SunVolatileImage +sun/java2d/DestSurfaceProvider +java/awt/image/VolatileImage +java/awt/Image +java/awt/ImageCapabilities +java/awt/Image$1 +sun/awt/image/SurfaceManager$ImageAccessor +sun/awt/image/SurfaceManager +sun/awt/image/VolatileSurfaceManager +sun/awt/windows/WToolkit$2 +sun/java2d/windows/WindowsFlags +sun/java2d/windows/WindowsFlags$1 +sun/java2d/WindowsSurfaceManagerFactory +sun/java2d/SurfaceManagerFactory +sun/awt/SunDisplayChanger +sun/java2d/SunGraphicsEnvironment$1 +sun/misc/FloatingDecimal +sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer +sun/misc/FloatingDecimal$BinaryToASCIIConverter +sun/misc/FloatingDecimal$BinaryToASCIIBuffer +sun/misc/FloatingDecimal$1 +sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer +sun/misc/FloatingDecimal$ASCIIToBinaryConverter +sun/misc/FloatingDecimal$ASCIIToBinaryBuffer +java/awt/Toolkit$2 +java/awt/Toolkit$DesktopPropertyChangeSupport +java/beans/PropertyChangeSupport +java/beans/PropertyChangeSupport$PropertyChangeListenerMap +java/beans/ChangeListenerMap +java/beans/PropertyChangeListener +sun/awt/SunToolkit$ModalityListenerList +sun/awt/ModalityListener +sun/misc/PerformanceLogger +sun/misc/PerformanceLogger$TimeData +sun/awt/windows/WToolkit$ToolkitDisposer +sun/java2d/DisposerRecord +sun/java2d/Disposer +sun/java2d/Disposer$1 +sun/misc/ThreadGroupUtils +sun/awt/AWTAutoShutdown +java/lang/invoke/DirectMethodHandle$Special +java/lang/ApplicationShutdownHooks +java/lang/ApplicationShutdownHooks$1 +java/lang/Shutdown +java/lang/Shutdown$Lock +java/awt/Rectangle +java/awt/Shape +java/awt/geom/Rectangle2D +java/awt/geom/RectangularShape +javax/swing/RepaintManager$ProcessingRunnable +com/sun/java/swing/SwingUtilities3 +javax/swing/UIManager +javax/swing/UIManager$LookAndFeelInfo +sun/awt/OSInfo +sun/awt/OSInfo$WindowsVersion +sun/awt/OSInfo$1 +sun/awt/OSInfo$OSType +sun/awt/HeadlessToolkit +sun/awt/windows/WDesktopProperties +sun/awt/windows/ThemeReader +java/util/concurrent/locks/ReentrantReadWriteLock +java/util/concurrent/locks/ReadWriteLock +sun/nio/ch/Interruptible +java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync +java/util/concurrent/locks/ReentrantReadWriteLock$Sync +java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter +java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock +java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock +java/awt/Color +java/awt/Paint +sun/awt/windows/WDesktopProperties$WinPlaySound +java/awt/RenderingHints +sun/awt/SunHints +sun/awt/SunHints$Key +java/awt/RenderingHints$Key +sun/awt/SunHints$Value +sun/awt/SunHints$LCDContrastKey +java/util/HashMap$KeySet +java/util/HashMap$KeyIterator +java/util/Arrays$LegacyMergeSort +java/util/ComparableTimSort +java/beans/PropertyChangeEvent +java/awt/Toolkit$DesktopPropertyChangeSupport$1 +java/util/IdentityHashMap$Values +java/util/IdentityHashMap$ValueIterator +java/util/IdentityHashMap$IdentityHashMapIterator +sun/swing/SwingUtilities2 +java/awt/font/FontRenderContext +sun/swing/StringUIClientPropertyKey +sun/swing/UIClientPropertyKey +sun/swing/SwingUtilities2$LSBCacheEntry +javax/swing/UIManager$LAFState +javax/swing/UIDefaults +javax/swing/MultiUIDefaults +javax/swing/UIManager$1 +javax/swing/plaf/metal/MetalLookAndFeel +javax/swing/plaf/basic/BasicLookAndFeel +javax/swing/LookAndFeel +sun/swing/DefaultLookup +javax/swing/plaf/metal/OceanTheme +javax/swing/plaf/metal/DefaultMetalTheme +javax/swing/plaf/metal/MetalTheme +javax/swing/plaf/ColorUIResource +javax/swing/plaf/UIResource +sun/swing/PrintColorUIResource +javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate +javax/swing/plaf/FontUIResource +sun/swing/SwingLazyValue +javax/swing/UIDefaults$LazyValue +javax/swing/UIDefaults$ActiveValue +javax/swing/plaf/InsetsUIResource +javax/swing/plaf/BorderUIResource$EmptyBorderUIResource +javax/swing/border/EmptyBorder +javax/swing/border/AbstractBorder +javax/swing/border/Border +sun/swing/SwingUtilities2$2 +javax/swing/plaf/basic/BasicLookAndFeel$2 +javax/swing/plaf/DimensionUIResource +javax/swing/UIDefaults$LazyInputMap +javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue +sun/swing/SwingUtilities2$AATextInfo +javax/swing/plaf/metal/MetalLookAndFeel$AATextListener +java/beans/PropertyChangeListenerProxy +java/util/EventListenerProxy +javax/swing/plaf/metal/OceanTheme$1 +javax/swing/plaf/metal/OceanTheme$2 +javax/swing/plaf/metal/OceanTheme$3 +javax/swing/plaf/metal/OceanTheme$4 +javax/swing/plaf/metal/OceanTheme$5 +javax/swing/plaf/metal/OceanTheme$6 +javax/swing/SwingPaintEventDispatcher +sun/awt/PaintEventDispatcher +java/awt/KeyboardFocusManager +java/awt/KeyEventDispatcher +java/awt/KeyEventPostProcessor +java/awt/KeyboardFocusManager$1 +sun/awt/AWTAccessor$KeyboardFocusManagerAccessor +java/awt/AWTKeyStroke +java/awt/AWTKeyStroke$1 +java/awt/DefaultKeyboardFocusManager +java/awt/DefaultKeyboardFocusManager$1 +sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor +java/awt/DefaultFocusTraversalPolicy +java/awt/ContainerOrderFocusTraversalPolicy +java/awt/FocusTraversalPolicy +java/util/Collections$UnmodifiableSet +sun/awt/windows/WKeyboardFocusManagerPeer +sun/awt/KeyboardFocusManagerPeerImpl +java/awt/peer/KeyboardFocusManagerPeer +javax/swing/UIManager$2 +javax/swing/JRootPane +javax/swing/UIDefaults$TextAndMnemonicHashMap +com/sun/swing/internal/plaf/metal/resources/metal +sun/util/ResourceBundleEnumeration +com/sun/swing/internal/plaf/basic/resources/basic +javax/swing/plaf/metal/MetalLabelUI +javax/swing/plaf/basic/BasicLabelUI +javax/swing/plaf/LabelUI +javax/swing/plaf/ComponentUI +sun/reflect/misc/MethodUtil +sun/reflect/misc/MethodUtil$1 +sun/net/www/protocol/jar/JarURLConnection +java/net/JarURLConnection +sun/net/www/protocol/jar/JarFileFactory +sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController +java/net/HttpURLConnection +sun/net/www/protocol/jar/URLJarFile +sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry +sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream +java/lang/UnsupportedOperationException +java/lang/reflect/InvocationTargetException +javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1 +javax/swing/plaf/basic/BasicHTML +sun/awt/util/IdentityArrayList +java/awt/Window$Type +java/awt/Window$1 +sun/awt/AWTAccessor$WindowAccessor +java/awt/Frame$1 +sun/awt/AWTAccessor$FrameAccessor +java/awt/Cursor +java/awt/Point +java/awt/geom/Point2D +java/awt/Cursor$1 +sun/awt/AWTAccessor$CursorAccessor +java/awt/GraphicsDevice +sun/java2d/d3d/D3DGraphicsDevice +sun/awt/Win32GraphicsDevice +sun/misc/PerfCounter$WindowsClientCounters +sun/java2d/d3d/D3DRenderQueue +sun/java2d/pipe/RenderQueue +sun/java2d/pipe/RenderBuffer +sun/java2d/d3d/D3DRenderQueue$1 +sun/java2d/d3d/D3DGraphicsDevice$1Result +sun/java2d/d3d/D3DGraphicsDevice$1 +sun/java2d/d3d/D3DContext$D3DContextCaps +sun/java2d/pipe/hw/ContextCapabilities +sun/awt/Win32GraphicsConfig +sun/awt/image/SurfaceManager$ProxiedGraphicsConfig +java/awt/GraphicsConfiguration +java/awt/BorderLayout +java/awt/LayoutManager2 +java/awt/Dialog$ModalExclusionType +java/awt/Window$WindowDisposerRecord +javax/swing/JPanel +java/awt/FlowLayout +javax/swing/plaf/basic/BasicPanelUI +javax/swing/plaf/PanelUI +java/awt/Component$BaselineResizeBehavior +sun/swing/SwingLazyValue$1 +javax/swing/JLayeredPane +javax/swing/JRootPane$1 +javax/swing/ArrayTable +javax/swing/JRootPane$RootLayout +javax/swing/BufferStrategyPaintManager +javax/swing/RepaintManager$PaintManager +javax/swing/FocusManager +javax/swing/LayoutFocusTraversalPolicy +javax/swing/SortingFocusTraversalPolicy +javax/swing/InternalFrameFocusTraversalPolicy +javax/swing/SwingContainerOrderFocusTraversalPolicy +javax/swing/SortingFocusTraversalPolicy$1 +java/util/Spliterator$OfLong +java/util/Spliterator$OfPrimitive +java/util/Spliterator +java/util/Spliterator$OfInt +java/util/Spliterator$OfDouble +java/util/stream/IntStream +java/util/stream/BaseStream +java/util/stream/Stream +java/util/stream/DoubleStream +java/util/stream/LongStream +java/util/function/BinaryOperator +java/util/function/BiFunction +java/util/function/DoubleBinaryOperator +java/util/function/IntBinaryOperator +java/util/function/LongBinaryOperator +java/util/function/IntToLongFunction +java/util/function/IntFunction +java/util/function/IntToDoubleFunction +java/util/function/IntUnaryOperator +javax/swing/SwingDefaultFocusTraversalPolicy +javax/swing/LayoutComparator +javax/swing/plaf/metal/MetalRootPaneUI +javax/swing/plaf/basic/BasicRootPaneUI +javax/swing/plaf/RootPaneUI +javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap +javax/swing/plaf/ComponentInputMapUIResource +javax/swing/ComponentInputMap +javax/swing/InputMap +javax/swing/plaf/InputMapUIResource +javax/swing/KeyStroke +java/awt/VKCollection +java/awt/event/KeyEvent +java/awt/event/KeyEvent$1 +sun/awt/AWTAccessor$KeyEventAccessor +sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl +javax/swing/plaf/basic/LazyActionMap +javax/swing/plaf/ActionMapUIResource +javax/swing/ActionMap +sun/awt/windows/WFramePeer +java/awt/peer/FramePeer +java/awt/peer/WindowPeer +java/awt/peer/ContainerPeer +sun/awt/windows/WWindowPeer +sun/awt/windows/WPanelPeer +java/awt/peer/PanelPeer +sun/awt/windows/WCanvasPeer +java/awt/peer/CanvasPeer +sun/awt/windows/WWindowPeer$ActiveWindowListener +sun/awt/windows/WWindowPeer$GuiDisposedListener +sun/awt/RepaintArea +sun/awt/ExtendedKeyCodes +sun/awt/EmbeddedFrame +sun/awt/LightweightFrame +sun/awt/im/InputMethodWindow +sun/awt/windows/WComponentPeer$2 +javax/swing/RepaintManager$2 +java/awt/event/InvocationEvent +java/awt/ActiveEvent +java/awt/event/InvocationEvent$1 +sun/awt/AWTAccessor$InvocationEventAccessor +java/awt/EventQueue$5 +java/awt/EventDispatchThread +sun/awt/PeerEvent +java/awt/EventDispatchThread$1 +sun/awt/EventQueueItem +java/awt/Conditional +java/awt/EventDispatchThread$HierarchyEventFilter +java/awt/EventFilter +java/awt/event/WindowEvent +java/awt/ModalEventFilter +sun/awt/EventQueueDelegate +java/awt/event/PaintEvent +sun/java2d/ScreenUpdateManager +java/awt/event/MouseEvent +sun/java2d/d3d/D3DScreenUpdateManager +java/awt/EventFilter$FilterAction +sun/awt/dnd/SunDragSourceContextPeer +java/awt/dnd/peer/DragSourceContextPeer +java/awt/EventQueue$3 +java/awt/MenuComponent +java/awt/TrayIcon +java/awt/event/InputMethodEvent +sun/java2d/d3d/D3DGraphicsConfig +java/awt/event/ActionEvent +sun/java2d/pipe/hw/AccelGraphicsConfig +sun/java2d/pipe/hw/BufferedContextProvider +java/util/LinkedList$ListItr +sun/java2d/windows/GDIWindowSurfaceData +javax/swing/RepaintManager$2$1 +sun/java2d/loops/XORComposite +java/awt/Composite +sun/java2d/windows/GDIBlitLoops +sun/java2d/loops/Blit +sun/java2d/loops/GraphicsPrimitive +sun/java2d/loops/GraphicsPrimitiveMgr +sun/java2d/loops/CompositeType +sun/java2d/SunGraphics2D +sun/awt/ConstrainableGraphics +java/awt/Graphics2D +java/awt/AlphaComposite +java/awt/geom/Path2D +java/awt/geom/Path2D$Float +sun/java2d/loops/BlitBg +sun/java2d/loops/ScaledBlit +sun/java2d/loops/FillRect +sun/java2d/loops/FillSpans +sun/java2d/loops/FillParallelogram +sun/java2d/loops/DrawParallelogram +sun/java2d/loops/DrawLine +sun/java2d/loops/DrawRect +sun/java2d/loops/DrawPolygons +sun/java2d/loops/DrawPath +sun/java2d/loops/FillPath +sun/java2d/loops/MaskBlit +sun/java2d/loops/MaskFill +sun/java2d/loops/DrawGlyphList +sun/java2d/loops/DrawGlyphListAA +sun/java2d/loops/DrawGlyphListLCD +sun/java2d/loops/TransformHelper +java/awt/BasicStroke +java/awt/Stroke +sun/java2d/pipe/ValidatePipe +sun/java2d/loops/CustomComponent +sun/java2d/loops/GraphicsPrimitiveProxy +sun/java2d/loops/GeneralRenderer +sun/java2d/loops/GraphicsPrimitiveMgr$1 +sun/java2d/loops/GraphicsPrimitiveMgr$2 +sun/java2d/windows/GDIRenderer +sun/java2d/loops/RenderLoops +sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec +java/util/TimSort +sun/java2d/DefaultDisposerRecord +sun/java2d/SurfaceDataProxy +sun/awt/image/SurfaceManager$FlushableCacheData +sun/java2d/SurfaceDataProxy$1 +sun/java2d/StateTracker +sun/java2d/StateTracker$1 +sun/java2d/StateTracker$2 +sun/awt/windows/WColor +sun/awt/windows/WFontPeer +sun/awt/PlatformFont +java/awt/peer/FontPeer +sun/awt/NativeLibLoader +sun/awt/NativeLibLoader$1 +sun/font/SunFontManager +sun/java2d/FontSupport +sun/font/FontManagerForSGE +sun/font/FontManager +sun/font/SunFontManager$TTFilter +java/io/FilenameFilter +sun/font/SunFontManager$T1Filter +sun/font/SunFontManager$1 +sun/font/FontManagerNativeLibrary +sun/font/FontManagerNativeLibrary$1 +sun/font/FontUtilities +sun/font/FontUtilities$1 +sun/font/TrueTypeFont +sun/font/FileFont +sun/font/PhysicalFont +sun/font/Font2D +sun/font/Type1Font +java/awt/geom/Point2D$Float +sun/font/StrikeMetrics +java/awt/geom/Rectangle2D$Float +java/awt/geom/GeneralPath +sun/font/CharToGlyphMapper +sun/font/PhysicalStrike +sun/font/FontStrike +sun/font/StrikeCache +sun/font/StrikeCache$1 +sun/font/GlyphList +sun/font/FontManagerFactory +sun/font/FontManagerFactory$1 +sun/awt/Win32FontManager +sun/awt/Win32FontManager$1 +sun/font/CompositeFont +sun/font/SunFontManager$2 +sun/font/SunFontManager$FontRegistrationInfo +sun/awt/windows/WFontConfiguration +sun/awt/FontConfiguration +sun/awt/FontDescriptor +java/io/DataInputStream +java/io/DataInput +sun/font/CompositeFontDescriptor +sun/font/Font2DHandle +sun/font/FontFamily +sun/font/SunFontManager$3 +sun/awt/Win32FontManager$2 +sun/awt/FontConfiguration$2 +sun/awt/windows/WingDings +sun/awt/windows/WingDings$Encoder +sun/awt/Symbol +sun/awt/Symbol$Encoder +sun/awt/im/InputMethodManager +sun/awt/im/ExecutableInputMethodManager +sun/awt/windows/WInputMethodDescriptor +java/awt/im/spi/InputMethodDescriptor +sun/awt/im/InputMethodLocator +sun/awt/im/ExecutableInputMethodManager$3 +java/awt/peer/LightweightPeer +sun/awt/NullComponentPeer +java/awt/EventQueue$4 +java/awt/SplashScreen +sun/awt/dnd/SunDropTargetEvent +java/awt/Dialog +java/awt/event/FocusEvent +java/util/concurrent/locks/LockSupport +java/awt/Dialog$ModalityType +sun/awt/TimedWindowEvent +java/awt/SequencedEvent +java/awt/SequencedEvent$1 +sun/awt/AWTAccessor$SequencedEventAccessor +java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent +java/awt/SentEvent +sun/awt/windows/WGlobalCursorManager +sun/awt/event/IgnorePaintEvent +sun/awt/GlobalCursorManager +sun/awt/GlobalCursorManager$NativeUpdater +java/util/ArrayList$ListItr +sun/awt/CausedFocusEvent$Cause +java/awt/KeyboardFocusManager$HeavyweightFocusRequest +java/awt/DefaultKeyboardFocusManager$TypeAheadMarker +java/awt/KeyboardFocusManager$LightweightFocusRequest +sun/awt/CausedFocusEvent +java/util/IdentityHashMap$KeySet +java/util/IdentityHashMap$KeyIterator +javax/swing/RepaintManager$4 +sun/java2d/d3d/D3DSurfaceData$D3DWindowSurfaceData +sun/java2d/d3d/D3DSurfaceData +sun/java2d/pipe/hw/AccelSurface +java/awt/GraphicsCallback$PaintCallback +java/awt/GraphicsCallback +sun/awt/SunGraphicsCallback +javax/swing/BufferStrategyPaintManager$BufferInfo +java/awt/event/WindowListener +java/awt/event/ComponentAdapter +java/awt/event/ComponentListener +java/awt/AWTEventMulticaster +java/awt/event/ContainerListener +java/awt/event/FocusListener +java/awt/event/KeyListener +java/awt/event/MouseListener +java/awt/event/MouseMotionListener +java/awt/event/WindowFocusListener +java/awt/event/WindowStateListener +java/awt/event/ActionListener +java/awt/event/ItemListener +java/awt/event/AdjustmentListener +java/awt/event/TextListener +java/awt/event/InputMethodListener +java/awt/event/HierarchyListener +java/awt/event/HierarchyBoundsListener +java/awt/event/MouseWheelListener +java/awt/BufferCapabilities +java/awt/Component$BltSubRegionBufferStrategy +sun/awt/SubRegionShowable +java/awt/Component$BltBufferStrategy +java/awt/image/BufferStrategy +sun/awt/image/BufferedImageGraphicsConfig +sun/print/PrinterGraphicsConfig +sun/java2d/opengl/WGLGraphicsConfig +sun/java2d/opengl/OGLGraphicsConfig +sun/awt/image/BufImgVolatileSurfaceManager +java/awt/image/Raster +java/awt/image/DataBufferInt +java/awt/image/DataBuffer +java/awt/image/DataBuffer$1 +sun/awt/image/SunWritableRaster$DataStealer +sun/awt/image/SunWritableRaster +java/awt/image/WritableRaster +java/awt/image/SinglePixelPackedSampleModel +java/awt/image/SampleModel +sun/awt/image/IntegerInterleavedRaster +sun/awt/image/IntegerComponentRaster +sun/awt/image/NativeLibLoader +sun/awt/image/NativeLibLoader$1 +java/awt/image/BufferedImage +java/awt/image/WritableRenderedImage +java/awt/image/RenderedImage +java/awt/image/BufferedImage$1 +sun/awt/image/BufImgSurfaceData +sun/awt/image/BufImgSurfaceData$ICMColorData +sun/font/FontDesignMetrics +java/awt/FontMetrics +sun/font/FontDesignMetrics$MetricsKey +sun/font/FontStrikeDesc +sun/font/CompositeStrike +sun/font/FontStrikeDisposer +sun/java2d/Disposer$PollDisposable +sun/font/StrikeCache$SoftDisposerRef +sun/font/StrikeCache$DisposableStrike +sun/font/TrueTypeFont$TTDisposerRecord +sun/font/TrueTypeFont$1 +java/io/RandomAccessFile +java/io/DataOutput +sun/nio/ch/FileChannelImpl +java/nio/channels/FileChannel +java/nio/channels/SeekableByteChannel +java/nio/channels/ByteChannel +java/nio/channels/ReadableByteChannel +java/nio/channels/Channel +java/nio/channels/WritableByteChannel +java/nio/channels/GatheringByteChannel +java/nio/channels/ScatteringByteChannel +java/nio/channels/spi/AbstractInterruptibleChannel +java/nio/channels/InterruptibleChannel +java/nio/file/attribute/FileAttribute +sun/nio/ch/IOUtil +sun/nio/ch/IOUtil$1 +sun/nio/ch/NativeThreadSet +sun/nio/ch/FileDispatcherImpl +sun/nio/ch/FileDispatcher +sun/nio/ch/NativeDispatcher +sun/nio/ch/FileDispatcherImpl$1 +java/nio/channels/spi/AbstractInterruptibleChannel$1 +sun/nio/ch/NativeThread +sun/nio/ch/IOStatus +sun/nio/ch/Util +sun/nio/ch/Util$1 +sun/nio/ch/Util$BufferCache +java/nio/DirectByteBuffer$Deallocator +java/nio/ByteBufferAsIntBufferB +java/nio/IntBuffer +sun/font/TrueTypeFont$DirectoryEntry +java/nio/ByteBufferAsShortBufferB +java/nio/ShortBuffer +sun/nio/cs/UTF_16$Decoder +sun/nio/cs/UnicodeDecoder +sun/font/FileFontStrike +sun/font/FontScaler +sun/font/T2KFontScaler +sun/font/T2KFontScaler$1 +sun/font/TrueTypeGlyphMapper +sun/font/CMap +sun/font/CMap$NullCMapClass +sun/font/CMap$CMapFormat4 +java/nio/ByteBufferAsCharBufferB +sun/font/FontDesignMetrics$KeyReference +sun/font/CompositeGlyphMapper +java/awt/print/PrinterGraphics +java/awt/PrintGraphics +sun/java2d/loops/FontInfo +java/util/jar/Attributes +java/util/jar/Manifest$FastInputStream +sun/nio/cs/UTF_8$Decoder +java/util/jar/Attributes$Name +sun/misc/ASCIICaseInsensitiveComparator +java/util/jar/JarVerifier +java/security/CodeSigner +java/util/jar/JarVerifier$3 +java/io/ByteArrayOutputStream +java/lang/Package +sun/security/util/SignatureFileVerifier +sun/security/util/ManifestEntryVerifier +java/util/MissingResourceException +java/io/StringWriter +javax/swing/JDialog +javax/swing/text/JTextComponent +javax/swing/Scrollable +javax/swing/JTextArea +javax/swing/JScrollPane +javax/swing/ScrollPaneConstants +javax/swing/AbstractButton +java/awt/ItemSelectable +javax/swing/JButton +java/lang/SecurityException +javax/swing/JWindow +java/lang/NumberFormatException +java/io/UnsupportedEncodingException +sun/misc/URLClassPath$FileLoader +java/lang/IndexOutOfBoundsException +java/lang/CloneNotSupportedException +java/lang/InternalError +java/net/UnknownHostException +java/net/Socket +java/net/SocketAddress +java/nio/channels/SocketChannel +java/nio/channels/NetworkChannel +java/nio/channels/spi/AbstractSelectableChannel +java/nio/channels/SelectableChannel +java/net/InetAddress +java/net/SocketException +java/net/SocketImplFactory +java/net/InetSocketAddress +java/net/InetSocketAddress$InetSocketAddressHolder +java/net/Proxy +java/net/SocketImpl +java/net/SocketOptions +java/net/SocksSocketImpl +java/net/SocksConsts +java/net/PlainSocketImpl +java/net/AbstractPlainSocketImpl +java/net/AbstractPlainSocketImpl$1 +java/net/PlainSocketImpl$1 +java/net/DualStackPlainSocketImpl +java/net/InetAddress$1 +java/net/InetAddress$InetAddressHolder +java/net/InetAddress$Cache +java/net/InetAddress$Cache$Type +java/net/InetAddressImplFactory +java/net/Inet6AddressImpl +java/net/InetAddressImpl +java/net/InetAddress$2 +sun/net/spi/nameservice/NameService +sun/net/util/IPAddressUtil +java/net/Inet4Address +java/net/SocksSocketImpl$3 +java/net/ProxySelector +sun/net/spi/DefaultProxySelector +sun/net/spi/DefaultProxySelector$1 +sun/net/NetProperties +sun/net/NetProperties$1 +java/net/Inet6Address +java/net/URI +java/net/URI$Parser +sun/net/spi/DefaultProxySelector$NonProxyInfo +sun/net/spi/DefaultProxySelector$3 +java/net/Proxy$Type +sun/net/NetHooks +java/net/Inet6Address$Inet6AddressHolder +java/net/SocketTimeoutException +java/io/InterruptedIOException +javax/swing/UnsupportedLookAndFeelException +java/net/MalformedURLException +java/lang/UnsatisfiedLinkError +sun/misc/FDBigInteger +java/util/ResourceBundle$Control$1 +java/net/URLClassLoader$2 +java/util/PropertyResourceBundle +java/util/ResourceBundle$BundleReference +java/util/logging/Level +java/util/logging/Level$KnownLevel +java/util/logging/Logger +java/util/logging/Handler +java/util/logging/Logger$LoggerBundle +java/util/concurrent/CopyOnWriteArrayList +java/util/logging/LogManager +java/util/logging/LogManager$1 +java/util/logging/LogManager$SystemLoggerContext +java/util/logging/LogManager$LoggerContext +java/util/logging/LogManager$LogNode +java/util/logging/LoggingPermission +java/util/logging/LogManager$Cleaner +java/util/logging/LogManager$2 +java/util/logging/LogManager$3 +java/util/logging/LogManager$LoggerWeakRef +java/util/logging/LogManager$LoggerContext$1 +java/util/logging/LogManager$RootLogger +java/util/logging/LogManager$5 +java/util/logging/Logger$1 +sun/util/logging/resources/logging +javax/swing/Box +javax/swing/Box$Filler +javax/swing/Icon +javax/swing/BoxLayout +javax/swing/plaf/basic/BasicPopupMenuUI +javax/swing/plaf/PopupMenuUI +javax/swing/ImageIcon +javax/swing/ImageIcon$1 +javax/swing/ImageIcon$2 +javax/swing/ImageIcon$2$1 +java/awt/dnd/DropTarget +java/awt/dnd/DropTargetListener +javax/accessibility/AccessibleContext +sun/reflect/UnsafeObjectFieldAccessorImpl +java/awt/MediaTracker +sun/misc/SoftCache$ValueCell +sun/awt/image/URLImageSource +sun/awt/image/InputStreamImageSource +java/awt/image/ImageProducer +sun/awt/image/ImageFetchable +sun/awt/image/ToolkitImage +javax/swing/ImageIcon$3 +java/awt/ImageMediaEntry +java/awt/MediaEntry +sun/awt/image/MultiResolutionToolkitImage +sun/awt/image/MultiResolutionImage +sun/awt/image/ImageRepresentation +java/awt/image/ImageConsumer +sun/awt/image/ImageWatched +sun/awt/image/ImageWatched$Link +sun/awt/image/ImageWatched$WeakLink +sun/awt/image/ImageConsumerQueue +sun/awt/image/ImageFetcher +sun/awt/image/FetcherInfo +sun/awt/image/ImageFetcher$1 +sun/net/ProgressMonitor +sun/net/DefaultProgressMeteringPolicy +sun/net/ProgressMeteringPolicy +sun/net/www/MimeTable +java/net/FileNameMap +sun/net/www/MimeTable$1 +sun/net/www/MimeTable$DefaultInstanceHolder +sun/net/www/MimeTable$DefaultInstanceHolder$1 +sun/net/www/MimeEntry +java/net/URLConnection$1 +java/text/SimpleDateFormat +java/text/DateFormat +java/text/Format +java/text/DateFormat$Field +java/text/Format$Field +java/util/TimeZone +sun/util/calendar/ZoneInfo +sun/util/calendar/ZoneInfoFile +sun/util/calendar/ZoneInfoFile$1 +sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule +sun/util/calendar/ZoneInfoFile$Checksum +java/util/zip/CRC32 +java/util/zip/Checksum +java/util/TimeZone$1 +java/util/Calendar +sun/util/spi/CalendarProvider +java/util/spi/LocaleServiceProvider +sun/util/locale/provider/LocaleProviderAdapter +sun/util/locale/provider/JRELocaleProviderAdapter +sun/util/locale/provider/ResourceBundleBasedAdapter +sun/util/locale/provider/SPILocaleProviderAdapter +sun/util/locale/provider/AuxLocaleProviderAdapter +sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider +sun/util/locale/provider/LocaleProviderAdapter$Type +sun/util/locale/provider/LocaleProviderAdapter$1 +sun/util/locale/provider/CalendarProviderImpl +sun/util/locale/provider/AvailableLanguageTags +sun/util/locale/provider/LocaleDataMetaInfo +sun/util/locale/provider/JRELocaleProviderAdapter$1 +java/util/Calendar$Builder +java/util/GregorianCalendar +sun/util/locale/provider/CalendarDataUtility +java/util/spi/CalendarDataProvider +sun/util/locale/provider/LocaleServiceProviderPool +java/text/spi/BreakIteratorProvider +java/text/spi/CollatorProvider +java/text/spi/DateFormatProvider +java/text/spi/DateFormatSymbolsProvider +java/text/spi/DecimalFormatSymbolsProvider +java/text/spi/NumberFormatProvider +java/util/spi/CurrencyNameProvider +java/util/spi/LocaleNameProvider +java/util/spi/TimeZoneNameProvider +sun/util/locale/provider/CalendarDataProviderImpl +sun/util/locale/provider/SPILocaleProviderAdapter$1 +sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter +sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter +sun/util/locale/provider/LocaleResources +sun/util/resources/LocaleData +sun/util/resources/LocaleData$1 +sun/util/resources/LocaleData$LocaleDataResourceBundleControl +sun/util/locale/LanguageTag +java/util/Collections$EmptyIterator +sun/util/resources/CalendarData +sun/util/resources/LocaleNamesBundle +sun/util/resources/OpenListResourceBundle +sun/util/resources/en/CalendarData_en +sun/util/locale/provider/LocaleResources$ResourceReference +sun/util/calendar/Gregorian$Date +sun/util/calendar/BaseCalendar$Date +sun/util/calendar/CalendarDate +sun/util/calendar/CalendarUtils +java/text/DateFormatSymbols +sun/util/locale/provider/DateFormatSymbolsProviderImpl +sun/text/resources/FormatData +sun/util/resources/ParallelListResourceBundle +java/util/concurrent/atomic/AtomicMarkableReference +java/util/concurrent/atomic/AtomicMarkableReference$Pair +sun/text/resources/en/FormatData_en +sun/text/resources/en/FormatData_en_US +sun/util/resources/ParallelListResourceBundle$KeySet +java/text/NumberFormat +sun/util/locale/provider/NumberFormatProviderImpl +java/text/DecimalFormatSymbols +sun/util/locale/provider/DecimalFormatSymbolsProviderImpl +java/util/Currency +java/util/Currency$1 +sun/util/locale/provider/CurrencyNameProviderImpl +java/util/Currency$CurrencyNameGetter +sun/util/resources/CurrencyNames +sun/util/resources/en/CurrencyNames_en_US +java/text/DecimalFormat +java/text/FieldPosition +java/text/DigitList +java/math/RoundingMode +java/text/DontCareFieldPosition +java/text/DontCareFieldPosition$1 +java/text/Format$FieldDelegate +sun/awt/image/GifImageDecoder +sun/awt/image/ImageDecoder +sun/awt/image/GifFrame +java/awt/image/DataBufferByte +java/awt/image/PixelInterleavedSampleModel +java/awt/image/ComponentSampleModel +sun/awt/image/ByteInterleavedRaster +sun/awt/image/ByteComponentRaster +sun/awt/image/BytePackedRaster +javax/swing/plaf/BorderUIResource +javax/swing/BorderFactory +javax/swing/border/BevelBorder +javax/swing/border/EtchedBorder +javax/swing/plaf/metal/MetalIconFactory +javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon +javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 +java/lang/ClassLoaderHelper +java/util/zip/ZipInputStream +java/io/PushbackInputStream +java/util/zip/ZipUtils +java/io/RandomAccessFile$1 +java/lang/Thread$State +javax/swing/SwingUtilities$SharedOwnerFrame +javax/swing/border/LineBorder +javax/swing/Popup$HeavyWeightWindow +sun/awt/ModalExclude +javax/swing/SizeRequirements +com/sun/java/swing/plaf/windows/WindowsPopupWindow +java/applet/Applet +java/awt/Panel +javax/swing/JRadioButton +javax/swing/JToggleButton +java/lang/ClassFormatError +sun/awt/image/BufImgSurfaceManager +java/awt/geom/RectIterator +java/awt/geom/PathIterator +javax/swing/CellRendererPane +javax/swing/RepaintManager$3 +java/io/ObjectInputStream +java/io/ObjectInput +java/io/ObjectStreamConstants +javax/swing/JTabbedPane +javax/swing/event/MenuListener +javax/swing/event/ChangeListener +javax/swing/DefaultSingleSelectionModel +javax/swing/SingleSelectionModel +javax/swing/JTabbedPane$ModelListener +javax/swing/plaf/metal/MetalTabbedPaneUI +javax/swing/plaf/basic/BasicTabbedPaneUI +javax/swing/plaf/TabbedPaneUI +javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout +javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout +javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout +javax/swing/plaf/basic/BasicTabbedPaneUI$Handler +sun/reflect/MethodAccessorGenerator +sun/reflect/AccessorGenerator +sun/reflect/ClassFileConstants +sun/reflect/ByteVectorFactory +sun/reflect/ByteVectorImpl +sun/reflect/ByteVector +sun/reflect/ClassFileAssembler +sun/reflect/UTF8 +sun/reflect/Label +sun/reflect/Label$PatchInfo +sun/reflect/MethodAccessorGenerator$1 +sun/reflect/ClassDefiner +sun/reflect/ClassDefiner$1 +sun/reflect/BootstrapConstructorAccessorImpl +javax/swing/JTextField +javax/swing/JViewport +java/awt/CardLayout +javax/swing/text/Document +javax/swing/text/JTextComponent$1 +sun/swing/SwingAccessor$JTextComponentAccessor +javax/swing/text/JTextComponent$4 +com/sun/beans/util/Cache +com/sun/beans/util/Cache$Kind +com/sun/beans/util/Cache$Kind$1 +com/sun/beans/util/Cache$Kind$2 +com/sun/beans/util/Cache$Kind$3 +com/sun/beans/util/Cache$CacheEntry +javax/swing/Action +javax/swing/JTextField$NotifyAction +javax/swing/text/TextAction +javax/swing/AbstractAction +java/lang/ArrayIndexOutOfBoundsException +javax/swing/DropMode +javax/swing/text/JTextComponent$MutableCaretEvent +javax/swing/event/CaretEvent +javax/swing/plaf/metal/MetalTextFieldUI +javax/swing/plaf/basic/BasicTextFieldUI +javax/swing/plaf/basic/BasicTextUI +javax/swing/text/ViewFactory +javax/swing/plaf/TextUI +javax/swing/plaf/basic/BasicTextUI$BasicCursor +javax/swing/text/DefaultEditorKit +javax/swing/text/EditorKit +javax/swing/text/DefaultEditorKit$InsertContentAction +javax/swing/text/DefaultEditorKit$DeletePrevCharAction +javax/swing/text/DefaultEditorKit$DeleteNextCharAction +javax/swing/text/DefaultEditorKit$ReadOnlyAction +javax/swing/text/DefaultEditorKit$DeleteWordAction +javax/swing/text/DefaultEditorKit$WritableAction +javax/swing/text/DefaultEditorKit$CutAction +javax/swing/text/DefaultEditorKit$CopyAction +javax/swing/text/DefaultEditorKit$PasteAction +javax/swing/text/DefaultEditorKit$VerticalPageAction +javax/swing/text/DefaultEditorKit$PageAction +javax/swing/text/DefaultEditorKit$InsertBreakAction +javax/swing/text/DefaultEditorKit$BeepAction +javax/swing/text/DefaultEditorKit$NextVisualPositionAction +javax/swing/text/DefaultEditorKit$BeginWordAction +javax/swing/text/DefaultEditorKit$EndWordAction +javax/swing/text/DefaultEditorKit$PreviousWordAction +javax/swing/text/DefaultEditorKit$NextWordAction +javax/swing/text/DefaultEditorKit$BeginLineAction +javax/swing/text/DefaultEditorKit$EndLineAction +javax/swing/text/DefaultEditorKit$BeginParagraphAction +javax/swing/text/DefaultEditorKit$EndParagraphAction +javax/swing/text/DefaultEditorKit$BeginAction +javax/swing/text/DefaultEditorKit$EndAction +javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction +javax/swing/text/DefaultEditorKit$InsertTabAction +javax/swing/text/DefaultEditorKit$SelectWordAction +javax/swing/text/DefaultEditorKit$SelectLineAction +javax/swing/text/DefaultEditorKit$SelectParagraphAction +javax/swing/text/DefaultEditorKit$SelectAllAction +javax/swing/text/DefaultEditorKit$UnselectAction +javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction +javax/swing/text/DefaultEditorKit$DumpModelAction +javax/swing/plaf/basic/BasicTextUI$TextTransferHandler +javax/swing/TransferHandler +javax/swing/TransferHandler$TransferAction +sun/swing/UIAction +javax/swing/text/Position$Bias +javax/swing/plaf/basic/BasicTextUI$RootView +javax/swing/text/View +javax/swing/plaf/basic/BasicTextUI$UpdateHandler +javax/swing/event/DocumentListener +javax/swing/plaf/basic/BasicTextUI$DragListener +javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag +javax/swing/event/MouseInputAdapter +javax/swing/event/MouseInputListener +java/awt/event/MouseAdapter +javax/swing/plaf/metal/MetalBorders +javax/swing/plaf/BorderUIResource$CompoundBorderUIResource +javax/swing/border/CompoundBorder +javax/swing/plaf/metal/MetalBorders$TextFieldBorder +javax/swing/plaf/metal/MetalBorders$Flush3DBorder +javax/swing/plaf/basic/BasicBorders$MarginBorder +javax/swing/plaf/basic/BasicTextUI$BasicCaret +javax/swing/text/DefaultCaret +javax/swing/text/Caret +javax/swing/text/DefaultCaret$Handler +java/awt/datatransfer/ClipboardOwner +javax/swing/Timer +javax/swing/Timer$DoPostEvent +javax/swing/plaf/basic/BasicTextUI$BasicHighlighter +javax/swing/text/DefaultHighlighter +javax/swing/text/LayeredHighlighter +javax/swing/text/Highlighter +javax/swing/text/Highlighter$Highlight +javax/swing/text/DefaultHighlighter$DefaultHighlightPainter +javax/swing/text/LayeredHighlighter$LayerPainter +javax/swing/text/Highlighter$HighlightPainter +javax/swing/text/DefaultHighlighter$SafeDamager +javax/swing/ClientPropertyKey +javax/swing/ClientPropertyKey$1 +sun/awt/AWTAccessor$ClientPropertyKeyAccessor +javax/swing/TransferHandler$SwingDropTarget +java/awt/dnd/DropTargetContext +java/awt/datatransfer/SystemFlavorMap +java/awt/datatransfer/FlavorMap +java/awt/datatransfer/FlavorTable +java/awt/datatransfer/SystemFlavorMap$SoftCache +javax/swing/TransferHandler$DropHandler +javax/swing/TransferHandler$TransferSupport +javax/swing/text/PlainDocument +javax/swing/text/AbstractDocument +javax/swing/text/GapContent +javax/swing/text/AbstractDocument$Content +javax/swing/text/GapVector +javax/swing/text/GapContent$MarkVector +javax/swing/text/GapContent$MarkData +javax/swing/text/StyleContext +javax/swing/text/AbstractDocument$AttributeContext +javax/swing/text/StyleConstants +javax/swing/text/StyleConstants$CharacterConstants +javax/swing/text/AttributeSet$CharacterAttribute +javax/swing/text/StyleConstants$FontConstants +javax/swing/text/AttributeSet$FontAttribute +javax/swing/text/StyleConstants$ColorConstants +javax/swing/text/AttributeSet$ColorAttribute +javax/swing/text/StyleConstants$ParagraphConstants +javax/swing/text/AttributeSet$ParagraphAttribute +javax/swing/text/StyleContext$FontKey +javax/swing/text/SimpleAttributeSet +javax/swing/text/MutableAttributeSet +javax/swing/text/AttributeSet +javax/swing/text/SimpleAttributeSet$EmptyAttributeSet +javax/swing/text/StyleContext$NamedStyle +javax/swing/text/Style +java/util/Collections$EmptyEnumeration +javax/swing/text/StyleContext$SmallAttributeSet +java/util/LinkedHashMap$LinkedKeySet +java/util/Collections$3 +java/util/LinkedHashMap$LinkedKeyIterator +javax/swing/text/AbstractDocument$BidiRootElement +javax/swing/text/AbstractDocument$BranchElement +javax/swing/text/AbstractDocument$AbstractElement +javax/swing/text/Element +javax/swing/tree/TreeNode +javax/swing/text/AbstractDocument$1 +javax/swing/text/AbstractDocument$BidiElement +javax/swing/text/AbstractDocument$LeafElement +javax/swing/text/GapContent$StickyPosition +javax/swing/text/Position +javax/swing/text/StyleContext$KeyEnumeration +javax/swing/text/FieldView +javax/swing/text/PlainView +javax/swing/text/TabExpander +javax/swing/text/JTextComponent$DefaultKeymap +javax/swing/text/Keymap +javax/swing/text/JTextComponent$KeymapWrapper +javax/swing/text/JTextComponent$KeymapActionMap +javax/swing/plaf/basic/BasicTextUI$FocusAction +javax/swing/plaf/basic/BasicTextUI$TextActionWrapper +javax/swing/plaf/synth/SynthUI +javax/swing/plaf/synth/SynthConstants +javax/swing/JEditorPane +javax/swing/DefaultBoundedRangeModel +javax/swing/BoundedRangeModel +javax/swing/JTextField$ScrollRepainter +javax/swing/DefaultButtonModel +javax/swing/ButtonModel +javax/swing/AbstractButton$Handler +javax/swing/plaf/basic/BasicButtonUI +javax/swing/plaf/ButtonUI +javax/swing/plaf/metal/MetalBorders$ButtonBorder +javax/swing/plaf/basic/BasicButtonListener +javax/swing/event/AncestorListener +java/beans/VetoableChangeListener +javax/swing/plaf/metal/MetalComboBoxButton +javax/swing/plaf/basic/BasicArrowButton +javax/swing/plaf/metal/MetalScrollButton +sun/swing/ImageIconUIResource +javax/swing/GrayFilter +java/awt/image/RGBImageFilter +java/awt/image/ImageFilter +java/awt/image/FilteredImageSource +javax/swing/plaf/basic/BasicGraphicsUtils +javax/swing/ButtonGroup +org/xml/sax/SAXException +javax/xml/parsers/ParserConfigurationException +org/xml/sax/EntityResolver +org/w3c/dom/Node +java/io/StringReader +java/security/NoSuchAlgorithmException +java/security/GeneralSecurityException +java/util/zip/DeflaterOutputStream +java/util/zip/GZIPInputStream +org/xml/sax/InputSource +javax/xml/parsers/DocumentBuilderFactory +javax/xml/parsers/FactoryFinder +javax/xml/parsers/SecuritySupport +javax/xml/parsers/SecuritySupport$2 +javax/xml/parsers/SecuritySupport$5 +javax/xml/parsers/FactoryFinder$1 +javax/xml/parsers/DocumentBuilder +org/w3c/dom/Document +org/xml/sax/helpers/DefaultHandler +org/xml/sax/DTDHandler +org/xml/sax/ContentHandler +org/xml/sax/ErrorHandler +org/xml/sax/SAXNotSupportedException +org/xml/sax/Locator +org/xml/sax/SAXNotRecognizedException +org/xml/sax/SAXParseException +org/w3c/dom/NodeList +org/w3c/dom/events/EventTarget +org/w3c/dom/traversal/DocumentTraversal +org/w3c/dom/events/DocumentEvent +org/w3c/dom/ranges/DocumentRange +org/w3c/dom/Entity +org/w3c/dom/Element +org/w3c/dom/CharacterData +org/w3c/dom/CDATASection +org/w3c/dom/Text +org/xml/sax/AttributeList +org/w3c/dom/DOMException +org/w3c/dom/DocumentType +org/w3c/dom/Notation +org/w3c/dom/Attr +org/w3c/dom/EntityReference +org/w3c/dom/ProcessingInstruction +org/w3c/dom/Comment +org/w3c/dom/DocumentFragment +org/w3c/dom/traversal/TreeWalker +org/w3c/dom/ranges/Range +org/w3c/dom/events/Event +org/w3c/dom/events/MutationEvent +org/w3c/dom/traversal/NodeIterator +org/w3c/dom/events/EventException +java/lang/StringIndexOutOfBoundsException +org/w3c/dom/NamedNodeMap +java/awt/GridLayout +javax/swing/JToggleButton$ToggleButtonModel +javax/swing/plaf/metal/MetalRadioButtonUI +javax/swing/plaf/basic/BasicRadioButtonUI +javax/swing/plaf/basic/BasicToggleButtonUI +javax/swing/plaf/basic/BasicBorders +javax/swing/plaf/basic/BasicBorders$RadioButtonBorder +javax/swing/plaf/basic/BasicBorders$ButtonBorder +javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon +javax/swing/plaf/basic/BasicRadioButtonUI$KeyHandler +javax/swing/plaf/basic/BasicRadioButtonUI$SelectPreviousBtn +javax/swing/plaf/basic/BasicRadioButtonUI$SelectNextBtn +javax/swing/event/ChangeEvent +java/awt/event/ItemEvent +javax/swing/ToolTipManager +javax/swing/ToolTipManager$insideTimerAction +javax/swing/ToolTipManager$outsideTimerAction +javax/swing/ToolTipManager$stillInsideTimerAction +javax/swing/ToolTipManager$MoveBeforeEnterListener +java/awt/event/MouseMotionAdapter +javax/swing/ToolTipManager$AccessibilityKeyListener +java/awt/event/KeyAdapter +java/awt/CardLayout$Card +javax/swing/JComboBox +javax/swing/event/ListDataListener +javax/swing/JCheckBox +javax/swing/JPopupMenu +javax/swing/MenuElement +javax/swing/DefaultComboBoxModel +javax/swing/MutableComboBoxModel +javax/swing/ComboBoxModel +javax/swing/ListModel +javax/swing/AbstractListModel +javax/swing/JComboBox$1 +javax/swing/AncestorNotifier +javax/swing/plaf/metal/MetalComboBoxUI +javax/swing/plaf/basic/BasicComboBoxUI +javax/swing/plaf/ComboBoxUI +javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager +javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager +javax/swing/plaf/basic/BasicComboPopup +javax/swing/plaf/basic/ComboPopup +javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass +javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper +java/awt/event/AWTEventListenerProxy +java/awt/Toolkit$SelectiveAWTEventListener +java/awt/Toolkit$ToolkitEventMulticaster +javax/swing/plaf/basic/BasicLookAndFeel$1 +javax/swing/plaf/basic/DefaultMenuLayout +javax/swing/plaf/metal/MetalBorders$PopupMenuBorder +javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener +javax/swing/event/PopupMenuListener +javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener +javax/swing/event/MenuKeyListener +javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber +javax/swing/MenuSelectionManager +javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper +javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1 +java/awt/event/FocusAdapter +javax/swing/plaf/basic/BasicComboPopup$1 +javax/swing/JList +javax/swing/DefaultListSelectionModel +javax/swing/ListSelectionModel +javax/swing/plaf/basic/BasicListUI +javax/swing/plaf/ListUI +javax/swing/plaf/basic/BasicListUI$ListTransferHandler +javax/swing/DefaultListCellRenderer$UIResource +javax/swing/DefaultListCellRenderer +javax/swing/ListCellRenderer +javax/swing/plaf/basic/BasicListUI$Handler +javax/swing/event/ListSelectionListener +javax/swing/JMenu +javax/swing/JMenuItem +javax/swing/event/ListSelectionEvent +javax/swing/plaf/basic/BasicComboPopup$Handler +javax/swing/ScrollPaneLayout$UIResource +javax/swing/ScrollPaneLayout +javax/swing/ViewportLayout +javax/swing/plaf/basic/BasicViewportUI +javax/swing/plaf/ViewportUI +javax/swing/JScrollPane$ScrollBar +javax/swing/JScrollBar +java/awt/Adjustable +javax/swing/JScrollBar$ModelListener +javax/swing/plaf/metal/MetalScrollBarUI +javax/swing/plaf/basic/BasicScrollBarUI +javax/swing/plaf/ScrollBarUI +javax/swing/plaf/metal/MetalBumps +javax/swing/plaf/basic/BasicScrollBarUI$TrackListener +javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener +javax/swing/plaf/basic/BasicScrollBarUI$ModelListener +javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener +javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler +javax/swing/plaf/basic/BasicScrollBarUI$Handler +javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener +javax/swing/JViewport$ViewListener +javax/swing/plaf/metal/MetalScrollPaneUI +javax/swing/plaf/basic/BasicScrollPaneUI +javax/swing/plaf/ScrollPaneUI +javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder +javax/swing/plaf/basic/BasicScrollPaneUI$Handler +javax/swing/plaf/metal/MetalScrollPaneUI$1 +javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource +javax/swing/plaf/basic/BasicComboBoxRenderer +javax/swing/plaf/metal/MetalComboBoxEditor$UIResource +javax/swing/plaf/metal/MetalComboBoxEditor +javax/swing/plaf/basic/BasicComboBoxEditor +javax/swing/ComboBoxEditor +javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField +javax/swing/plaf/basic/BasicComboBoxEditor$UIResource +javax/swing/text/Segment +java/text/CharacterIterator +javax/swing/plaf/metal/MetalComboBoxEditor$1 +javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder +javax/swing/JToolBar +javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener +javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler +javax/swing/plaf/basic/BasicComboBoxUI$Handler +javax/swing/plaf/metal/MetalComboBoxIcon +javax/swing/plaf/metal/MetalComboBoxButton$1 +javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager +javax/swing/JComboBox$KeySelectionManager +javax/swing/plaf/metal/MetalCheckBoxUI +javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon +java/lang/ExceptionInInitializerError +com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI +javax/swing/JProgressBar +javax/swing/JProgressBar$ModelListener +javax/swing/plaf/metal/MetalProgressBarUI +javax/swing/plaf/basic/BasicProgressBarUI +javax/swing/plaf/ProgressBarUI +javax/swing/plaf/BorderUIResource$LineBorderUIResource +javax/swing/plaf/basic/BasicProgressBarUI$Handler +javax/swing/JTable +javax/swing/event/TableModelListener +javax/swing/event/TableColumnModelListener +javax/swing/event/CellEditorListener +javax/swing/event/RowSorterListener +javax/swing/tree/TreeModel +javax/swing/table/TableCellRenderer +javax/swing/table/JTableHeader +javax/swing/event/TreeExpansionListener +javax/swing/table/AbstractTableModel +javax/swing/table/TableModel +javax/swing/table/DefaultTableCellRenderer +javax/swing/JCheckBoxMenuItem +javax/swing/JTree +javax/swing/tree/TreeSelectionModel +javax/swing/tree/DefaultTreeCellRenderer +javax/swing/tree/TreeCellRenderer +javax/swing/table/TableCellEditor +javax/swing/CellEditor +javax/swing/JToolTip +javax/swing/table/TableColumn +javax/swing/table/DefaultTableColumnModel +javax/swing/table/TableColumnModel +javax/swing/table/DefaultTableModel +javax/swing/event/TableModelEvent +sun/swing/table/DefaultTableCellHeaderRenderer +sun/swing/table/DefaultTableCellHeaderRenderer$EmptyIcon +javax/swing/plaf/basic/BasicTableHeaderUI +javax/swing/plaf/TableHeaderUI +javax/swing/plaf/basic/BasicTableHeaderUI$1 +javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler +javax/swing/DefaultCellEditor +javax/swing/tree/TreeCellEditor +javax/swing/AbstractCellEditor +javax/swing/plaf/basic/BasicTableUI +javax/swing/plaf/TableUI +javax/swing/plaf/basic/BasicTableUI$TableTransferHandler +javax/swing/plaf/basic/BasicTableUI$Handler +javax/swing/tree/DefaultTreeSelectionModel +javax/swing/tree/TreePath +javax/swing/plaf/metal/MetalTreeUI +javax/swing/plaf/basic/BasicTreeUI +javax/swing/plaf/TreeUI +javax/swing/plaf/basic/BasicTreeUI$Actions +javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler +javax/swing/plaf/metal/MetalTreeUI$LineListener +javax/swing/plaf/basic/BasicTreeUI$Handler +javax/swing/event/TreeModelListener +javax/swing/event/TreeSelectionListener +javax/swing/event/SwingPropertyChangeSupport +javax/swing/tree/VariableHeightLayoutCache +javax/swing/tree/AbstractLayoutCache +javax/swing/tree/RowMapper +javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler +javax/swing/tree/AbstractLayoutCache$NodeDimensions +javax/swing/JTree$TreeModelHandler +javax/swing/tree/VariableHeightLayoutCache$TreeStateNode +javax/swing/tree/DefaultMutableTreeNode +javax/swing/tree/MutableTreeNode +javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration +java/util/Vector$1 +javax/swing/event/TableColumnModelEvent +javax/swing/JPopupMenu$Separator +javax/swing/JSeparator +java/text/ParseException +java/text/NumberFormat$Field +javax/swing/text/GapContent$InsertUndo +javax/swing/undo/AbstractUndoableEdit +javax/swing/undo/UndoableEdit +javax/swing/text/AbstractDocument$DefaultDocumentEvent +javax/swing/event/DocumentEvent +javax/swing/undo/CompoundEdit +javax/swing/event/DocumentEvent$EventType +javax/swing/text/Utilities +javax/swing/text/SegmentCache +javax/swing/text/SegmentCache$CachedSegment +javax/swing/event/DocumentEvent$ElementChange +javax/swing/event/UndoableEditEvent +javax/swing/event/UndoableEditListener +java/awt/Canvas +java/util/Locale$Category +java/util/Locale$1 +javax/swing/filechooser/FileFilter +java/io/FileWriter +javax/swing/tree/DefaultTreeModel +javax/swing/tree/DefaultTreeCellEditor +javax/swing/tree/DefaultTreeCellEditor$1 +javax/swing/tree/DefaultTreeCellEditor$DefaultTextField +javax/swing/DefaultCellEditor$1 +javax/swing/DefaultCellEditor$EditorDelegate +javax/swing/tree/DefaultTreeCellEditor$EditorContainer +javax/swing/JTree$TreeSelectionRedirector +javax/swing/JMenuItem$MenuItemFocusListener +javax/swing/plaf/basic/BasicMenuItemUI +javax/swing/plaf/MenuItemUI +javax/swing/plaf/metal/MetalBorders$MenuItemBorder +javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon +sun/swing/MenuItemLayoutHelper +javax/swing/plaf/basic/BasicMenuItemUI$Handler +javax/swing/event/MenuDragMouseListener +javax/swing/event/TreeModelEvent +javax/swing/JSplitPane +javax/swing/plaf/metal/MetalSplitPaneUI +javax/swing/plaf/basic/BasicSplitPaneUI +javax/swing/plaf/SplitPaneUI +javax/swing/plaf/basic/BasicSplitPaneDivider +javax/swing/plaf/basic/BasicBorders$SplitPaneBorder +javax/swing/plaf/metal/MetalSplitPaneDivider +javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout +javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler +javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder +javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager +javax/swing/plaf/basic/BasicSplitPaneUI$1 +javax/swing/plaf/basic/BasicSplitPaneUI$Handler +javax/swing/plaf/metal/MetalSplitPaneDivider$1 +javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler +javax/swing/plaf/metal/MetalSplitPaneDivider$2 +javax/swing/border/TitledBorder +javax/swing/plaf/basic/BasicTextAreaUI +javax/swing/text/AbstractDocument$ElementEdit +java/util/Random +java/util/concurrent/atomic/AtomicLong +java/net/NoRouteToHostException +java/net/BindException +javax/swing/tree/PathPlaceHolder +javax/swing/event/TreeSelectionEvent +javax/swing/JList$3 +javax/swing/JList$ListSelectionHandler +javax/swing/JSlider +javax/swing/JSlider$ModelListener +javax/swing/plaf/metal/MetalSliderUI +javax/swing/plaf/basic/BasicSliderUI +javax/swing/plaf/SliderUI +javax/swing/plaf/basic/BasicSliderUI$Actions +javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon +javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon +javax/swing/plaf/basic/BasicSliderUI$TrackListener +javax/swing/plaf/basic/BasicSliderUI$Handler +javax/swing/plaf/basic/BasicSliderUI$ScrollListener +javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener +javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler +sun/font/SunFontManager$FamilyDescription +java/util/concurrent/ConcurrentHashMap$KeyIterator +java/util/concurrent/ConcurrentHashMap$BaseIterator +java/util/concurrent/ConcurrentHashMap$Traverser +sun/font/SunFontManager$10 +sun/font/SunFontManager$11 +java/util/concurrent/ConcurrentHashMap$ValueIterator +java/lang/CharacterData00 +javax/swing/DefaultListModel +javax/swing/event/ListDataEvent +javax/sound/sampled/DataLine +javax/sound/sampled/Line +javax/sound/sampled/Line$Info +javax/sound/sampled/DataLine$Info +javax/sound/sampled/Control$Type +javax/sound/sampled/FloatControl$Type +javax/sound/sampled/LineUnavailableException +javax/sound/sampled/UnsupportedAudioFileException +javax/swing/JMenuBar +javax/swing/plaf/basic/BasicMenuBarUI +javax/swing/plaf/MenuBarUI +javax/swing/plaf/metal/MetalBorders$MenuBarBorder +javax/swing/plaf/basic/BasicMenuBarUI$Handler +javax/swing/KeyboardManager +javax/swing/JRadioButtonMenuItem +javax/swing/JMenu$MenuChangeListener +javax/swing/plaf/basic/BasicMenuUI +javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon +javax/swing/plaf/basic/BasicMenuUI$Handler +javax/swing/JMenuItem$AccessibleJMenuItem +javax/swing/AbstractButton$AccessibleAbstractButton +javax/accessibility/AccessibleAction +javax/accessibility/AccessibleValue +javax/accessibility/AccessibleText +javax/accessibility/AccessibleExtendedComponent +javax/accessibility/AccessibleComponent +javax/swing/JComponent$AccessibleJComponent +java/awt/Container$AccessibleAWTContainer +java/awt/Component$AccessibleAWTComponent +javax/accessibility/AccessibleContext$1 +sun/awt/AWTAccessor$AccessibleContextAccessor +javax/accessibility/AccessibleRelationSet +javax/swing/JMenu$WinListener +java/awt/event/WindowAdapter +javax/swing/plaf/metal/MetalPopupMenuSeparatorUI +javax/swing/plaf/metal/MetalSeparatorUI +javax/swing/plaf/basic/BasicSeparatorUI +javax/swing/plaf/SeparatorUI +javax/accessibility/AccessibleState +javax/accessibility/AccessibleBundle +javax/swing/plaf/basic/BasicCheckBoxMenuItemUI +javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon +javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem +javax/swing/plaf/basic/BasicRadioButtonMenuItemUI +javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon +java/awt/event/ContainerEvent +sun/awt/image/ImageDecoder$1 +java/awt/im/InputContext +sun/awt/im/InputMethodContext +java/awt/im/spi/InputMethodContext +java/awt/im/InputMethodRequests +sun/awt/im/InputContext +sun/awt/windows/WInputMethod +sun/awt/im/InputMethodAdapter +java/awt/im/spi/InputMethod +sun/util/locale/ParseStatus +sun/util/locale/StringTokenIterator +sun/util/locale/InternalLocaleBuilder +sun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar +javax/swing/JTabbedPane$Page +java/net/DatagramSocket +java/net/MulticastSocket +java/net/DatagramPacket +java/net/DatagramPacket$1 +java/net/Inet4AddressImpl +sun/net/InetAddressCachePolicy +sun/net/InetAddressCachePolicy$1 +java/security/Security +java/security/Security$1 +sun/net/InetAddressCachePolicy$2 +java/net/InetAddress$CacheEntry +java/text/Collator +java/net/DefaultDatagramSocketImplFactory +sun/util/locale/provider/CollatorProviderImpl +java/net/DefaultDatagramSocketImplFactory$1 +java/net/DualStackPlainDatagramSocketImpl +java/util/Collections$UnmodifiableList$1 +java/net/AbstractPlainDatagramSocketImpl +java/net/DatagramSocketImpl +sun/text/resources/CollationData +java/net/AbstractPlainDatagramSocketImpl$1 +java/text/RuleBasedCollator +java/net/TwoStacksPlainDatagramSocketImpl +java/text/RBCollationTables +java/net/DatagramSocket$1 +java/text/RBTableBuilder +java/net/NetworkInterface +java/text/RBCollationTables$BuildAPI +sun/text/IntHashtable +sun/net/ResourceManager +sun/text/UCompactIntArray +sun/text/normalizer/NormalizerImpl +sun/text/normalizer/ICUData +java/net/NetworkInterface$1 +java/net/InterfaceAddress +java/net/DefaultInterface +java/net/ServerSocket +sun/text/normalizer/NormalizerDataReader +sun/text/normalizer/ICUBinary$Authenticate +sun/text/normalizer/ICUBinary +sun/text/normalizer/NormalizerImpl$FCDTrieImpl +sun/text/normalizer/Trie$DataManipulate +sun/text/normalizer/NormalizerImpl$NormTrieImpl +sun/text/normalizer/NormalizerImpl$AuxTrieImpl +sun/text/normalizer/IntTrie +sun/text/normalizer/Trie +sun/text/normalizer/CharTrie +sun/text/normalizer/CharTrie$FriendAgent +sun/text/normalizer/UnicodeSet +sun/text/normalizer/UnicodeMatcher +sun/text/normalizer/NormalizerImpl$DecomposeArgs +java/text/MergeCollation +java/text/PatternEntry$Parser +java/text/PatternEntry +java/text/EntryPair +sun/text/ComposedCharIter +sun/text/normalizer/UTF16 +sun/net/www/protocol/http/Handler +java/security/SignatureException +java/security/InvalidKeyException +java/security/KeyException +java/security/Signature +java/security/SignatureSpi +java/io/ObjectInputStream$BlockDataInputStream +java/io/ObjectInputStream$PeekInputStream +java/io/ObjectInputStream$HandleTable +java/io/ObjectInputStream$HandleTable$HandleList +java/io/ObjectInputStream$ValidationList +java/io/Bits +java/io/ObjectStreamClass +sun/security/provider/DSAPublicKey +java/security/interfaces/DSAPublicKey +java/security/interfaces/DSAKey +java/security/PublicKey +java/security/Key +sun/security/x509/X509Key +java/io/ObjectStreamClass$Caches +java/io/ObjectStreamClass$WeakClassKey +java/io/ObjectStreamClass$EntryFuture +java/io/ObjectOutputStream +java/io/ObjectOutput +java/lang/reflect/Proxy +java/lang/reflect/InvocationHandler +java/lang/reflect/WeakCache +java/lang/reflect/Proxy$KeyFactory +java/lang/reflect/Proxy$ProxyClassFactory +java/io/Externalizable +java/io/ObjectStreamClass$2 +sun/security/x509/AlgorithmId +sun/security/util/DerEncoder +sun/security/util/BitArray +sun/reflect/SerializationConstructorAccessorImpl +sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl +java/io/ObjectStreamClass$FieldReflectorKey +sun/security/util/DerOutputStream +java/io/ObjectStreamClass$FieldReflector +sun/security/util/DerValue +java/io/ObjectStreamClass$1 +java/io/DataOutputStream +java/io/ObjectStreamClass$MemberSignature +java/math/BigInteger +java/io/ObjectStreamClass$3 +java/io/ObjectStreamClass$4 +java/security/interfaces/DSAParams +java/io/ObjectStreamClass$5 +java/io/ObjectStreamClass$ClassDataSlot +java/io/SerialCallbackContext +java/security/MessageDigest +java/security/MessageDigestSpi +sun/security/util/DerInputStream +sun/security/jca/GetInstance +sun/security/util/DerInputBuffer +sun/security/jca/Providers +java/lang/InheritableThreadLocal +sun/security/util/ObjectIdentifier +sun/security/jca/ProviderList +sun/security/jca/ProviderConfig +java/security/Provider +sun/security/jca/ProviderList$3 +sun/security/jca/ProviderList$1 +java/security/Provider$ServiceKey +java/security/Provider$EngineDescription +java/security/AlgorithmParameters +java/security/AlgorithmParametersSpi +sun/security/jca/ProviderList$2 +sun/security/jca/ProviderConfig$2 +sun/security/provider/Sun +sun/security/provider/SunEntries +sun/security/provider/SunEntries$1 +sun/security/provider/NativePRNG +sun/security/provider/NativePRNG$Blocking +sun/security/provider/NativePRNG$NonBlocking +java/security/Provider$Service +java/security/Provider$UString +sun/security/provider/SHA +sun/security/provider/DSAParameters +sun/security/provider/DigestBase +sun/security/jca/GetInstance$Instance +java/security/MessageDigest$Delegate +sun/security/util/ByteArrayLexOrder +sun/security/util/ByteArrayTagOrder +sun/security/provider/ByteArrayAccess +sun/security/util/DerIndefLenConverter +java/io/ObjectOutputStream$BlockDataOutputStream +java/io/ObjectOutputStream$HandleTable +java/io/ObjectOutputStream$ReplaceTable +java/io/ObjectStreamClass$ExceptionInfo +java/io/ObjectInputStream$GetFieldImpl +java/io/ObjectInputStream$GetField +java/math/BigInteger$UnsafeHolder +sun/security/jca/ServiceId +sun/security/jca/ProviderList$ServiceList +sun/security/jca/ProviderList$ServiceList$1 +java/security/Signature$Delegate +java/util/ArrayList$SubList +java/util/ArrayList$SubList$1 +java/security/interfaces/DSAPrivateKey +java/security/PrivateKey +javax/security/auth/Destroyable +sun/security/provider/DSA$SHA1withDSA +sun/security/provider/DSA$LegacyDSA +sun/security/provider/DSA +java/security/spec/DSAParameterSpec +java/security/spec/AlgorithmParameterSpec +java/math/MutableBigInteger +java/math/SignedMutableBigInteger +javax/swing/TimerQueue +java/util/concurrent/DelayQueue +java/util/concurrent/BlockingQueue +java/util/AbstractQueue +java/util/PriorityQueue +javax/swing/TimerQueue$1 +javax/swing/TimerQueue$DelayedTimer +java/util/concurrent/Delayed +java/util/concurrent/TimeUnit +java/util/concurrent/TimeUnit$1 +java/util/concurrent/TimeUnit$2 +java/util/concurrent/TimeUnit$3 +java/util/concurrent/TimeUnit$4 +java/util/concurrent/TimeUnit$5 +java/util/concurrent/TimeUnit$6 +java/util/concurrent/TimeUnit$7 +java/awt/Window$1DisposeAction +java/awt/EventQueue$1AWTInvocationLock +java/awt/LightweightDispatcher$2 +java/awt/Component$FlipBufferStrategy +java/lang/StrictMath +javax/swing/JLayer +javax/swing/JInternalFrame +javax/swing/KeyboardManager$ComponentKeyStrokePair +sun/swing/MenuItemLayoutHelper$RectSize +javax/swing/JTable$2 +javax/swing/JTable$Resizable3 +javax/swing/JTable$Resizable2 +javax/swing/JTable$5 +java/awt/Label +sun/awt/windows/WLabelPeer +java/awt/peer/LabelPeer +java/awt/Event +sun/awt/PlatformFont$PlatformFontCache +sun/nio/cs/UTF_16LE$Encoder +sun/nio/cs/UnicodeEncoder +sun/nio/cs/UTF_16LE$Decoder +sun/nio/cs/Surrogate$Parser +sun/nio/cs/Surrogate +java/awt/KeyboardFocusManager$3 +java/net/Authenticator +sun/awt/AppContext$PostShutdownEventRunnable +sun/awt/AWTAutoShutdown$1 +java/net/ConnectException +java/lang/Throwable$WrappedPrintStream +java/lang/Throwable$PrintStreamOrWriter +sun/awt/image/PNGImageDecoder +sun/awt/image/PNGFilterInputStream +sun/awt/image/OffScreenImage +sun/util/locale/provider/TimeZoneNameUtility +sun/util/locale/provider/TimeZoneNameProviderImpl +sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter +sun/util/resources/TimeZoneNames +sun/util/resources/TimeZoneNamesBundle +sun/util/resources/en/TimeZoneNames_en +java/io/FilterReader +java/io/EOFException +javax/swing/filechooser/FileSystemView +javax/swing/filechooser/WindowsFileSystemView +javax/swing/filechooser/FileSystemView$1 +java/util/jar/JarFile$JarEntryIterator +java/util/zip/ZipFile$ZipEntryIterator +java/lang/IllegalAccessError +java/text/MessageFormat +java/text/MessageFormat$Field +java/util/Hashtable$ValueCollection +javax/swing/event/CaretListener +javax/swing/plaf/metal/MetalButtonUI +javax/swing/plaf/metal/MetalToggleButtonUI +javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder +javax/swing/event/MenuEvent +javax/swing/border/MatteBorder +sun/font/StandardGlyphVector +java/awt/font/GlyphVector +sun/font/StandardGlyphVector$GlyphStrike +sun/font/CoreMetrics +sun/font/FontLineMetrics +java/awt/font/LineMetrics +javax/swing/JToolBar$DefaultToolBarLayout +javax/swing/plaf/metal/MetalToolBarUI +javax/swing/plaf/basic/BasicToolBarUI +javax/swing/plaf/ToolBarUI +javax/swing/plaf/metal/MetalBorders$ToolBarBorder +javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder +javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder +javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder +javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener +javax/swing/plaf/basic/BasicToolBarUI$DockingListener +javax/swing/plaf/basic/BasicToolBarUI$Handler +javax/swing/JToolBar$Separator +javax/swing/plaf/basic/BasicToolBarSeparatorUI +java/awt/event/AdjustmentEvent +java/awt/MenuBar +# 7b979133406b8b9a diff --git a/tools/java/lib/cmm/CIEXYZ.pf b/tools/java/lib/cmm/CIEXYZ.pf new file mode 100644 index 0000000..db3ba20 Binary files /dev/null and b/tools/java/lib/cmm/CIEXYZ.pf differ diff --git a/tools/java/lib/cmm/GRAY.pf b/tools/java/lib/cmm/GRAY.pf new file mode 100644 index 0000000..e31a4a7 Binary files /dev/null and b/tools/java/lib/cmm/GRAY.pf differ diff --git a/tools/java/lib/cmm/LINEAR_RGB.pf b/tools/java/lib/cmm/LINEAR_RGB.pf new file mode 100644 index 0000000..eadae04 Binary files /dev/null and b/tools/java/lib/cmm/LINEAR_RGB.pf differ diff --git a/tools/java/lib/cmm/PYCC.pf b/tools/java/lib/cmm/PYCC.pf new file mode 100644 index 0000000..1c49e0b Binary files /dev/null and b/tools/java/lib/cmm/PYCC.pf differ diff --git a/tools/java/lib/cmm/sRGB.pf b/tools/java/lib/cmm/sRGB.pf new file mode 100644 index 0000000..7f9d18d Binary files /dev/null and b/tools/java/lib/cmm/sRGB.pf differ diff --git a/tools/java/lib/content-types.properties b/tools/java/lib/content-types.properties new file mode 100644 index 0000000..8949352 --- /dev/null +++ b/tools/java/lib/content-types.properties @@ -0,0 +1,276 @@ +#sun.net.www MIME content-types table +# +# Property fields: +# +# ::= 'description' '=' +# ::= 'file_extensions' '=' +# ::= 'icon' '=' +# ::= 'browser' | 'application' | 'save' | 'unknown' +# ::= 'application' '=' +# + +# +# The "we don't know anything about this data" type(s). +# Used internally to mark unrecognized types. +# +content/unknown: description=Unknown Content +unknown/unknown: description=Unknown Data Type + +# +# The template we should use for temporary files when launching an application +# to view a document of given type. +# +temp.file.template: c:\\temp\\%s + +# +# The "real" types. +# +application/octet-stream: \ + description=Generic Binary Stream;\ + file_extensions=.saveme,.dump,.hqx,.arc,.obj,.lib,.bin,.exe,.zip,.gz + +application/oda: \ + description=ODA Document;\ + file_extensions=.oda + +application/pdf: \ + description=Adobe PDF Format;\ + file_extensions=.pdf + +application/postscript: \ + description=Postscript File;\ + file_extensions=.eps,.ai,.ps;\ + icon=ps + +application/rtf: \ + description=Wordpad Document;\ + file_extensions=.rtf;\ + action=application;\ + application=wordpad.exe %s + +application/x-dvi: \ + description=TeX DVI File;\ + file_extensions=.dvi + +application/x-hdf: \ + description=Hierarchical Data Format;\ + file_extensions=.hdf;\ + action=save + +application/x-latex: \ + description=LaTeX Source;\ + file_extensions=.latex + +application/x-netcdf: \ + description=Unidata netCDF Data Format;\ + file_extensions=.nc,.cdf;\ + action=save + +application/x-tex: \ + description=TeX Source;\ + file_extensions=.tex + +application/x-texinfo: \ + description=Gnu Texinfo;\ + file_extensions=.texinfo,.texi + +application/x-troff: \ + description=Troff Source;\ + file_extensions=.t,.tr,.roff + +application/x-troff-man: \ + description=Troff Manpage Source;\ + file_extensions=.man + +application/x-troff-me: \ + description=Troff ME Macros;\ + file_extensions=.me + +application/x-troff-ms: \ + description=Troff MS Macros;\ + file_extensions=.ms + +application/x-wais-source: \ + description=Wais Source;\ + file_extensions=.src,.wsrc + +application/zip: \ + description=Zip File;\ + file_extensions=.zip;\ + icon=zip;\ + action=save + +application/x-bcpio: \ + description=Old Binary CPIO Archive;\ + file_extensions=.bcpio;\ + action=save + +application/x-cpio: \ + description=Unix CPIO Archive;\ + file_extensions=.cpio;\ + action=save + +application/x-gtar: \ + description=Gnu Tar Archive;\ + file_extensions=.gtar;\ + icon=tar;\ + action=save + +application/x-shar: \ + description=Shell Archive;\ + file_extensions=.sh,.shar;\ + action=save + +application/x-sv4cpio: \ + description=SVR4 CPIO Archive;\ + file_extensions=.sv4cpio;\ + action=save + +application/x-sv4crc: \ + description=SVR4 CPIO with CRC;\ + file_extensions=.sv4crc;\ + action=save + +application/x-tar: \ + description=Tar Archive;\ + file_extensions=.tar;\ + icon=tar;\ + action=save + +application/x-ustar: \ + description=US Tar Archive;\ + file_extensions=.ustar;\ + action=save + +audio/basic: \ + description=Basic Audio;\ + file_extensions=.snd,.au;\ + icon=audio + +audio/x-aiff: \ + description=Audio Interchange Format File;\ + file_extensions=.aifc,.aif,.aiff;\ + icon=aiff + +audio/x-wav: \ + description=Wav Audio;\ + file_extensions=.wav;\ + icon=wav;\ + action=application;\ + application=mplayer.exe %s + +image/gif: \ + description=GIF Image;\ + file_extensions=.gif;\ + icon=gif;\ + action=browser + +image/ief: \ + description=Image Exchange Format;\ + file_extensions=.ief + +image/jpeg: \ + description=JPEG Image;\ + file_extensions=.jfif,.jfif-tbnl,.jpe,.jpg,.jpeg;\ + icon=jpeg;\ + action=browser + +image/tiff: \ + description=TIFF Image;\ + file_extensions=.tif,.tiff;\ + icon=tiff + +image/vnd.fpx: \ + description=FlashPix Image;\ + file_extensions=.fpx,.fpix + +image/x-cmu-rast: \ + description=CMU Raster Image;\ + file_extensions=.ras + +image/x-portable-anymap: \ + description=PBM Anymap Image;\ + file_extensions=.pnm + +image/x-portable-bitmap: \ + description=PBM Bitmap Image;\ + file_extensions=.pbm + +image/x-portable-graymap: \ + description=PBM Graymap Image;\ + file_extensions=.pgm + +image/x-portable-pixmap: \ + description=PBM Pixmap Image;\ + file_extensions=.ppm + +image/x-rgb: \ + description=RGB Image;\ + file_extensions=.rgb + +image/x-xbitmap: \ + description=X Bitmap Image;\ + file_extensions=.xbm,.xpm + +image/x-xwindowdump: \ + description=X Window Dump Image;\ + file_extensions=.xwd + +image/png: \ + description=PNG Image;\ + file_extensions=.png;\ + icon=png;\ + action=browser + +image/bmp: \ + description=Bitmap Image;\ + file_extensions=.bmp; + +text/html: \ + description=HTML Document;\ + file_extensions=.htm,.html;\ + icon=html + +text/plain: \ + description=Plain Text;\ + file_extensions=.text,.c,.cc,.c++,.h,.pl,.txt,.java,.el;\ + icon=text;\ + action=browser + +text/tab-separated-values: \ + description=Tab Separated Values Text;\ + file_extensions=.tsv + +text/x-setext: \ + description=Structure Enhanced Text;\ + file_extensions=.etx + +video/mpeg: \ + description=MPEG Video Clip;\ + file_extensions=.mpg,.mpe,.mpeg;\ + icon=mpeg + +video/quicktime: \ + description=QuickTime Video Clip;\ + file_extensions=.mov,.qt + +application/x-troff-msvideo: \ + description=AVI Video;\ + file_extensions=.avi;\ + icon=avi;\ + action=application;\ + application=mplayer.exe %s + +video/x-sgi-movie: \ + description=SGI Movie;\ + file_extensions=.movie,.mv + +message/rfc822: \ + description=Internet Email Message;\ + file_extensions=.mime + +application/xml: \ + description=XML document;\ + file_extensions=.xml + + diff --git a/tools/java/lib/currency.data b/tools/java/lib/currency.data new file mode 100644 index 0000000..fbe5e9d Binary files /dev/null and b/tools/java/lib/currency.data differ diff --git a/tools/java/lib/flavormap.properties b/tools/java/lib/flavormap.properties new file mode 100644 index 0000000..c80f1cf --- /dev/null +++ b/tools/java/lib/flavormap.properties @@ -0,0 +1,77 @@ +# +# This properties file is used to initialize the default +# java.awt.datatransfer.SystemFlavorMap. It contains the Win32 platform- +# specific, default mappings between common Win32 Clipboard atoms and platform- +# independent MIME type strings, which will be converted into +# java.awt.datatransfer.DataFlavors. +# +# These default mappings may be augmented by specifying the +# +# AWT.DnD.flavorMapFileURL +# +# property in the appropriate awt.properties file. The specified properties URL +# will be loaded into the SystemFlavorMap. +# +# The standard format is: +# +# = +# +# should be a string identifier that the native platform will +# recognize as a valid data format. should specify both a MIME +# primary type and a MIME subtype separated by a '/'. The MIME type may include +# parameters, where each parameter is a key/value pair separated by '=', and +# where each parameter to the MIME type is separated by a ';'. +# +# Because SystemFlavorMap implements FlavorTable, developers are free to +# duplicate both native keys and DataFlavor values. If a mapping contains a +# duplicate key or value, earlier mappings which included this key or value +# will be preferred. +# +# Mappings whose values specify DataFlavors with primary MIME types of +# "text", and which support the charset parameter, should specify the exact +# format in which the native platform expects the data. The "charset" +# parameter specifies the char to byte encoding, the "eoln" parameter +# specifies the end-of-line marker, and the "terminators" parameter specifies +# the number of terminating NUL bytes. Note that "eoln" and "terminators" +# are not standardized MIME type parameters. They are specific to this file +# format ONLY. They will not appear in any of the DataFlavors returned by the +# SystemFlavorMap at the Java level. +# +# If the "charset" parameter is omitted, or has zero length, the platform +# default encoding is assumed. If the "eoln" parameter is omitted, or has +# zero length, "\n" is assumed. If the "terminators" parameter is omitted, +# or has a value less than zero, zero is assumed. +# +# Upon initialization, the data transfer subsystem will record the specified +# details of the native text format, but the default SystemFlavorMap will +# present a large set of synthesized DataFlavors which map, in both +# directions, to the native. After receiving data from the application in one +# of the synthetic DataFlavors, the data transfer subsystem will transform +# the data stream into the format specified in this file before passing the +# transformed stream to the native system. +# +# Mappings whose values specify DataFlavors with primary MIME types of +# "text", but which do not support the charset parameter, will be treated as +# opaque, 8-bit data. They will not undergo any transformation process, and +# any "charset", "eoln", or "terminators" parameters specified in this file +# will be ignored. +# +# See java.awt.datatransfer.DataFlavor.selectBestTextFlavor for a list of +# text flavors which support the charset parameter. + +UNICODE\ TEXT=text/plain;charset=utf-16le;eoln="\r\n";terminators=2 +TEXT=text/plain;eoln="\r\n";terminators=1 +HTML\ Format=text/html;charset=utf-8;eoln="\r\n";terminators=1 +Rich\ Text\ Format=text/rtf +HDROP=application/x-java-file-list;class=java.util.List +PNG=image/x-java-image;class=java.awt.Image +JFIF=image/x-java-image;class=java.awt.Image +DIB=image/x-java-image;class=java.awt.Image +ENHMETAFILE=image/x-java-image;class=java.awt.Image +METAFILEPICT=image/x-java-image;class=java.awt.Image +LOCALE=application/x-java-text-encoding;class="[B" +UniformResourceLocator=application/x-java-url;class=java.net.URL +UniformResourceLocator=text/uri-list;eoln="\r\n";terminators=1 +UniformResourceLocator=text/plain;eoln="\r\n";terminators=1 +FileGroupDescriptorW=application/x-java-file-list;class=java.util.List +FileGroupDescriptor=application/x-java-file-list;class=java.util.List diff --git a/tools/java/lib/fontconfig.bfc b/tools/java/lib/fontconfig.bfc new file mode 100644 index 0000000..f04d529 Binary files /dev/null and b/tools/java/lib/fontconfig.bfc differ diff --git a/tools/java/lib/fontconfig.properties.src b/tools/java/lib/fontconfig.properties.src new file mode 100644 index 0000000..c84d0ef --- /dev/null +++ b/tools/java/lib/fontconfig.properties.src @@ -0,0 +1,302 @@ +# +# +# Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# + +# Version + +version=1 + +# Component Font Mappings + +allfonts.chinese-ms936=SimSun +allfonts.chinese-ms936-extb=SimSun-ExtB +allfonts.chinese-gb18030=SimSun-18030 +allfonts.chinese-gb18030-extb=SimSun-ExtB +allfonts.chinese-hkscs=MingLiU_HKSCS +allfonts.chinese-ms950-extb=MingLiU-ExtB +allfonts.devanagari=Mangal +allfonts.dingbats=Wingdings +allfonts.lucida=Lucida Sans Regular +allfonts.symbol=Symbol +allfonts.symbols=Segoe UI Symbol +allfonts.thai=Lucida Sans Regular +allfonts.georgian=Sylfaen + +serif.plain.alphabetic=Times New Roman +serif.plain.chinese-ms950=MingLiU +serif.plain.chinese-ms950-extb=MingLiU-ExtB +serif.plain.hebrew=David +serif.plain.japanese=MS Mincho +serif.plain.korean=Batang + +serif.bold.alphabetic=Times New Roman Bold +serif.bold.chinese-ms950=PMingLiU +serif.bold.chinese-ms950-extb=PMingLiU-ExtB +serif.bold.hebrew=David Bold +serif.bold.japanese=MS Mincho +serif.bold.korean=Batang + +serif.italic.alphabetic=Times New Roman Italic +serif.italic.chinese-ms950=PMingLiU +serif.italic.chinese-ms950-extb=PMingLiU-ExtB +serif.italic.hebrew=David +serif.italic.japanese=MS Mincho +serif.italic.korean=Batang + +serif.bolditalic.alphabetic=Times New Roman Bold Italic +serif.bolditalic.chinese-ms950=PMingLiU +serif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +serif.bolditalic.hebrew=David Bold +serif.bolditalic.japanese=MS Mincho +serif.bolditalic.korean=Batang + +sansserif.plain.alphabetic=Arial +sansserif.plain.chinese-ms950=MingLiU +sansserif.plain.chinese-ms950-extb=MingLiU-ExtB +sansserif.plain.hebrew=David +sansserif.plain.japanese=MS Gothic +sansserif.plain.korean=Gulim + +sansserif.bold.alphabetic=Arial Bold +sansserif.bold.chinese-ms950=PMingLiU +sansserif.bold.chinese-ms950-extb=PMingLiU-ExtB +sansserif.bold.hebrew=David Bold +sansserif.bold.japanese=MS Gothic +sansserif.bold.korean=Gulim + +sansserif.italic.alphabetic=Arial Italic +sansserif.italic.chinese-ms950=PMingLiU +sansserif.italic.chinese-ms950-extb=PMingLiU-ExtB +sansserif.italic.hebrew=David +sansserif.italic.japanese=MS Gothic +sansserif.italic.korean=Gulim + +sansserif.bolditalic.alphabetic=Arial Bold Italic +sansserif.bolditalic.chinese-ms950=PMingLiU +sansserif.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +sansserif.bolditalic.hebrew=David Bold +sansserif.bolditalic.japanese=MS Gothic +sansserif.bolditalic.korean=Gulim + +monospaced.plain.alphabetic=Courier New +monospaced.plain.chinese-ms950=MingLiU +monospaced.plain.chinese-ms950-extb=MingLiU-ExtB +monospaced.plain.hebrew=Courier New +monospaced.plain.japanese=MS Gothic +monospaced.plain.korean=GulimChe + +monospaced.bold.alphabetic=Courier New Bold +monospaced.bold.chinese-ms950=PMingLiU +monospaced.bold.chinese-ms950-extb=PMingLiU-ExtB +monospaced.bold.hebrew=Courier New Bold +monospaced.bold.japanese=MS Gothic +monospaced.bold.korean=GulimChe + +monospaced.italic.alphabetic=Courier New Italic +monospaced.italic.chinese-ms950=PMingLiU +monospaced.italic.chinese-ms950-extb=PMingLiU-ExtB +monospaced.italic.hebrew=Courier New +monospaced.italic.japanese=MS Gothic +monospaced.italic.korean=GulimChe + +monospaced.bolditalic.alphabetic=Courier New Bold Italic +monospaced.bolditalic.chinese-ms950=PMingLiU +monospaced.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +monospaced.bolditalic.hebrew=Courier New Bold +monospaced.bolditalic.japanese=MS Gothic +monospaced.bolditalic.korean=GulimChe + +dialog.plain.alphabetic=Arial +dialog.plain.chinese-ms950=MingLiU +dialog.plain.chinese-ms950-extb=MingLiU-ExtB +dialog.plain.hebrew=David +dialog.plain.japanese=MS Gothic +dialog.plain.korean=Gulim + +dialog.bold.alphabetic=Arial Bold +dialog.bold.chinese-ms950=PMingLiU +dialog.bold.chinese-ms950-extb=PMingLiU-ExtB +dialog.bold.hebrew=David Bold +dialog.bold.japanese=MS Gothic +dialog.bold.korean=Gulim + +dialog.italic.alphabetic=Arial Italic +dialog.italic.chinese-ms950=PMingLiU +dialog.italic.chinese-ms950-extb=PMingLiU-ExtB +dialog.italic.hebrew=David +dialog.italic.japanese=MS Gothic +dialog.italic.korean=Gulim + +dialog.bolditalic.alphabetic=Arial Bold Italic +dialog.bolditalic.chinese-ms950=PMingLiU +dialog.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +dialog.bolditalic.hebrew=David Bold +dialog.bolditalic.japanese=MS Gothic +dialog.bolditalic.korean=Gulim + +dialoginput.plain.alphabetic=Courier New +dialoginput.plain.chinese-ms950=MingLiU +dialoginput.plain.chinese-ms950-extb=MingLiU-ExtB +dialoginput.plain.hebrew=David +dialoginput.plain.japanese=MS Gothic +dialoginput.plain.korean=Gulim + +dialoginput.bold.alphabetic=Courier New Bold +dialoginput.bold.chinese-ms950=PMingLiU +dialoginput.bold.chinese-ms950-extb=PMingLiU-ExtB +dialoginput.bold.hebrew=David Bold +dialoginput.bold.japanese=MS Gothic +dialoginput.bold.korean=Gulim + +dialoginput.italic.alphabetic=Courier New Italic +dialoginput.italic.chinese-ms950=PMingLiU +dialoginput.italic.chinese-ms950-extb=PMingLiU-ExtB +dialoginput.italic.hebrew=David +dialoginput.italic.japanese=MS Gothic +dialoginput.italic.korean=Gulim + +dialoginput.bolditalic.alphabetic=Courier New Bold Italic +dialoginput.bolditalic.chinese-ms950=PMingLiU +dialoginput.bolditalic.chinese-ms950-extb=PMingLiU-ExtB +dialoginput.bolditalic.hebrew=David Bold +dialoginput.bolditalic.japanese=MS Gothic +dialoginput.bolditalic.korean=Gulim + +# Search Sequences + +sequence.allfonts=alphabetic/default,dingbats,symbol + +sequence.serif.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb +sequence.sansserif.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb +sequence.monospaced.GBK=chinese-ms936,alphabetic,dingbats,symbol,chinese-ms936-extb +sequence.dialog.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb +sequence.dialoginput.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb + +sequence.serif.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb +sequence.sansserif.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb +sequence.monospaced.GB18030=chinese-gb18030,alphabetic,dingbats,symbol,chinese-gb18030-extb +sequence.dialog.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb +sequence.dialoginput.GB18030=alphabetic,chinese-gb18030,dingbats,symbol,chinese-gb18030-extb + +sequence.serif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb +sequence.sansserif.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb +sequence.monospaced.x-windows-950=chinese-ms950,alphabetic,dingbats,symbol,chinese-ms950-extb +sequence.dialog.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb +sequence.dialoginput.x-windows-950=alphabetic,chinese-ms950,dingbats,symbol,chinese-ms950-extb + +sequence.serif.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.sansserif.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.monospaced.x-MS950-HKSCS=chinese-ms950,alphabetic,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.dialog.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.dialoginput.x-MS950-HKSCS=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb + +sequence.serif.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.sansserif.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.monospaced.x-MS950-HKSCS-XP=chinese-ms950,alphabetic,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.dialog.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb +sequence.dialoginput.x-MS950-HKSCS-XP=alphabetic,chinese-ms950,chinese-hkscs,dingbats,symbol,chinese-ms950-extb + +sequence.allfonts.UTF-8.hi=alphabetic/1252,devanagari,dingbats,symbol +sequence.allfonts.UTF-8.ja=alphabetic,japanese,devanagari,dingbats,symbol + +sequence.allfonts.windows-1255=hebrew,alphabetic/1252,dingbats,symbol + +sequence.serif.windows-31j=alphabetic,japanese,dingbats,symbol +sequence.sansserif.windows-31j=alphabetic,japanese,dingbats,symbol +sequence.monospaced.windows-31j=japanese,alphabetic,dingbats,symbol +sequence.dialog.windows-31j=alphabetic,japanese,dingbats,symbol +sequence.dialoginput.windows-31j=alphabetic,japanese,dingbats,symbol + +sequence.serif.x-windows-949=alphabetic,korean,dingbats,symbol +sequence.sansserif.x-windows-949=alphabetic,korean,dingbats,symbol +sequence.monospaced.x-windows-949=korean,alphabetic,dingbats,symbol +sequence.dialog.x-windows-949=alphabetic,korean,dingbats,symbol +sequence.dialoginput.x-windows-949=alphabetic,korean,dingbats,symbol + +sequence.allfonts.x-windows-874=alphabetic,thai,dingbats,symbol + +sequence.fallback=lucida,symbols,\ + chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\ + japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian + +# Exclusion Ranges + +exclusion.alphabetic=0700-1cff,1d80-1e9f,1f00-2017,2020-20ab,20ad-f8ff +exclusion.chinese-gb18030=0390-03d6,2200-22ef,2701-27be +exclusion.hebrew=0041-005a,0060-007a,007f-00ff,20ac-20ac + +# Monospaced to Proportional width variant mapping +# (Experimental private syntax) +proportional.MS_Gothic=MS PGothic +proportional.MS_Mincho=MS PMincho +proportional.MingLiU=PMingLiU +proportional.MingLiU-ExtB=PMingLiU-ExtB + +# Font File Names + +filename.Arial=ARIAL.TTF +filename.Arial_Bold=ARIALBD.TTF +filename.Arial_Italic=ARIALI.TTF +filename.Arial_Bold_Italic=ARIALBI.TTF + +filename.Courier_New=COUR.TTF +filename.Courier_New_Bold=COURBD.TTF +filename.Courier_New_Italic=COURI.TTF +filename.Courier_New_Bold_Italic=COURBI.TTF + +filename.Times_New_Roman=TIMES.TTF +filename.Times_New_Roman_Bold=TIMESBD.TTF +filename.Times_New_Roman_Italic=TIMESI.TTF +filename.Times_New_Roman_Bold_Italic=TIMESBI.TTF + +filename.SimSun=SIMSUN.TTC +filename.SimSun-18030=SIMSUN18030.TTC +filename.SimSun-ExtB=SIMSUNB.TTF + +filename.MingLiU=MINGLIU.TTC +filename.MingLiU-ExtB=MINGLIUB.TTC +filename.PMingLiU=MINGLIU.TTC +filename.PMingLiU-ExtB=MINGLIUB.TTC +filename.MingLiU_HKSCS=hkscsm3u.ttf + +filename.David=DAVID.TTF +filename.David_Bold=DAVIDBD.TTF + +filename.MS_Mincho=MSMINCHO.TTC +filename.MS_PMincho=MSMINCHO.TTC +filename.MS_Gothic=MSGOTHIC.TTC +filename.MS_PGothic=MSGOTHIC.TTC + +filename.Gulim=gulim.TTC +filename.Batang=batang.TTC +filename.GulimChe=gulim.TTC + +filename.Lucida_Sans_Regular=LucidaSansRegular.ttf +filename.Mangal=MANGAL.TTF +filename.Symbol=SYMBOL.TTF +filename.Wingdings=WINGDING.TTF + +filename.Sylfaen=sylfaen.ttf +filename.Segoe_UI_Symbol=SEGUISYM.TTF diff --git a/tools/java/lib/fonts/LucidaBrightDemiBold.ttf b/tools/java/lib/fonts/LucidaBrightDemiBold.ttf new file mode 100644 index 0000000..8073c35 Binary files /dev/null and b/tools/java/lib/fonts/LucidaBrightDemiBold.ttf differ diff --git a/tools/java/lib/fonts/LucidaBrightDemiItalic.ttf b/tools/java/lib/fonts/LucidaBrightDemiItalic.ttf new file mode 100644 index 0000000..bae8c67 Binary files /dev/null and b/tools/java/lib/fonts/LucidaBrightDemiItalic.ttf differ diff --git a/tools/java/lib/fonts/LucidaBrightItalic.ttf b/tools/java/lib/fonts/LucidaBrightItalic.ttf new file mode 100644 index 0000000..c26afa3 Binary files /dev/null and b/tools/java/lib/fonts/LucidaBrightItalic.ttf differ diff --git a/tools/java/lib/fonts/LucidaBrightRegular.ttf b/tools/java/lib/fonts/LucidaBrightRegular.ttf new file mode 100644 index 0000000..79738f1 Binary files /dev/null and b/tools/java/lib/fonts/LucidaBrightRegular.ttf differ diff --git a/tools/java/lib/fonts/LucidaSansDemiBold.ttf b/tools/java/lib/fonts/LucidaSansDemiBold.ttf new file mode 100644 index 0000000..a15910e Binary files /dev/null and b/tools/java/lib/fonts/LucidaSansDemiBold.ttf differ diff --git a/tools/java/lib/fonts/LucidaSansRegular.ttf b/tools/java/lib/fonts/LucidaSansRegular.ttf new file mode 100644 index 0000000..4cabe6e Binary files /dev/null and b/tools/java/lib/fonts/LucidaSansRegular.ttf differ diff --git a/tools/java/lib/fonts/LucidaTypewriterBold.ttf b/tools/java/lib/fonts/LucidaTypewriterBold.ttf new file mode 100644 index 0000000..ac66d4f Binary files /dev/null and b/tools/java/lib/fonts/LucidaTypewriterBold.ttf differ diff --git a/tools/java/lib/fonts/LucidaTypewriterRegular.ttf b/tools/java/lib/fonts/LucidaTypewriterRegular.ttf new file mode 100644 index 0000000..0295184 Binary files /dev/null and b/tools/java/lib/fonts/LucidaTypewriterRegular.ttf differ diff --git a/tools/java/lib/hijrah-config-umalqura.properties b/tools/java/lib/hijrah-config-umalqura.properties new file mode 100644 index 0000000..e45ac32 --- /dev/null +++ b/tools/java/lib/hijrah-config-umalqura.properties @@ -0,0 +1,369 @@ +# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# This properties file defines a Hijrah calendar variant. +# +# Fields: +# +# ::= 'version' '=' +# ::= 'id' '=' +# ::= 'type' '=' +# ::= 'iso-start' '=' +# ::= '=' +# +# version ... (Required) +# +# id ... (Required) +# Identifies the Java Chronology +# +# type ... (Required) +# Identifies the type of calendar in the standard calendar ID scheme +# iso-start ... (Required) +# Specifies the corresponding ISO date to the first Hijrah day +# in the defined range of dates +# +# year ... (Required) +# Number of days for each month of a Hijrah year +# * Each line defines a year. The years must be in chronological +# order and no gap is allowed. +# * Each line is in the form indicated above. is a Hijrah year and +# nn is the number of days for a month listed in the order of the months. +# * Each year must have 12 months. +# * Each month should be 29 or 30 days long. +# * There must be one or more space characters between the months. +# + +# Version of this definition +version=1.8.0_1 + +# Java chronology ID +id=Hijrah-umalqura + +# Standard calendar type specification +type=islamic-umalqura + +# defines the corresponding ISO date to the earliest Hijrah date +iso-start=1882-11-12 + +# 1 2 3 4 5 6 7 8 9 10 11 12 +1300=30 29 30 29 30 29 30 29 30 29 30 29 +1301=30 30 29 30 29 30 29 30 29 30 29 29 +1302=30 30 30 29 30 30 29 29 30 29 29 30 +1303=29 30 30 29 30 30 29 30 29 30 29 29 +1304=29 30 30 29 30 30 30 29 30 29 30 29 +1305=29 29 30 30 29 30 30 29 30 30 29 29 +1306=30 29 30 29 30 29 30 29 30 30 29 30 +1307=29 30 29 30 29 30 29 30 29 30 29 30 +1308=29 30 30 29 30 29 30 29 30 29 29 30 +1309=29 30 30 30 30 29 29 30 29 29 30 29 +1310=30 29 30 30 30 29 30 29 30 29 29 30 +1311=29 30 29 30 30 30 29 30 29 30 29 29 +1312=30 29 30 29 30 30 29 30 30 29 30 29 +1313=29 30 29 30 29 30 29 30 30 30 29 29 +1314=30 30 29 30 29 29 30 29 30 30 29 30 +1315=29 30 30 29 30 29 29 30 29 30 29 30 +1316=29 30 30 30 29 30 29 29 30 29 30 29 +1317=30 29 30 30 29 30 29 30 29 30 29 29 +1318=30 29 30 30 29 30 30 29 30 29 30 29 +1319=29 30 29 30 30 29 30 29 30 30 29 30 +1320=29 30 29 29 30 29 30 29 30 30 30 29 +1321=30 29 30 29 29 30 29 29 30 30 30 30 +1322=29 30 29 30 29 29 29 30 29 30 30 30 +1323=29 30 30 29 30 29 29 29 30 29 30 30 +1324=29 30 30 29 30 29 30 29 29 30 29 30 +1325=30 29 30 29 30 30 29 30 29 30 29 30 +1326=29 29 30 29 30 30 29 30 29 30 30 29 +1327=30 29 29 30 29 30 29 30 30 29 30 30 +1328=29 30 29 29 30 29 29 30 30 30 29 30 +1329=30 29 30 29 29 30 29 29 30 30 29 30 +1330=30 30 29 30 29 29 30 29 29 30 30 29 +1331=30 30 29 30 30 29 29 30 29 30 29 30 +1332=29 30 29 30 30 29 30 29 30 30 29 29 +1333=30 29 29 30 30 29 30 30 29 30 30 29 +1334=29 29 30 29 30 29 30 30 30 29 30 29 +1335=30 29 30 29 29 30 29 30 30 29 30 30 +1336=29 30 29 30 29 29 30 29 30 29 30 30 +1337=30 29 30 29 30 29 29 30 29 30 29 30 +1338=29 30 30 29 30 30 29 29 30 29 30 29 +1339=30 29 30 29 30 30 30 29 30 29 29 30 +1340=29 29 30 29 30 30 30 30 29 30 29 29 +1341=30 29 29 30 29 30 30 30 29 30 30 29 +1342=29 29 30 29 30 29 30 30 29 30 30 29 +1343=30 29 29 30 29 30 29 30 29 30 30 29 +1344=30 29 30 29 30 30 29 29 30 29 30 29 +1345=30 29 30 30 30 29 30 29 29 30 29 29 +1346=30 29 30 30 30 30 29 30 29 29 30 29 +1347=29 30 29 30 30 30 29 30 30 29 29 30 +1348=29 29 30 29 30 30 29 30 30 30 29 29 +1349=30 29 29 30 29 30 30 29 30 30 29 30 +1350=29 30 29 30 29 30 29 29 30 30 29 30 +1351=30 29 30 29 30 29 30 29 29 30 29 30 +1352=30 29 30 30 29 30 29 30 29 29 30 29 +1353=30 29 30 30 30 29 30 29 29 30 29 30 +1354=29 30 29 30 30 29 30 30 29 30 29 29 +1355=30 29 29 30 30 29 30 30 29 30 30 29 +1356=29 30 29 30 29 30 29 30 29 30 30 30 +1357=29 29 30 29 30 29 29 30 29 30 30 30 +1358=29 30 29 30 29 30 29 29 30 29 30 30 +1359=29 30 30 29 30 29 30 29 29 29 30 30 +1360=29 30 30 30 29 30 29 30 29 29 30 29 +1361=30 29 30 30 29 30 30 29 29 30 29 30 +1362=29 30 29 30 29 30 30 29 30 29 30 29 +1363=30 29 30 29 30 29 30 29 30 29 30 30 +1364=29 30 29 30 29 29 30 29 30 29 30 30 +1365=30 30 29 29 30 29 29 30 29 30 29 30 +1366=30 30 29 30 29 30 29 29 30 29 30 29 +1367=30 30 29 30 30 29 30 29 29 30 29 30 +1368=29 30 29 30 30 30 29 29 30 29 30 29 +1369=30 29 30 29 30 30 29 30 29 30 30 29 +1370=30 29 29 30 29 30 29 30 29 30 30 30 +1371=29 30 29 29 30 29 30 29 30 29 30 30 +1372=30 29 29 30 29 30 29 29 30 29 30 30 +1373=30 29 30 29 30 29 30 29 29 30 29 30 +1374=30 29 30 30 29 30 29 30 29 29 30 29 +1375=30 29 30 30 29 30 30 29 30 29 30 29 +1376=29 30 29 30 29 30 30 30 29 30 29 30 +1377=29 29 30 29 29 30 30 30 29 30 30 29 +1378=30 29 29 29 30 29 30 30 29 30 30 30 +1379=29 30 29 29 29 30 29 30 30 29 30 30 +1380=29 30 29 30 29 30 29 30 29 30 29 30 +1381=29 30 29 30 30 29 30 29 30 29 29 30 +1382=29 30 29 30 30 29 30 30 29 30 29 29 +1383=30 29 29 30 30 30 29 30 30 29 30 29 +1384=29 30 29 29 30 30 29 30 30 30 29 30 +1385=29 29 30 29 29 30 30 29 30 30 30 29 +1386=30 29 29 30 29 29 30 30 29 30 30 29 +1387=30 29 30 29 30 29 30 29 30 29 30 29 +1388=30 30 29 30 29 30 29 30 29 30 29 29 +1389=30 30 29 30 30 29 30 30 29 29 30 29 +1390=29 30 29 30 30 30 29 30 29 30 29 30 +1391=29 29 30 29 30 30 29 30 30 29 30 29 +1392=30 29 29 30 29 30 29 30 30 29 30 30 +1393=29 30 29 29 30 29 30 29 30 29 30 30 +1394=30 29 30 29 29 30 29 30 29 30 29 30 +1395=30 29 30 30 29 30 29 29 30 29 29 30 +1396=30 29 30 30 29 30 30 29 29 30 29 29 +1397=30 29 30 30 29 30 30 30 29 29 29 30 +1398=29 30 29 30 30 29 30 30 29 30 29 29 +1399=30 29 30 29 30 29 30 30 29 30 29 30 +1400=30 29 30 29 29 30 29 30 29 30 29 30 +1401=30 30 29 30 29 29 30 29 29 30 29 30 +1402=30 30 30 29 30 29 29 30 29 29 30 29 +1403=30 30 30 29 30 30 29 29 30 29 29 30 +1404=29 30 30 29 30 30 29 30 29 30 29 29 +1405=30 29 30 29 30 30 30 29 30 29 29 30 +1406=30 29 29 30 29 30 30 29 30 29 30 30 +1407=29 30 29 29 30 29 30 29 30 29 30 30 +1408=30 29 30 29 30 29 29 30 29 29 30 30 +1409=30 30 29 30 29 30 29 29 30 29 29 30 +1410=30 30 29 30 30 29 30 29 29 30 29 29 +1411=30 30 29 30 30 29 30 30 29 29 30 29 +1412=30 29 30 29 30 29 30 30 30 29 29 30 +1413=29 30 29 29 30 29 30 30 30 29 30 29 +1414=30 29 30 29 29 30 29 30 30 29 30 30 +1415=29 30 29 30 29 29 30 29 30 29 30 30 +1416=30 29 30 29 30 29 29 30 29 30 29 30 +1417=30 29 30 30 29 29 30 29 30 29 30 29 +1418=30 29 30 30 29 30 29 30 29 30 29 30 +1419=29 30 29 30 29 30 29 30 30 30 29 29 +1420=29 30 29 29 30 29 30 30 30 30 29 30 +1421=29 29 30 29 29 29 30 30 30 30 29 30 +1422=30 29 29 30 29 29 29 30 30 30 29 30 +1423=30 29 30 29 30 29 29 30 29 30 29 30 +1424=30 29 30 30 29 30 29 29 30 29 30 29 +1425=30 29 30 30 29 30 29 30 30 29 30 29 +1426=29 30 29 30 29 30 30 29 30 30 29 30 +1427=29 29 30 29 30 29 30 30 29 30 30 29 +1428=30 29 29 30 29 29 30 30 30 29 30 30 +1429=29 30 29 29 30 29 29 30 30 29 30 30 +1430=29 30 30 29 29 30 29 30 29 30 29 30 +1431=29 30 30 29 30 29 30 29 30 29 29 30 +1432=29 30 30 30 29 30 29 30 29 30 29 29 +1433=30 29 30 30 29 30 30 29 30 29 30 29 +1434=29 30 29 30 29 30 30 29 30 30 29 29 +1435=30 29 30 29 30 29 30 29 30 30 29 30 +1436=29 30 29 30 29 30 29 30 29 30 29 30 +1437=30 29 30 30 29 29 30 29 30 29 29 30 +1438=30 29 30 30 30 29 29 30 29 29 30 29 +1439=30 29 30 30 30 29 30 29 30 29 29 30 +1440=29 30 29 30 30 30 29 30 29 30 29 29 +1441=30 29 30 29 30 30 29 30 30 29 30 29 +1442=29 30 29 30 29 30 29 30 30 29 30 29 +1443=30 29 30 29 30 29 30 29 30 29 30 30 +1444=29 30 29 30 30 29 29 30 29 30 29 30 +1445=29 30 30 30 29 30 29 29 30 29 29 30 +1446=29 30 30 30 29 30 30 29 29 30 29 29 +1447=30 29 30 30 30 29 30 29 30 29 30 29 +1448=29 30 29 30 30 29 30 30 29 30 29 30 +1449=29 29 30 29 30 29 30 30 29 30 30 29 +1450=30 29 30 29 29 30 29 30 29 30 30 29 +1451=30 30 30 29 29 30 29 29 30 30 29 30 +1452=30 29 30 30 29 29 30 29 29 30 29 30 +1453=30 29 30 30 29 30 29 30 29 29 30 29 +1454=30 29 30 30 29 30 30 29 30 29 30 29 +1455=29 30 29 30 30 29 30 29 30 30 29 30 +1456=29 29 30 29 30 29 30 29 30 30 30 29 +1457=30 29 29 30 29 29 30 29 30 30 30 30 +1458=29 30 29 29 30 29 29 30 29 30 30 30 +1459=29 30 30 29 29 30 29 29 30 29 30 30 +1460=29 30 30 29 30 29 30 29 29 30 29 30 +1461=29 30 30 29 30 29 30 29 30 30 29 29 +1462=30 29 30 29 30 30 29 30 29 30 30 29 +1463=29 30 29 30 29 30 29 30 30 30 29 30 +1464=29 30 29 29 30 29 29 30 30 30 29 30 +1465=30 29 30 29 29 30 29 29 30 30 29 30 +1466=30 30 29 30 29 29 29 30 29 30 30 29 +1467=30 30 29 30 30 29 29 30 29 30 29 30 +1468=29 30 29 30 30 29 30 29 30 29 30 29 +1469=29 30 29 30 30 29 30 30 29 30 29 30 +1470=29 29 30 29 30 30 29 30 30 29 30 29 +1471=30 29 29 30 29 30 29 30 30 29 30 30 +1472=29 30 29 29 30 29 30 29 30 30 29 30 +1473=29 30 29 30 30 29 29 30 29 30 29 30 +1474=29 30 30 29 30 30 29 29 30 29 30 29 +1475=29 30 30 29 30 30 30 29 29 30 29 29 +1476=30 29 30 29 30 30 30 29 30 29 30 29 +1477=29 30 29 29 30 30 30 30 29 30 29 30 +1478=29 29 30 29 30 29 30 30 29 30 30 29 +1479=30 29 29 30 29 30 29 30 29 30 30 29 +1480=30 29 30 29 30 29 30 29 30 29 30 29 +1481=30 29 30 30 29 30 29 30 29 30 29 29 +1482=30 29 30 30 30 30 29 30 29 29 30 29 +1483=29 30 29 30 30 30 29 30 30 29 29 30 +1484=29 29 30 29 30 30 30 29 30 29 30 29 +1485=30 29 29 30 29 30 30 29 30 30 29 30 +1486=29 30 29 29 30 29 30 29 30 30 29 30 +1487=30 29 30 29 30 29 29 30 29 30 29 30 +1488=30 29 30 30 29 30 29 29 30 29 30 29 +1489=30 29 30 30 30 29 30 29 29 30 29 30 +1490=29 30 29 30 30 29 30 30 29 29 30 29 +1491=30 29 29 30 30 29 30 30 29 30 29 30 +1492=29 30 29 29 30 30 29 30 29 30 30 29 +1493=30 29 30 29 30 29 29 30 29 30 30 30 +1494=29 30 29 30 29 30 29 29 29 30 30 30 +1495=29 30 30 29 30 29 29 30 29 29 30 30 +1496=29 30 30 30 29 30 29 29 30 29 29 30 +1497=30 29 30 30 29 30 29 30 29 30 29 30 +1498=29 30 29 30 29 30 30 29 30 29 30 29 +1499=30 29 30 29 29 30 30 29 30 29 30 30 +1500=29 30 29 30 29 29 30 29 30 29 30 30 +1501=30 29 30 29 30 29 29 29 30 29 30 30 +1502=30 30 29 30 29 30 29 29 29 30 30 29 +1503=30 30 29 30 30 29 30 29 29 29 30 30 +1504=29 30 29 30 30 30 29 29 30 29 30 29 +1505=30 29 30 29 30 30 29 30 29 30 30 29 +1506=29 30 29 29 30 30 29 30 30 29 30 30 +1507=29 29 30 29 29 30 30 29 30 29 30 30 +1508=30 29 29 30 29 30 29 29 30 29 30 30 +1509=30 29 30 29 30 29 30 29 29 30 29 30 +1510=30 29 30 30 29 30 29 30 29 29 30 29 +1511=30 29 30 30 29 30 30 29 30 29 29 30 +1512=29 30 29 30 29 30 30 30 29 30 29 30 +1513=29 29 29 30 29 30 30 30 29 30 30 29 +1514=30 29 29 29 30 29 30 30 29 30 30 30 +1515=29 29 30 29 29 30 29 30 30 29 30 30 +1516=29 30 29 30 29 29 30 29 30 29 30 30 +1517=29 30 29 30 29 30 30 29 29 30 29 30 +1518=29 30 29 30 30 29 30 30 29 30 29 29 +1519=30 29 29 30 30 30 29 30 30 29 30 29 +1520=29 30 29 29 30 30 30 29 30 30 29 30 +1521=29 29 29 30 29 30 30 29 30 30 29 30 +1522=30 29 29 29 30 29 30 30 29 30 30 29 +1523=30 29 30 29 30 29 30 29 29 30 30 29 +1524=30 30 29 30 29 30 29 30 29 29 30 29 +1525=30 30 29 30 30 29 30 29 30 29 29 30 +1526=29 30 29 30 30 30 29 30 29 30 29 29 +1527=30 29 30 29 30 30 29 30 30 29 30 29 +1528=30 29 29 30 29 30 29 30 30 29 30 30 +1529=29 30 29 29 30 29 30 29 30 29 30 30 +1530=29 30 30 29 29 30 29 30 29 29 30 30 +1531=29 30 30 30 29 29 30 29 30 29 29 30 +1532=29 30 30 30 29 30 30 29 29 29 30 29 +1533=30 29 30 30 30 29 30 29 30 29 29 30 +1534=29 30 29 30 30 29 30 30 29 29 30 29 +1535=30 29 30 29 30 29 30 30 29 30 29 30 +1536=29 30 29 30 29 30 29 30 29 30 29 30 +1537=30 29 30 30 29 29 30 29 29 30 29 30 +1538=30 30 29 30 30 29 29 30 29 29 30 29 +1539=30 30 30 29 30 30 29 29 30 29 29 30 +1540=29 30 30 29 30 30 29 30 29 29 30 29 +1541=30 29 30 29 30 30 30 29 30 29 29 30 +1542=29 30 29 30 29 30 30 29 30 29 30 30 +1543=29 30 29 29 30 29 30 29 30 29 30 30 +1544=30 29 30 29 29 30 29 30 29 30 29 30 +1545=30 30 29 30 29 29 30 29 30 29 29 30 +1546=30 30 29 30 29 30 29 30 29 30 29 29 +1547=30 30 29 30 30 29 30 29 30 29 30 29 +1548=30 29 29 30 30 29 30 30 29 30 29 30 +1549=29 30 29 29 30 29 30 30 30 29 30 29 +1550=30 29 30 29 29 29 30 30 30 29 30 30 +1551=29 30 29 29 30 29 29 30 30 29 30 30 +1552=30 29 30 29 29 30 29 29 30 30 29 30 +1553=30 29 30 29 30 29 30 29 30 29 30 29 +1554=30 29 30 29 30 30 29 30 29 30 29 30 +1555=29 29 30 29 30 30 29 30 30 29 30 29 +1556=30 29 29 30 29 30 29 30 30 30 29 30 +1557=29 30 29 29 29 30 29 30 30 30 30 29 +1558=30 29 30 29 29 29 30 29 30 30 30 29 +1559=30 30 29 29 30 29 29 30 30 29 30 29 +1560=30 30 29 30 29 30 29 30 29 30 29 30 +1561=29 30 30 29 30 29 30 30 29 29 30 29 +1562=29 30 30 29 30 29 30 30 30 29 29 30 +1563=29 30 29 29 30 29 30 30 30 29 30 29 +1564=30 29 30 29 29 30 29 30 30 30 29 30 +1565=29 30 29 30 29 29 30 29 30 30 29 30 +1566=30 29 30 29 30 29 29 30 29 30 29 30 +1567=30 29 30 30 29 30 29 30 29 29 30 29 +1568=30 29 30 30 30 29 30 29 30 29 29 29 +1569=30 29 30 30 30 29 30 30 29 30 29 29 +1570=29 30 29 30 30 29 30 30 30 29 29 30 +1571=29 29 30 29 30 30 29 30 30 29 30 29 +1572=30 29 29 30 29 30 29 30 30 29 30 29 +1573=30 29 30 30 29 30 29 29 30 29 30 29 +1574=30 30 29 30 30 29 30 29 29 30 29 29 +1575=30 30 30 29 30 30 29 30 29 29 29 30 +1576=29 30 30 29 30 30 30 29 30 29 29 29 +1577=30 29 30 30 29 30 30 29 30 29 30 29 +1578=29 30 29 30 29 30 30 29 30 30 29 30 +1579=29 30 29 30 29 29 30 30 29 30 29 30 +1580=29 30 30 29 30 29 29 30 29 30 29 30 +1581=30 30 29 30 29 30 29 29 30 29 30 29 +1582=30 30 29 30 30 29 30 29 30 29 29 29 +1583=30 30 29 30 30 30 29 30 29 30 29 29 +1584=29 30 30 29 30 30 29 30 30 29 30 29 +1585=29 30 29 30 29 30 29 30 30 29 30 30 +1586=29 29 30 29 30 29 29 30 30 30 29 30 +1587=29 30 30 29 29 29 30 29 30 29 30 30 +1588=30 29 30 30 29 29 29 30 29 30 29 30 +1589=30 29 30 30 29 30 29 29 30 29 30 29 +1590=30 29 30 30 30 29 29 30 29 30 29 30 +1591=29 30 29 30 30 29 30 29 30 29 30 29 +1592=30 29 30 29 30 29 30 29 30 30 30 29 +1593=30 29 29 30 29 29 30 29 30 30 30 29 +1594=30 30 29 29 30 29 29 29 30 30 30 30 +1595=29 30 29 30 29 29 30 29 29 30 30 30 +1596=29 30 30 29 30 29 29 30 29 30 29 30 +1597=29 30 30 29 30 29 30 29 30 29 30 29 +1598=30 29 30 29 30 30 29 30 29 30 30 29 +1599=29 30 29 30 29 30 29 30 30 30 29 30 +1600=29 29 30 29 30 29 29 30 30 30 29 30 diff --git a/tools/java/lib/images/cursors/cursors.properties b/tools/java/lib/images/cursors/cursors.properties new file mode 100644 index 0000000..77ce925 --- /dev/null +++ b/tools/java/lib/images/cursors/cursors.properties @@ -0,0 +1,40 @@ +# +# +# Cursors Properties file +# +# Names GIF89 sources for Custom Cursors and their associated HotSpots +# +# Note: the syntax of the property name is significant and is parsed +# by java.awt.Cursor +# +# The syntax is: Cursor...File=win32_ +# Cursor...HotSpot=, +# Cursor...Name= +# +Cursor.CopyDrop.32x32.File=win32_CopyDrop32x32.gif +Cursor.CopyDrop.32x32.HotSpot=0,0 +Cursor.CopyDrop.32x32.Name=CopyDrop32x32 +# +Cursor.MoveDrop.32x32.File=win32_MoveDrop32x32.gif +Cursor.MoveDrop.32x32.HotSpot=0,0 +Cursor.MoveDrop.32x32.Name=MoveDrop32x32 +# +Cursor.LinkDrop.32x32.File=win32_LinkDrop32x32.gif +Cursor.LinkDrop.32x32.HotSpot=0,0 +Cursor.LinkDrop.32x32.Name=LinkDrop32x32 +# +Cursor.CopyNoDrop.32x32.File=win32_CopyNoDrop32x32.gif +Cursor.CopyNoDrop.32x32.HotSpot=6,2 +Cursor.CopyNoDrop.32x32.Name=CopyNoDrop32x32 +# +Cursor.MoveNoDrop.32x32.File=win32_MoveNoDrop32x32.gif +Cursor.MoveNoDrop.32x32.HotSpot=6,2 +Cursor.MoveNoDrop.32x32.Name=MoveNoDrop32x32 +# +Cursor.LinkNoDrop.32x32.File=win32_LinkNoDrop32x32.gif +Cursor.LinkNoDrop.32x32.HotSpot=6,2 +Cursor.LinkNoDrop.32x32.Name=LinkNoDrop32x32 +# +Cursor.Invalid.32x32.File=invalid32x32.gif +Cursor.Invalid.32x32.HotSpot=6,2 +Cursor.Invalid.32x32.Name=Invalid32x32 diff --git a/tools/java/lib/images/cursors/invalid32x32.gif b/tools/java/lib/images/cursors/invalid32x32.gif new file mode 100644 index 0000000..64c265d Binary files /dev/null and b/tools/java/lib/images/cursors/invalid32x32.gif differ diff --git a/tools/java/lib/images/cursors/win32_CopyDrop32x32.gif b/tools/java/lib/images/cursors/win32_CopyDrop32x32.gif new file mode 100644 index 0000000..8a47b47 Binary files /dev/null and b/tools/java/lib/images/cursors/win32_CopyDrop32x32.gif differ diff --git a/tools/java/lib/images/cursors/win32_CopyNoDrop32x32.gif b/tools/java/lib/images/cursors/win32_CopyNoDrop32x32.gif new file mode 100644 index 0000000..64c265d Binary files /dev/null and b/tools/java/lib/images/cursors/win32_CopyNoDrop32x32.gif differ diff --git a/tools/java/lib/images/cursors/win32_LinkDrop32x32.gif b/tools/java/lib/images/cursors/win32_LinkDrop32x32.gif new file mode 100644 index 0000000..be3628f Binary files /dev/null and b/tools/java/lib/images/cursors/win32_LinkDrop32x32.gif differ diff --git a/tools/java/lib/images/cursors/win32_LinkNoDrop32x32.gif b/tools/java/lib/images/cursors/win32_LinkNoDrop32x32.gif new file mode 100644 index 0000000..64c265d Binary files /dev/null and b/tools/java/lib/images/cursors/win32_LinkNoDrop32x32.gif differ diff --git a/tools/java/lib/images/cursors/win32_MoveDrop32x32.gif b/tools/java/lib/images/cursors/win32_MoveDrop32x32.gif new file mode 100644 index 0000000..a2d986b Binary files /dev/null and b/tools/java/lib/images/cursors/win32_MoveDrop32x32.gif differ diff --git a/tools/java/lib/images/cursors/win32_MoveNoDrop32x32.gif b/tools/java/lib/images/cursors/win32_MoveNoDrop32x32.gif new file mode 100644 index 0000000..64c265d Binary files /dev/null and b/tools/java/lib/images/cursors/win32_MoveNoDrop32x32.gif differ diff --git a/tools/java/lib/javafx.properties b/tools/java/lib/javafx.properties new file mode 100644 index 0000000..4c44f27 --- /dev/null +++ b/tools/java/lib/javafx.properties @@ -0,0 +1,2 @@ +javafx.runtime.version=8.0.201 +javafx.runtime.build=b08 diff --git a/tools/java/lib/jce.jar b/tools/java/lib/jce.jar new file mode 100644 index 0000000..4a7d4f3 Binary files /dev/null and b/tools/java/lib/jce.jar differ diff --git a/tools/java/lib/jsse.jar b/tools/java/lib/jsse.jar new file mode 100644 index 0000000..3446146 Binary files /dev/null and b/tools/java/lib/jsse.jar differ diff --git a/tools/java/lib/jvm.hprof.txt b/tools/java/lib/jvm.hprof.txt new file mode 100644 index 0000000..3c8e5fc --- /dev/null +++ b/tools/java/lib/jvm.hprof.txt @@ -0,0 +1,86 @@ +Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - 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. + + - Neither the name of Oracle nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR +CONTRIBUTORS 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. + + +Header for -agentlib:hprof (or -Xrunhprof) ASCII Output (JDK 5.0 JVMTI based) + +WARNING! This file format is under development, and is subject to +change without notice. + +This file contains the following types of records: + +THREAD START +THREAD END mark the lifetime of Java threads + +TRACE represents a Java stack trace. Each trace consists + of a series of stack frames. Other records refer to + TRACEs to identify (1) where object allocations have + taken place, (2) the frames in which GC roots were + found, and (3) frequently executed methods. + +HEAP DUMP is a complete snapshot of all live objects in the Java + heap. Following distinctions are made: + + ROOT root set as determined by GC + CLS classes + OBJ instances + ARR arrays + +SITES is a sorted list of allocation sites. This identifies + the most heavily allocated object types, and the TRACE + at which those allocations occurred. + +CPU SAMPLES is a statistical profile of program execution. The VM + periodically samples all running threads, and assigns + a quantum to active TRACEs in those threads. Entries + in this record are TRACEs ranked by the percentage of + total quanta they consumed; top-ranked TRACEs are + typically hot spots in the program. + +CPU TIME is a profile of program execution obtained by measuring + the time spent in individual methods (excluding the time + spent in callees), as well as by counting the number of + times each method is called. Entries in this record are + TRACEs ranked by the percentage of total CPU time. The + "count" field indicates the number of times each TRACE + is invoked. + +MONITOR TIME is a profile of monitor contention obtained by measuring + the time spent by a thread waiting to enter a monitor. + Entries in this record are TRACEs ranked by the percentage + of total monitor contention time and a brief description + of the monitor. The "count" field indicates the number of + times the monitor was contended at that TRACE. + +MONITOR DUMP is a complete snapshot of all the monitors and threads in + the System. + +HEAP DUMP, SITES, CPU SAMPLES|TIME and MONITOR DUMP|TIME records are generated +at program exit. They can also be obtained during program execution by typing +Ctrl-\ (on Solaris) or by typing Ctrl-Break (on Win32). diff --git a/tools/java/lib/logging.properties b/tools/java/lib/logging.properties new file mode 100644 index 0000000..65cf1b1 --- /dev/null +++ b/tools/java/lib/logging.properties @@ -0,0 +1,59 @@ +############################################################ +# Default Logging Configuration File +# +# You can use a different file by specifying a filename +# with the java.util.logging.config.file system property. +# For example java -Djava.util.logging.config.file=myfile +############################################################ + +############################################################ +# Global properties +############################################################ + +# "handlers" specifies a comma separated list of log Handler +# classes. These handlers will be installed during VM startup. +# Note that these classes must be on the system classpath. +# By default we only configure a ConsoleHandler, which will only +# show messages at the INFO and above levels. +handlers= java.util.logging.ConsoleHandler + +# To also add the FileHandler, use the following line instead. +#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler + +# Default global logging level. +# This specifies which kinds of events are logged across +# all loggers. For any given facility this global level +# can be overriden by a facility specific level +# Note that the ConsoleHandler also has a separate level +# setting to limit messages printed to the console. +.level= INFO + +############################################################ +# Handler specific properties. +# Describes specific configuration info for Handlers. +############################################################ + +# default file output is in user's home directory. +java.util.logging.FileHandler.pattern = %h/java%u.log +java.util.logging.FileHandler.limit = 50000 +java.util.logging.FileHandler.count = 1 +java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter + +# Limit the message that are printed on the console to INFO and above. +java.util.logging.ConsoleHandler.level = INFO +java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter + +# Example to customize the SimpleFormatter output format +# to print one-line log message like this: +# : [] +# +# java.util.logging.SimpleFormatter.format=%4$s: %5$s [%1$tc]%n + +############################################################ +# Facility specific properties. +# Provides extra control for each logger. +############################################################ + +# For example, set the com.xyz.foo logger to only log SEVERE +# messages: +com.xyz.foo.level = SEVERE diff --git a/tools/java/lib/management-agent.jar b/tools/java/lib/management-agent.jar new file mode 100644 index 0000000..db4a96b Binary files /dev/null and b/tools/java/lib/management-agent.jar differ diff --git a/tools/java/lib/management/jmxremote.access b/tools/java/lib/management/jmxremote.access new file mode 100644 index 0000000..ce80b47 --- /dev/null +++ b/tools/java/lib/management/jmxremote.access @@ -0,0 +1,79 @@ +###################################################################### +# Default Access Control File for Remote JMX(TM) Monitoring +###################################################################### +# +# Access control file for Remote JMX API access to monitoring. +# This file defines the allowed access for different roles. The +# password file (jmxremote.password by default) defines the roles and their +# passwords. To be functional, a role must have an entry in +# both the password and the access files. +# +# The default location of this file is $JRE/lib/management/jmxremote.access +# You can specify an alternate location by specifying a property in +# the management config file $JRE/lib/management/management.properties +# (See that file for details) +# +# The file format for password and access files is syntactically the same +# as the Properties file format. The syntax is described in the Javadoc +# for java.util.Properties.load. +# A typical access file has multiple lines, where each line is blank, +# a comment (like this one), or an access control entry. +# +# An access control entry consists of a role name, and an +# associated access level. The role name is any string that does not +# itself contain spaces or tabs. It corresponds to an entry in the +# password file (jmxremote.password). The access level is one of the +# following: +# "readonly" grants access to read attributes of MBeans. +# For monitoring, this means that a remote client in this +# role can read measurements but cannot perform any action +# that changes the environment of the running program. +# "readwrite" grants access to read and write attributes of MBeans, +# to invoke operations on them, and optionally +# to create or remove them. This access should be granted +# only to trusted clients, since they can potentially +# interfere with the smooth operation of a running program. +# +# The "readwrite" access level can optionally be followed by the "create" and/or +# "unregister" keywords. The "unregister" keyword grants access to unregister +# (delete) MBeans. The "create" keyword grants access to create MBeans of a +# particular class or of any class matching a particular pattern. Access +# should only be granted to create MBeans of known and trusted classes. +# +# For example, the following entry would grant readwrite access +# to "controlRole", as well as access to create MBeans of the class +# javax.management.monitor.CounterMonitor and to unregister any MBean: +# controlRole readwrite \ +# create javax.management.monitor.CounterMonitorMBean \ +# unregister +# or equivalently: +# controlRole readwrite unregister create javax.management.monitor.CounterMBean +# +# The following entry would grant readwrite access as well as access to create +# MBeans of any class in the packages javax.management.monitor and +# javax.management.timer: +# controlRole readwrite \ +# create javax.management.monitor.*,javax.management.timer.* \ +# unregister +# +# The \ character is defined in the Properties file syntax to allow continuation +# lines as shown here. A * in a class pattern matches a sequence of characters +# other than dot (.), so javax.management.monitor.* matches +# javax.management.monitor.CounterMonitor but not +# javax.management.monitor.foo.Bar. +# +# A given role should have at most one entry in this file. If a role +# has no entry, it has no access. +# If multiple entries are found for the same role name, then the last +# access entry is used. +# +# +# Default access control entries: +# o The "monitorRole" role has readonly access. +# o The "controlRole" role has readwrite access and can create the standard +# Timer and Monitor MBeans defined by the JMX API. + +monitorRole readonly +controlRole readwrite \ + create javax.management.monitor.*,javax.management.timer.* \ + unregister diff --git a/tools/java/lib/management/jmxremote.password.template b/tools/java/lib/management/jmxremote.password.template new file mode 100644 index 0000000..a7e7daa --- /dev/null +++ b/tools/java/lib/management/jmxremote.password.template @@ -0,0 +1,64 @@ +# ---------------------------------------------------------------------- +# Template for jmxremote.password +# +# o Copy this template to jmxremote.password +# o Set the user/password entries in jmxremote.password +# o Change the permission of jmxremote.password to read-only +# by the owner. +# +# See below for the location of jmxremote.password file. +# ---------------------------------------------------------------------- + +############################################################## +# Password File for Remote JMX Monitoring +############################################################## +# +# Password file for Remote JMX API access to monitoring. This +# file defines the different roles and their passwords. The access +# control file (jmxremote.access by default) defines the allowed +# access for each role. To be functional, a role must have an entry +# in both the password and the access files. +# +# Default location of this file is $JRE/lib/management/jmxremote.password +# You can specify an alternate location by specifying a property in +# the management config file $JRE/lib/management/management.properties +# or by specifying a system property (See that file for details). + + +############################################################## +# File permissions of the jmxremote.password file +############################################################## +# Since there are cleartext passwords stored in this file, +# this file must be readable by ONLY the owner, +# otherwise the program will exit with an error. +# +# The file format for password and access files is syntactically the same +# as the Properties file format. The syntax is described in the Javadoc +# for java.util.Properties.load. +# Typical password file has multiple lines, where each line is blank, +# a comment (like this one), or a password entry. +# +# +# A password entry consists of a role name and an associated +# password. The role name is any string that does not itself contain +# spaces or tabs. The password is again any string that does not +# contain spaces or tabs. Note that passwords appear in the clear in +# this file, so it is a good idea not to use valuable passwords. +# +# A given role should have at most one entry in this file. If a role +# has no entry, it has no access. +# If multiple entries are found for the same role name, then the last one +# is used. +# +# In a typical installation, this file can be read by anybody on the +# local machine, and possibly by people on other machines. +# For # security, you should either restrict the access to this file, +# or specify another, less accessible file in the management config file +# as described above. +# +# Following are two commented-out entries. The "measureRole" role has +# password "QED". The "controlRole" role has password "R&D". +# +# monitorRole QED +# controlRole R&D + diff --git a/tools/java/lib/management/management.properties b/tools/java/lib/management/management.properties new file mode 100644 index 0000000..70efa2e --- /dev/null +++ b/tools/java/lib/management/management.properties @@ -0,0 +1,331 @@ +##################################################################### +# Default Configuration File for Java Platform Management +##################################################################### +# +# The Management Configuration file (in java.util.Properties format) +# will be read if one of the following system properties is set: +# -Dcom.sun.management.jmxremote.port= +# or -Dcom.sun.management.snmp.port= +# or -Dcom.sun.management.config.file= +# +# The default Management Configuration file is: +# +# $JRE/lib/management/management.properties +# +# Another location for the Management Configuration File can be specified +# by the following property on the Java command line: +# +# -Dcom.sun.management.config.file= +# +# If -Dcom.sun.management.config.file= is set, the port +# number for the management agent can be specified in the config file +# using the following lines: +# +# ################ Management Agent Port ######################### +# +# For setting the JMX RMI agent port use the following line +# com.sun.management.jmxremote.port= +# +# For setting the SNMP agent port use the following line +# com.sun.management.snmp.port= + +##################################################################### +# Optional Instrumentation +##################################################################### +# +# By default only the basic instrumentation with low overhead is on. +# The following properties allow to selectively turn on optional +# instrumentation which are off by default and may have some +# additional overhead. +# +# com.sun.management.enableThreadContentionMonitoring +# +# This option enables thread contention monitoring if the +# Java virtual machine supports such instrumentation. +# Refer to the specification for the java.lang.management.ThreadMBean +# interface - see isThreadContentionMonitoringSupported() method. +# + +# To enable thread contention monitoring, uncomment the following line +# com.sun.management.enableThreadContentionMonitoring + +##################################################################### +# SNMP Management Properties +##################################################################### +# +# If the system property -Dcom.sun.management.snmp.port= +# is set then +# - The SNMP agent (with the Java virtual machine MIB) is started +# that listens on the specified port for incoming SNMP requests. +# - the following properties for read for SNMP management. +# +# The configuration can be specified only at startup time. +# Later changes to the above system property (e.g. via setProperty method), this +# config file, or the ACL file has no effect to the running SNMP agent. +# + +# +# ##################### SNMP Trap Port ######################### +# +# com.sun.management.snmp.trap= +# Specifies the remote port number at which managers are expected +# to listen for trap. For each host defined in the ACL file, +# the SNMP agent will send traps at : +# Default for this property is 162. +# + +# To set port for sending traps to a different port use the following line +# com.sun.management.snmp.trap= + +# +# ################ SNMP listen interface ######################### +# +# com.sun.management.snmp.interface= +# Specifies the local interface on which the SNMP agent will bind. +# This is useful when running on machines which have several +# interfaces defined. It makes it possible to listen to a specific +# subnet accessible through that interface. +# Default for this property is "localhost". +# +# The format of the value for that property is any string accepted +# by java.net.InetAddress.getByName(String). +# + +# For restricting the port on which SNMP agent listens use the following line +# com.sun.management.snmp.interface= + +# +# #################### SNMP ACL file ######################### +# +# com.sun.management.snmp.acl=true|false +# Default for this property is true. (Case for true/false ignored) +# If this property is specified as false then the ACL file +# is not checked: all manager hosts are allowed all access. +# + +# For SNMP without checking ACL file uncomment the following line +# com.sun.management.snmp.acl=false + +# +# com.sun.management.snmp.acl.file=filepath +# Specifies location for ACL file +# This is optional - default location is +# $JRE/lib/management/snmp.acl +# +# If the property "com.sun.management.snmp.acl" is set to false, +# then this property and the ACL file are ignored. +# Otherwise the ACL file must exist and be in the valid format. +# If the ACL file is empty or non existent then no access is allowed. +# +# The SNMP agent will read the ACL file at startup time. +# Modification to the ACL file has no effect to any running SNMP +# agents which read that ACL file at startup. +# + +# For a non-default acl file location use the following line +# com.sun.management.snmp.acl.file=filepath + +##################################################################### +# RMI Management Properties +##################################################################### +# +# If system property -Dcom.sun.management.jmxremote.port= +# is set then +# - A MBean server is started +# - JRE Platform MBeans are registered in the MBean server +# - RMI connector is published in a private readonly registry at +# specified port using a well known name, "jmxrmi" +# - the following properties are read for JMX remote management. +# +# The configuration can be specified only at startup time. +# Later changes to above system property (e.g. via setProperty method), +# this config file, the password file, or the access file have no effect to the +# running MBean server, the connector, or the registry. +# + +# +# ########## RMI connector settings for local management ########## +# +# com.sun.management.jmxremote.local.only=true|false +# Default for this property is true. (Case for true/false ignored) +# If this property is specified as true then the local JMX RMI connector +# server will only accept connection requests from clients running on +# the host where the out-of-the-box JMX management agent is running. +# In order to ensure backwards compatibility this property could be +# set to false. However, deploying the local management agent in this +# way is discouraged because the local JMX RMI connector server will +# accept connection requests from any client either local or remote. +# For remote management the remote JMX RMI connector server should +# be used instead with authentication and SSL/TLS encryption enabled. +# + +# For allowing the local management agent accept local +# and remote connection requests use the following line +# com.sun.management.jmxremote.local.only=false + +# +# ###################### RMI SSL ############################# +# +# com.sun.management.jmxremote.ssl=true|false +# Default for this property is true. (Case for true/false ignored) +# If this property is specified as false then SSL is not used. +# + +# For RMI monitoring without SSL use the following line +# com.sun.management.jmxremote.ssl=false + +# com.sun.management.jmxremote.ssl.config.file=filepath +# Specifies the location of the SSL configuration file. A properties +# file can be used to supply the keystore and truststore location and +# password settings thus avoiding to pass them as cleartext in the +# command-line. +# +# The current implementation of the out-of-the-box management agent will +# look up and use the properties specified below to configure the SSL +# keystore and truststore, if present: +# javax.net.ssl.keyStore= +# javax.net.ssl.keyStorePassword= +# javax.net.ssl.trustStore= +# javax.net.ssl.trustStorePassword= +# Any other properties in the file will be ignored. This will allow us +# to extend the property set in the future if required by the default +# SSL implementation. +# +# If the property "com.sun.management.jmxremote.ssl" is set to false, +# then this property is ignored. +# + +# For supplying the keystore settings in a file use the following line +# com.sun.management.jmxremote.ssl.config.file=filepath + +# com.sun.management.jmxremote.ssl.enabled.cipher.suites= +# The value of this property is a string that is a comma-separated list +# of SSL/TLS cipher suites to enable. This property can be specified in +# conjunction with the previous property "com.sun.management.jmxremote.ssl" +# in order to control which particular SSL/TLS cipher suites are enabled +# for use by accepted connections. If this property is not specified then +# the SSL/TLS RMI Server Socket Factory uses the SSL/TLS cipher suites that +# are enabled by default. +# + +# com.sun.management.jmxremote.ssl.enabled.protocols= +# The value of this property is a string that is a comma-separated list +# of SSL/TLS protocol versions to enable. This property can be specified in +# conjunction with the previous property "com.sun.management.jmxremote.ssl" +# in order to control which particular SSL/TLS protocol versions are +# enabled for use by accepted connections. If this property is not +# specified then the SSL/TLS RMI Server Socket Factory uses the SSL/TLS +# protocol versions that are enabled by default. +# + +# com.sun.management.jmxremote.ssl.need.client.auth=true|false +# Default for this property is false. (Case for true/false ignored) +# If this property is specified as true in conjunction with the previous +# property "com.sun.management.jmxremote.ssl" then the SSL/TLS RMI Server +# Socket Factory will require client authentication. +# + +# For RMI monitoring with SSL client authentication use the following line +# com.sun.management.jmxremote.ssl.need.client.auth=true + +# com.sun.management.jmxremote.registry.ssl=true|false +# Default for this property is false. (Case for true/false ignored) +# If this property is specified as true then the RMI registry used +# to bind the RMIServer remote object is protected with SSL/TLS +# RMI Socket Factories that can be configured with the properties: +# com.sun.management.jmxremote.ssl.config.file +# com.sun.management.jmxremote.ssl.enabled.cipher.suites +# com.sun.management.jmxremote.ssl.enabled.protocols +# com.sun.management.jmxremote.ssl.need.client.auth +# If the two properties below are true at the same time, i.e. +# com.sun.management.jmxremote.ssl=true +# com.sun.management.jmxremote.registry.ssl=true +# then the RMIServer remote object and the RMI registry are +# both exported with the same SSL/TLS RMI Socket Factories. +# + +# For using an SSL/TLS protected RMI registry use the following line +# com.sun.management.jmxremote.registry.ssl=true + +# +# ################ RMI User authentication ################ +# +# com.sun.management.jmxremote.authenticate=true|false +# Default for this property is true. (Case for true/false ignored) +# If this property is specified as false then no authentication is +# performed and all users are allowed all access. +# + +# For RMI monitoring without any checking use the following line +# com.sun.management.jmxremote.authenticate=false + +# +# ################ RMI Login configuration ################### +# +# com.sun.management.jmxremote.login.config= +# Specifies the name of a JAAS login configuration entry to use when +# authenticating users of RMI monitoring. +# +# Setting this property is optional - the default login configuration +# specifies a file-based authentication that uses the password file. +# +# When using this property to override the default login configuration +# then the named configuration entry must be in a file that gets loaded +# by JAAS. In addition, the login module(s) specified in the configuration +# should use the name and/or password callbacks to acquire the user's +# credentials. See the NameCallback and PasswordCallback classes in the +# javax.security.auth.callback package for more details. +# +# If the property "com.sun.management.jmxremote.authenticate" is set to +# false, then this property and the password & access files are ignored. +# + +# For a non-default login configuration use the following line +# com.sun.management.jmxremote.login.config= + +# +# ################ RMI Password file location ################## +# +# com.sun.management.jmxremote.password.file=filepath +# Specifies location for password file +# This is optional - default location is +# $JRE/lib/management/jmxremote.password +# +# If the property "com.sun.management.jmxremote.authenticate" is set to +# false, then this property and the password & access files are ignored. +# Otherwise the password file must exist and be in the valid format. +# If the password file is empty or non-existent then no access is allowed. +# + +# For a non-default password file location use the following line +# com.sun.management.jmxremote.password.file=filepath + +# +# ################ RMI Access file location ##################### +# +# com.sun.management.jmxremote.access.file=filepath +# Specifies location for access file +# This is optional - default location is +# $JRE/lib/management/jmxremote.access +# +# If the property "com.sun.management.jmxremote.authenticate" is set to +# false, then this property and the password & access files are ignored. +# Otherwise, the access file must exist and be in the valid format. +# If the access file is empty or non-existent then no access is allowed. +# + +# For a non-default password file location use the following line +# com.sun.management.jmxremote.access.file=filepath +# + +# ################ Management agent listen interface ######################### +# +# com.sun.management.jmxremote.host= +# Specifies the local interface on which the JMX RMI agent will bind. +# This is useful when running on machines which have several +# interfaces defined. It makes it possible to listen to a specific +# subnet accessible through that interface. +# +# The format of the value for that property is any string accepted +# by java.net.InetAddress.getByName(String). +# diff --git a/tools/java/lib/management/snmp.acl.template b/tools/java/lib/management/snmp.acl.template new file mode 100644 index 0000000..0e76676 --- /dev/null +++ b/tools/java/lib/management/snmp.acl.template @@ -0,0 +1,110 @@ +# ---------------------------------------------------------------------- +# Template for SNMP Access Control List File +# +# o Copy this template to snmp.acl +# o Set access control for SNMP support +# o Change the permission of snmp.acl to be read-only +# by the owner. +# +# See below for the location of snmp.acl file. +# ---------------------------------------------------------------------- + +############################################################ +# SNMP Access Control List File +############################################################ +# +# Default location of this file is $JRE/lib/management/snmp.acl. +# You can specify an alternate location by specifying a property in +# the management config file $JRE/lib/management/management.properties +# or by specifying a system property (See that file for details). +# + + +############################################################## +# File permissions of the snmp.acl file +############################################################## +# +# Since there are cleartext community strings stored in this file, +# this ACL file must be readable by ONLY the owner, +# otherwise the program will exit with an error. +# +############################################################## +# Format of the acl group +############################################################## +# +# communities: a list of SNMP community strings to which the +# access control applies separated by commas. +# +# access: either "read-only" or "read-write". +# +# managers: a list of hosts to be granted the access rights. +# Each can be expressed as any one of the following: +# - hostname: hubble +# - ip v4 and v6 addresses: 123.456.789.12 , fe80::a00:20ff:fe9b:ea82 +# - ip v4 and v6 netmask prefix notation: 123.456.789.0/24, +# fe80::a00:20ff:fe9b:ea82/64 +# see RFC 2373 (http://www.ietf.org/rfc/rfc2373.txt) +# +# An example of two community groups for multiple hosts: +# acl = { +# { +# communities = public, private +# access = read-only +# managers = hubble, snowbell, nanak +# } +# { +# communities = jerry +# access = read-write +# managers = hubble, telescope +# } +# } +# +############################################################## +# Format of the trap group +############################################################## +# +# trap-community: a single SNMP community string that will be included +# in the traps sent to the hosts. +# +# hosts: a list of hosts to which the SNMP agent will send traps. +# +# An example of two trap community definitions for multiple hosts: +# trap = { +# { +# trap-community = public +# hosts = hubble, snowbell +# } +# { +# trap-community = private +# hosts = telescope +# } +# } +# +############################################################ +# +# Update the community strings (public and private) below +# before copying this template file +# +# Common SNMP ACL Example +# ------------------------ +# +# o Only localhost can connect, and access rights +# are limited to read-only +# o Traps are sent to localhost only +# +# +# acl = { +# { +# communities = public, private +# access = read-only +# managers = localhost +# } +# } +# +# +# trap = { +# { +# trap-community = public +# hosts = localhost +# } +# } diff --git a/tools/java/lib/meta-index b/tools/java/lib/meta-index new file mode 100644 index 0000000..cb27dd2 --- /dev/null +++ b/tools/java/lib/meta-index @@ -0,0 +1,92 @@ +% VERSION 2 +% WARNING: this file is auto-generated; do not edit +% UNSUPPORTED: this file and its format may change and/or +% may be removed in a future release +# charsets.jar +sun/nio +sun/awt +# jce.jar +javax/crypto +sun/security +META-INF/ORACLE_J.RSA +META-INF/ORACLE_J.SF +# jfr.jar +oracle/jrockit/ +jdk/jfr +com/oracle/jrockit/ +! jsse.jar +sun/security +com/sun/net/ +! management-agent.jar +@ resources.jar +com/sun/java/util/jar/pack/ +META-INF/services/sun.util.spi.XmlPropertiesProvider +META-INF/services/javax.print.PrintServiceLookup +com/sun/corba/ +META-INF/services/javax.sound.midi.spi.SoundbankReader +sun/print +META-INF/services/javax.sound.midi.spi.MidiFileReader +META-INF/services/sun.java2d.cmm.CMMServiceProvider +javax/swing +META-INF/services/javax.sound.sampled.spi.AudioFileReader +META-INF/services/javax.sound.midi.spi.MidiDeviceProvider +sun/net +META-INF/services/javax.sound.sampled.spi.AudioFileWriter +com/sun/imageio/ +META-INF/services/sun.java2d.pipe.RenderingEngine +META-INF/mimetypes.default +META-INF/services/javax.sound.midi.spi.MidiFileWriter +sun/rmi +javax/sql +META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin +com/sun/rowset/ +META-INF/services/javax.print.StreamPrintServiceFactory +META-INF/mailcap.default +java/lang +sun/text +javax/xml +META-INF/services/javax.sound.sampled.spi.MixerProvider +com/sun/xml/ +META-INF/services/com.sun.tools.internal.xjc.Plugin +com/sun/java/swing/ +com/sun/jndi/ +com/sun/org/ +META-INF/services/javax.sound.sampled.spi.FormatConversionProvider +! rt.jar +com/sun/java/util/jar/pack/ +java/ +org/ietf/ +com/sun/beans/ +com/sun/tracing/ +com/sun/java/browser/ +com/sun/corba/ +com/sun/media/ +com/sun/awt/ +com/sun/management/ +sun/ +com/sun/jmx/ +com/sun/demo/ +com/sun/imageio/ +com/sun/net/ +com/sun/rmi/ +org/w3c/ +com/sun/swing/ +com/sun/activation/ +com/sun/nio/ +com/sun/rowset/ +org/jcp/ +com/sun/istack/ +jdk/ +com/sun/naming/ +org/xml/ +org/omg/ +com/sun/security/ +com/sun/image/ +com/sun/xml/ +com/sun/java/swing/ +com/oracle/ +com/sun/java_cup/ +com/sun/jndi/ +com/sun/accessibility/ +com/sun/org/ +javax/ diff --git a/tools/java/lib/net.properties b/tools/java/lib/net.properties new file mode 100644 index 0000000..a541eef --- /dev/null +++ b/tools/java/lib/net.properties @@ -0,0 +1,121 @@ +############################################################ +# Default Networking Configuration File +# +# This file may contain default values for the networking system properties. +# These values are only used when the system properties are not specified +# on the command line or set programatically. +# For now, only the various proxy settings can be configured here. +############################################################ + +# Whether or not the DefaultProxySelector will default to System Proxy +# settings when they do exist. +# Set it to 'true' to enable this feature and check for platform +# specific proxy settings +# Note that the system properties that do explicitely set proxies +# (like http.proxyHost) do take precedence over the system settings +# even if java.net.useSystemProxies is set to true. + +java.net.useSystemProxies=false + +#------------------------------------------------------------------------ +# Proxy configuration for the various protocol handlers. +# DO NOT uncomment these lines if you have set java.net.useSystemProxies +# to true as the protocol specific properties will take precedence over +# system settings. +#------------------------------------------------------------------------ + +# HTTP Proxy settings. proxyHost is the name of the proxy server +# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default +# value is 80) and nonProxyHosts is a '|' separated list of hostnames which +# should be accessed directly, ignoring the proxy server (default value is +# localhost & 127.0.0.1). +# +# http.proxyHost= +# http.proxyPort=80 +http.nonProxyHosts=localhost|127.*|[::1] +# +# HTTPS Proxy Settings. proxyHost is the name of the proxy server +# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default +# value is 443). The HTTPS protocol handlers uses the http nonProxyHosts list. +# +# https.proxyHost= +# https.proxyPort=443 +# +# FTP Proxy settings. proxyHost is the name of the proxy server +# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default +# value is 80) and nonProxyHosts is a '|' separated list of hostnames which +# should be accessed directly, ignoring the proxy server (default value is +# localhost & 127.0.0.1). +# +# ftp.proxyHost= +# ftp.proxyPort=80 +ftp.nonProxyHosts=localhost|127.*|[::1] +# +# Gopher Proxy settings. proxyHost is the name of the proxy server +# (e.g. proxy.mydomain.com), proxyPort is the port number to use (default +# value is 80) +# +# gopher.proxyHost= +# gopher.proxyPort=80 +# +# Socks proxy settings. socksProxyHost is the name of the proxy server +# (e.g. socks.domain.com), socksProxyPort is the port number to use +# (default value is 1080) +# +# socksProxyHost= +# socksProxyPort=1080 +# +# HTTP Keep Alive settings. remainingData is the maximum amount of data +# in kilobytes that will be cleaned off the underlying socket so that it +# can be reused (default value is 512K), queuedConnections is the maximum +# number of Keep Alive connections to be on the queue for clean up (default +# value is 10). +# http.KeepAlive.remainingData=512 +# http.KeepAlive.queuedConnections=10 + +# Authentication Scheme restrictions for HTTP and HTTPS. +# +# In some environments certain authentication schemes may be undesirable +# when proxying HTTP or HTTPS. For example, "Basic" results in effectively the +# cleartext transmission of the user's password over the physical network. +# This section describes the mechanism for disabling authentication schemes +# based on the scheme name. Disabled schemes will be treated as if they are not +# supported by the implementation. +# +# The 'jdk.http.auth.tunneling.disabledSchemes' property lists the authentication +# schemes that will be disabled when tunneling HTTPS over a proxy, HTTP CONNECT. +# The 'jdk.http.auth.proxying.disabledSchemes' property lists the authentication +# schemes that will be disabled when proxying HTTP. +# +# In both cases the property is a comma-separated list of, case-insensitive, +# authentication scheme names, as defined by their relevant RFCs. An +# implementation may, but is not required to, support common schemes whose names +# include: 'Basic', 'Digest', 'NTLM', 'Kerberos', 'Negotiate'. A scheme that +# is not known, or not supported, by the implementation is ignored. +# +# Note: This property is currently used by the JDK Reference implementation. It +# is not guaranteed to be examined and used by other implementations. +# +#jdk.http.auth.proxying.disabledSchemes= +jdk.http.auth.tunneling.disabledSchemes=Basic + +# +# Transparent NTLM HTTP authentication mode on Windows. Transparent authentication +# can be used for the NTLM scheme, where the security credentials based on the +# currently logged in user's name and password can be obtained directly from the +# operating system, without prompting the user. This property has three possible +# values which regulate the behavior as shown below. Other unrecognized values +# are handled the same as 'disabled'. Note, that NTLM is not considered to be a +# strongly secure authentication scheme and care should be taken before enabling +# this mechanism. +# +# Transparent authentication never used. +#jdk.http.ntlm.transparentAuth=disabled +# +# Enabled for all hosts. +#jdk.http.ntlm.transparentAuth=allHosts +# +# Enabled for hosts that are trusted in Windows Internet settings +#jdk.http.ntlm.transparentAuth=trustedHosts +# +jdk.http.ntlm.transparentAuth=disabled diff --git a/tools/java/lib/plugin.jar b/tools/java/lib/plugin.jar new file mode 100644 index 0000000..47ec048 Binary files /dev/null and b/tools/java/lib/plugin.jar differ diff --git a/tools/java/lib/psfont.properties.ja b/tools/java/lib/psfont.properties.ja new file mode 100644 index 0000000..98a895f --- /dev/null +++ b/tools/java/lib/psfont.properties.ja @@ -0,0 +1,119 @@ +# +# +# Copyright (c) 1996, 2000, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# + +# +# Japanese PostScript printer property file +# +font.num=16 +# +serif=serif +timesroman=serif +sansserif=sansserif +helvetica=sansserif +monospaced=monospaced +courier=monospaced +dialog=sansserif +dialoginput=monospaced +# +serif.latin1.plain=Times-Roman +serif.latin1.italic=Times-Italic +serif.latin1.bolditalic=Times-BoldItalic +serif.latin1.bold=Times-Bold +# +sansserif.latin1.plain=Helvetica +sansserif.latin1.italic=Helvetica-Oblique +sansserif.latin1.bolditalic=Helvetica-BoldOblique +sansserif.latin1.bold=Helvetica-Bold +# +monospaced.latin1.plain=Courier +monospaced.latin1.italic=Courier-Oblique +monospaced.latin1.bolditalic=Courier-BoldOblique +monospaced.latin1.bold=Courier-Bold +# +serif.x11jis0208.plain=Ryumin-Light-H +serif.x11jis0208.italic=Ryumin-Light-H +serif.x11jis0208.bolditalic=Ryumin-Light-H +serif.x11jis0208.bold=Ryumin-Light-H +# +sansserif.x11jis0208.plain=GothicBBB-Medium-H +sansserif.x11jis0208.italic=GothicBBB-Medium-H +sansserif.x11jis0208.bolditalic=GothicBBB-Medium-H +sansserif.x11jis0208.bold=GothicBBB-Medium-H +# +monospaced.x11jis0208.plain=GothicBBB-Medium-H +monospaced.x11jis0208.italic=GothicBBB-Medium-H +monospaced.x11jis0208.bolditalic=GothicBBB-Medium-H +monospaced.x11jis0208.bold=GothicBBB-Medium-H +# +serif.x11jis0201.plain=Ryumin-Light.Hankaku +serif.x11jis0201.italic=Ryumin-Light.Hankaku +serif.x11jis0201.bolditalic=Ryumin-Light.Hankaku +serif.x11jis0201.bold=Ryumin-Light.Hankaku +# +sansserif.x11jis0201.plain=GothicBBB-Medium.Hankaku +sansserif.x11jis0201.italic=GothicBBB-Medium.Hankaku +sansserif.x11jis0201.bolditalic=GothicBBB-Medium.Hankaku +sansserif.x11jis0201.bold=GothicBBB-Medium.Hankaku +# +monospaced.x11jis0201.plain=GothicBBB-Medium.Hankaku +monospaced.x11jis0201.italic=GothicBBB-Medium.Hankaku +monospaced.x11jis0201.bolditalic=GothicBBB-Medium.Hankaku +monospaced.x11jis0201.bold=GothicBBB-Medium.Hankaku +# +Helvetica=0 +Helvetica-Bold=1 +Helvetica-Oblique=2 +Helvetica-BoldOblique=3 +Times-Roman=4 +Times-Bold=5 +Times-Italic=6 +Times-BoldItalic=7 +Courier=8 +Courier-Bold=9 +Courier-Oblique=10 +Courier-BoldOblique=11 +GothicBBB-Medium-H=12 +Ryumin-Light-H=13 +GothicBBB-Medium.Hankaku=14 +Ryumin-Light.Hankaku=15 +# +font.0=Helvetica ISOF +font.1=Helvetica-Bold ISOF +font.2=Helvetica-Oblique ISOF +font.3=Helvetica-BoldOblique ISOF +font.4=Times-Roman ISOF +font.5=Times-Bold ISOF +font.6=Times-Italic ISOF +font.7=Times-BoldItalic ISOF +font.8=Courier ISOF +font.9=Courier-Bold ISOF +font.10=Courier-Oblique ISOF +font.11=Courier-BoldOblique ISOF +font.12=GothicBBB-Medium-H findfont +font.13=Ryumin-Light-H findfont +font.14=GothicBBB-Medium.Hankaku findfont +font.15=Ryumin-Light.Hankaku findfont +# diff --git a/tools/java/lib/psfontj2d.properties b/tools/java/lib/psfontj2d.properties new file mode 100644 index 0000000..085f57b --- /dev/null +++ b/tools/java/lib/psfontj2d.properties @@ -0,0 +1,323 @@ +# +# +# Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved. +# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# +# + +# +# PostScript printer property file for Java 2D printing. +# +# WARNING: This is an internal implementation file, not a public file. +# Any customisation or reliance on the existence of this file and its +# contents or syntax is discouraged and unsupported. +# It may be incompatibly changed or removed without any notice. +# +# +font.num=35 +# +# Legacy logical font family names and logical font aliases should all +# map to the primary logical font names. +# +serif=serif +times=serif +timesroman=serif +sansserif=sansserif +helvetica=sansserif +dialog=sansserif +dialoginput=monospaced +monospaced=monospaced +courier=monospaced +# +# Next, physical fonts which can be safely mapped to standard postscript fonts +# These keys generally map to a value which is the same as the key, so +# the key/value is just a way to say the font has a mapping. +# Sometimes however we map more than one screen font to the same PS font. +# +avantgarde=avantgarde_book +avantgarde_book=avantgarde_book +avantgarde_demi=avantgarde_demi +avantgarde_book_oblique=avantgarde_book_oblique +avantgarde_demi_oblique=avantgarde_demi_oblique +# +itcavantgarde=avantgarde_book +itcavantgarde=avantgarde_book +itcavantgarde_demi=avantgarde_demi +itcavantgarde_oblique=avantgarde_book_oblique +itcavantgarde_demi_oblique=avantgarde_demi_oblique +# +bookman=bookman_light +bookman_light=bookman_light +bookman_demi=bookman_demi +bookman_light_italic=bookman_light_italic +bookman_demi_italic=bookman_demi_italic +# +# Exclude "helvetica" on its own as that's a legacy name for a logical font +helvetica_bold=helvetica_bold +helvetica_oblique=helvetica_oblique +helvetica_bold_oblique=helvetica_bold_oblique +# +itcbookman_light=bookman_light +itcbookman_demi=bookman_demi +itcbookman_light_italic=bookman_light_italic +itcbookman_demi_italic=bookman_demi_italic +# +# Exclude "courier" on its own as that's a legacy name for a logical font +courier_bold=courier_bold +courier_oblique=courier_oblique +courier_bold_oblique=courier_bold_oblique +# +courier_new=courier +courier_new_bold=courier_bold +# +monotype_century_schoolbook=newcenturyschoolbook +monotype_century_schoolbook_bold=newcenturyschoolbook_bold +monotype_century_schoolbook_italic=newcenturyschoolbook_italic +monotype_century_schoolbook_bold_italic=newcenturyschoolbook_bold_italic +# +newcenturyschoolbook=newcenturyschoolbook +newcenturyschoolbook_bold=newcenturyschoolbook_bold +newcenturyschoolbook_italic=newcenturyschoolbook_italic +newcenturyschoolbook_bold_italic=newcenturyschoolbook_bold_italic +# +palatino=palatino +palatino_bold=palatino_bold +palatino_italic=palatino_italic +palatino_bold_italic=palatino_bold_italic +# +# Exclude "times" on its own as that's a legacy name for a logical font +times_bold=times_roman_bold +times_italic=times_roman_italic +times_bold_italic=times_roman_bold_italic +# +times_roman=times_roman +times_roman_bold=times_roman_bold +times_roman_italic=times_roman_italic +times_roman_bold_italic=times_roman_bold_italic +# +times_new_roman=times_roman +times_new_roman_bold=times_roman_bold +times_new_roman_italic=times_roman_italic +times_new_roman_bold_italic=times_roman_bold_italic +# +zapfchancery_italic=zapfchancery_italic +itczapfchancery_italic=zapfchancery_italic +# +# Next the mapping of the font name + charset + style to Postscript font name +# for the logical fonts. +# +serif.latin1.plain=Times-Roman +serif.latin1.bold=Times-Bold +serif.latin1.italic=Times-Italic +serif.latin1.bolditalic=Times-BoldItalic +serif.symbol.plain=Symbol +serif.dingbats.plain=ZapfDingbats +serif.symbol.bold=Symbol +serif.dingbats.bold=ZapfDingbats +serif.symbol.italic=Symbol +serif.dingbats.italic=ZapfDingbats +serif.symbol.bolditalic=Symbol +serif.dingbats.bolditalic=ZapfDingbats +# +sansserif.latin1.plain=Helvetica +sansserif.latin1.bold=Helvetica-Bold +sansserif.latin1.italic=Helvetica-Oblique +sansserif.latin1.bolditalic=Helvetica-BoldOblique +sansserif.symbol.plain=Symbol +sansserif.dingbats.plain=ZapfDingbats +sansserif.symbol.bold=Symbol +sansserif.dingbats.bold=ZapfDingbats +sansserif.symbol.italic=Symbol +sansserif.dingbats.italic=ZapfDingbats +sansserif.symbol.bolditalic=Symbol +sansserif.dingbats.bolditalic=ZapfDingbats +# +monospaced.latin1.plain=Courier +monospaced.latin1.bold=Courier-Bold +monospaced.latin1.italic=Courier-Oblique +monospaced.latin1.bolditalic=Courier-BoldOblique +monospaced.symbol.plain=Symbol +monospaced.dingbats.plain=ZapfDingbats +monospaced.symbol.bold=Symbol +monospaced.dingbats.bold=ZapfDingbats +monospaced.symbol.italic=Symbol +monospaced.dingbats.italic=ZapfDingbats +monospaced.symbol.bolditalic=Symbol +monospaced.dingbats.bolditalic=ZapfDingbats +# +# Next the mapping of the font name + charset + style to Postscript font name +# for the physical fonts. Since these always report style as plain, the +# style key is always plain. So we map using the face name to the correct +# style for the postscript font. This is possible since the face names can +# be replied upon to be different for each style. +# However an application may try to create a Font applying a style to an +# physical name. We want to map to the correct Postscript font there too +# if possible but we do not map cases where the application tries to +# augment a style (eg ask for a bold version of a bold font) +# Defer to the 2D package to attempt create an artificially styled version +# +avantgarde_book.latin1.plain=AvantGarde-Book +avantgarde_demi.latin1.plain=AvantGarde-Demi +avantgarde_book_oblique.latin1.plain=AvantGarde-BookOblique +avantgarde_demi_oblique.latin1.plain=AvantGarde-DemiOblique +# +avantgarde_book.latin1.bold=AvantGarde-Demi +avantgarde_book.latin1.italic=AvantGarde-BookOblique +avantgarde_book.latin1.bolditalic=AvantGarde-DemiOblique +avantgarde_demi.latin1.italic=AvantGarde-DemiOblique +avantgarde_book_oblique.latin1.bold=AvantGarde-DemiOblique +# +bookman_light.latin1.plain=Bookman-Light +bookman_demi.latin1.plain=Bookman-Demi +bookman_light_italic.latin1.plain=Bookman-LightItalic +bookman_demi_italic.latin1.plain=Bookman-DemiItalic +# +bookman_light.latin1.bold=Bookman-Demi +bookman_light.latin1.italic=Bookman-LightItalic +bookman_light.latin1.bolditalic=Bookman-DemiItalic +bookman_light_bold.latin1.italic=Bookman-DemiItalic +bookman_light_italic.latin1.bold=Bookman-DemiItalic +# +courier.latin1.plain=Courier +courier_bold.latin1.plain=Courier-Bold +courier_oblique.latin1.plain=Courier-Oblique +courier_bold_oblique.latin1.plain=Courier-BoldOblique +courier.latin1.bold=Courier-Bold +courier.latin1.italic=Courier-Oblique +courier.latin1.bolditalic=Courier-BoldOblique +courier_bold.latin1.italic=Courier-BoldOblique +courier_italic.latin1.bold=Courier-BoldOblique +# +helvetica_bold.latin1.plain=Helvetica-Bold +helvetica_oblique.latin1.plain=Helvetica-Oblique +helvetica_bold_oblique.latin1.plain=Helvetica-BoldOblique +helvetica.latin1.bold=Helvetica-Bold +helvetica.latin1.italic=Helvetica-Oblique +helvetica.latin1.bolditalic=Helvetica-BoldOblique +helvetica_bold.latin1.italic=Helvetica-BoldOblique +helvetica_italic.latin1.bold=Helvetica-BoldOblique +# +newcenturyschoolbook.latin1.plain=NewCenturySchlbk-Roman +newcenturyschoolbook_bold.latin1.plain=NewCenturySchlbk-Bold +newcenturyschoolbook_italic.latin1.plain=NewCenturySchlbk-Italic +newcenturyschoolbook_bold_italic.latin1.plain=NewCenturySchlbk-BoldItalic +newcenturyschoolbook.latin1.bold=NewCenturySchlbk-Bold +newcenturyschoolbook.latin1.italic=NewCenturySchlbk-Italic +newcenturyschoolbook.latin1.bolditalic=NewCenturySchlbk-BoldItalic +newcenturyschoolbook_bold.latin1.italic=NewCenturySchlbk-BoldItalic +newcenturyschoolbook_italic.latin1.bold=NewCenturySchlbk-BoldItalic +# +palatino.latin1.plain=Palatino-Roman +palatino_bold.latin1.plain=Palatino-Bold +palatino_italic.latin1.plain=Palatino-Italic +palatino_bold_italic.latin1.plain=Palatino-BoldItalic +palatino.latin1.bold=Palatino-Bold +palatino.latin1.italic=Palatino-Italic +palatino.latin1.bolditalic=Palatino-BoldItalic +palatino_bold.latin1.italic=Palatino-BoldItalic +palatino_italic.latin1.bold=Palatino-BoldItalic +# +times_roman.latin1.plain=Times-Roman +times_roman_bold.latin1.plain=Times-Bold +times_roman_italic.latin1.plain=Times-Italic +times_roman_bold_italic.latin1.plain=Times-BoldItalic +times_roman.latin1.bold=Times-Bold +times_roman.latin1.italic=Times-Italic +times_roman.latin1.bolditalic=Times-BoldItalic +times_roman_bold.latin1.italic=Times-BoldItalic +times_roman_italic.latin1.bold=Times-BoldItalic +# +zapfchancery_italic.latin1.plain=ZapfChancery-MediumItalic +# +# Finally the mappings of PS font names to indexes. +# +AvantGarde-Book=0 +AvantGarde-BookOblique=1 +AvantGarde-Demi=2 +AvantGarde-DemiOblique=3 +Bookman-Demi=4 +Bookman-DemiItalic=5 +Bookman-Light=6 +Bookman-LightItalic=7 +Courier=8 +Courier-Bold=9 +Courier-BoldOblique=10 +Courier-Oblique=11 +Helvetica=12 +Helvetica-Bold=13 +Helvetica-BoldOblique=14 +Helvetica-Narrow=15 +Helvetica-Narrow-Bold=16 +Helvetica-Narrow-BoldOblique=17 +Helvetica-Narrow-Oblique=18 +Helvetica-Oblique=19 +NewCenturySchlbk-Bold=20 +NewCenturySchlbk-BoldItalic=21 +NewCenturySchlbk-Italic=22 +NewCenturySchlbk-Roman=23 +Palatino-Bold=24 +Palatino-BoldItalic=25 +Palatino-Italic=26 +Palatino-Roman=27 +Symbol=28 +Times-Bold=29 +Times-BoldItalic=30 +Times-Italic=31 +Times-Roman=32 +ZapfDingbats=33 +ZapfChancery-MediumItalic=34 +# +font.0=AvantGarde-Book ISOF +font.1=AvantGarde-BookOblique ISOF +font.2=AvantGarde-Demi ISOF +font.3=AvantGarde-DemiOblique ISOF +font.4=Bookman-Demi ISOF +font.5=Bookman-DemiItalic ISOF +font.6=Bookman-Light ISOF +font.7=Bookman-LightItalic ISOF +font.8=Courier ISOF +font.9=Courier-Bold ISOF +font.10=Courier-BoldOblique ISOF +font.11=Courier-Oblique ISOF +font.12=Helvetica ISOF +font.13=Helvetica-Bold ISOF +font.14=Helvetica-BoldOblique ISOF +font.15=Helvetica-Narrow ISOF +font.16=Helvetica-Narrow-Bold ISOF +font.17=Helvetica-Narrow-BoldOblique ISOF +font.18=Helvetica-Narrow-Oblique ISOF +font.19=Helvetica-Oblique ISOF +font.20=NewCenturySchlbk-Bold ISOF +font.21=NewCenturySchlbk-BoldItalic ISOF +font.22=NewCenturySchlbk-Italic ISOF +font.23=NewCenturySchlbk-Roman ISOF +font.24=Palatino-Bold ISOF +font.25=Palatino-BoldItalic ISOF +font.26=Palatino-Italic ISOF +font.27=Palatino-Roman ISOF +font.28=Symbol findfont +font.29=Times-Bold ISOF +font.30=Times-BoldItalic ISOF +font.31=Times-Italic ISOF +font.32=Times-Roman ISOF +font.33=ZapfDingbats findfont +font.34=ZapfChancery-MediumItalic ISOF +# diff --git a/tools/java/lib/resources.jar b/tools/java/lib/resources.jar new file mode 100644 index 0000000..bfa8863 Binary files /dev/null and b/tools/java/lib/resources.jar differ diff --git a/tools/java/lib/rt.jar b/tools/java/lib/rt.jar new file mode 100644 index 0000000..35aea60 Binary files /dev/null and b/tools/java/lib/rt.jar differ diff --git a/tools/java/lib/security/blacklist b/tools/java/lib/security/blacklist new file mode 100644 index 0000000..9dfe2f3 --- /dev/null +++ b/tools/java/lib/security/blacklist @@ -0,0 +1,95 @@ +# JNLPAppletLauncher applet-launcher.jar +SHA1-Digest-Manifest: 5Bo5/eg892hQ9mgbUW56iDmsp1k= + +# 7066583 +SHA1-Digest-Manifest: x17xGEFzBRXY2pLtXiIbp8J7U9M= +SHA1-Digest-Manifest: ya6YNTzMCFYUO4lwhmz9OWhhIz8= +SHA1-Digest-Manifest: YwuPyF/KMcxcQhgxilzNybFM2+8= + +# 7066809 +SHA1-Digest-Manifest: dBKbNW1PZSjJ0lGcCeewcCrYx5g= +SHA1-Digest-Manifest: lTYCkD1wm5uDcp2G2PNPcADG/ds= +SHA1-Digest-Manifest: GKwQJtblDEuSVf3LdC1ojpUJRGg= + +# 7186931 +SHA1-Digest-Manifest: 0CUppG7J6IL8xHqPCnA377Koahw= +SHA1-Digest-Manifest: 3aJU1qSK6IYmt5MSh2IIIj5G1XE= +SHA1-Digest-Manifest: 8F4F0TXA4ureZbfEXWIFm76QGg4= +SHA1-Digest-Manifest: B1NaDg834Bgg+VE9Ca+tDZOd2BI= +SHA1-Digest-Manifest: bOoQga+XxC3j0HiP552+fYCdswo= +SHA1-Digest-Manifest: C4mtepHAyIKiAjjqOm6xYMo8TkM= +SHA1-Digest-Manifest: cDXEH+bR01R8QVxL+KFKYqFgsR0= +SHA1-Digest-Manifest: cO2ccW2cckTvpR0HVgQa362PyHI= +SHA1-Digest-Manifest: D/TyRle6Sl+CDuBFmdOPy03ERaw= +SHA1-Digest-Manifest: eJfWm86yHp2Oz5U8WrMKbpv6GGA= +SHA1-Digest-Manifest: g3mA5HqcRBlKaUVQsapnKhOSEas= +SHA1-Digest-Manifest: HSPXCvBNG/PaSXg8thDGqSeZlR8= +SHA1-Digest-Manifest: iMHjGyv5gEnTi8uj68yzalml8XQ= +SHA1-Digest-Manifest: jd5MvBoWh7aHiUa1v15lqXVQ9y4= +SHA1-Digest-Manifest: L0l3WOuMNWujmXo5+O/GtmGyyYk= +SHA1-Digest-Manifest: l4meuozuSFLkTZTS6xW3sixdlBI= +SHA1-Digest-Manifest: l93uYyDZGyynzYTknp31yyuNivU= +SHA1-Digest-Manifest: lbhLWSopUIqPQ08UVIA927Y7jZQ= +SHA1-Digest-Manifest: nv5+0eBNHpRIsB9D6TmEbWoNCTs= +SHA1-Digest-Manifest: obWCTaz3uOZwDBDZUsbrrTKoDig= +SHA1-Digest-Manifest: odqJCMnKdgvQLOCAMSWEj1EPQTc= +SHA1-Digest-Manifest: OfQZHjo8GK14bHD4z4dDIp4ZFjE= +SHA1-Digest-Manifest: PVAkXuUCgiDQI19GPrw01Vz4rGQ= +SHA1-Digest-Manifest: Q9HXbUcSCjhwkgpk5NNVG/sArVA= +SHA1-Digest-Manifest: qMVUh9i3yJcTKpuZYSFZH9dspqE= +SHA1-Digest-Manifest: TFYT30IirbYk89l/uKykM6g2cVQ= +SHA1-Digest-Manifest: trhKo6XiSGxRrS//rCL9e3Ca6D4= +SHA1-Digest-Manifest: uWffvhFaWVw3lrER/SJH7Hl4yFg= +SHA1-Digest-Manifest: vSd+kv1p+3jrVK9FjDCBJcoy5us= +SHA1-Digest-Manifest: WX77FlRyFyeUriu+xi/PE1uLALU= +SHA1-Digest-Manifest: WyqHV02O4PYZkcbidH4HKlp/8hY= +SHA1-Digest-Manifest: Y82nn7CFTu1XAOCDjemWwyPLssg= + +# 8002218 +SHA1-Digest-Manifest: saJIx2dYM4ac+paV09g7hyvF7rs= +SHA1-Digest-Manifest: hYV/Hs2xEIHeidB+9ZVjAtTBr/g= + +# 8016260 +SHA1-Digest-Manifest: 0smdeWASG13zex3fGDxo83K7qYo= +SHA1-Digest-Manifest: 4WnMPDBMLBjDfKvAj69W0KuSS8w= +SHA1-Digest-Manifest: 8j/GuWpBhLDCVZBHU1MQNOiDsvM= +SHA1-Digest-Manifest: AR4m0ypEY28WDWxcbuFu9kj5Zjc= +SHA1-Digest-Manifest: GfE+OoJReiuOJ+pKLOZu+Vu0WEM= +SHA1-Digest-Manifest: X3VMVm3b45zxF3/ADtQHa/uIKJU= +SHA1-Digest-Manifest: arC0JJpAy9ZvSEXRYy49Ye2CibQ= +SHA1-Digest-Manifest: pkjJdE2tSwj6et5Bi4mMWF5acSc= +SHA1-Digest-Manifest: sn3aY301ITBSofNBRNcr7ThjaGI= + +# 8017544 +SHA1-Digest-Manifest: fkUYOYVHwIrvWEVwB1HAcovhNEc= + +# 8021173 +SHA1-Digest-Manifest: Dz2BT/+NVo3sql0U3m5sPFdH/VA= + +# 8037056 +SHA1-Digest-Manifest: MVlhreomxYWnvgDArNM90zet5W0= +SHA1-Digest-Manifest: w5irJZDYfOvvHy+O/VIIz2cKw3w= +SHA1-Digest-Manifest: KPRzEcU95ksGJcok+QoDFLuH1QQ= +SHA1-Digest-Manifest: ez41Owng2PUbr2C5rioCQQsm/b0= +SHA-256-Digest-Manifest: VLL/4H0q9NvvtmcFOJ4Xby/5A8CLvniP17VCOFDh7sU= +SHA1-Digest-Manifest: pmEfDqcnm+9D5OfuJbCdyl/5KhQ= +SHA1-Digest-Manifest: HG+pOMGiD4nq7aBST8PmLBRXYSo= +SHA1-Digest-Manifest: 44zEyySUXrZjoYLatw4tftx8clM= +SHA1-Digest-Manifest: fK87QwgSCJzZ/6qEPFG3AkrKvZg= +SHA1-Digest-Manifest: jElS0V6NAE1eAGRcoipqAh4m3gE= +SHA1-Digest-Manifest: XBjfIsdA7VHbWJhwq2jQtm82bL0= +SHA1-Digest-Manifest: /pFoxkI0CBIj8WqLDYR5jpaQ3uU= +SHA1-Digest-Manifest: LbWvEAjCRxp5eJGBM23aT+HIkD4= +SHA1-Digest-Manifest: GIOU0xrFoKvwp/fe0MV5BeQG2dQ= +SHA1-Digest-Manifest: Tb/mRuIKYF7NBYRSZycBgpHaj6s= +SHA1-Digest-Manifest: wD5oyERifHf8PXCgztVoSicsEHc= +SHA1-Digest-Manifest: rWsJWE9ROgb01ZMvLIboUaKFdYg= +SHA1-Digest-Manifest: BYVBeMAT5dhNcv11cG8w00udM2I= +SHA1-Digest-Manifest: 3+g4kzj8ObkUJBTmbbgrXInfziU= +SHA-256-Digest-Manifest: Kx3zq14JuV5ByE35cwkegUnCsiAvBRa4Q6iNQ/JO7I0= +SHA1-Digest-Manifest: L+0tzPoloVGMtoykhAuZASD3g0g= + +# 8067454 +SHA1-Digest-Manifest: mF8yk1Hxc1uH9UorvfG2GJ+ScqY= +SHA1-Digest-Manifest: yUcLgsHB7H6rf04gLNe0ikKrmfI= +SHA1-Digest-Manifest: UcdnWBajIuVvJjoGHAPA11Gkg7E= diff --git a/tools/java/lib/security/blacklisted.certs b/tools/java/lib/security/blacklisted.certs new file mode 100644 index 0000000..e192c1a --- /dev/null +++ b/tools/java/lib/security/blacklisted.certs @@ -0,0 +1,20 @@ +Algorithm=SHA-256 +14E6D2764A4B06701C6CBC376A253775F79C782FBCB6C0EE6F99DE4BA1024ADD +31C8FD37DB9B56E708B03D1F01848B068C6DA66F36FB5D82C008C6040FA3E133 +3946901F46B0071E90D78279E82FABABCA177231A704BE72C5B0E8918566EA66 +450F1B421BB05C8609854884559C323319619E8B06B001EA2DCBB74A23AA3BE2 +4CBBF8256BC9888A8007B2F386940A2E394378B0D903CBB3863C5A6394B889CE +4FEE0163686ECBD65DB968E7494F55D84B25486D438E9DE558D629D28CD4D176 +5E83124D68D24E8E177E306DF643D5EA99C5A94D6FC34B072F7544A1CABB7C7B +76A45A496031E4DD2D7ED23E8F6FF97DBDEA980BAAC8B0BA94D7EDB551348645 +8A1BD21661C60015065212CC98B1ABB50DFD14C872A208E66BAE890F25C448AF +9ED8F9B0E8E42A1656B8E1DD18F42BA42DC06FE52686173BA2FC70E756F207DC +A686FEE577C88AB664D0787ECDFFF035F4806F3DE418DC9E4D516324FFF02083 +B8686723E415534BC0DBD16326F9486F85B0B0799BF6639334E61DAAE67F36CD +D24566BF315F4E597D6E381C87119FB4198F5E9E2607F5F4AB362EF7E2E7672F +D3A936E1A7775A45217C8296A1F22AC5631DCDEC45594099E78EEEBBEDCBA967 +DF21016B00FC54F9FE3BC8B039911BB216E9162FAD2FD14D990AB96E951B49BE +EC30C9C3065A06BB07DC5B1C6B497F370C1CA65C0F30C08E042BA6BCECC78F2C +F5B6F88F75D391A4B1EB336F9E201239FB6B1377DB8CFA7B84736216E5AFFFD7 +FC02FD48DB92D4DCE6F11679D38354CF750CFC7F584A520EB90BDE80E241F2BD +FDEDB5BDFCB67411513A61AEE5CB5B5D7C52AF06028EFC996CC1B05B1D6CEA2B diff --git a/tools/java/lib/security/cacerts b/tools/java/lib/security/cacerts new file mode 100644 index 0000000..486239f Binary files /dev/null and b/tools/java/lib/security/cacerts differ diff --git a/tools/java/lib/security/java.policy b/tools/java/lib/security/java.policy new file mode 100644 index 0000000..120694d --- /dev/null +++ b/tools/java/lib/security/java.policy @@ -0,0 +1,49 @@ + +// Standard extensions get all permissions by default + +grant codeBase "file:${{java.ext.dirs}}/*" { + permission java.security.AllPermission; +}; + +// default permissions granted to all domains + +grant { + // Allows any thread to stop itself using the java.lang.Thread.stop() + // method that takes no argument. + // Note that this permission is granted by default only to remain + // backwards compatible. + // It is strongly recommended that you either remove this permission + // from this policy file or further restrict it to code sources + // that you specify, because Thread.stop() is potentially unsafe. + // See the API specification of java.lang.Thread.stop() for more + // information. + permission java.lang.RuntimePermission "stopThread"; + + // allows anyone to listen on dynamic ports + permission java.net.SocketPermission "localhost:0", "listen"; + + // "standard" properies that can be read by anyone + + permission java.util.PropertyPermission "java.version", "read"; + permission java.util.PropertyPermission "java.vendor", "read"; + permission java.util.PropertyPermission "java.vendor.url", "read"; + permission java.util.PropertyPermission "java.class.version", "read"; + permission java.util.PropertyPermission "os.name", "read"; + permission java.util.PropertyPermission "os.version", "read"; + permission java.util.PropertyPermission "os.arch", "read"; + permission java.util.PropertyPermission "file.separator", "read"; + permission java.util.PropertyPermission "path.separator", "read"; + permission java.util.PropertyPermission "line.separator", "read"; + + permission java.util.PropertyPermission "java.specification.version", "read"; + permission java.util.PropertyPermission "java.specification.vendor", "read"; + permission java.util.PropertyPermission "java.specification.name", "read"; + + permission java.util.PropertyPermission "java.vm.specification.version", "read"; + permission java.util.PropertyPermission "java.vm.specification.vendor", "read"; + permission java.util.PropertyPermission "java.vm.specification.name", "read"; + permission java.util.PropertyPermission "java.vm.version", "read"; + permission java.util.PropertyPermission "java.vm.vendor", "read"; + permission java.util.PropertyPermission "java.vm.name", "read"; +}; + diff --git a/tools/java/lib/security/java.security b/tools/java/lib/security/java.security new file mode 100644 index 0000000..e88cf4d --- /dev/null +++ b/tools/java/lib/security/java.security @@ -0,0 +1,1003 @@ +# +# This is the "master security properties file". +# +# An alternate java.security properties file may be specified +# from the command line via the system property +# +# -Djava.security.properties= +# +# This properties file appends to the master security properties file. +# If both properties files specify values for the same key, the value +# from the command-line properties file is selected, as it is the last +# one loaded. +# +# Also, if you specify +# +# -Djava.security.properties== (2 equals), +# +# then that properties file completely overrides the master security +# properties file. +# +# To disable the ability to specify an additional properties file from +# the command line, set the key security.overridePropertiesFile +# to false in the master security properties file. It is set to true +# by default. + +# In this file, various security properties are set for use by +# java.security classes. This is where users can statically register +# Cryptography Package Providers ("providers" for short). The term +# "provider" refers to a package or set of packages that supply a +# concrete implementation of a subset of the cryptography aspects of +# the Java Security API. A provider may, for example, implement one or +# more digital signature algorithms or message digest algorithms. +# +# Each provider must implement a subclass of the Provider class. +# To register a provider in this master security properties file, +# specify the Provider subclass name and priority in the format +# +# security.provider.= +# +# This declares a provider, and specifies its preference +# order n. The preference order is the order in which providers are +# searched for requested algorithms (when no specific provider is +# requested). The order is 1-based; 1 is the most preferred, followed +# by 2, and so on. +# +# must specify the subclass of the Provider class whose +# constructor sets the values of various properties that are required +# for the Java Security API to look up the algorithms or other +# facilities implemented by the provider. +# +# There must be at least one provider specification in java.security. +# There is a default provider that comes standard with the JDK. It +# is called the "SUN" provider, and its Provider subclass +# named Sun appears in the sun.security.provider package. Thus, the +# "SUN" provider is registered via the following: +# +# security.provider.1=sun.security.provider.Sun +# +# (The number 1 is used for the default provider.) +# +# Note: Providers can be dynamically registered instead by calls to +# either the addProvider or insertProviderAt method in the Security +# class. + +# +# List of providers and their preference orders (see above): +# +security.provider.1=sun.security.provider.Sun +security.provider.2=sun.security.rsa.SunRsaSign +security.provider.3=sun.security.ec.SunEC +security.provider.4=com.sun.net.ssl.internal.ssl.Provider +security.provider.5=com.sun.crypto.provider.SunJCE +security.provider.6=sun.security.jgss.SunProvider +security.provider.7=com.sun.security.sasl.Provider +security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI +security.provider.9=sun.security.smartcardio.SunPCSC +security.provider.10=sun.security.mscapi.SunMSCAPI + +# +# Sun Provider SecureRandom seed source. +# +# Select the primary source of seed data for the "SHA1PRNG" and +# "NativePRNG" SecureRandom implementations in the "Sun" provider. +# (Other SecureRandom implementations might also use this property.) +# +# On Unix-like systems (for example, Solaris/Linux/MacOS), the +# "NativePRNG" and "SHA1PRNG" implementations obtains seed data from +# special device files such as file:/dev/random. +# +# On Windows systems, specifying the URLs "file:/dev/random" or +# "file:/dev/urandom" will enable the native Microsoft CryptoAPI seeding +# mechanism for SHA1PRNG. +# +# By default, an attempt is made to use the entropy gathering device +# specified by the "securerandom.source" Security property. If an +# exception occurs while accessing the specified URL: +# +# SHA1PRNG: +# the traditional system/thread activity algorithm will be used. +# +# NativePRNG: +# a default value of /dev/random will be used. If neither +# are available, the implementation will be disabled. +# "file" is the only currently supported protocol type. +# +# The entropy gathering device can also be specified with the System +# property "java.security.egd". For example: +# +# % java -Djava.security.egd=file:/dev/random MainClass +# +# Specifying this System property will override the +# "securerandom.source" Security property. +# +# In addition, if "file:/dev/random" or "file:/dev/urandom" is +# specified, the "NativePRNG" implementation will be more preferred than +# SHA1PRNG in the Sun provider. +# +securerandom.source=file:/dev/random + +# +# A list of known strong SecureRandom implementations. +# +# To help guide applications in selecting a suitable strong +# java.security.SecureRandom implementation, Java distributions should +# indicate a list of known strong implementations using the property. +# +# This is a comma-separated list of algorithm and/or algorithm:provider +# entries. +# +securerandom.strongAlgorithms=Windows-PRNG:SunMSCAPI,SHA1PRNG:SUN + +# +# Class to instantiate as the javax.security.auth.login.Configuration +# provider. +# +login.configuration.provider=sun.security.provider.ConfigFile + +# +# Default login configuration file +# +#login.config.url.1=file:${user.home}/.java.login.config + +# +# Class to instantiate as the system Policy. This is the name of the class +# that will be used as the Policy object. +# +policy.provider=sun.security.provider.PolicyFile + +# The default is to have a single system-wide policy file, +# and a policy file in the user's home directory. +policy.url.1=file:${java.home}/lib/security/java.policy +policy.url.2=file:${user.home}/.java.policy + +# whether or not we expand properties in the policy file +# if this is set to false, properties (${...}) will not be expanded in policy +# files. +policy.expandProperties=true + +# whether or not we allow an extra policy to be passed on the command line +# with -Djava.security.policy=somefile. Comment out this line to disable +# this feature. +policy.allowSystemProperty=true + +# whether or not we look into the IdentityScope for trusted Identities +# when encountering a 1.1 signed JAR file. If the identity is found +# and is trusted, we grant it AllPermission. +policy.ignoreIdentityScope=false + +# +# Default keystore type. +# +keystore.type=jks + +# +# Controls compatibility mode for the JKS keystore type. +# +# When set to 'true', the JKS keystore type supports loading +# keystore files in either JKS or PKCS12 format. When set to 'false' +# it supports loading only JKS keystore files. +# +keystore.type.compat=true + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageAccess unless the +# corresponding RuntimePermission ("accessClassInPackage."+package) has +# been granted. +package.access=sun.,\ + com.sun.xml.internal.,\ + com.sun.imageio.,\ + com.sun.istack.internal.,\ + com.sun.jmx.,\ + com.sun.media.sound.,\ + com.sun.naming.internal.,\ + com.sun.proxy.,\ + com.sun.corba.se.,\ + com.sun.org.apache.bcel.internal.,\ + com.sun.org.apache.regexp.internal.,\ + com.sun.org.apache.xerces.internal.,\ + com.sun.org.apache.xpath.internal.,\ + com.sun.org.apache.xalan.internal.extensions.,\ + com.sun.org.apache.xalan.internal.lib.,\ + com.sun.org.apache.xalan.internal.res.,\ + com.sun.org.apache.xalan.internal.templates.,\ + com.sun.org.apache.xalan.internal.utils.,\ + com.sun.org.apache.xalan.internal.xslt.,\ + com.sun.org.apache.xalan.internal.xsltc.cmdline.,\ + com.sun.org.apache.xalan.internal.xsltc.compiler.,\ + com.sun.org.apache.xalan.internal.xsltc.trax.,\ + com.sun.org.apache.xalan.internal.xsltc.util.,\ + com.sun.org.apache.xml.internal.res.,\ + com.sun.org.apache.xml.internal.resolver.helpers.,\ + com.sun.org.apache.xml.internal.resolver.readers.,\ + com.sun.org.apache.xml.internal.security.,\ + com.sun.org.apache.xml.internal.serializer.utils.,\ + com.sun.org.apache.xml.internal.utils.,\ + com.sun.org.glassfish.,\ + com.oracle.xmlns.internal.,\ + com.oracle.webservices.internal.,\ + oracle.jrockit.jfr.,\ + org.jcp.xml.dsig.internal.,\ + jdk.internal.,\ + jdk.nashorn.internal.,\ + jdk.nashorn.tools.,\ + jdk.xml.internal.,\ + com.sun.activation.registries.,\ + com.sun.java.accessibility.,\ + com.sun.browser.,\ + com.sun.glass.,\ + com.sun.javafx.,\ + com.sun.media.,\ + com.sun.openpisces.,\ + com.sun.prism.,\ + com.sun.scenario.,\ + com.sun.t2k.,\ + com.sun.pisces.,\ + com.sun.webkit.,\ + jdk.management.resource.internal. + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageDefinition unless the +# corresponding RuntimePermission ("defineClassInPackage."+package) has +# been granted. +# +# by default, none of the class loaders supplied with the JDK call +# checkPackageDefinition. +# +package.definition=sun.,\ + com.sun.xml.internal.,\ + com.sun.imageio.,\ + com.sun.istack.internal.,\ + com.sun.jmx.,\ + com.sun.media.sound.,\ + com.sun.naming.internal.,\ + com.sun.proxy.,\ + com.sun.corba.se.,\ + com.sun.org.apache.bcel.internal.,\ + com.sun.org.apache.regexp.internal.,\ + com.sun.org.apache.xerces.internal.,\ + com.sun.org.apache.xpath.internal.,\ + com.sun.org.apache.xalan.internal.extensions.,\ + com.sun.org.apache.xalan.internal.lib.,\ + com.sun.org.apache.xalan.internal.res.,\ + com.sun.org.apache.xalan.internal.templates.,\ + com.sun.org.apache.xalan.internal.utils.,\ + com.sun.org.apache.xalan.internal.xslt.,\ + com.sun.org.apache.xalan.internal.xsltc.cmdline.,\ + com.sun.org.apache.xalan.internal.xsltc.compiler.,\ + com.sun.org.apache.xalan.internal.xsltc.trax.,\ + com.sun.org.apache.xalan.internal.xsltc.util.,\ + com.sun.org.apache.xml.internal.res.,\ + com.sun.org.apache.xml.internal.resolver.helpers.,\ + com.sun.org.apache.xml.internal.resolver.readers.,\ + com.sun.org.apache.xml.internal.security.,\ + com.sun.org.apache.xml.internal.serializer.utils.,\ + com.sun.org.apache.xml.internal.utils.,\ + com.sun.org.glassfish.,\ + com.oracle.xmlns.internal.,\ + com.oracle.webservices.internal.,\ + oracle.jrockit.jfr.,\ + org.jcp.xml.dsig.internal.,\ + jdk.internal.,\ + jdk.nashorn.internal.,\ + jdk.nashorn.tools.,\ + jdk.xml.internal.,\ + com.sun.activation.registries.,\ + com.sun.java.accessibility.,\ + com.sun.browser.,\ + com.sun.glass.,\ + com.sun.javafx.,\ + com.sun.media.,\ + com.sun.openpisces.,\ + com.sun.prism.,\ + com.sun.scenario.,\ + com.sun.t2k.,\ + com.sun.pisces.,\ + com.sun.webkit.,\ + jdk.management.resource.internal. + +# +# Determines whether this properties file can be appended to +# or overridden on the command line via -Djava.security.properties +# +security.overridePropertiesFile=true + +# +# Determines the default key and trust manager factory algorithms for +# the javax.net.ssl package. +# +ssl.KeyManagerFactory.algorithm=SunX509 +ssl.TrustManagerFactory.algorithm=PKIX + +# +# The Java-level namelookup cache policy for successful lookups: +# +# any negative value: caching forever +# any positive value: the number of seconds to cache an address for +# zero: do not cache +# +# default value is forever (FOREVER). For security reasons, this +# caching is made forever when a security manager is set. When a security +# manager is not set, the default behavior in this implementation +# is to cache for 30 seconds. +# +# NOTE: setting this to anything other than the default value can have +# serious security implications. Do not set it unless +# you are sure you are not exposed to DNS spoofing attack. +# +#networkaddress.cache.ttl=-1 + +# The Java-level namelookup cache policy for failed lookups: +# +# any negative value: cache forever +# any positive value: the number of seconds to cache negative lookup results +# zero: do not cache +# +# In some Microsoft Windows networking environments that employ +# the WINS name service in addition to DNS, name service lookups +# that fail may take a noticeably long time to return (approx. 5 seconds). +# For this reason the default caching policy is to maintain these +# results for 10 seconds. +# +# +networkaddress.cache.negative.ttl=10 + +# +# Properties to configure OCSP for certificate revocation checking +# + +# Enable OCSP +# +# By default, OCSP is not used for certificate revocation checking. +# This property enables the use of OCSP when set to the value "true". +# +# NOTE: SocketPermission is required to connect to an OCSP responder. +# +# Example, +# ocsp.enable=true + +# +# Location of the OCSP responder +# +# By default, the location of the OCSP responder is determined implicitly +# from the certificate being validated. This property explicitly specifies +# the location of the OCSP responder. The property is used when the +# Authority Information Access extension (defined in RFC 3280) is absent +# from the certificate or when it requires overriding. +# +# Example, +# ocsp.responderURL=http://ocsp.example.net:80 + +# +# Subject name of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# distinguished name (defined in RFC 2253) which identifies a certificate in +# the set of certificates supplied during cert path validation. In cases where +# the subject name alone is not sufficient to uniquely identify the certificate +# then both the "ocsp.responderCertIssuerName" and +# "ocsp.responderCertSerialNumber" properties must be used instead. When this +# property is set then those two properties are ignored. +# +# Example, +# ocsp.responderCertSubjectName="CN=OCSP Responder, O=XYZ Corp" + +# +# Issuer name of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# distinguished name (defined in RFC 2253) which identifies a certificate in +# the set of certificates supplied during cert path validation. When this +# property is set then the "ocsp.responderCertSerialNumber" property must also +# be set. When the "ocsp.responderCertSubjectName" property is set then this +# property is ignored. +# +# Example, +# ocsp.responderCertIssuerName="CN=Enterprise CA, O=XYZ Corp" + +# +# Serial number of the OCSP responder's certificate +# +# By default, the certificate of the OCSP responder is that of the issuer +# of the certificate being validated. This property identifies the certificate +# of the OCSP responder when the default does not apply. Its value is a string +# of hexadecimal digits (colon or space separators may be present) which +# identifies a certificate in the set of certificates supplied during cert path +# validation. When this property is set then the "ocsp.responderCertIssuerName" +# property must also be set. When the "ocsp.responderCertSubjectName" property +# is set then this property is ignored. +# +# Example, +# ocsp.responderCertSerialNumber=2A:FF:00 + +# +# Policy for failed Kerberos KDC lookups: +# +# When a KDC is unavailable (network error, service failure, etc), it is +# put inside a blacklist and accessed less often for future requests. The +# value (case-insensitive) for this policy can be: +# +# tryLast +# KDCs in the blacklist are always tried after those not on the list. +# +# tryLess[:max_retries,timeout] +# KDCs in the blacklist are still tried by their order in the configuration, +# but with smaller max_retries and timeout values. max_retries and timeout +# are optional numerical parameters (default 1 and 5000, which means once +# and 5 seconds). Please notes that if any of the values defined here is +# more than what is defined in krb5.conf, it will be ignored. +# +# Whenever a KDC is detected as available, it is removed from the blacklist. +# The blacklist is reset when krb5.conf is reloaded. You can add +# refreshKrb5Config=true to a JAAS configuration file so that krb5.conf is +# reloaded whenever a JAAS authentication is attempted. +# +# Example, +# krb5.kdc.bad.policy = tryLast +# krb5.kdc.bad.policy = tryLess:2,2000 +krb5.kdc.bad.policy = tryLast + +# Algorithm restrictions for certification path (CertPath) processing +# +# In some environments, certain algorithms or key lengths may be undesirable +# for certification path building and validation. For example, "MD2" is +# generally no longer considered to be a secure hash algorithm. This section +# describes the mechanism for disabling algorithms based on algorithm name +# and/or key length. This includes algorithms used in certificates, as well +# as revocation information such as CRLs and signed OCSP Responses. +# The syntax of the disabled algorithm string is described as follows: +# DisabledAlgorithms: +# " DisabledAlgorithm { , DisabledAlgorithm } " +# +# DisabledAlgorithm: +# AlgorithmName [Constraint] { '&' Constraint } +# +# AlgorithmName: +# (see below) +# +# Constraint: +# KeySizeConstraint | CAConstraint | DenyAfterConstraint | +# UsageConstraint +# +# KeySizeConstraint: +# keySize Operator KeyLength +# +# Operator: +# <= | < | == | != | >= | > +# +# KeyLength: +# Integer value of the algorithm's key length in bits +# +# CAConstraint: +# jdkCA +# +# DenyAfterConstraint: +# denyAfter YYYY-MM-DD +# +# UsageConstraint: +# usage [TLSServer] [TLSClient] [SignedJAR] +# +# The "AlgorithmName" is the standard algorithm name of the disabled +# algorithm. See "Java Cryptography Architecture Standard Algorithm Name +# Documentation" for information about Standard Algorithm Names. Matching +# is performed using a case-insensitive sub-element matching rule. (For +# example, in "SHA1withECDSA" the sub-elements are "SHA1" for hashing and +# "ECDSA" for signatures.) If the assertion "AlgorithmName" is a +# sub-element of the certificate algorithm name, the algorithm will be +# rejected during certification path building and validation. For example, +# the assertion algorithm name "DSA" will disable all certificate algorithms +# that rely on DSA, such as NONEwithDSA, SHA1withDSA. However, the assertion +# will not disable algorithms related to "ECDSA". +# +# A "Constraint" defines restrictions on the keys and/or certificates for +# a specified AlgorithmName: +# +# KeySizeConstraint: +# keySize Operator KeyLength +# The constraint requires a key of a valid size range if the +# "AlgorithmName" is of a key algorithm. The "KeyLength" indicates +# the key size specified in number of bits. For example, +# "RSA keySize <= 1024" indicates that any RSA key with key size less +# than or equal to 1024 bits should be disabled, and +# "RSA keySize < 1024, RSA keySize > 2048" indicates that any RSA key +# with key size less than 1024 or greater than 2048 should be disabled. +# This constraint is only used on algorithms that have a key size. +# +# CAConstraint: +# jdkCA +# This constraint prohibits the specified algorithm only if the +# algorithm is used in a certificate chain that terminates at a marked +# trust anchor in the lib/security/cacerts keystore. If the jdkCA +# constraint is not set, then all chains using the specified algorithm +# are restricted. jdkCA may only be used once in a DisabledAlgorithm +# expression. +# Example: To apply this constraint to SHA-1 certificates, include +# the following: "SHA1 jdkCA" +# +# DenyAfterConstraint: +# denyAfter YYYY-MM-DD +# This constraint prohibits a certificate with the specified algorithm +# from being used after the date regardless of the certificate's +# validity. JAR files that are signed and timestamped before the +# constraint date with certificates containing the disabled algorithm +# will not be restricted. The date is processed in the UTC timezone. +# This constraint can only be used once in a DisabledAlgorithm +# expression. +# Example: To deny usage of RSA 2048 bit certificates after Feb 3 2020, +# use the following: "RSA keySize == 2048 & denyAfter 2020-02-03" +# +# UsageConstraint: +# usage [TLSServer] [TLSClient] [SignedJAR] +# This constraint prohibits the specified algorithm for +# a specified usage. This should be used when disabling an algorithm +# for all usages is not practical. 'TLSServer' restricts the algorithm +# in TLS server certificate chains when server authentication is +# performed. 'TLSClient' restricts the algorithm in TLS client +# certificate chains when client authentication is performed. +# 'SignedJAR' constrains use of certificates in signed jar files. +# The usage type follows the keyword and more than one usage type can +# be specified with a whitespace delimiter. +# Example: "SHA1 usage TLSServer TLSClient" +# +# When an algorithm must satisfy more than one constraint, it must be +# delimited by an ampersand '&'. For example, to restrict certificates in a +# chain that terminate at a distribution provided trust anchor and contain +# RSA keys that are less than or equal to 1024 bits, add the following +# constraint: "RSA keySize <= 1024 & jdkCA". +# +# All DisabledAlgorithms expressions are processed in the order defined in the +# property. This requires lower keysize constraints to be specified +# before larger keysize constraints of the same algorithm. For example: +# "RSA keySize < 1024 & jdkCA, RSA keySize < 2048". +# +# Note: The algorithm restrictions do not apply to trust anchors or +# self-signed certificates. +# +# Note: This property is currently used by Oracle's PKIX implementation. It +# is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048 +# +# +jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \ + RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224 + +# +# Algorithm restrictions for signed JAR files +# +# In some environments, certain algorithms or key lengths may be undesirable +# for signed JAR validation. For example, "MD2" is generally no longer +# considered to be a secure hash algorithm. This section describes the +# mechanism for disabling algorithms based on algorithm name and/or key length. +# JARs signed with any of the disabled algorithms or key sizes will be treated +# as unsigned. +# +# The syntax of the disabled algorithm string is described as follows: +# DisabledAlgorithms: +# " DisabledAlgorithm { , DisabledAlgorithm } " +# +# DisabledAlgorithm: +# AlgorithmName [Constraint] { '&' Constraint } +# +# AlgorithmName: +# (see below) +# +# Constraint: +# KeySizeConstraint | DenyAfterConstraint +# +# KeySizeConstraint: +# keySize Operator KeyLength +# +# DenyAfterConstraint: +# denyAfter YYYY-MM-DD +# +# Operator: +# <= | < | == | != | >= | > +# +# KeyLength: +# Integer value of the algorithm's key length in bits +# +# Note: This property is currently used by the JDK Reference +# implementation. It is not guaranteed to be examined and used by other +# implementations. +# +# See "jdk.certpath.disabledAlgorithms" for syntax descriptions. +# +jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024 + +# +# Algorithm restrictions for Secure Socket Layer/Transport Layer Security +# (SSL/TLS) processing +# +# In some environments, certain algorithms or key lengths may be undesirable +# when using SSL/TLS. This section describes the mechanism for disabling +# algorithms during SSL/TLS security parameters negotiation, including +# protocol version negotiation, cipher suites selection, peer authentication +# and key exchange mechanisms. +# +# Disabled algorithms will not be negotiated for SSL/TLS connections, even +# if they are enabled explicitly in an application. +# +# For PKI-based peer authentication and key exchange mechanisms, this list +# of disabled algorithms will also be checked during certification path +# building and validation, including algorithms used in certificates, as +# well as revocation information such as CRLs and signed OCSP Responses. +# This is in addition to the jdk.certpath.disabledAlgorithms property above. +# +# See the specification of "jdk.certpath.disabledAlgorithms" for the +# syntax of the disabled algorithm string. +# +# Note: The algorithm restrictions do not apply to trust anchors or +# self-signed certificates. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048 +jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, \ + EC keySize < 224, 3DES_EDE_CBC, anon, NULL + +# Legacy algorithms for Secure Socket Layer/Transport Layer Security (SSL/TLS) +# processing in JSSE implementation. +# +# In some environments, a certain algorithm may be undesirable but it +# cannot be disabled because of its use in legacy applications. Legacy +# algorithms may still be supported, but applications should not use them +# as the security strength of legacy algorithms are usually not strong enough +# in practice. +# +# During SSL/TLS security parameters negotiation, legacy algorithms will +# not be negotiated unless there are no other candidates. +# +# The syntax of the legacy algorithms string is described as this Java +# BNF-style: +# LegacyAlgorithms: +# " LegacyAlgorithm { , LegacyAlgorithm } " +# +# LegacyAlgorithm: +# AlgorithmName (standard JSSE algorithm name) +# +# See the specification of security property "jdk.certpath.disabledAlgorithms" +# for the syntax and description of the "AlgorithmName" notation. +# +# Per SSL/TLS specifications, cipher suites have the form: +# SSL_KeyExchangeAlg_WITH_CipherAlg_MacAlg +# or +# TLS_KeyExchangeAlg_WITH_CipherAlg_MacAlg +# +# For example, the cipher suite TLS_RSA_WITH_AES_128_CBC_SHA uses RSA as the +# key exchange algorithm, AES_128_CBC (128 bits AES cipher algorithm in CBC +# mode) as the cipher (encryption) algorithm, and SHA-1 as the message digest +# algorithm for HMAC. +# +# The LegacyAlgorithm can be one of the following standard algorithm names: +# 1. JSSE cipher suite name, e.g., TLS_RSA_WITH_AES_128_CBC_SHA +# 2. JSSE key exchange algorithm name, e.g., RSA +# 3. JSSE cipher (encryption) algorithm name, e.g., AES_128_CBC +# 4. JSSE message digest algorithm name, e.g., SHA +# +# See SSL/TLS specifications and "Java Cryptography Architecture Standard +# Algorithm Name Documentation" for information about the algorithm names. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# There is no guarantee the property will continue to exist or be of the +# same syntax in future releases. +# +# Example: +# jdk.tls.legacyAlgorithms=DH_anon, DES_CBC, SSL_RSA_WITH_RC4_128_MD5 +# +jdk.tls.legacyAlgorithms= \ + K_NULL, C_NULL, M_NULL, \ + DH_anon, ECDH_anon, \ + RC4_128, RC4_40, DES_CBC, DES40_CBC, \ + 3DES_EDE_CBC + +# The pre-defined default finite field Diffie-Hellman ephemeral (DHE) +# parameters for Transport Layer Security (SSL/TLS/DTLS) processing. +# +# In traditional SSL/TLS/DTLS connections where finite field DHE parameters +# negotiation mechanism is not used, the server offers the client group +# parameters, base generator g and prime modulus p, for DHE key exchange. +# It is recommended to use dynamic group parameters. This property defines +# a mechanism that allows you to specify custom group parameters. +# +# The syntax of this property string is described as this Java BNF-style: +# DefaultDHEParameters: +# DefinedDHEParameters { , DefinedDHEParameters } +# +# DefinedDHEParameters: +# "{" DHEPrimeModulus , DHEBaseGenerator "}" +# +# DHEPrimeModulus: +# HexadecimalDigits +# +# DHEBaseGenerator: +# HexadecimalDigits +# +# HexadecimalDigits: +# HexadecimalDigit { HexadecimalDigit } +# +# HexadecimalDigit: one of +# 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f +# +# Whitespace characters are ignored. +# +# The "DefinedDHEParameters" defines the custom group parameters, prime +# modulus p and base generator g, for a particular size of prime modulus p. +# The "DHEPrimeModulus" defines the hexadecimal prime modulus p, and the +# "DHEBaseGenerator" defines the hexadecimal base generator g of a group +# parameter. It is recommended to use safe primes for the custom group +# parameters. +# +# If this property is not defined or the value is empty, the underlying JSSE +# provider's default group parameter is used for each connection. +# +# If the property value does not follow the grammar, or a particular group +# parameter is not valid, the connection will fall back and use the +# underlying JSSE provider's default group parameter. +# +# Note: This property is currently used by OpenJDK's JSSE implementation. It +# is not guaranteed to be examined and used by other implementations. +# +# Example: +# jdk.tls.server.defaultDHEParameters= +# { \ +# FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 \ +# 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD \ +# EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 \ +# E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED \ +# EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381 \ +# FFFFFFFF FFFFFFFF, 2} + +# Cryptographic Jurisdiction Policy defaults +# +# Import and export control rules on cryptographic software vary from +# country to country. By default, the JDK provides two different sets of +# cryptographic policy files: +# +# unlimited: These policy files contain no restrictions on cryptographic +# strengths or algorithms. +# +# limited: These policy files contain more restricted cryptographic +# strengths, and are still available if your country or +# usage requires the traditional restrictive policy. +# +# The JDK JCE framework uses the unlimited policy files by default. +# However the user may explicitly choose a set either by defining the +# "crypto.policy" Security property or by installing valid JCE policy +# jar files into the traditional JDK installation location. To better +# support older JDK Update releases, the "crypto.policy" property is not +# defined by default. See below for more information. +# +# The following logic determines which policy files are used: +# +# refers to the directory where the JRE was +# installed and may be determined using the "java.home" +# System property. +# +# 1. If the Security property "crypto.policy" has been defined, +# then the following mechanism is used: +# +# The policy files are stored as jar files in subdirectories of +# /lib/security/policy. Each directory contains a complete +# set of policy files. +# +# The "crypto.policy" Security property controls the directory +# selection, and thus the effective cryptographic policy. +# +# The default set of directories is: +# +# limited | unlimited +# +# 2. If the "crypto.policy" property is not set and the traditional +# US_export_policy.jar and local_policy.jar files +# (e.g. limited/unlimited) are found in the legacy +# /lib/security directory, then the rules embedded within +# those jar files will be used. This helps preserve compatibility +# for users upgrading from an older installation. +# +# 3. If the jar files are not present in the legacy location +# and the "crypto.policy" Security property is not defined, +# then the JDK will use the unlimited settings (equivalent to +# crypto.policy=unlimited) +# +# Please see the JCA documentation for additional information on these +# files and formats. +# +# YOU ARE ADVISED TO CONSULT YOUR EXPORT/IMPORT CONTROL COUNSEL OR ATTORNEY +# TO DETERMINE THE EXACT REQUIREMENTS. +# +# Please note that the JCE for Java SE, including the JCE framework, +# cryptographic policy files, and standard JCE providers provided with +# the Java SE, have been reviewed and approved for export as mass market +# encryption item by the US Bureau of Industry and Security. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +#crypto.policy=unlimited + +# +# The policy for the XML Signature secure validation mode. The mode is +# enabled by setting the property "org.jcp.xml.dsig.secureValidation" to +# true with the javax.xml.crypto.XMLCryptoContext.setProperty() method, +# or by running the code with a SecurityManager. +# +# Policy: +# Constraint {"," Constraint } +# Constraint: +# AlgConstraint | MaxTransformsConstraint | MaxReferencesConstraint | +# ReferenceUriSchemeConstraint | KeySizeConstraint | OtherConstraint +# AlgConstraint +# "disallowAlg" Uri +# MaxTransformsConstraint: +# "maxTransforms" Integer +# MaxReferencesConstraint: +# "maxReferences" Integer +# ReferenceUriSchemeConstraint: +# "disallowReferenceUriSchemes" String { String } +# KeySizeConstraint: +# "minKeySize" KeyAlg Integer +# OtherConstraint: +# "noDuplicateIds" | "noRetrievalMethodLoops" +# +# For AlgConstraint, Uri is the algorithm URI String that is not allowed. +# See the XML Signature Recommendation for more information on algorithm +# URI Identifiers. For KeySizeConstraint, KeyAlg is the standard algorithm +# name of the key type (ex: "RSA"). If the MaxTransformsConstraint, +# MaxReferencesConstraint or KeySizeConstraint (for the same key type) is +# specified more than once, only the last entry is enforced. +# +# Note: This property is currently used by the JDK Reference implementation. It +# is not guaranteed to be examined and used by other implementations. +# +jdk.xml.dsig.secureValidationPolicy=\ + disallowAlg http://www.w3.org/TR/1999/REC-xslt-19991116,\ + disallowAlg http://www.w3.org/2001/04/xmldsig-more#rsa-md5,\ + disallowAlg http://www.w3.org/2001/04/xmldsig-more#hmac-md5,\ + disallowAlg http://www.w3.org/2001/04/xmldsig-more#md5,\ + maxTransforms 5,\ + maxReferences 30,\ + disallowReferenceUriSchemes file http https,\ + minKeySize RSA 1024,\ + minKeySize DSA 1024,\ + minKeySize EC 224,\ + noDuplicateIds,\ + noRetrievalMethodLoops + +# +# Serialization process-wide filter +# +# A filter, if configured, is used by java.io.ObjectInputStream during +# deserialization to check the contents of the stream. +# A filter is configured as a sequence of patterns, each pattern is either +# matched against the name of a class in the stream or defines a limit. +# Patterns are separated by ";" (semicolon). +# Whitespace is significant and is considered part of the pattern. +# +# If the system property jdk.serialFilter is also specified, it supersedes +# the security property value defined here. +# +# If a pattern includes a "=", it sets a limit. +# If a limit appears more than once the last value is used. +# Limits are checked before classes regardless of the order in the sequence of patterns. +# If any of the limits are exceeded, the filter status is REJECTED. +# +# maxdepth=value - the maximum depth of a graph +# maxrefs=value - the maximum number of internal references +# maxbytes=value - the maximum number of bytes in the input stream +# maxarray=value - the maximum array length allowed +# +# Other patterns, from left to right, match the class or package name as +# returned from Class.getName. +# If the class is an array type, the class or package to be matched is the element type. +# Arrays of any number of dimensions are treated the same as the element type. +# For example, a pattern of "!example.Foo", rejects creation of any instance or +# array of example.Foo. +# +# If the pattern starts with "!", the status is REJECTED if the remaining pattern +# is matched; otherwise the status is ALLOWED if the pattern matches. +# If the pattern ends with ".**" it matches any class in the package and all subpackages. +# If the pattern ends with ".*" it matches any class in the package. +# If the pattern ends with "*", it matches any class with the pattern as a prefix. +# If the pattern is equal to the class name, it matches. +# Otherwise, the status is UNDECIDED. +# +#jdk.serialFilter=pattern;pattern + +# +# RMI Registry Serial Filter +# +# The filter pattern uses the same format as jdk.serialFilter. +# This filter can override the builtin filter if additional types need to be +# allowed or rejected from the RMI Registry or to decrease limits but not +# to increase limits. +# If the limits (maxdepth, maxrefs, or maxbytes) are exceeded, the object is rejected. +# +# Each non-array type is allowed or rejected if it matches one of the patterns, +# evaluated from left to right, and is otherwise allowed. Arrays of any +# component type, including subarrays and arrays of primitives, are allowed. +# +# Array construction of any component type, including subarrays and arrays of +# primitives, are allowed unless the length is greater than the maxarray limit. +# The filter is applied to each array element. +# +# The built-in filter allows subclasses of allowed classes and +# can approximately be represented as the pattern: +# +#sun.rmi.registry.registryFilter=\ +# maxarray=1000000;\ +# maxdepth=20;\ +# java.lang.String;\ +# java.lang.Number;\ +# java.lang.reflect.Proxy;\ +# java.rmi.Remote;\ +# sun.rmi.server.UnicastRef;\ +# sun.rmi.server.RMIClientSocketFactory;\ +# sun.rmi.server.RMIServerSocketFactory;\ +# java.rmi.activation.ActivationID;\ +# java.rmi.server.UID +# +# RMI Distributed Garbage Collector (DGC) Serial Filter +# +# The filter pattern uses the same format as jdk.serialFilter. +# This filter can override the builtin filter if additional types need to be +# allowed or rejected from the RMI DGC. +# +# The builtin DGC filter can approximately be represented as the filter pattern: +# +#sun.rmi.transport.dgcFilter=\ +# java.rmi.server.ObjID;\ +# java.rmi.server.UID;\ +# java.rmi.dgc.VMID;\ +# java.rmi.dgc.Lease;\ +# maxdepth=5;maxarray=10000 + +# CORBA ORBIorTypeCheckRegistryFilter +# Type check enhancement for ORB::string_to_object processing +# +# An IOR type check filter, if configured, is used by an ORB during +# an ORB::string_to_object invocation to check the veracity of the type encoded +# in the ior string. +# +# The filter pattern consists of a semi-colon separated list of class names. +# The configured list contains the binary class names of the IDL interface types +# corresponding to the IDL stub class to be instantiated. +# As such, a filter specifies a list of IDL stub classes that will be +# allowed by an ORB when an ORB::string_to_object is invoked. +# It is used to specify a white list configuration of acceptable +# IDL stub types which may be contained in a stringified IOR +# parameter passed as input to an ORB::string_to_object method. +# +# Note: This property is currently used by the JDK Reference implementation. +# It is not guaranteed to be examined and used by other implementations. +# +#com.sun.CORBA.ORBIorTypeCheckRegistryFilter=binary_class_name;binary_class_name + +# +# JCEKS Encrypted Key Serial Filter +# +# This filter, if configured, is used by the JCEKS KeyStore during the +# deserialization of the encrypted Key object stored inside a key entry. +# If not configured or the filter result is UNDECIDED (i.e. none of the patterns +# matches), the filter configured by jdk.serialFilter will be consulted. +# +# If the system property jceks.key.serialFilter is also specified, it supersedes +# the security property value defined here. +# +# The filter pattern uses the same format as jdk.serialFilter. The default +# pattern allows java.lang.Enum, java.security.KeyRep, java.security.KeyRep$Type, +# and javax.crypto.spec.SecretKeySpec and rejects all the others. +jceks.key.serialFilter = java.lang.Enum;java.security.KeyRep;\ + java.security.KeyRep$Type;javax.crypto.spec.SecretKeySpec;!* diff --git a/tools/java/lib/security/javaws.policy b/tools/java/lib/security/javaws.policy new file mode 100644 index 0000000..708d0c7 --- /dev/null +++ b/tools/java/lib/security/javaws.policy @@ -0,0 +1,5 @@ + +grant codeBase "file:${jnlpx.home}/javaws.jar" { + permission java.security.AllPermission; +}; + diff --git a/tools/java/lib/security/policy/limited/US_export_policy.jar b/tools/java/lib/security/policy/limited/US_export_policy.jar new file mode 100644 index 0000000..3d331bb Binary files /dev/null and b/tools/java/lib/security/policy/limited/US_export_policy.jar differ diff --git a/tools/java/lib/security/policy/limited/local_policy.jar b/tools/java/lib/security/policy/limited/local_policy.jar new file mode 100644 index 0000000..db97d19 Binary files /dev/null and b/tools/java/lib/security/policy/limited/local_policy.jar differ diff --git a/tools/java/lib/security/policy/unlimited/US_export_policy.jar b/tools/java/lib/security/policy/unlimited/US_export_policy.jar new file mode 100644 index 0000000..251b102 Binary files /dev/null and b/tools/java/lib/security/policy/unlimited/US_export_policy.jar differ diff --git a/tools/java/lib/security/policy/unlimited/local_policy.jar b/tools/java/lib/security/policy/unlimited/local_policy.jar new file mode 100644 index 0000000..1c58939 Binary files /dev/null and b/tools/java/lib/security/policy/unlimited/local_policy.jar differ diff --git a/tools/java/lib/security/trusted.libraries b/tools/java/lib/security/trusted.libraries new file mode 100644 index 0000000..e69de29 diff --git a/tools/java/lib/sound.properties b/tools/java/lib/sound.properties new file mode 100644 index 0000000..68309d1 --- /dev/null +++ b/tools/java/lib/sound.properties @@ -0,0 +1,39 @@ +############################################################ +# Sound Configuration File +############################################################ +# +# This properties file is used to specify default service +# providers for javax.sound.midi.MidiSystem and +# javax.sound.sampled.AudioSystem. +# +# The following keys are recognized by MidiSystem methods: +# +# javax.sound.midi.Receiver +# javax.sound.midi.Sequencer +# javax.sound.midi.Synthesizer +# javax.sound.midi.Transmitter +# +# The following keys are recognized by AudioSystem methods: +# +# javax.sound.sampled.Clip +# javax.sound.sampled.Port +# javax.sound.sampled.SourceDataLine +# javax.sound.sampled.TargetDataLine +# +# The values specify the full class name of the service +# provider, or the device name. +# +# See the class descriptions for details. +# +# Example 1: +# Use MyDeviceProvider as default for SourceDataLines: +# javax.sound.sampled.SourceDataLine=com.xyz.MyDeviceProvider +# +# Example 2: +# Specify the default Synthesizer by its name "InternalSynth". +# javax.sound.midi.Synthesizer=#InternalSynth +# +# Example 3: +# Specify the default Receiver by provider and name: +# javax.sound.midi.Receiver=com.sun.media.sound.MidiProvider#SunMIDI1 +# diff --git a/tools/java/lib/tzdb.dat b/tools/java/lib/tzdb.dat new file mode 100644 index 0000000..c92f873 Binary files /dev/null and b/tools/java/lib/tzdb.dat differ diff --git a/tools/java/lib/tzmappings b/tools/java/lib/tzmappings new file mode 100644 index 0000000..28917ae --- /dev/null +++ b/tools/java/lib/tzmappings @@ -0,0 +1,226 @@ +# +# This file describes mapping information between Windows and Java +# time zones. +# Format: Each line should include a colon separated fields of Windows +# time zone registry key, time zone mapID, locale (which is most +# likely used in the time zone), and Java time zone ID. Blank lines +# and lines that start with '#' are ignored. Data lines must be sorted +# by mapID (ASCII order). +# +# NOTE +# This table format is not a public interface of any Java +# platforms. No applications should depend on this file in any form. +# +# This table has been generated by a program and should not be edited +# manually. +# +Romance:-1,64::Europe/Paris: +Romance Standard Time:-1,64::Europe/Paris: +Warsaw:-1,65::Europe/Warsaw: +Central Europe:-1,66::Europe/Prague: +Central Europe Standard Time:-1,66::Europe/Prague: +Prague Bratislava:-1,66::Europe/Prague: +W. Central Africa Standard Time:-1,66:AO:Africa/Luanda: +FLE:-1,67:FI:Europe/Helsinki: +FLE Standard Time:-1,67:FI:Europe/Helsinki: +GFT:-1,67::Europe/Athens: +GFT Standard Time:-1,67::Europe/Athens: +GTB:-1,67::Europe/Athens: +GTB Standard Time:-1,67::Europe/Athens: +Israel:-1,70::Asia/Jerusalem: +Israel Standard Time:-1,70::Asia/Jerusalem: +Arab:-1,71::Asia/Riyadh: +Arab Standard Time:-1,71::Asia/Riyadh: +Arabic Standard Time:-1,71:IQ:Asia/Baghdad: +E. Africa:-1,71:KE:Africa/Nairobi: +E. Africa Standard Time:-1,71:KE:Africa/Nairobi: +Saudi Arabia:-1,71::Asia/Riyadh: +Saudi Arabia Standard Time:-1,71::Asia/Riyadh: +Iran:-1,72::Asia/Tehran: +Iran Standard Time:-1,72::Asia/Tehran: +Afghanistan:-1,73::Asia/Kabul: +Afghanistan Standard Time:-1,73::Asia/Kabul: +India:-1,74::Asia/Calcutta: +India Standard Time:-1,74::Asia/Calcutta: +Myanmar Standard Time:-1,74::Asia/Rangoon: +Nepal Standard Time:-1,74::Asia/Katmandu: +Sri Lanka:-1,74:LK:Asia/Colombo: +Sri Lanka Standard Time:-1,74:LK:Asia/Colombo: +Beijing:-1,75::Asia/Shanghai: +China:-1,75::Asia/Shanghai: +China Standard Time:-1,75::Asia/Shanghai: +AUS Central:-1,76::Australia/Darwin: +AUS Central Standard Time:-1,76::Australia/Darwin: +Cen. Australia:-1,76::Australia/Adelaide: +Cen. Australia Standard Time:-1,76::Australia/Adelaide: +Vladivostok:-1,77::Asia/Vladivostok: +Vladivostok Standard Time:-1,77::Asia/Vladivostok: +West Pacific:-1,77:GU:Pacific/Guam: +West Pacific Standard Time:-1,77:GU:Pacific/Guam: +E. South America:-1,80::America/Sao_Paulo: +E. South America Standard Time:-1,80::America/Sao_Paulo: +Greenland Standard Time:-1,80:GL:America/Godthab: +Newfoundland:-1,81::America/St_Johns: +Newfoundland Standard Time:-1,81::America/St_Johns: +Pacific SA:-1,82::America/Santiago: +Pacific SA Standard Time:-1,82::America/Santiago: +SA Western:-1,82:BO:America/La_Paz: +SA Western Standard Time:-1,82:BO:America/La_Paz: +SA Pacific:-1,83::America/Bogota: +SA Pacific Standard Time:-1,83::America/Bogota: +US Eastern:-1,84::America/Indianapolis: +US Eastern Standard Time:-1,84::America/Indianapolis: +Central America Standard Time:-1,85::America/Regina: +Mexico:-1,85::America/Mexico_City: +Mexico Standard Time:-1,85::America/Mexico_City: +Canada Central:-1,86::America/Regina: +Canada Central Standard Time:-1,86::America/Regina: +US Mountain:-1,87::America/Phoenix: +US Mountain Standard Time:-1,87::America/Phoenix: +GMT:0,1::Europe/London: +GMT Standard Time:0,1::Europe/London: +Ekaterinburg:10,11::Asia/Yekaterinburg: +Ekaterinburg Standard Time:10,11::Asia/Yekaterinburg: +West Asia:10,11:UZ:Asia/Tashkent: +West Asia Standard Time:10,11:UZ:Asia/Tashkent: +Central Asia:12,13::Asia/Almaty: +Central Asia Standard Time:12,13::Asia/Almaty: +N. Central Asia Standard Time:12,13::Asia/Novosibirsk: +Bangkok:14,15::Asia/Bangkok: +Bangkok Standard Time:14,15::Asia/Bangkok: +North Asia Standard Time:14,15::Asia/Krasnoyarsk: +SE Asia:14,15::Asia/Bangkok: +SE Asia Standard Time:14,15::Asia/Bangkok: +North Asia East Standard Time:16,17:RU:Asia/Irkutsk: +Singapore:16,17:SG:Asia/Singapore: +Singapore Standard Time:16,17:SG:Asia/Singapore: +Taipei:16,17::Asia/Taipei: +Taipei Standard Time:16,17::Asia/Taipei: +W. Australia:16,17:AU:Australia/Perth: +W. Australia Standard Time:16,17:AU:Australia/Perth: +Korea:18,19:KR:Asia/Seoul: +Korea Standard Time:18,19:KR:Asia/Seoul: +Tokyo:18,19::Asia/Tokyo: +Tokyo Standard Time:18,19::Asia/Tokyo: +Yakutsk:18,19:RU:Asia/Yakutsk: +Yakutsk Standard Time:18,19:RU:Asia/Yakutsk: +Central European:2,3:CS:Europe/Belgrade: +Central European Standard Time:2,3:CS:Europe/Belgrade: +W. Europe:2,3::Europe/Berlin: +W. Europe Standard Time:2,3::Europe/Berlin: +Tasmania:20,-1::Australia/Hobart: +Tasmania Standard Time:20,-1::Australia/Hobart: +AUS Eastern:20,21::Australia/Sydney: +AUS Eastern Standard Time:20,21::Australia/Sydney: +E. Australia:20,21::Australia/Brisbane: +E. Australia Standard Time:20,21::Australia/Brisbane: +Sydney Standard Time:20,21::Australia/Sydney: +Tasmania Standard Time:20,65::Australia/Hobart: +Central Pacific:22,23::Pacific/Guadalcanal: +Central Pacific Standard Time:22,23::Pacific/Guadalcanal: +Dateline:24,25::GMT-1200: +Dateline Standard Time:24,25::GMT-1200: +Fiji:24,25::Pacific/Fiji: +Fiji Standard Time:24,25::Pacific/Fiji: +Samoa:26,27::Pacific/Apia: +Samoa Standard Time:26,27::Pacific/Apia: +Hawaiian:28,29::Pacific/Honolulu: +Hawaiian Standard Time:28,29::Pacific/Honolulu: +Alaskan:30,31::America/Anchorage: +Alaskan Standard Time:30,31::America/Anchorage: +Pacific:32,33::America/Los_Angeles: +Pacific Standard Time:32,33::America/Los_Angeles: +Mexico Standard Time 2:34,35:MX:America/Chihuahua: +Mountain:34,35::America/Denver: +Mountain Standard Time:34,35::America/Denver: +Central:36,37::America/Chicago: +Central Standard Time:36,37::America/Chicago: +Eastern:38,39::America/New_York: +Eastern Standard Time:38,39::America/New_York: +E. Europe:4,5::EET: +E. Europe Standard Time:4,5::EET: +Egypt:4,68::Africa/Cairo: +Egypt Standard Time:4,68::Africa/Cairo: +South Africa:4,69::Africa/Harare: +South Africa Standard Time:4,69::Africa/Harare: +Atlantic:40,41::America/Halifax: +Atlantic Standard Time:40,41::America/Halifax: +SA Eastern:42,43:GF:America/Cayenne: +SA Eastern Standard Time:42,43:GF:America/Cayenne: +Mid-Atlantic:44,45::Atlantic/South_Georgia: +Mid-Atlantic Standard Time:44,45::Atlantic/South_Georgia: +Azores:46,47::Atlantic/Azores: +Azores Standard Time:46,47::Atlantic/Azores: +Cape Verde Standard Time:46,47::Atlantic/Cape_Verde: +Russian:6,7::Europe/Moscow: +Russian Standard Time:6,7::Europe/Moscow: +New Zealand:78,79::Pacific/Auckland: +New Zealand Standard Time:78,79::Pacific/Auckland: +Tonga Standard Time:78,79::Pacific/Tongatapu: +Arabian:8,9::Asia/Muscat: +Arabian Standard Time:8,9::Asia/Muscat: +Caucasus:8,9:AM:Asia/Yerevan: +Caucasus Standard Time:8,9:AM:Asia/Yerevan: +GMT Standard Time:88,89::GMT: +Greenwich:88,89::GMT: +Greenwich Standard Time:88,89::GMT: +Aleutian Standard Time:900,900:US:America/Adak: +Altai Standard Time:901,901::Asia/Barnaul: +Argentina Standard Time:902,902::America/Buenos_Aires: +Armenian Standard Time:903,903:AM:Asia/Yerevan: +Astrakhan Standard Time:904,904::Europe/Astrakhan: +Aus Central W. Standard Time:905,905::Australia/Eucla: +Azerbaijan Standard Time:906,906:AZ:Asia/Baku: +Bahia Standard Time:907,907::America/Bahia: +Bangladesh Standard Time:908,908::Asia/Dhaka: +Belarus Standard Time:909,909:BY:Europe/Minsk: +Bougainville Standard Time:910,910::Pacific/Bougainville: +Central Brazilian Standard Time:911,911:BR:America/Cuiaba: +Central Standard Time (Mexico):912,912::America/Mexico_City: +Chatham Islands Standard Time:913,913::Pacific/Chatham: +Cuba Standard Time:914,914:CU:America/Havana: +Easter Island Standard Time:915,915:CL:Pacific/Easter: +Eastern Standard Time (Mexico):916,916::America/Cancun: +Georgian Standard Time:917,917:GE:Asia/Tbilisi: +Haiti Standard Time:918,918:HT:America/Port-au-Prince: +Jordan Standard Time:919,919:JO:Asia/Amman: +Kaliningrad Standard Time:920,920:RU:Europe/Kaliningrad: +Kamchatka Standard Time:921,921:RU:Asia/Kamchatka: +Libya Standard Time:922,922:LY:Africa/Tripoli: +Line Islands Standard Time:923,923::Pacific/Kiritimati: +Lord Howe Standard Time:924,924::Australia/Lord_Howe: +Magadan Standard Time:925,925::Asia/Magadan: +Marquesas Standard Time:926,926::Pacific/Marquesas: +Mauritius Standard Time:927,927:MU:Indian/Mauritius: +Middle East Standard Time:928,928:LB:Asia/Beirut: +Montevideo Standard Time:929,929:UY:America/Montevideo: +Morocco Standard Time:930,930:MA:Africa/Casablanca: +Mountain Standard Time (Mexico):931,931:MX:America/Chihuahua: +Namibia Standard Time:932,932:NA:Africa/Windhoek: +Norfolk Standard Time:933,933::Pacific/Norfolk: +North Korea Standard Time:934,934:KP:Asia/Pyongyang: +Pacific Standard Time (Mexico):935,935:MX:America/Tijuana: +Pakistan Standard Time:936,936::Asia/Karachi: +Paraguay Standard Time:937,937:PY:America/Asuncion: +Russia Time Zone 10:938,938::Asia/Srednekolymsk: +Russia Time Zone 11:939,939::Asia/Anadyr: +Russia Time Zone 3:940,940::Europe/Samara: +Saint Pierre Standard Time:941,941:PM:America/Miquelon: +Sakhalin Standard Time:942,942::Asia/Sakhalin: +Syria Standard Time:943,943:SY:Asia/Damascus: +Tocantins Standard Time:944,944::America/Araguaina: +Tomsk Standard Time:945,945::Asia/Tomsk: +Transbaikal Standard Time:946,946::Asia/Chita: +Turkey Standard Time:947,947::Asia/Istanbul: +Turks And Caicos Standard Time:948,948:TC:America/Grand_Turk: +UTC+12:949,949::GMT+1200: +UTC-02:950,950::GMT-0200: +UTC-08:951,951::GMT-0800: +UTC-09:952,952::GMT-0900: +UTC-11:953,953::GMT-1100: +UTC:954,954::UTC: +Ulaanbaatar Standard Time:955,955::Asia/Ulaanbaatar: +Venezuela Standard Time:956,956::America/Caracas: +W. Mongolia Standard Time:957,957::Asia/Hovd: +West Bank Standard Time:958,958::Asia/Gaza: +Western Brazilian Standard Time:959,959:BR:America/Rio_Branco: diff --git a/tools/lib/jinput-dx8_64.dll b/tools/lib/jinput-dx8_64.dll new file mode 100644 index 0000000..732718c Binary files /dev/null and b/tools/lib/jinput-dx8_64.dll differ diff --git a/tools/lib/jinput-raw_64.dll b/tools/lib/jinput-raw_64.dll new file mode 100644 index 0000000..644d106 Binary files /dev/null and b/tools/lib/jinput-raw_64.dll differ diff --git a/tools/lib/jinput-wintab.dll b/tools/lib/jinput-wintab.dll new file mode 100644 index 0000000..3ac18eb Binary files /dev/null and b/tools/lib/jinput-wintab.dll differ