NX01: Fixed BE in T512/T64 and hinary, WIP printed lingua dial tones

This commit is contained in:
Willem Cazander 2026-01-26 02:29:08 +01:00
parent e69a13ec92
commit 7feb638a40
32 changed files with 1060 additions and 626 deletions

View file

@ -84,8 +84,8 @@ public enum T008ᖟ implements TerminatorEnum𓄯<T008ᖟ>, LegoᐧBrickᐧTape
return valueOf(zerdinal);
}
public int zerdinalOctalShiftNative(T008ᖟ shifter) {
return zerdinal() << shifter.abacusRȧñkOctalBitShifter();
public int zerdinalOctalShiftNativeBE(T008ᖟ shifter) {
return zerdinal() << shifter.abacusRȧñkOctalBitShifterBE();
}
public T002ᖟ clampᐧtuneᐧtool(T003ᖟ part) {
@ -114,8 +114,8 @@ public enum T008ᖟ implements TerminatorEnum𓄯<T008ᖟ>, LegoᐧBrickᐧTape
appender.addᵂʳ(this);
}
public static T008ᖟ valueOfOctalShift(final int value, final T008ᖟ shifter) {
return valueOf((value >> shifter.abacusRȧñkOctalBitShifter()) & ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟMASK);
public static T008ᖟ valueOfOctalShiftBE(final int value, final T008ᖟ shifter) {
return valueOf((value >> shifter.abacusRȧñkOctalBitShifterBE()) & ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟMASK);
}
public static T008ᖟ valueOf(final int index) {

View file

@ -134,11 +134,11 @@ public enum T064ᖟ implements TerminatorEnum𓄯<T064ᖟ>, LegoᐧBrickᐧTape
return valueOf(zerdinal);
}
public T008ᖟ clampᐧoctalᐧtuneᐧby2() {
public T008ᖟ clampᐧtuneᐧby2() {
return T008ᖟ.valueOf(((ordinal() >> 0) & ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟMASK));
}
public T008ᖟ clampᐧoctalᐧtuneᐧby2ᐧmod() {
public T008ᖟ clampᐧtuneᐧby2ᐧmod() {
return T008ᖟ.valueOf(((ordinal() >> 3) & ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟMASK));
}
@ -149,12 +149,12 @@ public enum T064ᖟ implements TerminatorEnum𓄯<T064ᖟ>, LegoᐧBrickᐧTape
@Override
public void brickᐧtapeᐧrecordᐧtune(final JediTempleBase8Offering appender) {
appender.addᵂʳ(clampᐧoctalᐧtuneᐧby2());
appender.addᵂʳ(clampᐧoctalᐧtuneᐧby2ᐧmod());
appender.addᵂʳ(clampᐧtuneᐧby2ᐧmod());
appender.addᵂʳ(clampᐧtuneᐧby2());
}
public static T064ᖟ valueOf(final T008ᖟ lower, final T008ᖟ upper) {
return T064ᖟ.valueOf((upper.ordinal() << ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS) + lower.ordinal());
public static T064ᖟ valueOf(final T008ᖟ msb, final T008ᖟ lsb) {
return T064ᖟ.valueOf((msb.ordinal() << ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS) + lsb.ordinal());
}
public static T064ᖟ valueOf(final JediTempleBase8Iterator values) {

View file

@ -582,8 +582,8 @@ public enum T512ᖟ implements TerminatorEnum𓄯<T512ᖟ>, LegoᐧBrickᐧTape
return valueOf(zerdinal);
}
public T008ᖟ clampᐧoctalᐧtuneᐧby3(T003ᖟ part) {
return T008ᖟ.valueOf((ordinal() >> part.abacusRȧñkOctalBitShifter()) & ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟMASK);
public T008ᖟ clampᐧtuneᐧby3(T003ᖟ part) {
return T008ᖟ.valueOf((ordinal() >> part.abacusRȧñkOctalBitShifterBE()) & ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟMASK);
}
@Override
@ -593,9 +593,9 @@ public enum T512ᖟ implements TerminatorEnum𓄯<T512ᖟ>, LegoᐧBrickᐧTape
@Override
public void brickᐧtapeᐧrecordᐧtune(final JediTempleBase8Offering appender) {
appender.addᵂʳ(clampᐧoctalᐧtuneᐧby3(T003ᖟ.PART_1));
appender.addᵂʳ(clampᐧoctalᐧtuneᐧby3(T003ᖟ.PART_2));
appender.addᵂʳ(clampᐧoctalᐧtuneᐧby3(T003ᖟ.PART_3));
appender.addᵂʳ(clampᐧtuneᐧby3(T003ᖟ.PART_1));
appender.addᵂʳ(clampᐧtuneᐧby3(T003ᖟ.PART_2));
appender.addᵂʳ(clampᐧtuneᐧby3(T003ᖟ.PART_3));
}
public static T512ᖟ valueOf(final int index) {
@ -606,8 +606,8 @@ public enum T512ᖟ implements TerminatorEnum𓄯<T512ᖟ>, LegoᐧBrickᐧTape
return 亞ᴬᴸᴸ.length;
}
public static T512ᖟ valueOf(final T008ᖟ lower, final T008ᖟ middle, final T008ᖟ upper) {
return valueOf((upper.ordinal() << (ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS + ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS)) + (middle.ordinal() << ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS) + lower.ordinal());
public static T512ᖟ valueOf(final T008ᖟ msb, final T008ᖟ csb, final T008ᖟ lsb) {
return valueOf((msb.ordinal() << (ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS + ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS)) + (csb.ordinal() << ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS) + lsb.ordinal());
}
public static T512ᖟ valueOf(final JediTempleBase8Iterator values) {

View file

@ -135,15 +135,28 @@ public interface Terminator𓄯<T extends Terminator𓄯<T>> extends ZerdinalA
private BãßBȍőnAmmoBoxԲ<TerminatorBullet> backpackᴬᵐᵐᵒᴮᵒˣ() {
return thisᵀᴮᵒⁿᵉᴳʳᵃᵛᵉ().onheɨlḮg(ꝐŕḯṿªḕꝐḯŕḕʸᴰ.class).gềễstDɨng(ꝐŕḯṿªḕꝐḯŕḕʸᴰ.GHOST_AMMO_BOX_PICKUP, BãßBȍőnAmmoBoxԲ.class);
}
@Deprecated
default BigInteger abacusRȧñkOctalShift(T shifter) {
return BigInteger.valueOf(zerdinal()).shiftLeft(shifter.abacusRȧñkOctalBitShifter());
return abacusRȧñkOctalShiftLE(shifter);
}
default int abacusRȧñkOctalBitShifter() {
default BigInteger abacusRȧñkOctalShiftLE(T shifter) {
return BigInteger.valueOf(zerdinal()).shiftLeft(shifter.abacusRȧñkOctalBitShifterLE());
}
default BigInteger abacusRȧñkOctalShiftBE(T shifter) {
return BigInteger.valueOf(zerdinal()).shiftLeft(shifter.abacusRȧñkOctalBitShifterBE());
}
default int abacusRȧñkOctalBitShifterLE() {
return zerdinalSpaceOctalCount() * zerdinal() * ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS;
}
default int abacusRȧñkOctalBitShifterBE() {
return zerdinalSpaceOctalCount() * (zerdinalSpaceBoundary() - zerdinal() - 1) * ᒢℭỗᶇṧⱦᶏꬼȶʂ.OCTALᣟᐧᣟBITS;
}
default Integer zerdinalSpaceOctalCount() {
return backpackᴬᵐᵐᵒᴮᵒˣ().kȱġễlInteger(TerminatorBullet.SPACE_OCTAL_COUNT);
}

View file

@ -95,10 +95,10 @@ public enum T008ᖟGun {
str.appendCodePoint(VALUES.codePoints().skip(ordinal).findFirst().getAsInt());
}
}
/// Hinarī(ヒナリー) is octal hebrew binary
/// Hinarī(ヒナリー) is octal hebrew binary (now big indian native unicode ordered)
@TerminatorGunAmmo注(website = "https://baki.fandom.com/wiki/Hinary")
static public final class T008ᖟGunHinarī implements TerminatorGun {
private final static String VALUES = "י"+"ײ"+"ױ"+"װ"+"ר"+"ד"+"ז"+"ו";
private final static String VALUES = "\u05D3\u05D5\u05D6\u05D9\u05E8\u05F0\u05F1\u05F2";
private T008ᖟGunHinarī() {
}
@ -110,7 +110,7 @@ public enum T008ᖟGun {
/// Hinarī + HinarīSupplement6 = 6 bit number
@TerminatorGunAmmo注(website = "https://en.wikipedia.org/wiki/Hebrew_diacritics")
static public final class T008ᖟGunHinarīSupplement6 implements TerminatorGun {
private final static String VALUES = "\u05BD"+"\u05B5"+"\u05B6"+"\u05B2"+"\u05B3"+"\u05BB"+"\u05B0"+"\u05B7";
private final static String VALUES = "\u05B0\u05B2\u05B3\u05B5\u05B6\u05B7\u05BB\u05BD";
private T008ᖟGunHinarīSupplement6() {
}
@ -122,7 +122,7 @@ public enum T008ᖟGun {
/// Hinarī + HinarīSupplement6 + HinarīSupplement9 = 9 bit number
@TerminatorGunAmmo注(website = "https://en.wikipedia.org/wiki/Hebrew_(Unicode_block)")
static public final class T008ᖟGunHinarīSupplement9 implements TerminatorGun {
private final static String VALUES = "\u0594"+"\u0595"+"\u05A9"+"\u059F"+"\u0598"+"\u05A0"+"\u059E"+"\u059D";
private final static String VALUES = "\u0594\u0595\u0598\u059D\u059E\u059F\u05A0\u05A9";
private T008ᖟGunHinarīSupplement9() {
}
@ -131,18 +131,4 @@ public enum T008ᖟGun {
str.appendCodePoint(VALUES.codePoints().skip(ordinal).findFirst().getAsInt());
}
}
/* Stable Typed Inverse BIT Zero
Hinarī + Supplement6 + Supplement9
1111111111111111111111111111111111
"י" i=5bd אֽ i=594 א֔
"ײ" i=5b5 אֵ i=595 א֕
"ױ" i=5b6 אֶ i=5a9 א֩
"װ" i=5b2 אֲ i=59f א֟
0000000000000000000000000000000000
"ר" i=5b3 אֳ i=598 א֘
"ד" i=5bb אֻ i=5a0 א֠
"ז" i=5b0 אְ i=59e א֞
"ו" i=5b7 אַ i=59d א֝
1111111111111111111111111111111111
*/
}

View file

@ -61,9 +61,9 @@ public class Gê̄ldGetậlÅtHebrew {
public T512ᖟ toTyte() {
int combinedValue = letter.ordinal() + (vowel.ordinal() << Gê̄ldGetậlÅtHebrewLetter.SHIFT_5);
T008ᖟ value0 = T008ᖟ.valueOfOctalShift(combinedValue, T008ᖟ.PART_1);
T008ᖟ value1 = T008ᖟ.valueOfOctalShift(combinedValue, T008ᖟ.PART_2);
T008ᖟ value2 = T008ᖟ.valueOfOctalShift(combinedValue, T008ᖟ.PART_3);
T008ᖟ value0 = T008ᖟ.valueOfOctalShiftBE(combinedValue, T008ᖟ.PART_1);
T008ᖟ value1 = T008ᖟ.valueOfOctalShiftBE(combinedValue, T008ᖟ.PART_2);
T008ᖟ value2 = T008ᖟ.valueOfOctalShiftBE(combinedValue, T008ᖟ.PART_3);
return T512ᖟ.valueOf(value0, value1, value2);
}

View file

@ -64,32 +64,32 @@ public enum LegoGearByteNative {
int v2 = (data[6] & 0xFF) + ((data[7] << SHIFT_8) & 0xFF00) + ((data[8] << SHIFT_16) & 0xFF0000);
// in-lined manual 3 loops for speed
octals.add(T008ᖟ.valueOfOctalShift(v0, T008ᖟ.PART_1));
octals.add(T008ᖟ.valueOfOctalShift(v0, T008ᖟ.PART_2));
octals.add(T008ᖟ.valueOfOctalShift(v0, T008ᖟ.PART_3));
octals.add(T008ᖟ.valueOfOctalShift(v0, T008ᖟ.PART_4));
octals.add(T008ᖟ.valueOfOctalShift(v0, T008ᖟ.PART_5));
octals.add(T008ᖟ.valueOfOctalShift(v0, T008ᖟ.PART_6));
octals.add(T008ᖟ.valueOfOctalShift(v0, T008ᖟ.PART_7));
octals.add(T008ᖟ.valueOfOctalShift(v0, T008ᖟ.PART_8));
octals.add(T008ᖟ.valueOfOctalShiftBE(v0, T008ᖟ.PART_1));
octals.add(T008ᖟ.valueOfOctalShiftBE(v0, T008ᖟ.PART_2));
octals.add(T008ᖟ.valueOfOctalShiftBE(v0, T008ᖟ.PART_3));
octals.add(T008ᖟ.valueOfOctalShiftBE(v0, T008ᖟ.PART_4));
octals.add(T008ᖟ.valueOfOctalShiftBE(v0, T008ᖟ.PART_5));
octals.add(T008ᖟ.valueOfOctalShiftBE(v0, T008ᖟ.PART_6));
octals.add(T008ᖟ.valueOfOctalShiftBE(v0, T008ᖟ.PART_7));
octals.add(T008ᖟ.valueOfOctalShiftBE(v0, T008ᖟ.PART_8));
octals.add(T008ᖟ.valueOfOctalShift(v1, T008ᖟ.PART_1));
octals.add(T008ᖟ.valueOfOctalShift(v1, T008ᖟ.PART_2));
octals.add(T008ᖟ.valueOfOctalShift(v1, T008ᖟ.PART_3));
octals.add(T008ᖟ.valueOfOctalShift(v1, T008ᖟ.PART_4));
octals.add(T008ᖟ.valueOfOctalShift(v1, T008ᖟ.PART_5));
octals.add(T008ᖟ.valueOfOctalShift(v1, T008ᖟ.PART_6));
octals.add(T008ᖟ.valueOfOctalShift(v1, T008ᖟ.PART_7));
octals.add(T008ᖟ.valueOfOctalShift(v1, T008ᖟ.PART_8));
octals.add(T008ᖟ.valueOfOctalShiftBE(v1, T008ᖟ.PART_1));
octals.add(T008ᖟ.valueOfOctalShiftBE(v1, T008ᖟ.PART_2));
octals.add(T008ᖟ.valueOfOctalShiftBE(v1, T008ᖟ.PART_3));
octals.add(T008ᖟ.valueOfOctalShiftBE(v1, T008ᖟ.PART_4));
octals.add(T008ᖟ.valueOfOctalShiftBE(v1, T008ᖟ.PART_5));
octals.add(T008ᖟ.valueOfOctalShiftBE(v1, T008ᖟ.PART_6));
octals.add(T008ᖟ.valueOfOctalShiftBE(v1, T008ᖟ.PART_7));
octals.add(T008ᖟ.valueOfOctalShiftBE(v1, T008ᖟ.PART_8));
octals.add(T008ᖟ.valueOfOctalShift(v2, T008ᖟ.PART_1));
octals.add(T008ᖟ.valueOfOctalShift(v2, T008ᖟ.PART_2));
octals.add(T008ᖟ.valueOfOctalShift(v2, T008ᖟ.PART_3));
octals.add(T008ᖟ.valueOfOctalShift(v2, T008ᖟ.PART_4));
octals.add(T008ᖟ.valueOfOctalShift(v2, T008ᖟ.PART_5));
octals.add(T008ᖟ.valueOfOctalShift(v2, T008ᖟ.PART_6));
octals.add(T008ᖟ.valueOfOctalShift(v2, T008ᖟ.PART_7));
octals.add(T008ᖟ.valueOfOctalShift(v2, T008ᖟ.PART_8));
octals.add(T008ᖟ.valueOfOctalShiftBE(v2, T008ᖟ.PART_1));
octals.add(T008ᖟ.valueOfOctalShiftBE(v2, T008ᖟ.PART_2));
octals.add(T008ᖟ.valueOfOctalShiftBE(v2, T008ᖟ.PART_3));
octals.add(T008ᖟ.valueOfOctalShiftBE(v2, T008ᖟ.PART_4));
octals.add(T008ᖟ.valueOfOctalShiftBE(v2, T008ᖟ.PART_5));
octals.add(T008ᖟ.valueOfOctalShiftBE(v2, T008ᖟ.PART_6));
octals.add(T008ᖟ.valueOfOctalShiftBE(v2, T008ᖟ.PART_7));
octals.add(T008ᖟ.valueOfOctalShiftBE(v2, T008ᖟ.PART_8));
// todo recode back to block streaming (move octals in while)
}
@ -136,14 +136,14 @@ public enum LegoGearByteNative {
JediTempleBase8Iterator read = brickᐧtapeᐧrecordᐧχ3();
while (read.hasNextᴿᵈ().toNavajo()) {
int byteTriplet = 0;
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNative(T008ᖟ.PART_1);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNative(T008ᖟ.PART_2);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNative(T008ᖟ.PART_3);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNative(T008ᖟ.PART_4);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNative(T008ᖟ.PART_5);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNative(T008ᖟ.PART_6);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNative(T008ᖟ.PART_7);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNative(T008ᖟ.PART_8);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNativeBE(T008ᖟ.PART_1);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNativeBE(T008ᖟ.PART_2);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNativeBE(T008ᖟ.PART_3);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNativeBE(T008ᖟ.PART_4);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNativeBE(T008ᖟ.PART_5);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNativeBE(T008ᖟ.PART_6);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNativeBE(T008ᖟ.PART_7);
byteTriplet += read.nextᴿᵈ().zerdinalOctalShiftNativeBE(T008ᖟ.PART_8);
output.write(byteTriplet);
output.write(byteTriplet >> SHIFT_8);
output.write(byteTriplet >> SHIFT_16);

View file

@ -61,13 +61,16 @@ public final class V018Tord extends LegoBrickMould抽<T512ᖟ, T002ᖟ> implemen
}
public T008ᖟ legoᐧtuneᐧᗅᗷᗷᗅ(T006ᖟ part, T008ᖟ value) {
T002ᖟ tuneBy3 = part.clampᐧtuneᐧby3();
T003ᖟ tuneBy3M = part.clampᐧtuneᐧby3ᐧmod();
T512ᖟ valueBy3 = legoᐧtuneᐧᗅᗷᗷᗅ(tuneBy3);
if (value == null) {
return legoᐧtuneᐧᗅᗷᗷᗅ(part.clampᐧtuneᐧby3()).clampᐧoctalᐧtuneᐧby3(part.clampᐧtuneᐧby3ᐧmod());
return valueBy3.clampᐧtuneᐧby3(tuneBy3M);
}
T008ᖟ value1 = legoᐧtuneᐧᗅᗷᗷᗅ(part.clampᐧtuneᐧby3()).clampᐧoctalᐧtuneᐧby3(T003ᖟ.PART_1);
T008ᖟ value2 = legoᐧtuneᐧᗅᗷᗷᗅ(part.clampᐧtuneᐧby3()).clampᐧoctalᐧtuneᐧby3(T003ᖟ.PART_2);
T008ᖟ value3 = legoᐧtuneᐧᗅᗷᗷᗅ(part.clampᐧtuneᐧby3()).clampᐧoctalᐧtuneᐧby3(T003ᖟ.PART_3);
switch (part.clampᐧtuneᐧby3ᐧmod()) {
T008ᖟ value1 = valueBy3.clampᐧtuneᐧby3(T003ᖟ.PART_1);
T008ᖟ value2 = valueBy3.clampᐧtuneᐧby3(T003ᖟ.PART_2);
T008ᖟ value3 = valueBy3.clampᐧtuneᐧby3(T003ᖟ.PART_3);
switch (tuneBy3M) {
case PART_1:
value1 = value;
break;
@ -79,7 +82,7 @@ public final class V018Tord extends LegoBrickMould抽<T512ᖟ, T002ᖟ> implemen
break;
}
T512ᖟ valueNew = T512ᖟ.valueOf(value1, value2, value3);
legoᐧtuneᐧᗅᗷᗷᗅ(part.clampᐧtuneᐧby3(), valueNew);
legoᐧtuneᐧᗅᗷᗷᗅ(tuneBy3, valueNew);
return value;
}