mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-12-24 23:31:31 +00:00
tidying
This commit is contained in:
parent
932fc03d14
commit
e6f03bcb07
@ -2,66 +2,66 @@ package com.bytezone.diskbrowser.applefile;
|
|||||||
|
|
||||||
public interface AssemblerConstants
|
public interface AssemblerConstants
|
||||||
{
|
{
|
||||||
// 1A = INC A, 3A = DEC A
|
// 1A = INC A, 3A = DEC A
|
||||||
String[] mnemonics = { "BRK", "ORA", "???", "???", "TSB", "ORA", "ASL", "???", // 00
|
String[] mnemonics = { "BRK", "ORA", "???", "???", "TSB", "ORA", "ASL", "???", // 00
|
||||||
"PHP", "ORA", "ASL", "???", "TSB", "ORA", "ASL", "???", // 08
|
"PHP", "ORA", "ASL", "???", "TSB", "ORA", "ASL", "???", // 08
|
||||||
"BPL", "ORA", "ORA", "???", "TRB", "ORA", "ASL", "???", // 10
|
"BPL", "ORA", "ORA", "???", "TRB", "ORA", "ASL", "???", // 10
|
||||||
"CLC", "ORA", "INC", "???", "TRB", "ORA", "ASL", "???", // 18
|
"CLC", "ORA", "INC", "???", "TRB", "ORA", "ASL", "???", // 18
|
||||||
"JSR", "AND", "???", "???", "BIT", "AND", "ROL", "???", // 20
|
"JSR", "AND", "???", "???", "BIT", "AND", "ROL", "???", // 20
|
||||||
"PLP", "AND", "ROL", "???", "BIT", "AND", "ROL", "???", // 28
|
"PLP", "AND", "ROL", "???", "BIT", "AND", "ROL", "???", // 28
|
||||||
"BMI", "AND", "AND", "???", "BIT", "AND", "ROL", "???", // 30
|
"BMI", "AND", "AND", "???", "BIT", "AND", "ROL", "???", // 30
|
||||||
"SEC", "AND", "DEC", "???", "BIT", "AND", "ROL", "???", // 38
|
"SEC", "AND", "DEC", "???", "BIT", "AND", "ROL", "???", // 38
|
||||||
"RTI", "EOR", "???", "???", "???", "EOR", "LSR", "???", // 40
|
"RTI", "EOR", "???", "???", "???", "EOR", "LSR", "???", // 40
|
||||||
"PHA", "EOR", "LSR", "???", "JMP", "EOR", "LSR", "???", // 48
|
"PHA", "EOR", "LSR", "???", "JMP", "EOR", "LSR", "???", // 48
|
||||||
"BVC", "EOR", "EOR", "???", "???", "EOR", "LSR", "???", // 50
|
"BVC", "EOR", "EOR", "???", "???", "EOR", "LSR", "???", // 50
|
||||||
"CLI", "EOR", "PHY", "???", "???", "EOR", "LSR", "???", // 58
|
"CLI", "EOR", "PHY", "???", "???", "EOR", "LSR", "???", // 58
|
||||||
"RTS", "ADC", "???", "???", "STZ", "ADC", "ROR", "???", // 60
|
"RTS", "ADC", "???", "???", "STZ", "ADC", "ROR", "???", // 60
|
||||||
"PLA", "ADC", "ROR", "???", "JMP", "ADC", "ROR", "???", // 68
|
"PLA", "ADC", "ROR", "???", "JMP", "ADC", "ROR", "???", // 68
|
||||||
"BVS", "ADC", "ADC", "???", "STZ", "ADC", "ROR", "???", // 70
|
"BVS", "ADC", "ADC", "???", "STZ", "ADC", "ROR", "???", // 70
|
||||||
"SEI", "ADC", "PLY", "???", "JMP", "ADC", "ROR", "???", // 78
|
"SEI", "ADC", "PLY", "???", "JMP", "ADC", "ROR", "???", // 78
|
||||||
"BRA", "STA", "???", "???", "STY", "STA", "STX", "???", // 80
|
"BRA", "STA", "???", "???", "STY", "STA", "STX", "???", // 80
|
||||||
"DEY", "BIT", "TXA", "???", "STY", "STA", "STX", "???", // 88
|
"DEY", "BIT", "TXA", "???", "STY", "STA", "STX", "???", // 88
|
||||||
"BCC", "STA", "STA", "???", "STY", "STA", "STX", "???", // 90
|
"BCC", "STA", "STA", "???", "STY", "STA", "STX", "???", // 90
|
||||||
"TYA", "STA", "TXS", "???", "STZ", "STA", "STZ", "???", // 98
|
"TYA", "STA", "TXS", "???", "STZ", "STA", "STZ", "???", // 98
|
||||||
"LDY", "LDA", "LDX", "???", "LDY", "LDA", "LDX", "???", // A0
|
"LDY", "LDA", "LDX", "???", "LDY", "LDA", "LDX", "???", // A0
|
||||||
"TAY", "LDA", "TAX", "???", "LDY", "LDA", "LDX", "???", // A8
|
"TAY", "LDA", "TAX", "???", "LDY", "LDA", "LDX", "???", // A8
|
||||||
"BCS", "LDA", "LDA", "???", "LDY", "LDA", "LDX", "???", // B0
|
"BCS", "LDA", "LDA", "???", "LDY", "LDA", "LDX", "???", // B0
|
||||||
"CLV", "LDA", "TSX", "???", "LDY", "LDA", "LDX", "???", // B8
|
"CLV", "LDA", "TSX", "???", "LDY", "LDA", "LDX", "???", // B8
|
||||||
"CPY", "CMP", "???", "???", "CPY", "CMP", "DEC", "???", // C0
|
"CPY", "CMP", "???", "???", "CPY", "CMP", "DEC", "???", // C0
|
||||||
"INY", "CMP", "DEX", "???", "CPY", "CMP", "DEC", "???", // C8
|
"INY", "CMP", "DEX", "???", "CPY", "CMP", "DEC", "???", // C8
|
||||||
"BNE", "CMP", "CMP", "???", "???", "CMP", "DEC", "???", // D0
|
"BNE", "CMP", "CMP", "???", "???", "CMP", "DEC", "???", // D0
|
||||||
"CLD", "CMP", "PHX", "???", "???", "CMP", "DEC", "???", // D8
|
"CLD", "CMP", "PHX", "???", "???", "CMP", "DEC", "???", // D8
|
||||||
"CPX", "SBC", "???", "???", "CPX", "SBC", "INC", "???", // E0
|
"CPX", "SBC", "???", "???", "CPX", "SBC", "INC", "???", // E0
|
||||||
"INX", "SBC", "NOP", "???", "CPX", "SBC", "INC", "???", // E8
|
"INX", "SBC", "NOP", "???", "CPX", "SBC", "INC", "???", // E8
|
||||||
"BEQ", "SBC", "SBC", "???", "???", "SBC", "INC", "???", // F0
|
"BEQ", "SBC", "SBC", "???", "???", "SBC", "INC", "???", // F0
|
||||||
"SED", "SBC", "PLX", "???", "???", "SBC", "INC", "???" }; // F8
|
"SED", "SBC", "PLX", "???", "???", "SBC", "INC", "???" }; // F8
|
||||||
|
|
||||||
byte[] sizes2 = { 1, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 00 - 0F
|
byte[] sizes2 = { 1, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 00 - 0F
|
||||||
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // 10 - 1F
|
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // 10 - 1F
|
||||||
3, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 20 - 2F
|
3, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 20 - 2F
|
||||||
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // 30 - 3F
|
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // 30 - 3F
|
||||||
1, 2, 0, 0, 0, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 40 - 4F
|
1, 2, 0, 0, 0, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 40 - 4F
|
||||||
2, 2, 2, 0, 0, 2, 2, 0, 1, 3, 1, 0, 0, 3, 3, 0, // 50 - 5F
|
2, 2, 2, 0, 0, 2, 2, 0, 1, 3, 1, 0, 0, 3, 3, 0, // 50 - 5F
|
||||||
1, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 60 - 6F
|
1, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 60 - 6F
|
||||||
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // 70 - 7F
|
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // 70 - 7F
|
||||||
2, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 80 - 8F
|
2, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // 80 - 8F
|
||||||
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // 90 - 9F
|
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // 90 - 9F
|
||||||
2, 2, 2, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // A0 - AF
|
2, 2, 2, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // A0 - AF
|
||||||
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // B0 - BF
|
2, 2, 2, 0, 2, 2, 2, 0, 1, 3, 1, 0, 3, 3, 3, 0, // B0 - BF
|
||||||
2, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // C0 - CF
|
2, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // C0 - CF
|
||||||
2, 2, 2, 0, 0, 2, 2, 0, 1, 3, 1, 0, 0, 3, 3, 0, // D0 - DF
|
2, 2, 2, 0, 0, 2, 2, 0, 1, 3, 1, 0, 0, 3, 3, 0, // D0 - DF
|
||||||
2, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // E0 - EF
|
2, 2, 0, 0, 2, 2, 2, 0, 1, 2, 1, 0, 3, 3, 3, 0, // E0 - EF
|
||||||
2, 2, 2, 0, 0, 2, 2, 0, 1, 3, 1, 0, 0, 3, 3, 0 }; // F0 - FF
|
2, 2, 2, 0, 0, 2, 2, 0, 1, 3, 1, 0, 0, 3, 3, 0 }; // F0 - FF
|
||||||
|
|
||||||
byte[] sizes = { 1, 1, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2 };
|
byte[] sizes = { 1, 1, 2, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2 };
|
||||||
|
|
||||||
String[] mode =
|
String[] mode =
|
||||||
{ "Implied", "Accumulator", "Immediate", "Absolute", "Absolute, X", "Absolute, Y",
|
{ "Implied", "Accumulator", "Immediate", "Absolute", "Absolute, X", "Absolute, Y",
|
||||||
"(Absolute, X)", "(Absolute)", "Zero page", "Zero page, X", "Zero page, Y",
|
"(Absolute, X)", "(Absolute)", "Zero page", "Zero page, X", "Zero page, Y",
|
||||||
"(Zero page, X)", "(Zero page), Y", "(Zero page)", "Relative" };
|
"(Zero page, X)", "(Zero page), Y", "(Zero page)", "Relative" };
|
||||||
|
|
||||||
byte[] chip65c02 =
|
byte[] chip65c02 =
|
||||||
{ 0x04, 0x0C, 0x12, 0x14, 0x1A, 0x1C, 0x32, 0x34, 0x3A, 0x3C, 0x52, 0x5A, 0x64, 0x72,
|
{ 0x04, 0x0C, 0x12, 0x14, 0x1A, 0x1C, 0x32, 0x34, 0x3A, 0x3C, 0x52, 0x5A, 0x64,
|
||||||
0x74, 0x7A, 0x7C, (byte) 0x80, (byte) 0x89, (byte) 0x92, (byte) 0x9C,
|
0x72, 0x74, 0x7A, 0x7C, (byte) 0x80, (byte) 0x89, (byte) 0x92, (byte) 0x9C,
|
||||||
(byte) 0x9E, (byte) 0xB2, (byte) 0xD2, (byte) 0xDA, (byte) 0xF2, (byte) 0xFA, };
|
(byte) 0x9E, (byte) 0xB2, (byte) 0xD2, (byte) 0xDA, (byte) 0xF2, (byte) 0xFA, };
|
||||||
}
|
}
|
@ -116,27 +116,40 @@ F48A RIGHT EQU
|
|||||||
F4D5 UP EQU
|
F4D5 UP EQU
|
||||||
F504 DOWN EQU
|
F504 DOWN EQU
|
||||||
F6B9 HFNS
|
F6B9 HFNS
|
||||||
|
|
||||||
|
F800 PLOT
|
||||||
|
F819 HLINE
|
||||||
|
F828 VLINE
|
||||||
|
F864 SETCOL
|
||||||
|
F871 SCRN
|
||||||
|
|
||||||
F940 PRINTYX
|
F940 PRINTYX
|
||||||
F941 PRINTAX - print a hex number
|
F941 PRINTAX - print a hex number
|
||||||
|
|
||||||
FAA6 reboot DOS
|
FAA6 reboot DOS
|
||||||
FAFF 0 = Autostart ROM, 1 = Old Monitor
|
FAFF 0 = Autostart ROM, 1 = Old Monitor
|
||||||
|
|
||||||
FB1E PREAD - read game paddle
|
FB1E PREAD - read game paddle
|
||||||
FB2F initialise text screen
|
FB2F initialise text screen
|
||||||
FB39 text mode - SETTXT
|
FB39 text mode - SETTXT
|
||||||
|
FB40 SETGR
|
||||||
FB5B TABV - monitor tab routine
|
FB5B TABV - monitor tab routine
|
||||||
FC66 CURSDWN - move cursor down
|
|
||||||
FBF4 CURSRIT - move cursor right
|
|
||||||
FC10 CURSLFT - move cursor left
|
|
||||||
FC1A CURSUP - move cursor up
|
|
||||||
FB6F set powerup checksum
|
FB6F set powerup checksum
|
||||||
FBC1 BASCALC - calculate video address
|
FBC1 BASCALC - calculate video address
|
||||||
FBDD BEEP
|
FBDD BEEP
|
||||||
|
FBF4 CURSRIT - move cursor right
|
||||||
|
|
||||||
|
FC10 CURSLFT - move cursor left
|
||||||
|
FC1A CURSUP - move cursor up
|
||||||
FC22 VTAB
|
FC22 VTAB
|
||||||
FC42 CLREOP - clear to end of page
|
FC42 CLREOP - clear to end of page
|
||||||
FC58 HOME - clear screen
|
FC58 HOME - clear screen
|
||||||
FC62 CR
|
FC62 CR
|
||||||
|
FC66 CURSDWN - move cursor down
|
||||||
FC9C CLREOL
|
FC9C CLREOL
|
||||||
FCA8 WAIT 1/2(26+27A+5A^2) microseconds
|
FCA8 WAIT 1/2(26+27A+5A^2) microseconds
|
||||||
|
FCFA RD2BIT
|
||||||
|
|
||||||
FD0C RDKEY - Blink cursor
|
FD0C RDKEY - Blink cursor
|
||||||
FD1B KEYIN - Increment RNDL,H while polling keyboard
|
FD1B KEYIN - Increment RNDL,H while polling keyboard
|
||||||
FD35 RDCHAR - Call RDKEY
|
FD35 RDCHAR - Call RDKEY
|
||||||
@ -147,9 +160,16 @@ FDDA PRBYTE - print A in hex
|
|||||||
FDED COUT - output a character
|
FDED COUT - output a character
|
||||||
FDF0 COUT1 - output a character to screen
|
FDF0 COUT1 - output a character to screen
|
||||||
FD8E CROUT - generate a return
|
FD8E CROUT - generate a return
|
||||||
|
|
||||||
FE2C move a block of memory
|
FE2C move a block of memory
|
||||||
FE89 disconnect DOS from I/O links
|
FE89 disconnect DOS from I/O links
|
||||||
|
FE8B INPORT
|
||||||
FE93 disconnect DOS from I/O links
|
FE93 disconnect DOS from I/O links
|
||||||
|
FE95 OUTPORT
|
||||||
|
FECD WRITE
|
||||||
|
FEFD READ
|
||||||
|
|
||||||
|
FF02 READ2
|
||||||
FF3A BELL
|
FF3A BELL
|
||||||
FF3F SAVE
|
FF3F SAVE
|
||||||
FF4A RESTORE
|
FF4A RESTORE
|
||||||
|
@ -34,6 +34,13 @@ class VisicalcCell implements Comparable<VisicalcCell>
|
|||||||
case '/':
|
case '/':
|
||||||
if (command.charAt (1) == 'F') // format cell
|
if (command.charAt (1) == 'F') // format cell
|
||||||
{
|
{
|
||||||
|
// /FG - general
|
||||||
|
// /FD - default
|
||||||
|
// /FI - integer
|
||||||
|
// /F$ - dollars and cents
|
||||||
|
// /FL - left justified
|
||||||
|
// /FR - right justified
|
||||||
|
// /F* - graph
|
||||||
format = command.charAt (2);
|
format = command.charAt (2);
|
||||||
if (command.length () > 3 && command.charAt (3) == '"')
|
if (command.length () > 3 && command.charAt (3) == '"')
|
||||||
label = command.substring (4);
|
label = command.substring (4);
|
||||||
@ -73,6 +80,9 @@ class VisicalcCell implements Comparable<VisicalcCell>
|
|||||||
double result = 0.0;
|
double result = 0.0;
|
||||||
double interim = 0.0;
|
double interim = 0.0;
|
||||||
|
|
||||||
|
if (formula.startsWith ("@LOOKUP("))
|
||||||
|
return result;
|
||||||
|
|
||||||
Matcher m = cellContents.matcher (formula);
|
Matcher m = cellContents.matcher (formula);
|
||||||
while (m.find ())
|
while (m.find ())
|
||||||
{
|
{
|
||||||
@ -88,7 +98,7 @@ class VisicalcCell implements Comparable<VisicalcCell>
|
|||||||
}
|
}
|
||||||
catch (NumberFormatException e)
|
catch (NumberFormatException e)
|
||||||
{
|
{
|
||||||
System.out.printf ("NFE: %s%n", m.group (4));
|
System.out.printf ("NFE: %s [%s]%n", m.group (4), formula);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
interim = parent.evaluateFunction (m.group (5)); // function
|
interim = parent.evaluateFunction (m.group (5)); // function
|
||||||
|
@ -196,11 +196,11 @@ public class VisicalcSpreadsheet implements Iterable<VisicalcCell>
|
|||||||
char subCommand = command.charAt (1);
|
char subCommand = command.charAt (1);
|
||||||
switch (subCommand)
|
switch (subCommand)
|
||||||
{
|
{
|
||||||
case 'W':
|
case 'W': // Window control
|
||||||
// System.out.println (" Window command: " + data);
|
// System.out.println (" Window command: " + data);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'G':
|
case 'G': // Global command
|
||||||
// System.out.println (" Global command: " + data);
|
// System.out.println (" Global command: " + data);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -224,7 +224,7 @@ public class VisicalcSpreadsheet implements Iterable<VisicalcCell>
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'T':
|
case 'T': // Set title area
|
||||||
// System.out.println (" Title command: " + data);
|
// System.out.println (" Title command: " + data);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -268,6 +268,10 @@ public class VisicalcSpreadsheet implements Iterable<VisicalcCell>
|
|||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
if (function.startsWith ("@LOOKUP("))
|
||||||
|
{
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
Range range = getRange (function);
|
Range range = getRange (function);
|
||||||
if (range == null)
|
if (range == null)
|
||||||
@ -305,6 +309,11 @@ public class VisicalcSpreadsheet implements Iterable<VisicalcCell>
|
|||||||
max = getValue (address);
|
max = getValue (address);
|
||||||
result = max;
|
result = max;
|
||||||
}
|
}
|
||||||
|
else if (function.startsWith ("@LOOKUP"))
|
||||||
|
{
|
||||||
|
System.out.println ("Unfinished: " + function);
|
||||||
|
result = 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
System.out.println ("Unimplemented function: " + function);
|
System.out.println ("Unimplemented function: " + function);
|
||||||
// http://www.bricklin.com/history/refcard1.htm
|
// http://www.bricklin.com/history/refcard1.htm
|
||||||
@ -339,6 +348,7 @@ public class VisicalcSpreadsheet implements Iterable<VisicalcCell>
|
|||||||
private Range getRange (String text)
|
private Range getRange (String text)
|
||||||
{
|
{
|
||||||
Range range = null;
|
Range range = null;
|
||||||
|
System.out.printf ("Range: [%s]%n", text);
|
||||||
Matcher m = functionPattern.matcher (text);
|
Matcher m = functionPattern.matcher (text);
|
||||||
while (m.find ())
|
while (m.find ())
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user