From 177ecdfea199a57006fc556714801fe1e3166efa Mon Sep 17 00:00:00 2001 From: Mark Long Date: Thu, 29 Jun 2017 00:21:45 -0500 Subject: [PATCH] Various Changes --- AppleSAWS.pro | 10 +- src/binaryfile/AssemblerSymbolModel.cpp | 31 +- src/binaryfile/AssemblerSymbols.cpp | 22 +- src/binaryfile/AssemblerSymbols.h | 9 + src/binaryfile/EntryPointModel.cpp | 20 +- src/binaryfile/EntryPointModel.h | 5 +- src/binaryfile/EntryPoints.cpp | 2 +- src/binaryfile/binaryfilemetadata.cpp | 38 +- src/diskfiles/dos33/catalogsector.cxx | 2 - src/diskfiles/dos33/diskfile.cxx | 12 + src/diskfiles/dos33/diskfile.h | 7 +- src/diskfiles/dos33/genericfile.cxx | 1 + src/diskfiles/dos33/genericfile.h | 6 + src/internals/JumpLineManager.cpp | 32 +- src/ui/catalogwidget.cxx | 50 +- src/ui/catalogwidget.ui | 69 +- src/ui/diskexplorer/DiskExplorer.cpp | 45 +- src/ui/diskexplorer/DiskExplorer.h | 2 + src/ui/diskexplorer/DiskExplorerMapWidget.cpp | 6 +- src/ui/diskexplorer/DiskExplorerMapWidget.h | 2 +- src/ui/viewers/applesoftfiledetailviewer.cpp | 100 +- src/ui/viewers/applesoftfiledetailviewer.h | 13 +- src/ui/viewers/applesoftfileviewer.cxx | 52 +- src/ui/viewers/applesoftfileviewer.h | 19 +- src/ui/viewers/charsetviewer.cpp | 8 +- src/ui/viewers/disassemblerviewer.cpp | 1574 +++--- src/ui/viewers/hexdumpviewer.cpp | 3 +- src/ui/viewers/hiresviewwidget.cxx | 21 + src/ui/viewers/hiresviewwidget.h | 7 +- src/ui/viewers/mazeviewer.cpp | 2 +- src/ui/viewers/texthexdumpviewer.cpp | 3 +- src/ui/viewers/viewerbase.cpp | 13 +- src/ui/viewers/viewerbase.h | 2 +- src/ui/widgets/CharacterSetExplorer.cpp | 7 +- src/ui/widgets/DisassemblerMetadataDialog.cpp | 82 +- src/ui/widgets/DisassemblerMetadataDialog.h | 7 +- src/ui/widgets/DisassemblerMetadataDialog.ui | 342 +- src/ui/widgets/FlowLineTextBrowser.cpp | 27 +- src/ui/widgets/FlowLineTextBrowser.h | 3 + src/ui/widgets/HiresScreenWidget.cpp | 87 +- src/ui/widgets/HiresScreenWidget.h | 13 +- src/ui/widgets/LocationInfoDialog.cpp | 12 + src/ui/widgets/LocationInfoDialog.h | 3 + src/ui/widgets/LocationInfoDialog.ui | 29 +- src/ui/widgets/asciiinfodialog.h | 62 + src/ui/widgets/asciiinfodialog.ui | 4937 +++++++++++++++++ src/ui/widgets/hexconverter.cpp | 10 +- 47 files changed, 6667 insertions(+), 1142 deletions(-) create mode 100644 src/ui/widgets/asciiinfodialog.h create mode 100644 src/ui/widgets/asciiinfodialog.ui diff --git a/AppleSAWS.pro b/AppleSAWS.pro index a20c2de..827d607 100644 --- a/AppleSAWS.pro +++ b/AppleSAWS.pro @@ -2,6 +2,10 @@ QT += core gui printsupport CONFIG += c++11 +MOC_DIR = ./.build +UI_DIR = ./.build +OBJECTS_DIR = ./.build + greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = AppleSAWS @@ -120,7 +124,8 @@ HEADERS += \ src/applesoftfile/ApplesoftRetokenizer.h \ src/util/AppleColors.h \ src/internals/JumpLineManager.h \ - src/ui/widgets/FlowLineTextBrowser.h + src/ui/widgets/FlowLineTextBrowser.h \ + src/ui/widgets/asciiinfodialog.h FORMS += \ src/ui/catalogwidget.ui \ @@ -134,4 +139,5 @@ FORMS += \ src/ui/viewers/viewerbase.ui \ src/ui/widgets/CharacterSetExplorer.ui \ src/ui/widgets/DisassemblerMetadataDialog.ui \ - src/ui/widgets/LocationInfoDialog.ui + src/ui/widgets/LocationInfoDialog.ui \ + src/ui/widgets/asciiinfodialog.ui diff --git a/src/binaryfile/AssemblerSymbolModel.cpp b/src/binaryfile/AssemblerSymbolModel.cpp index 46d0a82..95e1a30 100644 --- a/src/binaryfile/AssemblerSymbolModel.cpp +++ b/src/binaryfile/AssemblerSymbolModel.cpp @@ -15,9 +15,9 @@ void AssemblerSymbolModel::setAssemblerSymbolsData(AssemblerSymbols *symbols) if (assemblerSymbols) { - connect(assemblerSymbols,SIGNAL(symbolAddedAt(int)),SLOT(handleSymbolAddition(int))); - connect(assemblerSymbols,SIGNAL(symbolChangedAt(int)),SLOT(handleSymbolChange(int))); - connect(assemblerSymbols,SIGNAL(symbolRemovedAt(int)),SLOT(handleSymbolRemoval(int))); + connect(assemblerSymbols, &AssemblerSymbols::symbolAddedAt, this, &AssemblerSymbolModel::handleSymbolAddition); + connect(assemblerSymbols, &AssemblerSymbols::symbolChangedAt, this, &AssemblerSymbolModel::handleSymbolChange); + connect(assemblerSymbols, &AssemblerSymbols::symbolRemovedAt, this, &AssemblerSymbolModel::handleSymbolRemoval); } } @@ -57,7 +57,7 @@ int AssemblerSymbolModel::rowCount(const QModelIndex &parent) const int AssemblerSymbolModel::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent); - return 1; + return 2; } QVariant AssemblerSymbolModel::data(const QModelIndex &index, int role) const @@ -67,6 +67,19 @@ QVariant AssemblerSymbolModel::data(const QModelIndex &index, int role) const if (role == Qt::DisplayRole) { if (index.column() == 0) + { + QString val; + if (assemblerSymbols->at(index.row()).symbolsize == SizeWord) + { + val = "WORD"; + } + else if (assemblerSymbols->at(index.row()).symbolsize == SizeByte) + { + val = "BYTE"; + } + return val; + } + else if (index.column() == 1) { return assemblerSymbols->at(index.row()).name; } @@ -79,9 +92,9 @@ bool AssemblerSymbolModel::setData(const QModelIndex &index, const QVariant &val if (!assemblerSymbols) return false; if (data(index, role) != value) { - if (index.column() == 0) + if (index.column() == 1) { - assemblerSymbols->symbolRefAt(index.row()).name = value.toString(); + assemblerSymbols->symbolRefAt(index.row()).name = value.toString(); } emit dataChanged(index, index, QVector() << role); return true; @@ -92,7 +105,7 @@ bool AssemblerSymbolModel::setData(const QModelIndex &index, const QVariant &val Qt::ItemFlags AssemblerSymbolModel::flags(const QModelIndex &index) const { Q_UNUSED(index); - if (index.column() == 0) + if (index.column() == 1) return Qt::ItemIsEditable | QAbstractTableModel::flags(index); else return QAbstractTableModel::flags(index); @@ -108,14 +121,16 @@ bool AssemblerSymbolModel::insertRows(int row, int count, const QModelIndex &par bool AssemblerSymbolModel::removeRows(int row, int count, const QModelIndex &parent) { if (!assemblerSymbols) return false; + bool success = false; beginRemoveRows(parent, row, row + count - 1); for (int idx = 0; idx < count; idx++) { assemblerSymbols->removeSymbolAt(row); + success = true; } endRemoveRows(); - return false; + return success; } diff --git a/src/binaryfile/AssemblerSymbols.cpp b/src/binaryfile/AssemblerSymbols.cpp index f7a757b..f4f591d 100644 --- a/src/binaryfile/AssemblerSymbols.cpp +++ b/src/binaryfile/AssemblerSymbols.cpp @@ -1,10 +1,26 @@ #include "AssemblerSymbols.h" + AssemblerSymbols::AssemblerSymbols(QObject *parent) : QObject(parent) { } +int AssemblerSymbols::locationOfSymbolAtAddress(quint16 address) +{ + // Assume list m_assemblerSymbols is sorted by address (it should be) + QListIterator it(m_assemblerSymbols); + int idx = 0; + while (it.hasNext()) + { + AssemblerSymbol ep = it.next(); + if (ep.address == address) return idx; + if (ep.address > address) return -1; + idx++; + } + return -1; +} + bool AssemblerSymbols::hasAssemSymbolAtAddress(quint16 address) { // Assume list m_assemblerSymbols is sorted by address (it should be) @@ -51,7 +67,6 @@ void AssemblerSymbols::addSymbol(AssemblerSymbol ep) void AssemblerSymbols::removeSymbolAt(int location) { m_assemblerSymbols.removeAt(location); - emit symbolRemovedAt(location); } //--------------------------------------------------------------------------- @@ -92,6 +107,7 @@ QDataStream &operator<<(QDataStream &out, const AssemblerSymbol &model) { out << model.address; out << model.name; + out << (qint32) model.symbolsize; return out; } @@ -99,7 +115,9 @@ QDataStream &operator>>(QDataStream &in, AssemblerSymbol &model) { in >> model.address; in >> model.name; - + qint32 size; + in >> size; + model.symbolsize = (SymbolSize) size; return in; } diff --git a/src/binaryfile/AssemblerSymbols.h b/src/binaryfile/AssemblerSymbols.h index ab9694a..482ebeb 100644 --- a/src/binaryfile/AssemblerSymbols.h +++ b/src/binaryfile/AssemblerSymbols.h @@ -4,11 +4,19 @@ #include #include +typedef enum { + SizeUnknown = 0, + SizeByte = 1, + SizeWord = 2 +} SymbolSize; + struct AssemblerSymbol { quint16 address; QString name; + SymbolSize symbolsize; }; + class AssemblerSymbols : public QObject { Q_OBJECT @@ -30,6 +38,7 @@ public: void doTestData(); + int locationOfSymbolAtAddress(quint16 address); signals: void symbolAdded(AssemblerSymbol &AssemblerSymbol, int location); void symbolAddedAt(int location); diff --git a/src/binaryfile/EntryPointModel.cpp b/src/binaryfile/EntryPointModel.cpp index b94e2c3..8f102fb 100644 --- a/src/binaryfile/EntryPointModel.cpp +++ b/src/binaryfile/EntryPointModel.cpp @@ -17,10 +17,9 @@ void EntryPointModel::setEntryPointsData(EntryPoints *points) if (entryPoints) { - connect(entryPoints,SIGNAL(pointAddedAt(int)),SLOT(handlePointAddition(int))); - connect(entryPoints,SIGNAL(pointChangedAt(int)),SLOT(handlePointChange(int))); - connect(entryPoints,SIGNAL(pointRemovedAt(int)),SLOT(handlePointRemoval(int))); - // insertRows(0,entryPoints->numEntryPoints()); + connect(entryPoints, &EntryPoints::pointAddedAt, this, &EntryPointModel::handlePointAddition); + connect(entryPoints, &EntryPoints::pointChangedAt, this, &EntryPointModel::handlePointChange); + } } @@ -110,15 +109,26 @@ bool EntryPointModel::insertRows(int row, int count, const QModelIndex &parent) bool EntryPointModel::removeRows(int row, int count, const QModelIndex &parent) { + qDebug() << __FILE__ << __LINE__; + if (!entryPoints) return false; + qDebug() << __FILE__ << __LINE__; + bool success = false; + qDebug() << __FILE__ << __LINE__; beginRemoveRows(parent, row, row + count - 1); + qDebug() << __FILE__ << __LINE__; for (int idx = 0; idx < count; idx++) { + qDebug() << __FILE__ << __LINE__; entryPoints->removePointAt(row); + qDebug() << __FILE__ << __LINE__; + success = true; } + qDebug() << __FILE__ << __LINE__; endRemoveRows(); - return false; + qDebug() << __FILE__ << __LINE__; + return success; } diff --git a/src/binaryfile/EntryPointModel.h b/src/binaryfile/EntryPointModel.h index 1d31004..118a4f6 100644 --- a/src/binaryfile/EntryPointModel.h +++ b/src/binaryfile/EntryPointModel.h @@ -18,8 +18,7 @@ public: void setEntryPointsData(EntryPoints *points); // Header: - QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;//DONE - + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; // Basic functionality: int rowCount(const QModelIndex &parent = QModelIndex()) const override; int columnCount(const QModelIndex &parent = QModelIndex()) const override; @@ -43,7 +42,7 @@ public: protected slots: void handlePointAddition(int location) { insertRows(location,1); } - void handlePointRemoval(int location) { removeRows(location, 1); } +// void handlePointRemoval(int location) { removeRows(location, 1); } void handlePointChange(int location) { QModelIndex ind = createIndex(location,0); diff --git a/src/binaryfile/EntryPoints.cpp b/src/binaryfile/EntryPoints.cpp index 377b71a..38df74f 100644 --- a/src/binaryfile/EntryPoints.cpp +++ b/src/binaryfile/EntryPoints.cpp @@ -1,4 +1,5 @@ #include "EntryPoints.h" +#include EntryPoints::EntryPoints(QObject *parent) : QObject(parent) { @@ -51,7 +52,6 @@ void EntryPoints::addPoint(EntryPoint ep) void EntryPoints::removePointAt(int location) { m_entryPoints.removeAt(location); - emit pointRemovedAt(location); } //--------------------------------------------------------------------------- diff --git a/src/binaryfile/binaryfilemetadata.cpp b/src/binaryfile/binaryfilemetadata.cpp index 51f98c2..42d029e 100644 --- a/src/binaryfile/binaryfilemetadata.cpp +++ b/src/binaryfile/binaryfilemetadata.cpp @@ -1,8 +1,8 @@ #include "binaryfilemetadata.h" +#include "genericfile.h" #include #include #include - BinaryFileMetadata::BinaryFileMetadata(GenericFile *file, quint16 defaultAddress, QObject *parent) : QObject(parent) { @@ -17,31 +17,49 @@ BinaryFileMetadata::BinaryFileMetadata(GenericFile *file, quint16 defaultAddress void BinaryFileMetadata::load() { - QFile infile(QString("%1%2").arg(m_file->filename()).arg(".bfm")); + QFile infile(QString("%1%2%3") + .arg(m_file->diskFile()->getMetaDataPath()) + .arg(m_file->filename()) + .arg(".bfm")); if (infile.open(QIODevice::ReadOnly)) { - qDebug() << "Loading binary file metadata from" << QString("%1%2").arg(m_file->filename()).arg(".bfm"); + qDebug() << "Loading binary file metadata from" << QString("%1%2%3") + .arg(m_file->diskFile()->getMetaDataPath()) + .arg(m_file->filename()) + .arg(".bfm"); QDataStream ds(&infile); ds >> *m_eps; ds >> *m_as; infile.close(); } - else qDebug() << "Cannot open " << QString("%1%2").arg(m_file->filename()).arg(".bfm") << "for reading"; + else qDebug() << "Cannot open " << QString("%1%2%3") + .arg(m_file->diskFile()->getMetaDataPath()) + .arg(m_file->filename()) + .arg(".bfm") << "for reading"; } void BinaryFileMetadata::save() { - QFile infile(QString("%1%2").arg(m_file->filename()).arg(".bfm")); - if (infile.open(QIODevice::WriteOnly)) + QFile outfile(QString("%1%2%3") + .arg(m_file->diskFile()->getMetaDataPath()) + .arg(m_file->filename()) + .arg(".bfm")); + if (outfile.open(QIODevice::WriteOnly)) { - qDebug() << "Saving binary file metadata to" << QString("%1%2").arg(m_file->filename()).arg(".bfm"); - QDataStream ds(&infile); + qDebug() << "Saving binary file metadata to" << QString("%1%2%3") + .arg(m_file->diskFile()->getMetaDataPath()) + .arg(m_file->filename()) + .arg(".bfm"); + QDataStream ds(&outfile); ds << *m_eps; ds << *m_as; - infile.close(); + outfile.close(); } - else qDebug() << "Cannot open " << QString("%1%2").arg(m_file->filename()).arg(".bfm") << "for writing"; + else qDebug() << "Cannot open " << QString("%1%2%3") + .arg(m_file->diskFile()->getMetaDataPath()) + .arg(m_file->filename()) + .arg(".bfm") << "for writing"; } diff --git a/src/diskfiles/dos33/catalogsector.cxx b/src/diskfiles/dos33/catalogsector.cxx index aaf695c..372571a 100644 --- a/src/diskfiles/dos33/catalogsector.cxx +++ b/src/diskfiles/dos33/catalogsector.cxx @@ -13,8 +13,6 @@ CatalogSector::CatalogSector(Sector *data) FileDescriptiveEntry fde = makeFDE(idx*0x23+0x0B); if (fde.firstTSListSector != TSPair(0,0)) { m_fdes.append(fde); -// qDebug() << "FDE #"< #include #include +#include #include "tracksectorlist.h" #include "applesoftfile.h" @@ -29,6 +30,7 @@ DiskFile::~DiskFile() bool DiskFile::read(QString filename) { + m_fullImageName = filename; m_imageName = QFileInfo(filename).fileName(); if (m_imageName.toUpper().contains(".D13")) { @@ -132,6 +134,7 @@ GenericFile *DiskFile::getFile(FileDescriptiveEntry fde) } m_files[fde] = retval; } + if (retval) { retval->setDiskFile(this); } return retval; } @@ -167,3 +170,12 @@ QList DiskFile::getAllFDEs() { return retval; } +QString DiskFile::getMetaDataPath() const { + QString path = QString("%1.metadata/").arg(getFullDiskImageName()); + + QDir dir(path); + dir.mkpath("."); + + return path; +} + diff --git a/src/diskfiles/dos33/diskfile.h b/src/diskfiles/dos33/diskfile.h index fa1e163..69a10c3 100644 --- a/src/diskfiles/dos33/diskfile.h +++ b/src/diskfiles/dos33/diskfile.h @@ -11,7 +11,7 @@ #include "sector.h" #include "vtoc.h" -#include "genericfile.h" +class GenericFile; class DiskFile { @@ -40,6 +40,9 @@ public: QByteArray fileHash() const { return m_hash; } QString getDiskImageName() const { return m_imageName; } + QString getFullDiskImageName() const { return m_fullImageName; } + QString getMetaDataPath() const; + private: QMap< int, QMap< int, Sector> > m_contents; @@ -47,6 +50,8 @@ private: QByteArray m_hash; QString m_imageName; + QString m_fullImageName; + quint8 m_sectors_per_track; }; diff --git a/src/diskfiles/dos33/genericfile.cxx b/src/diskfiles/dos33/genericfile.cxx index 5bb9727..017bc10 100644 --- a/src/diskfiles/dos33/genericfile.cxx +++ b/src/diskfiles/dos33/genericfile.cxx @@ -2,6 +2,7 @@ GenericFile::GenericFile(QByteArray data) { + m_diskfile = 0; if (!data.isEmpty()) { setData(data); } diff --git a/src/diskfiles/dos33/genericfile.h b/src/diskfiles/dos33/genericfile.h index e7ea832..c4eda1a 100644 --- a/src/diskfiles/dos33/genericfile.h +++ b/src/diskfiles/dos33/genericfile.h @@ -1,9 +1,12 @@ #ifndef GENERICFILE_H #define GENERICFILE_H +#include "diskfile.h" + #include #include + class GenericFile { public: @@ -21,12 +24,15 @@ public: virtual void setLength(quint16 length) { m_length = length; } virtual quint16 length() { return m_length; } + DiskFile *diskFile() const { return m_diskfile; } + void setDiskFile(DiskFile *diskfile) { m_diskfile = diskfile; } protected: QByteArray m_data; QString m_filename; quint16 m_address; qint16 m_length; + DiskFile * m_diskfile; }; diff --git a/src/internals/JumpLineManager.cpp b/src/internals/JumpLineManager.cpp index 74e5195..7257e6d 100644 --- a/src/internals/JumpLineManager.cpp +++ b/src/internals/JumpLineManager.cpp @@ -4,7 +4,7 @@ JumpLineManager::JumpLineManager(quint16 from, quint16 to) : m_start(from), m_end(to) { - qDebug() << "JumpLineManager(from:"< it(map); while (it.hasNext()) { @@ -47,14 +47,14 @@ void JumpLineManager::dumpJumps(JumpMap map) const if (it.value() == IsBranch) { jumptypelabel = "Branch"; } if (it.value() == IsJSR) { jumptypelabel = "JSR"; } if (it.value() == IsBRA) { jumptypelabel = "BRA"; } - qDebug() << " Jump from" << uint16ToHex(it.key().first) << "to" - << uint16ToHex(it.key().second) << jumptypelabel; + //qDebug() << " Jump from" << uint16ToHex(it.key().first) << "to" + // << uint16ToHex(it.key().second) << jumptypelabel; } } JumpLines JumpLineManager::buildJumpLines() { -qDebug() << "A"; +//qDebug() << "A"; m_channelsAtAddress.clear(); m_jumplines.m_maxChannel = 0; @@ -74,7 +74,7 @@ qDebug() << "A"; m_jumplines.jumpLines.append(jl); m_jumplines.m_maxChannel = qMax(m_jumplines.m_maxChannel, channel); } - qDebug() << "A"; + //qDebug() << "A"; return m_jumplines; @@ -85,7 +85,7 @@ qDebug() << "A"; int JumpLineManager::findBestChannel(JumpLine &jl) { - qDebug() << "findBestChannel()"; + //qDebug() << "findBestChannel()"; if (m_jumplines.jumpLines.count() == 0) { return 0; @@ -95,7 +95,7 @@ int JumpLineManager::findBestChannel(JumpLine &jl) bool foundChannel = false; while (!foundChannel) { - qDebug() << "Tryning potential channel" << potentialChannel; + //qDebug() << "Tryning potential channel" << potentialChannel; bool matched = false; for (quint16 addr = jl.min(); addr <= jl.max(); addr++) { @@ -129,12 +129,12 @@ void JumpLineManager::setChannelForJumpLine(int channel, JumpLine &jl) void JumpLineManager::dumpJumpLines() const { - foreach (JumpLine jl, m_jumplines.jumpLines) - { - qDebug() << " JumpLine from:" << uint16ToHex(jl.from) - << " to:" << uint16ToHex(jl.to) - << "channel: " << jl.channel << " type:" << jl.type; - } + //foreach (JumpLine jl, m_jumplines.jumpLines) + // { + //qDebug() << " JumpLine from:" << uint16ToHex(jl.from) + // << " to:" << uint16ToHex(jl.to) + // << "channel: " << jl.channel << " type:" << jl.type; + // } } bool JumpLineManager::doJumpsIntersect(TJump &A, TJump &B) const diff --git a/src/ui/catalogwidget.cxx b/src/ui/catalogwidget.cxx index 444db5d..ae84ab7 100644 --- a/src/ui/catalogwidget.cxx +++ b/src/ui/catalogwidget.cxx @@ -8,6 +8,7 @@ #include #include #include +#include CatalogWidget::CatalogWidget(QWidget *parent) : QWidget(parent), @@ -15,9 +16,11 @@ CatalogWidget::CatalogWidget(QWidget *parent) : { ui->setupUi(this); ui->catalog_list->setFont(QFont("monospace")); + ui->noteButton->setText(QChar(0x270d)); + ui->noteButton->setFont(QFont("sans",16,QFont::Bold)); - connect(ui->catalog_list, SIGNAL(itemDoubleClicked(QListWidgetItem*)), - SLOT(itemDoubleClicked(QListWidgetItem*))); + connect(ui->catalog_list, &QListWidget::itemDoubleClicked, + this, &CatalogWidget::itemDoubleClicked); } CatalogWidget::~CatalogWidget() @@ -86,6 +89,17 @@ void CatalogWidget::processNewlyLoadedDisk(QString diskfilename, DiskFile *disk) QString sizeStr = QString("%1").arg(size,5,10,QChar(' ')).toUpper(); QString text = QString("%1 %2 %3 %4").arg(locked?"*":" ").arg(sizeStr).arg(filetype).arg(filename); QListWidgetItem *item = new QListWidgetItem(text); + + if (filetype == "A") { item->setForeground(Qt::blue); } + else if (filetype == "I") { item->setForeground(Qt::darkYellow); } + else if (filetype == "B") { item->setForeground(Qt::darkGreen); } + else if (filetype == "T") { item->setForeground(Qt::red); } + else if (filetype == "R") { item->setForeground(Qt::darkRed); } + else if (filetype == "S") { item->setForeground(Qt::magenta); } + else if (filetype == "a") { item->setForeground(Qt::darkBlue); } + else if (filetype == "b") { item->setForeground(Qt::darkMagenta); } + else { item->setForeground(Qt::black); } + item->setToolTip(createToolTip(fde)); item->setData(0x0100,idx); ui->catalog_list->addItem(item); @@ -95,6 +109,20 @@ void CatalogWidget::processNewlyLoadedDisk(QString diskfilename, DiskFile *disk) } idx++; } +// QFont italfont = ui->catalog_list->font(); +// italfont.setItalic(true); +// QListWidgetItem *item = new QListWidgetItem("Boot Sector"); +// item->setForeground(Qt::black); +// item->setFont(italfont); +// item->setData(0x0100,-1); +// ui->catalog_list->addItem(item); + +// item = new QListWidgetItem("DOS Image"); +// item->setForeground(Qt::black); +// item->setFont(italfont); +// item->setData(0x0100,-2); +// ui->catalog_list->addItem(item); + ui->catalog_list->resize(maxrect.width(),ui->catalog_list->size().height()); } } @@ -111,9 +139,23 @@ void CatalogWidget::unloadDisk(DiskFile *disk) void CatalogWidget::itemDoubleClicked(QListWidgetItem *item) { int idx = item->data(0x0100).toInt(); - FileDescriptiveEntry fde = m_disk->getAllFDEs()[idx]; + if (idx >= 0) + { + FileDescriptiveEntry fde = m_disk->getAllFDEs()[idx]; // qDebug() << "Default File " << AppleString(fde.filename).printable().trimmed(); - emit openWithDefaultViewer(m_disk,fde); + emit openWithDefaultViewer(m_disk,fde); + } + else + { + if (idx == -1) // Boot Sector + { + + } + else if (idx == -2) // DOS Image + { + + } + } } void CatalogWidget::itemClicked(QListWidgetItem *item) diff --git a/src/ui/catalogwidget.ui b/src/ui/catalogwidget.ui index 65e21d9..c9ea5a9 100644 --- a/src/ui/catalogwidget.ui +++ b/src/ui/catalogwidget.ui @@ -32,22 +32,71 @@ Form + + 2 + + + 2 + + + 2 + + + 2 + + + 2 + + + 2 + - - - + + + 4 - + + + + + Sans Serif + 12 + + + + TextLabel + + + + + + + + Sans Serif + + + + Notes for image. + + + + + + + - - - - - - + + + false + + + true + + + false diff --git a/src/ui/diskexplorer/DiskExplorer.cpp b/src/ui/diskexplorer/DiskExplorer.cpp index 186bb8f..0bbb643 100644 --- a/src/ui/diskexplorer/DiskExplorer.cpp +++ b/src/ui/diskexplorer/DiskExplorer.cpp @@ -29,8 +29,6 @@ DiskExplorer::~DiskExplorer() void DiskExplorer::initUi() { - - QMenuBar *menuBar = new QMenuBar(this); setMenuBar(menuBar); QMenu *menu = new QMenu(tr("&File"),this); @@ -38,18 +36,23 @@ void DiskExplorer::initUi() QAction *action_Load_Disk_Image = new QAction(tr("&Load Disk Image..."),this); menu->addAction(action_Load_Disk_Image); - connect(action_Load_Disk_Image, SIGNAL(triggered()), SLOT(showLoadDialog())); + + connect(action_Load_Disk_Image, &QAction::triggered, + this, &DiskExplorer::showLoadDialog); m_action_Unload_Disk_Image = new QAction(tr("&Unload Disk Image"),this); m_action_Unload_Disk_Image->setEnabled(false); menu->addAction(m_action_Unload_Disk_Image); - connect(m_action_Unload_Disk_Image, SIGNAL(triggered()), SLOT(unloadDiskFile())); + + connect(m_action_Unload_Disk_Image, &QAction::triggered, + this, &DiskExplorer::unloadDiskFile); menu->addSeparator(); QAction *action_Quit = new QAction(tr("&Quit"),this); menu->addAction(action_Quit); - connect(action_Quit, SIGNAL(triggered()), qApp, SLOT(quit())); + + connect(action_Quit, &QAction::triggered, qApp, &QApplication::quit); menu = new QMenu(tr("&Util"),this); menuBar->addMenu(menu); @@ -62,8 +65,9 @@ void DiskExplorer::initUi() m_setDiskToolsVisibleAction = new QAction(tr("Show &Disk tools"),this); m_setDiskToolsVisibleAction->setCheckable(true); m_setDiskToolsVisibleAction->setChecked(false); - connect(m_setDiskToolsVisibleAction, SIGNAL(toggled(bool)), - SLOT(setDiskToolsVisible(bool))); + + connect(m_setDiskToolsVisibleAction, &QAction::triggered, this, &DiskExplorer::setDiskToolsVisible); + menu->addAction(m_setDiskToolsVisibleAction); @@ -72,13 +76,17 @@ void DiskExplorer::initUi() QAction *action_HRCG_Commands = new QAction(tr("&HRCG Commands..."),this); menu->addAction(action_HRCG_Commands); - - m_hrcgDialog = new HRCGControlsInfo(this); - connect(action_HRCG_Commands, SIGNAL(triggered()), m_hrcgDialog, SLOT(show())); + connect(action_HRCG_Commands, &QAction::triggered, m_hrcgDialog, &HRCGControlsInfo::show); m_hexConverter = new HexConverter(this); - connect(action_Hex_Converter, SIGNAL(triggered()), m_hexConverter, SLOT(show())); + connect(action_Hex_Converter, &QAction::triggered, m_hexConverter, &HexConverter::show); + + QAction *action_Ascii_Info = new QAction(tr("&ASCII Table..."),this); + menu->addAction(action_Ascii_Info); + m_AsciiInfoDialog = new AsciiInfoDialog(this); + connect(action_Ascii_Info, &QAction::triggered, m_AsciiInfoDialog, &AsciiInfoDialog::show); + QWidget *widget = new QWidget(0); m_gridLayout = new QGridLayout(); @@ -106,12 +114,10 @@ void DiskExplorer::initUi() m_gridLayout->addWidget(m_frame,1,2); this->setCentralWidget(widget); - connect(m_cw,SIGNAL(openWithDefaultViewer(DiskFile*,FileDescriptiveEntry)), - SLOT(handleDiskItemSelectedDefaultOpen(DiskFile*,FileDescriptiveEntry))); - - connect(m_demw, SIGNAL(showSectorData(QByteArray,int,int,QVariant)), - SLOT(handleShowSectorData(QByteArray,int,int,QVariant))); - + connect(m_cw, &CatalogWidget::openWithDefaultViewer, + this, &DiskExplorer::handleDiskItemSelectedDefaultOpen); + connect(m_demw, &DiskExplorerMapWidget::showSectorData, + this, &DiskExplorer::handleShowSectorData); QStatusBar *statusBar = new QStatusBar(this); setStatusBar(statusBar); @@ -119,7 +125,6 @@ void DiskExplorer::initUi() m_demwStatusWidget = m_demw->getStatusWidget(); statusBar->addPermanentWidget(m_demwStatusWidget); - setDiskToolsVisible(false); } @@ -184,7 +189,9 @@ void DiskExplorer::handleDiskItemSelectedDefaultOpen(DiskFile *disk, FileDescrip ViewerBase *vb = new ViewerBase(); qDebug() << "Adding viewer" << vb; m_viewerList.append(vb); - connect(vb,SIGNAL(viewerClosing(ViewerBase*)), SLOT(handleViewerClosing(ViewerBase*))); + + connect(vb,&ViewerBase::viewerClosing, + this, &DiskExplorer::handleViewerClosing); vb->setFile(file); vb->show(); } diff --git a/src/ui/diskexplorer/DiskExplorer.h b/src/ui/diskexplorer/DiskExplorer.h index 833750f..8a12a76 100644 --- a/src/ui/diskexplorer/DiskExplorer.h +++ b/src/ui/diskexplorer/DiskExplorer.h @@ -10,6 +10,7 @@ #include "hexconverter.h" #include "hexdumpviewer.h" #include "viewerbase.h" +#include "asciiinfodialog.h" #include #include @@ -66,6 +67,7 @@ private: HRCGControlsInfo *m_hrcgDialog; HexConverter *m_hexConverter; + AsciiInfoDialog *m_AsciiInfoDialog; QAction *m_action_Unload_Disk_Image; diff --git a/src/ui/diskexplorer/DiskExplorerMapWidget.cpp b/src/ui/diskexplorer/DiskExplorerMapWidget.cpp index 169e41b..1400ee1 100644 --- a/src/ui/diskexplorer/DiskExplorerMapWidget.cpp +++ b/src/ui/diskexplorer/DiskExplorerMapWidget.cpp @@ -56,7 +56,7 @@ DiskExplorerMapWidget::DiskExplorerMapWidget(int numtracks, int numsectors, QWid tb->setBgColor(m_defaultColor); tb->setCheckable(true); m_bgroup->addButton(tb,(track * numsectors) + sec); - connect(tb,SIGNAL(checked(int,int,bool)),SLOT(handleButtonCheck(int,int,bool))); + connect(tb, &DEButton::checked, this, &DiskExplorerMapWidget::handleButtonCheck); m_buttons[track][sec] = tb; tb->setAutoFillBackground(true); @@ -315,7 +315,7 @@ void DiskExplorerMapWidget::mapDiskToButtons() tslcount++; buttonAt(tsltr,tslse)->setBgColor(m_tsListColor); buttonAt(tsltr,tslse)->setText(QString("%1").arg(idx)); - qDebug() << "Button" << idx << "=" << tsltr << "," << tslse << " " << fde.filename.printable() << "TSL"; + //qDebug() << "Button" << idx << "=" << tsltr << "," << tslse << " " << fde.filename.printable() << "TSL"; QString description = QString("T/S List #%1 for %2").arg(tslcount).arg(fde.filename.printable()); m_sectorDescriptions.insert(DETSPair(tsltr,tslse),description); @@ -346,7 +346,7 @@ void DiskExplorerMapWidget::mapDiskToButtons() else qDebug() << "Unknown file type: " << fde.fileType(); buttonAt(tr,se)->setBgColor(color); setButtonText(tr,se,QString("%1").arg(idx)); - qDebug() << "Button" << idx << "=" << tr << "," << se << " " << fde.filename.printable(); + //qDebug() << "Button" << idx << "=" << tr << "," << se << " " << fde.filename.printable(); // fde.dump(); idx++; } diff --git a/src/ui/diskexplorer/DiskExplorerMapWidget.h b/src/ui/diskexplorer/DiskExplorerMapWidget.h index 86df782..d395885 100644 --- a/src/ui/diskexplorer/DiskExplorerMapWidget.h +++ b/src/ui/diskexplorer/DiskExplorerMapWidget.h @@ -21,7 +21,7 @@ public: { setTrack(track); setSector(sec); - connect(this,SIGNAL(clicked(bool)),SLOT(handleClick(bool))); + connect(this, &DEButton::clicked, this, &DEButton::handleClick); m_isHighlighted = false; } void setTrack(int track) { m_track = track; } diff --git a/src/ui/viewers/applesoftfiledetailviewer.cpp b/src/ui/viewers/applesoftfiledetailviewer.cpp index 21783a1..00f5ff4 100644 --- a/src/ui/viewers/applesoftfiledetailviewer.cpp +++ b/src/ui/viewers/applesoftfiledetailviewer.cpp @@ -7,16 +7,20 @@ #include -ApplesoftFileDetailViewer::ApplesoftFileDetailViewer(QWidget *parent) : +ApplesoftFileDetailViewer::ApplesoftFileDetailViewer(ApplesoftFile *file, QWidget *parent) : QWidget(parent), ui(new Ui::ApplesoftFileDetailViewer) { ui->setupUi(this); ui->m_varView->setSortingEnabled(true); + m_file = file; + load(); + setLineData(m_file->getLines()); } ApplesoftFileDetailViewer::~ApplesoftFileDetailViewer() { + save(); delete ui; } @@ -26,10 +30,64 @@ void ApplesoftFileDetailViewer::setLineData(QVector lineData) process(); } +bool ApplesoftFileDetailViewer::save() +{ + + if (ui->gridLayout->rowCount() == 0) { return false; } + + QMap map; + for (int idx = 0; idx < ui->m_varView->rowCount(); idx++) + { + QString var = ui->m_varView->item(idx,1)->text(); + if (var.contains(",")) + { + var.truncate(var.indexOf(",")); + } + var = var.trimmed(); + QString note = ui->m_varView->item(idx,2)->text().trimmed(); + if (note.length()) + { + map.insert(var,note); + } + } + + QFile outfile(QString("%1%2%3") + .arg(m_file->diskFile()->getMetaDataPath()) + .arg(m_file->filename()) + .arg(".asvar")); + if (outfile.open(QIODevice::WriteOnly)) + { + QDataStream ds(&outfile); + ds << map; + outfile.close(); + return true; + } + return false; +} + +bool ApplesoftFileDetailViewer::load() +{ + QFile infile(QString("%1%2%3") + .arg(m_file->diskFile()->getMetaDataPath()) + .arg(m_file->filename()) + .arg(".asvar")); + if (infile.open(QIODevice::ReadOnly)) + { + QDataStream ds(&infile); + ds >> m_notes; + infile.close(); + return true; + } + return false; +} + + void ApplesoftFileDetailViewer::process() { QMap vardata; QMap vartypes; + QMap varalias; + foreach (ApplesoftLine line, m_lines) { @@ -45,9 +103,16 @@ void ApplesoftFileDetailViewer::process() tid == ApplesoftToken::StringAryVarTokenVal) { QString varname = token.getStringValue(); + QString fullname = varname; + varname = shortenName(varname); if (varname.contains("(")) { varname.append(")"); } + if (fullname.contains("(")) { fullname.append(")"); } vardata[varname].append(QString("%1").arg(linenum)); vartypes[varname] = tid; + if (fullname != varname) + { + varalias[varname].append(fullname); + } } } } @@ -78,11 +143,23 @@ void ApplesoftFileDetailViewer::process() twi->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); ui->m_varView->setItem(idx,0,twi); - twi = new QTableWidgetItem(key); + QString keywithalias = key; + if (varalias.contains(key)) + { + varalias[key].removeDuplicates(); + QString aliases = varalias[key].join(", "); + keywithalias.append(", "); + keywithalias.append(aliases); + } + twi = new QTableWidgetItem(keywithalias); twi->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); ui->m_varView->setItem(idx,1,twi); twi = new QTableWidgetItem(" "); + if (m_notes.contains(key)) + { + twi->setText(m_notes[key]); + } twi->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable); ui->m_varView->setItem(idx,2,twi); @@ -98,3 +175,22 @@ void ApplesoftFileDetailViewer::process() ui->m_varView->resizeColumnToContents(2); } + +QString ApplesoftFileDetailViewer::shortenName(QString name) +{ + bool hasParen = name.contains('('); + if (hasParen) { name.remove(name.indexOf('('),1); } + + bool hasDollar = name.contains('$'); + if (hasDollar) { name.remove(name.indexOf('$'),1); } + + bool hasPercent = name.contains('%'); + if (hasPercent) { name.remove(name.indexOf('%'),1); } + + name = name.left(2); + if (hasDollar) { name.append("$"); } + if (hasPercent) { name.append("%"); } + if (hasParen) { name.append("("); } + + return name; + } diff --git a/src/ui/viewers/applesoftfiledetailviewer.h b/src/ui/viewers/applesoftfiledetailviewer.h index faf31fb..16069fe 100644 --- a/src/ui/viewers/applesoftfiledetailviewer.h +++ b/src/ui/viewers/applesoftfiledetailviewer.h @@ -4,6 +4,7 @@ #include #include "applesoftline.h" #include "applesofttoken.h" +#include "applesoftfile.h" #include namespace Ui { @@ -15,16 +16,26 @@ class ApplesoftFileDetailViewer : public QWidget Q_OBJECT public: - explicit ApplesoftFileDetailViewer(QWidget *parent = 0); + explicit ApplesoftFileDetailViewer(ApplesoftFile *file, QWidget *parent = 0); ~ApplesoftFileDetailViewer(); void setLineData(QVector lineData); void foo() { qDebug() << "AFDV::foo!"; } + + bool save(); + bool load(); + +protected: + QString shortenName(QString name); private: void process(); Ui::ApplesoftFileDetailViewer *ui; QVector m_lines; + + QMap m_notes; + + ApplesoftFile *m_file; }; #endif // APPLESOFTFILEDETAILVIEWER_H diff --git a/src/ui/viewers/applesoftfileviewer.cxx b/src/ui/viewers/applesoftfileviewer.cxx index b07b4bb..58c1a36 100644 --- a/src/ui/viewers/applesoftfileviewer.cxx +++ b/src/ui/viewers/applesoftfileviewer.cxx @@ -22,7 +22,7 @@ ApplesoftFileViewer::ApplesoftFileViewer(QWidget *parent) : m_formatter = new ApplesoftFormatter(this); m_formatter->setFlags(ApplesoftFormatter::ShowCtrlChars); - connect(ui->findButton,SIGNAL(clicked(bool)), SLOT(findText())); + connect(ui->findButton, &QToolButton::clicked, this, &ApplesoftFileViewer::findText); m_isFirstFind = true; ui->textArea->setUndoRedoEnabled(false); ui->textArea->setUndoRedoEnabled(true); @@ -46,11 +46,11 @@ ApplesoftFileViewer::ApplesoftFileViewer(QWidget *parent) : ApplesoftFileViewer::~ApplesoftFileViewer() { - delete ui; if (m_afdv) - { m_afdv->foo(); - delete m_afdv; + { + m_afdv->deleteLater(); } + delete ui; } bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu) @@ -63,8 +63,11 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu) m_showIntsAction->setCheckable(true); m_showIntsAction->setChecked(settings.value("ASViewer.intsAsHex",false).toBool()); setIntsAsHex(settings.value("ASViewer.intsAsHex",false).toBool(),NoReformat); - connect(m_showIntsAction, SIGNAL(toggled(bool)), ui->findText,SLOT(clear())); - connect(m_showIntsAction, SIGNAL(toggled(bool)),SLOT(setIntsAsHex(bool))); + + connect(m_showIntsAction, &QAction::toggled, ui->findText, &QLineEdit::clear); + connect(m_showIntsAction, &QAction::toggled, + this, static_cast< void (ApplesoftFileViewer::*)(bool)>(&ApplesoftFileViewer::setIntsAsHex)); + } menu->addAction(m_showIntsAction); @@ -74,8 +77,11 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu) m_reindentCodeAction->setCheckable(true); m_reindentCodeAction->setChecked(settings.value("ASViewer.indentCode",false).toBool()); setIndentCode(settings.value("ASViewer.indentCode",false).toBool(),NoReformat); - connect(m_reindentCodeAction, SIGNAL(toggled(bool)), ui->findText,SLOT(clear())); - connect(m_reindentCodeAction, SIGNAL(toggled(bool)),SLOT(setIndentCode(bool))); + + connect(m_reindentCodeAction, &QAction::toggled, ui->findText, &QLineEdit::clear); + connect(m_reindentCodeAction, &QAction::toggled, + this, static_cast< void (ApplesoftFileViewer::*)(bool)>(&ApplesoftFileViewer::setIndentCode)); + } menu->addAction(m_reindentCodeAction); @@ -85,8 +91,10 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu) m_blankAfterReturnsAction->setCheckable(true); m_blankAfterReturnsAction->setChecked(settings.value("ASViewer.breakAfterReturn",false).toBool()); setIndentCode(settings.value("ASViewer.breakAfterReturn",false).toBool(),NoReformat); - connect(m_blankAfterReturnsAction, SIGNAL(toggled(bool)), ui->findText,SLOT(clear())); - connect(m_blankAfterReturnsAction, SIGNAL(toggled(bool)),SLOT(setBreakAfterReturn(bool))); + + connect(m_blankAfterReturnsAction, &QAction::toggled, ui->findText, &QLineEdit::clear); + connect(m_blankAfterReturnsAction, &QAction::toggled, + this, static_cast< void (ApplesoftFileViewer::*)(bool)>(&ApplesoftFileViewer::setBreakAfterReturn)); } menu->addAction(m_blankAfterReturnsAction); @@ -96,8 +104,10 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu) m_showCtrlCharsAction->setCheckable(true); m_showCtrlCharsAction->setChecked(settings.value("ASViewer.showCtrlChars",false).toBool()); setIndentCode(settings.value("ASViewer.showCtrlChars",false).toBool(),NoReformat); - connect(m_showCtrlCharsAction, SIGNAL(toggled(bool)), ui->findText,SLOT(clear())); - connect(m_showCtrlCharsAction, SIGNAL(toggled(bool)),SLOT(setShowCtrlChars(bool))); + + connect(m_showCtrlCharsAction, &QAction::toggled, ui->findText, &QLineEdit::clear); + connect(m_showCtrlCharsAction, &QAction::toggled, + this, static_cast(&ApplesoftFileViewer::setShowCtrlChars)); } menu->addAction(m_showCtrlCharsAction); @@ -110,7 +120,7 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu) m_wordWrapAction->setCheckable(true); m_wordWrapAction->setChecked(settings.value("ASViewer.WordWrap",true).toBool()); toggleWordWrap(settings.value("ASViewer.WordWrap",true).toBool()); - connect(m_wordWrapAction, SIGNAL(toggled(bool)), SLOT(toggleWordWrap(bool))); + connect(m_wordWrapAction, &QAction::triggered, this, &ApplesoftFileViewer::toggleWordWrap); } menu->addAction(m_wordWrapAction); @@ -120,8 +130,10 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu) m_syntaxHighlightingAction->setCheckable(true); m_syntaxHighlightingAction->setChecked(settings.value("ASViewer.syntaxHighlighting",false).toBool()); setIndentCode(settings.value("ASViewer.syntaxHighlighting",false).toBool(),NoReformat); - connect(m_syntaxHighlightingAction, SIGNAL(toggled(bool)), ui->findText,SLOT(clear())); - connect(m_syntaxHighlightingAction, SIGNAL(toggled(bool)),SLOT(setSyntaxHighlighting(bool))); + + connect(m_syntaxHighlightingAction, &QAction::toggled, ui->findText, &QLineEdit::clear); + connect(m_syntaxHighlightingAction, &QAction::toggled, + this, static_cast(&ApplesoftFileViewer::setSyntaxHighlighting)); } menu->addAction(m_syntaxHighlightingAction); @@ -133,7 +145,7 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu) { m_showVarExplorerAction = new QAction("Show &Variable Explorer...",this); m_showVarExplorerAction->setCheckable(false); - connect(m_showVarExplorerAction, SIGNAL(triggered(bool)), SLOT(launchVarBrowser())); + connect(m_showVarExplorerAction, &QAction::triggered, this, &ApplesoftFileViewer::launchVarBrowser); } menu->addAction(m_showVarExplorerAction); @@ -208,6 +220,11 @@ void ApplesoftFileViewer::setShowCtrlChars(bool enabled, ReformatRule reformat) reformatText(); } +void ApplesoftFileViewer::setSyntaxHighlighting(bool enabled) +{ + setSyntaxHighlighting(enabled, ForceReformat); +} + void ApplesoftFileViewer::setSyntaxHighlighting(bool enabled, ReformatRule reformat) { if (enabled) @@ -290,9 +307,8 @@ void ApplesoftFileViewer::launchVarBrowser() { if (!m_afdv) { - m_afdv = new ApplesoftFileDetailViewer(); + m_afdv = new ApplesoftFileDetailViewer(m_file); qDebug() << "m_afdv = " << m_afdv; - m_afdv->setLineData(m_file->getLines()); m_afdv->setWindowTitle(QString("Variables - %1").arg(m_file->filename())); } m_afdv->show(); diff --git a/src/ui/viewers/applesoftfileviewer.h b/src/ui/viewers/applesoftfileviewer.h index dfa559f..5e1705a 100644 --- a/src/ui/viewers/applesoftfileviewer.h +++ b/src/ui/viewers/applesoftfileviewer.h @@ -46,11 +46,20 @@ public slots: protected slots: void toggleWordWrap(bool enabled); - void setSyntaxHighlighting(bool enabled, ReformatRule reformat = ForceReformat); - void setIndentCode(bool enabled, ReformatRule reformat = ForceReformat); - void setIntsAsHex(bool enabled, ReformatRule reformat = ForceReformat); - void setBreakAfterReturn(bool enabled, ReformatRule reformat = ForceReformat); - void setShowCtrlChars(bool enabled, ReformatRule reformat = ForceReformat); + void setSyntaxHighlighting(bool enabled); + void setSyntaxHighlighting(bool enabled, ReformatRule reformat); + + void setIndentCode(bool enabled) { setIndentCode(enabled, ForceReformat); } + void setIndentCode(bool enabled, ReformatRule reformat); + + void setIntsAsHex(bool enabled) { setIntsAsHex(enabled, ForceReformat); } + void setIntsAsHex(bool enabled, ReformatRule reformat); + + void setBreakAfterReturn(bool enabled) { setBreakAfterReturn(enabled,ForceReformat); } + void setBreakAfterReturn(bool enabled, ReformatRule reformat); + + void setShowCtrlChars(bool enabled) { setShowCtrlChars(enabled,ForceReformat); } + void setShowCtrlChars(bool enabled, ReformatRule reformat); void launchVarBrowser(); void reformatText(); diff --git a/src/ui/viewers/charsetviewer.cpp b/src/ui/viewers/charsetviewer.cpp index 305c31b..a043384 100644 --- a/src/ui/viewers/charsetviewer.cpp +++ b/src/ui/viewers/charsetviewer.cpp @@ -68,20 +68,20 @@ bool CharSetViewer::optionsMenuItems(QMenu *menu) action->setCheckable(true); action->setChecked(settings.value("CharSetViewer.ShowGrid",true).toBool()); showGrid(settings.value("CharSetViewer.ShowGrid",true).toBool()); - connect(action, SIGNAL(toggled(bool)),SLOT(showGrid(bool))); + connect(action, &QAction::toggled, this, &CharSetViewer::showGrid); menu->addAction(action); action = new QAction("&Enable Bit Shift",menu); action->setCheckable(true); action->setChecked(settings.value("CharSetViewer.EnableBitShift",true).toBool()); enableBitShift(settings.value("CharSetViewer.EnableBitShift",true).toBool()); - connect(action, SIGNAL(toggled(bool)),SLOT(enableBitShift(bool))); + connect(action, &QAction::toggled, this, &CharSetViewer::enableBitShift); menu->addAction(action); menu->addSeparator(); action = new QAction("&Character Set Explorer..."); - connect(action, SIGNAL(triggered(bool)), SLOT(showExplorer())); + connect(action, &QAction::triggered, this, &CharSetViewer::showExplorer); menu->addAction(action); return true; @@ -91,7 +91,7 @@ void CharSetViewer::showExplorer() { if (!m_cse) { m_cse = new CharacterSetExplorer(this); - connect(m_cse, SIGNAL(destroyed(QObject*)), SLOT(cleanupExplorer())); + connect(m_cse, &CharacterSetExplorer::destroyed, this, &CharSetViewer::cleanupExplorer); m_cse->setCharSet(m_charset); } m_cse->show(); diff --git a/src/ui/viewers/disassemblerviewer.cpp b/src/ui/viewers/disassemblerviewer.cpp index c34c4e2..da4edc6 100644 --- a/src/ui/viewers/disassemblerviewer.cpp +++ b/src/ui/viewers/disassemblerviewer.cpp @@ -65,8 +65,9 @@ void DisassemblerViewer::setFile(BinaryFile *file) { m_isRelo = false; m_bfm = new BinaryFileMetadata(m_file, file->address(), this); - connect(m_bfm, SIGNAL(doDisassemble(QList)), - SLOT(handleDisassembleRequest(QList))); + + connect(m_bfm, &BinaryFileMetadata::doDisassemble, + this, &DisassemblerViewer::handleDisassembleRequest); QString title = QString("Disassembler Viewer: %1").arg(m_file->filename()); setWindowTitle(title); @@ -85,8 +86,9 @@ void DisassemblerViewer::setFile(RelocatableFile *file) { m_isRelo = true; m_bfm = new BinaryFileMetadata(m_file, file->address() + 6, this); - connect(m_bfm, SIGNAL(doDisassemble(QList)), - SLOT(handleDisassembleRequest(QList))); + + connect(m_bfm, &BinaryFileMetadata::doDisassemble, + this, &DisassemblerViewer::handleDisassembleRequest); QString title = QString("Disassembler Viewer: %1 (Relocatable)").arg(m_file->filename()); setWindowTitle(title); @@ -170,12 +172,45 @@ void DisassemblerViewer::disassemble(QList entryPoints) { for (int idx = m_file->address(); idx < m_file->address()+length; idx++) { - if (dis.memoryUsageMap()->at(idx).testFlag(Data)) + if (dis.memoryUsageMap()->at(idx).testFlag(Data) || + dis.memoryUsageMap()->at(idx).testFlag(Unknown)) { - QString newline = QString("%1: %2 %3 (%4)").arg(uint16ToHex(idx)) + QString newline; + bool usedefault = false; + + if (m_bfm->assemblerSymbols()->hasAssemSymbolAtAddress(idx)) + { + int loc = m_bfm->assemblerSymbols()->locationOfSymbolAtAddress(idx); + if (m_bfm->assemblerSymbols()->at(loc).symbolsize == SizeByte) + { + newline = QString("%1: .Byte $%2 ; %3").arg(uint16ToHex(idx)) + .arg(uint8ToHex(m_mem.at(idx))) + .arg(m_bfm->assemblerSymbols()->at(loc).name);; + } + else if (m_bfm->assemblerSymbols()->at(loc).symbolsize == SizeWord) + { + newline = QString("%1: .Word $%2 ; %3").arg(uint16ToHex(idx)) + .arg(uint16ToHex(m_mem.at(idx) + (m_mem.at(idx+1)*256))) + .arg(m_bfm->assemblerSymbols()->at(loc).name); + idx++; + } + else + { + usedefault = true; + } + } + else + { + usedefault = true; + } + + if (usedefault) + { + newline = QString("%1: %2 %3 (%4)").arg(uint16ToHex(idx)) .arg(uint8ToHex(m_mem.at(idx))) .arg(makeDescriptorStringForVal(m_mem.at(idx))) .arg(dis.getMnemonicForOp(m_mem.at(idx))); + } formattedLines.append(newline); } } @@ -193,96 +228,96 @@ QString DisassemblerViewer::getPotentialLabel(quint16 address) { else if (address == 0x28) { retval = "MON.BASL"; } else if (address == 0x29) { retval = "MON.BASH"; } else if (address == 0x33) { retval = "MON.PROMPTCHAR"; } - else if (address == 0x36) { retval = "DOS_CSWL"; } - else if (address == 0x37) { retval = "DOS_CSWH"; } - else if (address == 0x38) { retval = "DOS_KSWL"; } - else if (address == 0x39) { retval = "DOS_KSWH"; } - else if (address == 0x40) { retval = "DOS_FILE_BUFFER_L"; } - else if (address == 0x41) { retval = "DOS_FILE_BUFFER_H"; } - else if (address == 0x42) { retval = "DOS_BUFFER_ADDR_L"; } - else if (address == 0x43) { retval = "DOS_BUFFER_ADDR_H"; } - else if (address == 0x44) { retval = "DOS_NUMERIC_OPERAND_L"; } - else if (address == 0x45) { retval = "DOS_NUMERIC_OPERAND_H"; } + else if (address == 0x36) { retval = "DOS.CSWL"; } + else if (address == 0x37) { retval = "DOS.CSWH"; } + else if (address == 0x38) { retval = "DOS.KSWL"; } + else if (address == 0x39) { retval = "DOS.KSWH"; } + else if (address == 0x40) { retval = "DOS.FILE_BUFFER_L"; } + else if (address == 0x41) { retval = "DOS.FILE_BUFFER_H"; } + else if (address == 0x42) { retval = "DOS.BUFFER_ADDR_L"; } + else if (address == 0x43) { retval = "DOS.BUFFER_ADDR_H"; } + else if (address == 0x44) { retval = "DOS.NUMERIC_OPERAND_L"; } + else if (address == 0x45) { retval = "DOS.NUMERIC_OPERAND_H"; } - else if (address == 0x67) { retval = "ASBASIC_PROG_STARTL"; } - else if (address == 0x68) { retval = "ASBASIC_PROG_STARTH"; } + else if (address == 0x67) { retval = "AS.PROG_STARTL"; } + else if (address == 0x68) { retval = "AS.PROG_STARTH"; } - else if (address == 0x69) { retval = "ASBASIC_VAR_STARTL"; } - else if (address == 0x6A) { retval = "ASBASIC_VAR_STARTH"; } + else if (address == 0x69) { retval = "AS.VAR_STARTL"; } + else if (address == 0x6A) { retval = "AS.VAR_STARTH"; } - else if (address == 0x6B) { retval = "ASBASIC_ARRAY_STARTL"; } - else if (address == 0x6C) { retval = "ASBASIC_ARRAY_STARTH"; } + else if (address == 0x6B) { retval = "AS.ARRAY_STARTL"; } + else if (address == 0x6C) { retval = "AS.ARRAY_STARTH"; } - else if (address == 0x6D) { retval = "ASBASIC_NUMSTORE_ENDL"; } - else if (address == 0x6E) { retval = "ASBASIC_NUMSTORE_ENDH"; } + else if (address == 0x6D) { retval = "AS.NUMSTORE_ENDL"; } + else if (address == 0x6E) { retval = "AS.NUMSTORE_ENDH"; } - else if (address == 0x6F) { retval = "ASBASIC_STRING_STARTL"; } - else if (address == 0x70) { retval = "ASBASIC_STRING_STARTH"; } + else if (address == 0x6F) { retval = "AS.STRING_STARTL"; } + else if (address == 0x70) { retval = "AS.STRING_STARTH"; } - else if (address == 0x71) { retval = "ASBASIC_PTR_9L"; } - else if (address == 0x72) { retval = "ASBASIC_PTR_9H"; } + else if (address == 0x71) { retval = "AS.PTR_9L"; } + else if (address == 0x72) { retval = "AS.PTR_9H"; } - else if (address == 0x73) { retval = "ASBASIC_HIMEM_L"; } - else if (address == 0x74) { retval = "ASBASIC_HIMEM_H"; } + else if (address == 0x73) { retval = "AS.HIMEM_L"; } + else if (address == 0x74) { retval = "AS.HIMEM_H"; } - else if (address == 0x75) { retval = "ASBASIC_CURR_LINENUM_L"; } - else if (address == 0x76) { retval = "ASBASIC_CURR_LINENUM_H"; } + else if (address == 0x75) { retval = "AS.CURR_LINENUM_L"; } + else if (address == 0x76) { retval = "AS.CURR_LINENUM_H"; } - else if (address == 0x77) { retval = "ASBASIC_INTR_LINENUM_L"; } - else if (address == 0x78) { retval = "ASBASIC_INTR_LINENUM_H"; } + else if (address == 0x77) { retval = "AS.INTR_LINENUM_L"; } + else if (address == 0x78) { retval = "AS.INTR_LINENUM_H"; } - else if (address == 0x79) { retval = "ASBASIC_NEXT_STATEMENT_L"; } - else if (address == 0x7A) { retval = "ASBASIC_NEXT_STATEMENT_H"; } + else if (address == 0x79) { retval = "AS.NEXT_STATEMENT_L"; } + else if (address == 0x7A) { retval = "AS.NEXT_STATEMENT_H"; } - else if (address == 0x7B) { retval = "ASBASIC_DATA_LINENUM_L"; } - else if (address == 0x7C) { retval = "ASBASIC_DATA_LINENUM_H"; } + else if (address == 0x7B) { retval = "AS.DATA_LINENUM_L"; } + else if (address == 0x7C) { retval = "AS.DATA_LINENUM_H"; } - else if (address == 0x7D) { retval = "ASBASIC_DATA_ADDR_L"; } - else if (address == 0x7E) { retval = "ASBASIC_DATA_ADDR_H"; } + else if (address == 0x7D) { retval = "AS.DATA_ADDR_L"; } + else if (address == 0x7E) { retval = "AS.DATA_ADDR_H"; } - else if (address == 0x7F) { retval = "ASBASIC_INPUT_SRC_L"; } - else if (address == 0x80) { retval = "ASBASIC_INPUT_SRC_H"; } + else if (address == 0x7F) { retval = "AS.INPUT_SRC_L"; } + else if (address == 0x80) { retval = "AS.INPUT_SRC_H"; } - else if (address == 0x81) { retval = "ASBASIC_LAST_VARNAME_L"; } - else if (address == 0x82) { retval = "ASBASIC_LAST_VARNAME_H"; } + else if (address == 0x81) { retval = "AS.LAST_VARNAME_L"; } + else if (address == 0x82) { retval = "AS.LAST_VARNAME_H"; } - else if (address == 0x83) { retval = "ASBASIC_LAST_VARVAL_L"; } - else if (address == 0x84) { retval = "ASBASIC_LAST_VARVAL_H"; } + else if (address == 0x83) { retval = "AS.LAST_VARVAL_L"; } + else if (address == 0x84) { retval = "AS.LAST_VARVAL_H"; } - else if (address == 0xAF) { retval = "ASBASIC_PROGEND_L"; } - else if (address == 0xB0) { retval = "ASBASIC_PROGEND_H"; } + else if (address == 0xAF) { retval = "AS.PROGEND_L"; } + else if (address == 0xB0) { retval = "AS.PROGEND_H"; } - else if (address == 0xD6) { retval = "DOS_ASBASIC_LOCK"; } + else if (address == 0xD6) { retval = "DOS.AS.LOCK"; } - else if (address == 0xE0) { retval = "ASBASIC_HGR_X_L"; } - else if (address == 0xE1) { retval = "ASBASIC_HGR_X_H"; } - else if (address == 0xE2) { retval = "ASBASIC_HGR_Y"; } + else if (address == 0xE0) { retval = "AS.HGR_X_L"; } + else if (address == 0xE1) { retval = "AS.HGR_X_H"; } + else if (address == 0xE2) { retval = "AS.HGR_Y"; } - else if (address == 0xE4) { retval = "ASBASIC_HGR_COLOR"; } + else if (address == 0xE4) { retval = "AS.HGR_COLOR"; } - else if (address == 0xE8) { retval = "ASBASIC_SHAPETBL_L"; } - else if (address == 0xE9) { retval = "ASBASIC_SHAPETBL_H"; } + else if (address == 0xE8) { retval = "AS.SHAPETBL_L"; } + else if (address == 0xE9) { retval = "AS.SHAPETBL_H"; } - else if (address == 0xEA) { retval = "ASBASIC_HGR_COLLISION_CTR"; } + else if (address == 0xEA) { retval = "AS.HGR_COLLISION_CTR"; } - else if (address == 0x03d0) { retval = "DOS_WARMSTART"; } - else if (address == 0x03d3) { retval = "DOS_COLDSTART"; } - else if (address == 0x03d6) { retval = "DOS_FILE_MANAGER"; } - else if (address == 0x03d9) { retval = "DOS_RWTS"; } - else if (address == 0x03dc) { retval = "DOS_FM_PARAM_LIST_LOCATE"; } - else if (address == 0x03e3) { retval = "DOS_RWTS_PARAM_LIST_LOCATE"; } - else if (address == 0x03ea) { retval = "DOS_REPLACE_DOS_INTERCEPTS"; } - else if (address == 0x03ef) { retval = "DOS_AUTOSTART_BRK_HANDLER"; } - else if (address == 0x03f2) { retval = "DOS_AUTOSTART_RESET_HANDLER"; } - else if (address == 0x03f4) { retval = "DOS_POWERUP_BYTE"; } + else if (address == 0x03d0) { retval = "DOS.WARMSTART"; } + else if (address == 0x03d3) { retval = "DOS.COLDSTART"; } + else if (address == 0x03d6) { retval = "DOS.FILE_MANAGER"; } + else if (address == 0x03d9) { retval = "DOS.RWTS"; } + else if (address == 0x03dc) { retval = "DOS.FM_PARAM_LIST_LOCATE"; } + else if (address == 0x03e3) { retval = "DOS.RWTS_PARAM_LIST_LOCATE"; } + else if (address == 0x03ea) { retval = "DOS.REPLACE_DOS_INTERCEPTS"; } + else if (address == 0x03ef) { retval = "DOS.AUTOSTART_BRK_HANDLER"; } + else if (address == 0x03f2) { retval = "DOS.AUTOSTART_RESET_HANDLER"; } + else if (address == 0x03f4) { retval = "DOS.POWERUP_BYTE"; } else if (address == 0x03f5) { retval = "AMPR_VEC"; } - else if (address == 0x03f8) { retval = "MON_CTRL_Y_VEC"; } - else if (address == 0x03fb) { retval = "DOS_NMI_HANDLER"; } - else if (address == 0x03fe) { retval = "DOS_IRQ_HANDLER"; } + else if (address == 0x03f8) { retval = "MON.CTRL_Y_VEC"; } + else if (address == 0x03fb) { retval = "DOS.NMI_HANDLER"; } + else if (address == 0x03fe) { retval = "DOS.IRQ_HANDLER"; } - else if (address == 0x0400) { retval = "MON_LINE1"; } + else if (address == 0x0400) { retval = "MON.LINE1"; } - else if (address == 0x07f8) { retval = "MON_MSLOT"; } + else if (address == 0x07f8) { retval = "MON.MSLOT"; } else if (address == 0xc000) { retval = "KEYBOARD"; } else if (address == 0xc001) { retval = "M80_SET80COL"; } @@ -291,8 +326,8 @@ QString DisassemblerViewer::getPotentialLabel(quint16 address) { else if (address == 0xc004) { retval = "M80_WRMAINRAM"; } else if (address == 0xc005) { retval = "M80_WRCARDRAM"; } - else if (address == 0xc006) { retval = "MON_SETSLOTCXROM"; } - else if (address == 0xc007) { retval = "MON_SETINTCXROM"; } + else if (address == 0xc006) { retval = "MON.SETSLOTCXROM"; } + else if (address == 0xc007) { retval = "MON.SETINTCXROM"; } else if (address == 0xc008) { retval = "M80_SETSTDSZ"; } else if (address == 0xc009) { retval = "M80_SETALTZP"; } @@ -303,7 +338,7 @@ QString DisassemblerViewer::getPotentialLabel(quint16 address) { else if (address == 0xc00E) { retval = "M80_CLRALTCHAR"; } else if (address == 0xc00F) { retval = "M80_SETALTCHAR"; } - else if (address == 0xc010) { retval = "MON_KBDSTRB"; } + else if (address == 0xc010) { retval = "MON.KBDSTRB"; } else if (address == 0xc011) { retval = "M80_RDLCBNK2"; } else if (address == 0xc012) { retval = "M80_RDLCRAM"; } @@ -314,7 +349,7 @@ QString DisassemblerViewer::getPotentialLabel(quint16 address) { else if (address == 0xc016) { retval = "RDALTZP"; } else if (address == 0xc017) { retval = "RDC3ROM"; } - else if (address == 0xc018) { retval = "MON_RD80STORE"; } + else if (address == 0xc018) { retval = "MON.RD80STORE"; } else if (address == 0xc019) { retval = "RDVBLBAR"; } else if (address == 0xc01A) { retval = "RDTEXT"; } @@ -334,7 +369,7 @@ QString DisassemblerViewer::getPotentialLabel(quint16 address) { else if (address == 0xc050) { retval = "SW.TXTCLR"; } else if (address == 0xc051) { retval = "SW.TXTSET"; } - else if (address == 0xc052) { retval = "SW._MIXCLR"; } + else if (address == 0xc052) { retval = "SW.MIXCLR"; } else if (address == 0xc053) { retval = "SW.MIXSET"; } else if (address == 0xc054) { retval = "SW.LOWSCR"; } else if (address == 0xc055) { retval = "SW.HISCR"; } @@ -348,9 +383,9 @@ QString DisassemblerViewer::getPotentialLabel(quint16 address) { else if (address == 0xc05d) { retval = "SW.CLRAN2"; } else if (address == 0xc05e) { retval = "SW.SETAN3"; } else if (address == 0xc05f) { retval = "SW.CLRAN3"; } - else if (address == 0xc060) { retval = "MON_TAPEIN"; } - else if (address == 0xc064) { retval = "MON_PADDL0"; } - else if (address == 0xc070) { retval = "MON_PTRIG"; } + else if (address == 0xc060) { retval = "MON.TAPEIN"; } + else if (address == 0xc064) { retval = "MON.PADDL0"; } + else if (address == 0xc070) { retval = "MON.PTRIG"; } else if (address == 0xc080) { retval = "RDRAMBANK2_NOWRITE"; } else if (address == 0xc081) { retval = "RDROM_WRBANK2"; } @@ -747,724 +782,722 @@ QString DisassemblerViewer::getPotentialLabel(quint16 address) { else if (address == 0xcffd) { retval = "M80_ZZEND"; } - else if (address == 0xcfff) { retval = "MON_CLRROM"; } - else if (address == 0xe000) { retval = "MON_BASIC"; } - else if (address == 0xe003) { retval = "MON_BASIC2"; } + else if (address == 0xcfff) { retval = "MON.CLRROM"; } + else if (address == 0xe000) { retval = "MON.BASIC"; } + else if (address == 0xe003) { retval = "MON.BASIC2"; } - else if (address == 0xd365) { retval = "AS_GTFORPNT"; } - else if (address == 0xd39e) { retval = "AS_BLTU"; } - else if (address == 0xd39a) { retval = "AS_BLTU2"; } - else if (address == 0xd3d6) { retval = "AS_CHKMEM"; } - else if (address == 0xd3e3) { retval = "AS_REASON"; } - else if (address == 0xd410) { retval = "AS_MEMERR"; } - else if (address == 0xd412) { retval = "AS_ERROR"; } - else if (address == 0xd431) { retval = "AS_PRINT_ERROR_LINNUM"; } - else if (address == 0xd43c) { retval = "AS_RESTART"; } - else if (address == 0xd45c) { retval = "AS_NUMBERED_LINE"; } - else if (address == 0xd4b5) { retval = "AS_PUT_NEW_LINE"; } - else if (address == 0xd4f2) { retval = "AS_FIX_LINKS"; } - else if (address == 0xd52c) { retval = "AS_INLIN"; } - else if (address == 0xd52e) { retval = "AS_INLIN2"; } - else if (address == 0xd553) { retval = "AS_INCHR"; } - else if (address == 0xd559) { retval = "AS_PARSE_INPUT_LINE"; } - else if (address == 0xd56c) { retval = "AS_PARSE"; } - else if (address == 0xd61a) { retval = "AS_FNDLIN"; } - else if (address == 0xd61e) { retval = "AS_FL1"; } - else if (address == 0xd648) { retval = "AS_RTS1"; } - else if (address == 0xd649) { retval = "AS_NEW"; } - else if (address == 0xd64b) { retval = "AS_SCRTCH"; } - else if (address == 0xd665) { retval = "AS_SETPTRS"; } - else if (address == 0xd66a) { retval = "AS_CLEAR"; } - else if (address == 0xd66c) { retval = "AS_CLEARC"; } - else if (address == 0xd683) { retval = "AS_STKINI"; } - else if (address == 0xd696) { retval = "AS_RTS2"; } - else if (address == 0xd697) { retval = "AS_STXTPT"; } - else if (address == 0xd6a5) { retval = "AS_LIST"; } - else if (address == 0xd6da) { retval = "AS_LIST0"; } - else if (address == 0xd6fe) { retval = "AS_LIST1"; } - else if (address == 0xd702) { retval = "AS_LIST2"; } - else if (address == 0xd724) { retval = "AS_LIST3"; } - else if (address == 0xd72c) { retval = "AS_GETCHR"; } - else if (address == 0xd734) { retval = "AS_LIST4"; } - else if (address == 0xd766) { retval = "AS_FOR"; } - else if (address == 0xd7af) { retval = "AS_STEP"; } - else if (address == 0xd7d2) { retval = "AS_NEWSTT"; } - else if (address == 0xd805) { retval = "AS_TRACE_"; } - else if (address == 0xd826) { retval = "AS_GOEND"; } - else if (address == 0xd828) { retval = "AS_EXECUTE_STATEMENT"; } - else if (address == 0xd82a) { retval = "AS_EXECUTE_STATEMENT1"; } - else if (address == 0xd842) { retval = "AS_COLON_"; } - else if (address == 0xd846) { retval = "AS_SYNERR1"; } - else if (address == 0xd849) { retval = "AS_RESTORE"; } - else if (address == 0xd853) { retval = "AS_SETDA"; } - else if (address == 0xd857) { retval = "AS_RTS3"; } - else if (address == 0xd858) { retval = "AS_ISCNTC"; } - else if (address == 0xd863) { retval = "AS_CONTROL_C_TYPED"; } - else if (address == 0xd86e) { retval = "AS_STOP"; } - else if (address == 0xd870) { retval = "AS_END"; } - else if (address == 0xd871) { retval = "AS_END2"; } - else if (address == 0xd88a) { retval = "AS_END4"; } - else if (address == 0xd896) { retval = "AS_CONT"; } - else if (address == 0xd8af) { retval = "AS_RTS4"; } - else if (address == 0xd8b0) { retval = "AS_SAVE"; } - else if (address == 0xd8c9) { retval = "AS_LOAD"; } - else if (address == 0xd8F0) { retval = "AS_VARTIO"; } - else if (address == 0xd901) { retval = "AS_PROGIO"; } - else if (address == 0xd912) { retval = "AS_RUN"; } - else if (address == 0xd921) { retval = "AS_GOSUB"; } - else if (address == 0xd935) { retval = "AS_GO_TO_LINE"; } - else if (address == 0xd93e) { retval = "AS_GOTO"; } - else if (address == 0xd96a) { retval = "AS_RTS5"; } - else if (address == 0xd96b) { retval = "AS_POP"; } - else if (address == 0xd97c) { retval = "AS_UNDERR"; } - else if (address == 0xd981) { retval = "AS_SYNERR2"; } - else if (address == 0xd984) { retval = "AS_RETURN"; } - else if (address == 0xd995) { retval = "AS_DATA"; } - else if (address == 0xd998) { retval = "AS_ADDON"; } - else if (address == 0xd9a2) { retval = "AS_RTS6"; } - else if (address == 0xd9a3) { retval = "AS_DATAN"; } - else if (address == 0xd9a6) { retval = "AS_REMN"; } - else if (address == 0xd9c5) { retval = "AS_PULL3"; } - else if (address == 0xd9c9) { retval = "AS_IF"; } - else if (address == 0xd9dc) { retval = "AS_REM"; } - else if (address == 0xd9e1) { retval = "AS_IFTRUE"; } - else if (address == 0xd9ec) { retval = "AS_ONGOTO"; } - else if (address == 0xd9f4) { retval = "AS_ON1"; } - else if (address == 0xd9f8) { retval = "AS_ON2"; } - else if (address == 0xda0b) { retval = "AS_RTS7"; } - else if (address == 0xda0c) { retval = "AS_LINGET"; } - else if (address == 0xda46) { retval = "AS_LET"; } - else if (address == 0xda63) { retval = "AS_LET2"; } - else if (address == 0xda7a) { retval = "AS_LET_STRING"; } - else if (address == 0xda7b) { retval = "AS_PUTSTR"; } - else if (address == 0xdacf) { retval = "AS_PR_SPRING"; } - else if (address == 0xdad5) { retval = "AS_PRINT"; } - else if (address == 0xdad7) { retval = "AS_PRINT2"; } - else if (address == 0xdafb) { retval = "AS_CRDO"; } - else if (address == 0xdb00) { retval = "AS_NEGATE"; } - else if (address == 0xdb02) { retval = "AS_PR_RTS8"; } - else if (address == 0xdb03) { retval = "AS_PR_COMMA"; } - else if (address == 0xdb16) { retval = "AS_PR_TAB_OR_SPC"; } - else if (address == 0xdb2c) { retval = "AS_NXSPC"; } - else if (address == 0xdb2f) { retval = "AS_PR_NEXT_CHAR"; } - else if (address == 0xdb35) { retval = "AS_DOSPC"; } - else if (address == 0xdb3a) { retval = "AS_STROUT"; } - else if (address == 0xdb3d) { retval = "AS_STRPRT"; } - else if (address == 0xdb57) { retval = "AS_OUTSP"; } - else if (address == 0xdb5a) { retval = "AS_OUTQUES"; } - else if (address == 0xdb5c) { retval = "AS_OUTDO"; } - else if (address == 0xdb71) { retval = "AS_INPUTERR"; } - else if (address == 0xdb7b) { retval = "AS_READERR"; } - else if (address == 0xdb7f) { retval = "AS_ERLIN"; } - else if (address == 0xdb86) { retval = "AS_INPERR"; } - else if (address == 0xdb87) { retval = "AS_RESPERR"; } - else if (address == 0xdba0) { retval = "AS_GET"; } - else if (address == 0xdbb2) { retval = "AS_INPUT"; } - else if (address == 0xdbdc) { retval = "AS_NXIN"; } - else if (address == 0xdbe2) { retval = "AS_READ"; } - else if (address == 0xdbe9) { retval = "AS_INPUT_FLAG_ZERO"; } - else if (address == 0xdbeb) { retval = "AS_PROCESS_INPUT_LIST"; } - else if (address == 0xdbf1) { retval = "AS_PROCESS_INPUT_ITEM"; } - else if (address == 0xdC2b) { retval = "AS_INSTART"; } - else if (address == 0xdC69) { retval = "AS_INPUT_DATA"; } - else if (address == 0xdC72) { retval = "AS_INPUT_MORE"; } - else if (address == 0xdC99) { retval = "AS_INPFIN"; } - else if (address == 0xdCa0) { retval = "AS_FINDATA"; } - else if (address == 0xdCC6) { retval = "AS_INPDONE"; } - else if (address == 0xdcdf) { retval = "AS_ERR_EXTRA"; } - else if (address == 0xdcef) { retval = "AS_ERR_REENTRY"; } - else if (address == 0xdcf9) { retval = "AS_NEXT"; } - else if (address == 0xdcff) { retval = "AS_NEXT1"; } - else if (address == 0xdd02) { retval = "AS_NEXT2"; } - else if (address == 0xdd0d) { retval = "AS_GERR"; } - else if (address == 0xdd0f) { retval = "AS_NEXT3"; } - else if (address == 0xdd67) { retval = "AS_FRMNUM"; } - else if (address == 0xdd6a) { retval = "AS_CHKNUM"; } - else if (address == 0xdd6c) { retval = "AS_CHKSTR"; } - else if (address == 0xdd6d) { retval = "AS_CHKVAL"; } - else if (address == 0xdd78) { retval = "AS_JERROR"; } - else if (address == 0xdd7b) { retval = "AS_FRMEVL"; } - else if (address == 0xdd86) { retval = "AS_FRMEVL1"; } - else if (address == 0xdd95) { retval = "AS_FRMEVL2"; } - else if (address == 0xddcd) { retval = "AS_FRM_PRECEDENCE_TEST"; } - else if (address == 0xddd6) { retval = "AS_NXOP"; } - else if (address == 0xddd7) { retval = "AS_SAVOP"; } - else if (address == 0xdde4) { retval = "AS_FRM_RELATIONAL"; } - else if (address == 0xddf6) { retval = "AS_FRM_PREFNC"; } - else if (address == 0xddfd) { retval = "AS_FRM_RECURSE"; } - else if (address == 0xde0d) { retval = "AS_SNTXERR"; } - else if (address == 0xde10) { retval = "AS_FRM_STACK1"; } - else if (address == 0xde15) { retval = "AS_FRM_STACK2"; } - else if (address == 0xde20) { retval = "AS_FRM_STACK3"; } - else if (address == 0xde35) { retval = "AS_NOTMATH"; } - else if (address == 0xde38) { retval = "AS_GOEX"; } - else if (address == 0xde3a) { retval = "AS_FRM_PERFORM1"; } - else if (address == 0xde43) { retval = "AS_FRM_PERFORM2"; } - else if (address == 0xde5d) { retval = "AS_EXIT"; } - else if (address == 0xde60) { retval = "AS_FRM_ELEMENT"; } - else if (address == 0xde81) { retval = "AS_STRTXT"; } - else if (address == 0xde90) { retval = "AS_NOT_"; } - else if (address == 0xde98) { retval = "AS_EQUOP"; } - else if (address == 0xdea4) { retval = "AS_FN_"; } - else if (address == 0xdeab) { retval = "AS_SGN_"; } - else if (address == 0xdeb2) { retval = "AS_PARCHK"; } - else if (address == 0xdeb8) { retval = "AS_CHKCLS"; } - else if (address == 0xdebb) { retval = "AS_CHKOPN"; } - else if (address == 0xdebe) { retval = "AS_CHKCOM"; } - else if (address == 0xdec0) { retval = "AS_SYNCHR"; } - else if (address == 0xdec9) { retval = "AS_SYNERR"; } - else if (address == 0xdece) { retval = "AS_MIN"; } - else if (address == 0xded0) { retval = "AS_EQUL"; } - else if (address == 0xded5) { retval = "AS_FRM_VARIABLE"; } - else if (address == 0xded7) { retval = "AS_FRM_VARIABLE_CALL"; } - else if (address == 0xdef9) { retval = "AS_SCREEN"; } - else if (address == 0xdf0c) { retval = "AS_UNARY"; } - else if (address == 0xdf4f) { retval = "AS_OR"; } - else if (address == 0xdf55) { retval = "AS_AND"; } - else if (address == 0xdf5d) { retval = "AS_FALSE"; } - else if (address == 0xdf60) { retval = "AS_TRUE"; } - else if (address == 0xdf65) { retval = "AS_RELOPS"; } - else if (address == 0xdf7d) { retval = "AS_STRCMP"; } - else if (address == 0xdfaa) { retval = "AS_STRCMP1"; } - else if (address == 0xdfb0) { retval = "AS_NUMCMP"; } - else if (address == 0xdfb5) { retval = "AS_STRCMP2"; } - else if (address == 0xdfc1) { retval = "AS_CMPDONE"; } - else if (address == 0xdfcd) { retval = "AS_PDL"; } - else if (address == 0xdfd6) { retval = "AS_NXDIM"; } - else if (address == 0xdfd9) { retval = "AS_DIM"; } - else if (address == 0xdfe3) { retval = "AS_PTRGET"; } - else if (address == 0xdfe8) { retval = "AS_PTRGET2"; } - else if (address == 0xdfea) { retval = "AS_PTRGET3"; } - else if (address == 0xdff4) { retval = "AS_BADNAM"; } - else if (address == 0xdff7) { retval = "AS_NAMOK"; } - else if (address == 0xe007) { retval = "AS_PTRGET4"; } - else if (address == 0xe07d) { retval = "AS_ISLETC"; } - else if (address == 0xe087) { retval = "AS_NAME_NOT_FOUND"; } - else if (address == 0xe09c) { retval = "AS_MAKE_NEW_VARIABLE"; } - else if (address == 0xe0de) { retval = "AS_SET_VARPNT_AND_YA"; } - else if (address == 0xe0ed) { retval = "AS_GETARY"; } - else if (address == 0xe0ef) { retval = "AS_GETARY2"; } - else if (address == 0xe102) { retval = "AS_MAKINT"; } - else if (address == 0xe108) { retval = "AS_MKINT"; } - else if (address == 0xe10c) { retval = "AS_AYINT"; } - else if (address == 0xe119) { retval = "AS_MI1"; } - else if (address == 0xe11b) { retval = "AS_MI2"; } - else if (address == 0xe11e) { retval = "AS_ARRAY"; } - else if (address == 0xe196) { retval = "AS_SUBERR"; } - else if (address == 0xe199) { retval = "AS_IQERR"; } - else if (address == 0xe19b) { retval = "AS_JER"; } - else if (address == 0xe19e) { retval = "AS_USE_OLD_ARRAY"; } - else if (address == 0xe1b8) { retval = "AS_MAKE_NEW_ARRAY"; } - else if (address == 0xe24b) { retval = "AS_FIND_ARRAY_ELEMENT"; } - else if (address == 0xe253) { retval = "AS_FAE1"; } - else if (address == 0xe269) { retval = "AS_GSE"; } - else if (address == 0xe26c) { retval = "AS_GME"; } - else if (address == 0xe26f) { retval = "AS_FAE2"; } - else if (address == 0xe270) { retval = "AS_FAE3"; } - else if (address == 0xe2ac) { retval = "AS_RTS9"; } - else if (address == 0xe2ad) { retval = "AS_MULTIPLY_SUBSCRIPT"; } - else if (address == 0xe2b6) { retval = "AS_MULTIPLY_SUBS1"; } - else if (address == 0xe2de) { retval = "AS_FRE"; } - else if (address == 0xe2f2) { retval = "AS_GIVAYF"; } - else if (address == 0xe2ff) { retval = "AS_POS"; } - else if (address == 0xe301) { retval = "AS_SNGFLT"; } - else if (address == 0xe306) { retval = "AS_ERRDIR"; } - else if (address == 0xe30e) { retval = "AS_UNDFNC"; } - else if (address == 0xe313) { retval = "AS_DEF"; } - else if (address == 0xe341) { retval = "AS_FNC_"; } - else if (address == 0xe354) { retval = "AS_FUNCT"; } - else if (address == 0xe3af) { retval = "AS_FNCDATA"; } - else if (address == 0xe3c5) { retval = "AS_STR"; } - else if (address == 0xe3d5) { retval = "AS_STRINI"; } - else if (address == 0xe3dd) { retval = "AS_STRSPA"; } - else if (address == 0xe3e7) { retval = "AS_STRLIT"; } - else if (address == 0xe3ed) { retval = "AS_STRLT2"; } - else if (address == 0xe42a) { retval = "AS_PUTNEW"; } - else if (address == 0xe432) { retval = "AS_JERR"; } - else if (address == 0xe435) { retval = "AS_PUTEMP"; } - else if (address == 0xe452) { retval = "AS_GETSPA"; } - else if (address == 0xe484) { retval = "AS_GARBAG"; } - else if (address == 0xe488) { retval = "AS_FIND_HIGHEST_STRING"; } - else if (address == 0xe519) { retval = "AS_CHECK_SIMPLE_VARIABLE"; } - else if (address == 0xe523) { retval = "AS_CHECK_VARIABLE"; } - else if (address == 0xe552) { retval = "AS_CHECK_BUMP"; } - else if (address == 0xe55d) { retval = "AS_CHECK_EXIT"; } - else if (address == 0xe562) { retval = "AS_MOVE_HIGHEST_STRING_TO_TOP"; } - else if (address == 0xe597) { retval = "AS_CAT"; } - else if (address == 0xe5d4) { retval = "AS_MOVINS"; } - else if (address == 0xe5e2) { retval = "AS_MOVSTR"; } - else if (address == 0xe5e6) { retval = "AS_MOVSTR1"; } - else if (address == 0xe5fd) { retval = "AS_FRESTR"; } - else if (address == 0xe600) { retval = "AS_FREFAC"; } - else if (address == 0xe604) { retval = "AS_FRETMP"; } - else if (address == 0xe635) { retval = "AS_FRETMS"; } - else if (address == 0xe646) { retval = "AS_CHRSTR"; } - else if (address == 0xe65a) { retval = "AS_LEFTSTR"; } - else if (address == 0xe660) { retval = "AS_SUBSTRING1"; } - else if (address == 0xe667) { retval = "AS_SUBSTRING2"; } - else if (address == 0xe668) { retval = "AS_SUBSTRING3"; } - else if (address == 0xe686) { retval = "AS_RIGHTSTR"; } - else if (address == 0xe691) { retval = "AS_MIDSTR"; } - else if (address == 0xe6b9) { retval = "AS_SUBSTRING_SETUP"; } - else if (address == 0xe6d6) { retval = "AS_LEN"; } - else if (address == 0xe6dc) { retval = "AS_GETSTR"; } - else if (address == 0xe6e5) { retval = "AS_ASC"; } - else if (address == 0xe6f2) { retval = "AS_GOIQ"; } - else if (address == 0xe6f5) { retval = "AS_GTBYTC"; } - else if (address == 0xe6f8) { retval = "AS_GETBYT"; } - else if (address == 0xe6fb) { retval = "AS_CONINT"; } - else if (address == 0xe707) { retval = "AS_VAL"; } - else if (address == 0xe73d) { retval = "AS_POINT"; } - else if (address == 0xe746) { retval = "AS_GTNUM"; } - else if (address == 0xe74c) { retval = "AS_COMBYTE"; } - else if (address == 0xe752) { retval = "AS_GETADR"; } - else if (address == 0xe764) { retval = "AS_PEEK"; } - else if (address == 0xe77b) { retval = "AS_POKE"; } - else if (address == 0xe784) { retval = "AS_WAIT"; } - else if (address == 0xe79f) { retval = "AS_RTS10"; } - else if (address == 0xe7a0) { retval = "AS_FADDH"; } - else if (address == 0xe7a7) { retval = "AS_FSUB"; } - else if (address == 0xe7aa) { retval = "AS_FSUBT"; } - else if (address == 0xe7b9) { retval = "AS_FADD1"; } - else if (address == 0xe7be) { retval = "AS_FADD"; } - else if (address == 0xe7c1) { retval = "AS_FADDT"; } - else if (address == 0xe7ce) { retval = "AS_FADD2"; } - else if (address == 0xe7fa) { retval = "AS_FADD3"; } - else if (address == 0xe829) { retval = "AS_NORMALIZE_FAC1"; } - else if (address == 0xe82e) { retval = "AS_NORMALIZE_FAC2"; } - else if (address == 0xe84e) { retval = "AS_ZERO_FAC"; } - else if (address == 0xe850) { retval = "AS_STA_IN_FAC_SIGN_AND_EXP"; } - else if (address == 0xe852) { retval = "AS_STA_IN_FAC_SIGN"; } - else if (address == 0xe855) { retval = "AS_FADD4"; } - else if (address == 0xe874) { retval = "AS_NORMALIZE_FAC3"; } - else if (address == 0xe880) { retval = "AS_NORMALIZE_FAC4"; } - else if (address == 0xe88d) { retval = "AS_NORMALIZE_FAC5"; } - else if (address == 0xe88f) { retval = "AS_NORMALIZE_FAC6"; } - else if (address == 0xe89d) { retval = "AS_RTS11"; } - else if (address == 0xe89e) { retval = "AS_COMPLEMENT_FAC"; } - else if (address == 0xe8a4) { retval = "AS_COMPLEMENT_FAC_MANTISSA"; } - else if (address == 0xe8c6) { retval = "AS_INCREMENT_FAC_MANTISSA"; } - else if (address == 0xe8d4) { retval = "AS_RTS12"; } - else if (address == 0xe8d5) { retval = "AS_OVERFLOW"; } - else if (address == 0xe8da) { retval = "AS_SHIFT_RIGHT1"; } - else if (address == 0xe8dc) { retval = "AS_SHIFT_RIGHT2"; } - else if (address == 0xe8f0) { retval = "AS_SHIFT_RIGHT"; } - else if (address == 0xe8fd) { retval = "AS_SHIFT_RIGHT3"; } - else if (address == 0xe907) { retval = "AS_SHIFT_RIGHT4"; } - else if (address == 0xe911) { retval = "AS_SHIFT_RIGHT5"; } - else if (address == 0xe941) { retval = "AS_LOG"; } - else if (address == 0xe948) { retval = "AS_GIQ"; } - else if (address == 0xe94b) { retval = "AS_LOG2"; } - else if (address == 0xe97f) { retval = "AS_FMULT"; } - else if (address == 0xe982) { retval = "AS_FMULTT"; } - else if (address == 0xe9b0) { retval = "AS_MULTIPLY1"; } - else if (address == 0xe9b5) { retval = "AS_MULTIPLY2"; } - else if (address == 0xe9e2) { retval = "AS_RTS13"; } - else if (address == 0xe9e3) { retval = "AS_LOAD_ARG_FROM_YA"; } - else if (address == 0xea0e) { retval = "AS_ADD_EXPONENTS"; } - else if (address == 0xea10) { retval = "AS_ADD_EXPONENTS1"; } - else if (address == 0xea2b) { retval = "AS_OUTOFRNG"; } - else if (address == 0xea31) { retval = "AS_ZERO"; } - else if (address == 0xea36) { retval = "AS_JOV"; } - else if (address == 0xeae9) { retval = "AS_MUL10"; } - else if (address == 0xea55) { retval = "AS_DIV10"; } - else if (address == 0xea5e) { retval = "AS_DIV"; } - else if (address == 0xea66) { retval = "AS_FDIV"; } - else if (address == 0xeae6) { retval = "AS_COPY_RESULT_INTO_FAC"; } - else if (address == 0xeaf9) { retval = "AS_LOAD_FAC_FROM_YA"; } - else if (address == 0xeb1e) { retval = "AS_STORE_FAC_IN_TEMP2_ROUNDED"; } - else if (address == 0xeb21) { retval = "AS_STORE_FAC_IN_TEMP1_ROUNDED"; } - else if (address == 0xeb27) { retval = "AS_SETFOR"; } - else if (address == 0xeb2b) { retval = "AS_STORE_FAC_AT_YX_ROUNDED"; } - else if (address == 0xeb53) { retval = "AS_COPY_FAC_TO_ARG"; } - else if (address == 0xeb63) { retval = "AS_COPY_FAC_TO_ARG_ROUNDED"; } - else if (address == 0xeb71) { retval = "AS_RTS14"; } - else if (address == 0xeb72) { retval = "AS_ROUND_FAC"; } - else if (address == 0xeb7a) { retval = "AS_INCREMENT_MANTISSA"; } - else if (address == 0xeb82) { retval = "AS_SIGN"; } - else if (address == 0xeb86) { retval = "AS_SIGN1"; } - else if (address == 0xeb88) { retval = "AS_SIGN2"; } - else if (address == 0xeb8f) { retval = "AS_RTS15"; } - else if (address == 0xeb90) { retval = "AS_SGN"; } - else if (address == 0xeb9e) { retval = "AS_FLOAT"; } - else if (address == 0xeb9b) { retval = "AS_FLOAT1"; } - else if (address == 0xeba0) { retval = "AS_FLOAT2"; } - else if (address == 0xebaf) { retval = "AS_ABS"; } - else if (address == 0xebb2) { retval = "AS_FCOMP"; } - else if (address == 0xebb4) { retval = "AS_FCOMP2"; } - else if (address == 0xebf2) { retval = "AS_QINT"; } - else if (address == 0xec11) { retval = "AS_RTS16"; } - else if (address == 0xec12) { retval = "AS_QINT2"; } - else if (address == 0xec23) { retval = "AS_INT"; } - else if (address == 0xec40) { retval = "AS_QINT3"; } - else if (address == 0xec49) { retval = "AS_RTS17"; } - else if (address == 0xec4a) { retval = "AS_FIN"; } - else if (address == 0xec61) { retval = "AS_FIN1"; } - else if (address == 0xec64) { retval = "AS_FIN2"; } - else if (address == 0xec66) { retval = "AS_FIN3"; } - else if (address == 0xec87) { retval = "AS_FIN4"; } - else if (address == 0xec8a) { retval = "AS_FIN5"; } - else if (address == 0xec8c) { retval = "AS_FIN6"; } - else if (address == 0xec98) { retval = "AS_FIN10"; } - else if (address == 0xec9e) { retval = "AS_FIN7"; } - else if (address == 0xeca0) { retval = "AS_FIN8"; } - else if (address == 0xecc1) { retval = "AS_FIN9"; } - else if (address == 0xecd5) { retval = "AS_ADDACC"; } - else if (address == 0xece8) { retval = "AS_GETEXP"; } - else if (address == 0xed19) { retval = "AS_INPRT"; } - else if (address == 0xed24) { retval = "AS_LINPRT"; } - else if (address == 0xed2e) { retval = "AS_PRINT_FAC"; } - else if (address == 0xed31) { retval = "AS_GO_STROUT"; } - else if (address == 0xed34) { retval = "AS_FOUT"; } - else if (address == 0xed36) { retval = "AS_FOUT1"; } - else if (address == 0xed8c) { retval = "AS_FOUT2"; } - else if (address == 0xee17) { retval = "AS_FOUT3"; } - else if (address == 0xee57) { retval = "AS_FOUT4"; } - else if (address == 0xee5a) { retval = "AS_FOUT5"; } - else if (address == 0xee5f) { retval = "AS_FOUT6"; } - else if (address == 0xee8d) { retval = "AS_SQR"; } - else if (address == 0xee97) { retval = "AS_FPWRT"; } - else if (address == 0xeed0) { retval = "AS_NEGOP"; } - else if (address == 0xeeda) { retval = "AS_RTS18"; } - else if (address == 0xef09) { retval = "AS_EXP"; } - else if (address == 0xef5c) { retval = "AS_POLYNOMIAL_ODD"; } - else if (address == 0xef72) { retval = "AS_POLYNOMIAL"; } - else if (address == 0xef76) { retval = "AS_SERMAIN"; } - else if (address == 0xefa5) { retval = "AS_RTS19"; } - else if (address == 0xefae) { retval = "AS_RND"; } - else if (address == 0xefe7) { retval = "AS_GO_MOVMF"; } - else if (address == 0xefea) { retval = "AS_COS"; } - else if (address == 0xeff1) { retval = "AS_SIN"; } - else if (address == 0xf023) { retval = "AS_SIN1"; } - else if (address == 0xf026) { retval = "AS_SIN2"; } - else if (address == 0xf03a) { retval = "AS_TAN"; } - else if (address == 0xf062) { retval = "AS_TAN1"; } - else if (address == 0xf094) { retval = "AS_MS_EASTER_EGG_DATA"; } - else if (address == 0xf09e) { retval = "AS_ATN"; } - else if (address == 0xf0cd) { retval = "AS_RTS20"; } - else if (address == 0xf10b) { retval = "AS_GENERIC_CHRGET"; } - else if (address == 0xf128) { retval = "AS_COLD_START"; } - else if (address == 0xf1d5) { retval = "AS_CALL"; } - else if (address == 0xf1de) { retval = "AS_IN_NUMBER"; } - else if (address == 0xf1e5) { retval = "AS_PR_NUMBER"; } - else if (address == 0xf1ec) { retval = "AS_PLOTFNS"; } - else if (address == 0xf206) { retval = "AS_GOERR"; } - else if (address == 0xf209) { retval = "AS_LINCOOR"; } - else if (address == 0xf225) { retval = "AS_PLOT"; } - else if (address == 0xf232) { retval = "AS_HLIN"; } - else if (address == 0xf241) { retval = "AS_VLIN"; } - else if (address == 0xf24f) { retval = "AS_COLOR"; } - else if (address == 0xf256) { retval = "AS_VTAB"; } - else if (address == 0xf262) { retval = "AS_SPEED"; } - else if (address == 0xf26d) { retval = "AS_TRACE"; } - else if (address == 0xf26f) { retval = "AS_NOTRACE"; } - else if (address == 0xf273) { retval = "AS_NORMAL"; } - else if (address == 0xf277) { retval = "AS_INVERSE"; } - else if (address == 0xf280) { retval = "AS_FLASH"; } - else if (address == 0xf286) { retval = "AS_HIMEM"; } - else if (address == 0xf296) { retval = "AS_JMM"; } - else if (address == 0xf299) { retval = "AS_SETHI"; } - else if (address == 0xf2a6) { retval = "AS_LOMEM"; } - else if (address == 0xf2cb) { retval = "AS_ONERR"; } - else if (address == 0xf2e9) { retval = "AS_HANDLERR"; } - else if (address == 0xf318) { retval = "AS_RESUME"; } - else if (address == 0xf32e) { retval = "AS_JSYN"; } - else if (address == 0xf331) { retval = "AS_DEL"; } - else if (address == 0xf390) { retval = "AS_GR"; } - else if (address == 0xf399) { retval = "AS_TEXT"; } - else if (address == 0xf39f) { retval = "AS_STORE"; } - else if (address == 0xf3bc) { retval = "AS_RECALL"; } - else if (address == 0xf3d8) { retval = "AS_HGR2"; } - else if (address == 0xf3e2) { retval = "AS_HGR"; } - else if (address == 0xf3ea) { retval = "AS_SETHPG"; } - else if (address == 0xf3f2) { retval = "AS_HCLR"; } - else if (address == 0xf3f6) { retval = "AS_BKGND"; } - else if (address == 0xf411) { retval = "AS_HPOSN"; } - else if (address == 0xf457) { retval = "AS_HPLOT0"; } - else if (address == 0xf465) { retval = "AS_MOVE_LEFT_OR_RIGHT"; } - else if (address == 0xf47e) { retval = "AS_COLOR_SHIFT"; } - else if (address == 0xf48a) { retval = "AS_MOVE_RIGHT"; } - else if (address == 0xf49c) { retval = "AS_LRUDX1"; } - else if (address == 0xf49d) { retval = "AS_LRUDX2"; } - else if (address == 0xf4b3) { retval = "AS_LRUD1"; } - else if (address == 0xf4b4) { retval = "AS_LRUD2"; } - else if (address == 0xf4c4) { retval = "AS_LRUD3"; } - else if (address == 0xf4c8) { retval = "AS_LRUD4"; } - else if (address == 0xf4d3) { retval = "AS_MOVE_UP_OR_DOWN"; } - else if (address == 0xf505) { retval = "AS_MOVE_DOWN"; } - else if (address == 0xf530) { retval = "AS_HLINRL"; } - else if (address == 0xf53a) { retval = "AS_HGLN"; } - else if (address == 0xf57c) { retval = "AS_MOVEX"; } - else if (address == 0xf581) { retval = "AS_MOVEX2"; } - else if (address == 0xf5cb) { retval = "AS_HFIND"; } - else if (address == 0xf600) { retval = "AS_RTS22"; } - else if (address == 0xf601) { retval = "AS_DRAW0"; } - else if (address == 0xf605) { retval = "AS_DRAW1"; } - else if (address == 0xf65d) { retval = "AS_XDRAW0"; } - else if (address == 0xf661) { retval = "AS_XDRAW1"; } - else if (address == 0xf6b9) { retval = "AS_HFNS"; } - else if (address == 0xf6e6) { retval = "AS_GGERR"; } - else if (address == 0xf6e9) { retval = "AS_HCOLOR"; } - else if (address == 0xf6f5) { retval = "AS_RTS23"; } - else if (address == 0xf6fc) { retval = "AS_COLORTBL"; } - else if (address == 0xf6fe) { retval = "AS_HPLOT"; } - else if (address == 0xf721) { retval = "AS_ROT"; } - else if (address == 0xf727) { retval = "AS_SCALE"; } - else if (address == 0xf72d) { retval = "AS_DRAWPNT"; } - else if (address == 0xf769) { retval = "AS_DRAW"; } - else if (address == 0xf76f) { retval = "AS_XDRAW"; } - else if (address == 0xf775) { retval = "AS_SHLOAD"; } - else if (address == 0xf7bc) { retval = "AS_TAPEPNT"; } - else if (address == 0xf7d9) { retval = "AS_GETARYPT"; } - else if (address == 0xf7e7) { retval = "AS_HTAB"; } + else if (address == 0xd365) { retval = "AS.GTFORPNT"; } + else if (address == 0xd39e) { retval = "AS.BLTU"; } + else if (address == 0xd39a) { retval = "AS.BLTU2"; } + else if (address == 0xd3d6) { retval = "AS.CHKMEM"; } + else if (address == 0xd3e3) { retval = "AS.REASON"; } + else if (address == 0xd410) { retval = "AS.MEMERR"; } + else if (address == 0xd412) { retval = "AS.ERROR"; } + else if (address == 0xd431) { retval = "AS.PRINT_ERROR_LINNUM"; } + else if (address == 0xd43c) { retval = "AS.RESTART"; } + else if (address == 0xd45c) { retval = "AS.NUMBERED_LINE"; } + else if (address == 0xd4b5) { retval = "AS.PUT_NEW_LINE"; } + else if (address == 0xd4f2) { retval = "AS.FIX_LINKS"; } + else if (address == 0xd52c) { retval = "AS.INLIN"; } + else if (address == 0xd52e) { retval = "AS.INLIN2"; } + else if (address == 0xd553) { retval = "AS.INCHR"; } + else if (address == 0xd559) { retval = "AS.PARSE_INPUT_LINE"; } + else if (address == 0xd56c) { retval = "AS.PARSE"; } + else if (address == 0xd61a) { retval = "AS.FNDLIN"; } + else if (address == 0xd61e) { retval = "AS.FL1"; } + else if (address == 0xd648) { retval = "AS.RTS1"; } + else if (address == 0xd649) { retval = "AS.NEW"; } + else if (address == 0xd64b) { retval = "AS.SCRTCH"; } + else if (address == 0xd665) { retval = "AS.SETPTRS"; } + else if (address == 0xd66a) { retval = "AS.CLEAR"; } + else if (address == 0xd66c) { retval = "AS.CLEARC"; } + else if (address == 0xd683) { retval = "AS.STKINI"; } + else if (address == 0xd696) { retval = "AS.RTS2"; } + else if (address == 0xd697) { retval = "AS.STXTPT"; } + else if (address == 0xd6a5) { retval = "AS.LIST"; } + else if (address == 0xd6da) { retval = "AS.LIST0"; } + else if (address == 0xd6fe) { retval = "AS.LIST1"; } + else if (address == 0xd702) { retval = "AS.LIST2"; } + else if (address == 0xd724) { retval = "AS.LIST3"; } + else if (address == 0xd72c) { retval = "AS.GETCHR"; } + else if (address == 0xd734) { retval = "AS.LIST4"; } + else if (address == 0xd766) { retval = "AS.FOR"; } + else if (address == 0xd7af) { retval = "AS.STEP"; } + else if (address == 0xd7d2) { retval = "AS.NEWSTT"; } + else if (address == 0xd805) { retval = "AS.TRACE_"; } + else if (address == 0xd826) { retval = "AS.GOEND"; } + else if (address == 0xd828) { retval = "AS.EXECUTE_STATEMENT"; } + else if (address == 0xd82a) { retval = "AS.EXECUTE_STATEMENT1"; } + else if (address == 0xd842) { retval = "AS.COLON_"; } + else if (address == 0xd846) { retval = "AS.SYNERR1"; } + else if (address == 0xd849) { retval = "AS.RESTORE"; } + else if (address == 0xd853) { retval = "AS.SETDA"; } + else if (address == 0xd857) { retval = "AS.RTS3"; } + else if (address == 0xd858) { retval = "AS.ISCNTC"; } + else if (address == 0xd863) { retval = "AS.CONTROL_C_TYPED"; } + else if (address == 0xd86e) { retval = "AS.STOP"; } + else if (address == 0xd870) { retval = "AS.END"; } + else if (address == 0xd871) { retval = "AS.END2"; } + else if (address == 0xd88a) { retval = "AS.END4"; } + else if (address == 0xd896) { retval = "AS.CONT"; } + else if (address == 0xd8af) { retval = "AS.RTS4"; } + else if (address == 0xd8b0) { retval = "AS.SAVE"; } + else if (address == 0xd8c9) { retval = "AS.LOAD"; } + else if (address == 0xd8F0) { retval = "AS.VARTIO"; } + else if (address == 0xd901) { retval = "AS.PROGIO"; } + else if (address == 0xd912) { retval = "AS.RUN"; } + else if (address == 0xd921) { retval = "AS.GOSUB"; } + else if (address == 0xd935) { retval = "AS.GO_TO_LINE"; } + else if (address == 0xd93e) { retval = "AS.GOTO"; } + else if (address == 0xd96a) { retval = "AS.RTS5"; } + else if (address == 0xd96b) { retval = "AS.POP"; } + else if (address == 0xd97c) { retval = "AS.UNDERR"; } + else if (address == 0xd981) { retval = "AS.SYNERR2"; } + else if (address == 0xd984) { retval = "AS.RETURN"; } + else if (address == 0xd995) { retval = "AS.DATA"; } + else if (address == 0xd998) { retval = "AS.ADDON"; } + else if (address == 0xd9a2) { retval = "AS.RTS6"; } + else if (address == 0xd9a3) { retval = "AS.DATAN"; } + else if (address == 0xd9a6) { retval = "AS.REMN"; } + else if (address == 0xd9c5) { retval = "AS.PULL3"; } + else if (address == 0xd9c9) { retval = "AS.IF"; } + else if (address == 0xd9dc) { retval = "AS.REM"; } + else if (address == 0xd9e1) { retval = "AS.IFTRUE"; } + else if (address == 0xd9ec) { retval = "AS.ONGOTO"; } + else if (address == 0xd9f4) { retval = "AS.ON1"; } + else if (address == 0xd9f8) { retval = "AS.ON2"; } + else if (address == 0xda0b) { retval = "AS.RTS7"; } + else if (address == 0xda0c) { retval = "AS.LINGET"; } + else if (address == 0xda46) { retval = "AS.LET"; } + else if (address == 0xda63) { retval = "AS.LET2"; } + else if (address == 0xda7a) { retval = "AS.LET_STRING"; } + else if (address == 0xda7b) { retval = "AS.PUTSTR"; } + else if (address == 0xdacf) { retval = "AS.PR_SPRING"; } + else if (address == 0xdad5) { retval = "AS.PRINT"; } + else if (address == 0xdad7) { retval = "AS.PRINT2"; } + else if (address == 0xdafb) { retval = "AS.CRDO"; } + else if (address == 0xdb00) { retval = "AS.NEGATE"; } + else if (address == 0xdb02) { retval = "AS.PR_RTS8"; } + else if (address == 0xdb03) { retval = "AS.PR_COMMA"; } + else if (address == 0xdb16) { retval = "AS.PR_TAB_OR_SPC"; } + else if (address == 0xdb2c) { retval = "AS.NXSPC"; } + else if (address == 0xdb2f) { retval = "AS.PR_NEXT_CHAR"; } + else if (address == 0xdb35) { retval = "AS.DOSPC"; } + else if (address == 0xdb3a) { retval = "AS.STROUT"; } + else if (address == 0xdb3d) { retval = "AS.STRPRT"; } + else if (address == 0xdb57) { retval = "AS.OUTSP"; } + else if (address == 0xdb5a) { retval = "AS.OUTQUES"; } + else if (address == 0xdb5c) { retval = "AS.OUTDO"; } + else if (address == 0xdb71) { retval = "AS.INPUTERR"; } + else if (address == 0xdb7b) { retval = "AS.READERR"; } + else if (address == 0xdb7f) { retval = "AS.ERLIN"; } + else if (address == 0xdb86) { retval = "AS.INPERR"; } + else if (address == 0xdb87) { retval = "AS.RESPERR"; } + else if (address == 0xdba0) { retval = "AS.GET"; } + else if (address == 0xdbb2) { retval = "AS.INPUT"; } + else if (address == 0xdbdc) { retval = "AS.NXIN"; } + else if (address == 0xdbe2) { retval = "AS.READ"; } + else if (address == 0xdbe9) { retval = "AS.INPUT_FLAG_ZERO"; } + else if (address == 0xdbeb) { retval = "AS.PROCESS_INPUT_LIST"; } + else if (address == 0xdbf1) { retval = "AS.PROCESS_INPUT_ITEM"; } + else if (address == 0xdC2b) { retval = "AS.INSTART"; } + else if (address == 0xdC69) { retval = "AS.INPUT_DATA"; } + else if (address == 0xdC72) { retval = "AS.INPUT_MORE"; } + else if (address == 0xdC99) { retval = "AS.INPFIN"; } + else if (address == 0xdCa0) { retval = "AS.FINDATA"; } + else if (address == 0xdCC6) { retval = "AS.INPDONE"; } + else if (address == 0xdcdf) { retval = "AS.ERR_EXTRA"; } + else if (address == 0xdcef) { retval = "AS.ERR_REENTRY"; } + else if (address == 0xdcf9) { retval = "AS.NEXT"; } + else if (address == 0xdcff) { retval = "AS.NEXT1"; } + else if (address == 0xdd02) { retval = "AS.NEXT2"; } + else if (address == 0xdd0d) { retval = "AS.GERR"; } + else if (address == 0xdd0f) { retval = "AS.NEXT3"; } + else if (address == 0xdd67) { retval = "AS.FRMNUM"; } + else if (address == 0xdd6a) { retval = "AS.CHKNUM"; } + else if (address == 0xdd6c) { retval = "AS.CHKSTR"; } + else if (address == 0xdd6d) { retval = "AS.CHKVAL"; } + else if (address == 0xdd78) { retval = "AS.JERROR"; } + else if (address == 0xdd7b) { retval = "AS.FRMEVL"; } + else if (address == 0xdd86) { retval = "AS.FRMEVL1"; } + else if (address == 0xdd95) { retval = "AS.FRMEVL2"; } + else if (address == 0xddcd) { retval = "AS.FRM_PRECEDENCE_TEST"; } + else if (address == 0xddd6) { retval = "AS.NXOP"; } + else if (address == 0xddd7) { retval = "AS.SAVOP"; } + else if (address == 0xdde4) { retval = "AS.FRM_RELATIONAL"; } + else if (address == 0xddf6) { retval = "AS.FRM_PREFNC"; } + else if (address == 0xddfd) { retval = "AS.FRM_RECURSE"; } + else if (address == 0xde0d) { retval = "AS.SNTXERR"; } + else if (address == 0xde10) { retval = "AS.FRM_STACK1"; } + else if (address == 0xde15) { retval = "AS.FRM_STACK2"; } + else if (address == 0xde20) { retval = "AS.FRM_STACK3"; } + else if (address == 0xde35) { retval = "AS.NOTMATH"; } + else if (address == 0xde38) { retval = "AS.GOEX"; } + else if (address == 0xde3a) { retval = "AS.FRM_PERFORM1"; } + else if (address == 0xde43) { retval = "AS.FRM_PERFORM2"; } + else if (address == 0xde5d) { retval = "AS.EXIT"; } + else if (address == 0xde60) { retval = "AS.FRM_ELEMENT"; } + else if (address == 0xde81) { retval = "AS.STRTXT"; } + else if (address == 0xde90) { retval = "AS.NOT_"; } + else if (address == 0xde98) { retval = "AS.EQUOP"; } + else if (address == 0xdea4) { retval = "AS.FN_"; } + else if (address == 0xdeab) { retval = "AS.SGN_"; } + else if (address == 0xdeb2) { retval = "AS.PARCHK"; } + else if (address == 0xdeb8) { retval = "AS.CHKCLS"; } + else if (address == 0xdebb) { retval = "AS.CHKOPN"; } + else if (address == 0xdebe) { retval = "AS.CHKCOM"; } + else if (address == 0xdec0) { retval = "AS.SYNCHR"; } + else if (address == 0xdec9) { retval = "AS.SYNERR"; } + else if (address == 0xdece) { retval = "AS.MIN"; } + else if (address == 0xded0) { retval = "AS.EQUL"; } + else if (address == 0xded5) { retval = "AS.FRM_VARIABLE"; } + else if (address == 0xded7) { retval = "AS.FRM_VARIABLE_CALL"; } + else if (address == 0xdef9) { retval = "AS.SCREEN"; } + else if (address == 0xdf0c) { retval = "AS.UNARY"; } + else if (address == 0xdf4f) { retval = "AS.OR"; } + else if (address == 0xdf55) { retval = "AS.AND"; } + else if (address == 0xdf5d) { retval = "AS.FALSE"; } + else if (address == 0xdf60) { retval = "AS.TRUE"; } + else if (address == 0xdf65) { retval = "AS.RELOPS"; } + else if (address == 0xdf7d) { retval = "AS.STRCMP"; } + else if (address == 0xdfaa) { retval = "AS.STRCMP1"; } + else if (address == 0xdfb0) { retval = "AS.NUMCMP"; } + else if (address == 0xdfb5) { retval = "AS.STRCMP2"; } + else if (address == 0xdfc1) { retval = "AS.CMPDONE"; } + else if (address == 0xdfcd) { retval = "AS.PDL"; } + else if (address == 0xdfd6) { retval = "AS.NXDIM"; } + else if (address == 0xdfd9) { retval = "AS.DIM"; } + else if (address == 0xdfe3) { retval = "AS.PTRGET"; } + else if (address == 0xdfe8) { retval = "AS.PTRGET2"; } + else if (address == 0xdfea) { retval = "AS.PTRGET3"; } + else if (address == 0xdff4) { retval = "AS.BADNAM"; } + else if (address == 0xdff7) { retval = "AS.NAMOK"; } + else if (address == 0xe007) { retval = "AS.PTRGET4"; } + else if (address == 0xe07d) { retval = "AS.ISLETC"; } + else if (address == 0xe087) { retval = "AS.NAME_NOT_FOUND"; } + else if (address == 0xe09c) { retval = "AS.MAKE_NEW_VARIABLE"; } + else if (address == 0xe0de) { retval = "AS.SET_VARPNT_AND_YA"; } + else if (address == 0xe0ed) { retval = "AS.GETARY"; } + else if (address == 0xe0ef) { retval = "AS.GETARY2"; } + else if (address == 0xe102) { retval = "AS.MAKINT"; } + else if (address == 0xe108) { retval = "AS.MKINT"; } + else if (address == 0xe10c) { retval = "AS.AYINT"; } + else if (address == 0xe119) { retval = "AS.MI1"; } + else if (address == 0xe11b) { retval = "AS.MI2"; } + else if (address == 0xe11e) { retval = "AS.ARRAY"; } + else if (address == 0xe196) { retval = "AS.SUBERR"; } + else if (address == 0xe199) { retval = "AS.IQERR"; } + else if (address == 0xe19b) { retval = "AS.JER"; } + else if (address == 0xe19e) { retval = "AS.USE_OLD_ARRAY"; } + else if (address == 0xe1b8) { retval = "AS.MAKE_NEW_ARRAY"; } + else if (address == 0xe24b) { retval = "AS.FIND_ARRAY_ELEMENT"; } + else if (address == 0xe253) { retval = "AS.FAE1"; } + else if (address == 0xe269) { retval = "AS.GSE"; } + else if (address == 0xe26c) { retval = "AS.GME"; } + else if (address == 0xe26f) { retval = "AS.FAE2"; } + else if (address == 0xe270) { retval = "AS.FAE3"; } + else if (address == 0xe2ac) { retval = "AS.RTS9"; } + else if (address == 0xe2ad) { retval = "AS.MULTIPLY_SUBSCRIPT"; } + else if (address == 0xe2b6) { retval = "AS.MULTIPLY_SUBS1"; } + else if (address == 0xe2de) { retval = "AS.FRE"; } + else if (address == 0xe2f2) { retval = "AS.GIVAYF"; } + else if (address == 0xe2ff) { retval = "AS.POS"; } + else if (address == 0xe301) { retval = "AS.SNGFLT"; } + else if (address == 0xe306) { retval = "AS.ERRDIR"; } + else if (address == 0xe30e) { retval = "AS.UNDFNC"; } + else if (address == 0xe313) { retval = "AS.DEF"; } + else if (address == 0xe341) { retval = "AS.FNC_"; } + else if (address == 0xe354) { retval = "AS.FUNCT"; } + else if (address == 0xe3af) { retval = "AS.FNCDATA"; } + else if (address == 0xe3c5) { retval = "AS.STR"; } + else if (address == 0xe3d5) { retval = "AS.STRINI"; } + else if (address == 0xe3dd) { retval = "AS.STRSPA"; } + else if (address == 0xe3e7) { retval = "AS.STRLIT"; } + else if (address == 0xe3ed) { retval = "AS.STRLT2"; } + else if (address == 0xe42a) { retval = "AS.PUTNEW"; } + else if (address == 0xe432) { retval = "AS.JERR"; } + else if (address == 0xe435) { retval = "AS.PUTEMP"; } + else if (address == 0xe452) { retval = "AS.GETSPA"; } + else if (address == 0xe484) { retval = "AS.GARBAG"; } + else if (address == 0xe488) { retval = "AS.FIND_HIGHEST_STRING"; } + else if (address == 0xe519) { retval = "AS.CHECK_SIMPLE_VARIABLE"; } + else if (address == 0xe523) { retval = "AS.CHECK_VARIABLE"; } + else if (address == 0xe552) { retval = "AS.CHECK_BUMP"; } + else if (address == 0xe55d) { retval = "AS.CHECK_EXIT"; } + else if (address == 0xe562) { retval = "AS.MOVE_HIGHEST_STRING_TO_TOP"; } + else if (address == 0xe597) { retval = "AS.CAT"; } + else if (address == 0xe5d4) { retval = "AS.MOVINS"; } + else if (address == 0xe5e2) { retval = "AS.MOVSTR"; } + else if (address == 0xe5e6) { retval = "AS.MOVSTR1"; } + else if (address == 0xe5fd) { retval = "AS.FRESTR"; } + else if (address == 0xe600) { retval = "AS.FREFAC"; } + else if (address == 0xe604) { retval = "AS.FRETMP"; } + else if (address == 0xe635) { retval = "AS.FRETMS"; } + else if (address == 0xe646) { retval = "AS.CHRSTR"; } + else if (address == 0xe65a) { retval = "AS.LEFTSTR"; } + else if (address == 0xe660) { retval = "AS.SUBSTRING1"; } + else if (address == 0xe667) { retval = "AS.SUBSTRING2"; } + else if (address == 0xe668) { retval = "AS.SUBSTRING3"; } + else if (address == 0xe686) { retval = "AS.RIGHTSTR"; } + else if (address == 0xe691) { retval = "AS.MIDSTR"; } + else if (address == 0xe6b9) { retval = "AS.SUBSTRING_SETUP"; } + else if (address == 0xe6d6) { retval = "AS.LEN"; } + else if (address == 0xe6dc) { retval = "AS.GETSTR"; } + else if (address == 0xe6e5) { retval = "AS.ASC"; } + else if (address == 0xe6f2) { retval = "AS.GOIQ"; } + else if (address == 0xe6f5) { retval = "AS.GTBYTC"; } + else if (address == 0xe6f8) { retval = "AS.GETBYT"; } + else if (address == 0xe6fb) { retval = "AS.CONINT"; } + else if (address == 0xe707) { retval = "AS.VAL"; } + else if (address == 0xe73d) { retval = "AS.POINT"; } + else if (address == 0xe746) { retval = "AS.GTNUM"; } + else if (address == 0xe74c) { retval = "AS.COMBYTE"; } + else if (address == 0xe752) { retval = "AS.GETADR"; } + else if (address == 0xe764) { retval = "AS.PEEK"; } + else if (address == 0xe77b) { retval = "AS.POKE"; } + else if (address == 0xe784) { retval = "AS.WAIT"; } + else if (address == 0xe79f) { retval = "AS.RTS10"; } + else if (address == 0xe7a0) { retval = "AS.FADDH"; } + else if (address == 0xe7a7) { retval = "AS.FSUB"; } + else if (address == 0xe7aa) { retval = "AS.FSUBT"; } + else if (address == 0xe7b9) { retval = "AS.FADD1"; } + else if (address == 0xe7be) { retval = "AS.FADD"; } + else if (address == 0xe7c1) { retval = "AS.FADDT"; } + else if (address == 0xe7ce) { retval = "AS.FADD2"; } + else if (address == 0xe7fa) { retval = "AS.FADD3"; } + else if (address == 0xe829) { retval = "AS.NORMALIZE_FAC1"; } + else if (address == 0xe82e) { retval = "AS.NORMALIZE_FAC2"; } + else if (address == 0xe84e) { retval = "AS.ZERO_FAC"; } + else if (address == 0xe850) { retval = "AS.STA_IN_FAC_SIGN_AND_EXP"; } + else if (address == 0xe852) { retval = "AS.STA_IN_FAC_SIGN"; } + else if (address == 0xe855) { retval = "AS.FADD4"; } + else if (address == 0xe874) { retval = "AS.NORMALIZE_FAC3"; } + else if (address == 0xe880) { retval = "AS.NORMALIZE_FAC4"; } + else if (address == 0xe88d) { retval = "AS.NORMALIZE_FAC5"; } + else if (address == 0xe88f) { retval = "AS.NORMALIZE_FAC6"; } + else if (address == 0xe89d) { retval = "AS.RTS11"; } + else if (address == 0xe89e) { retval = "AS.COMPLEMENT_FAC"; } + else if (address == 0xe8a4) { retval = "AS.COMPLEMENT_FAC_MANTISSA"; } + else if (address == 0xe8c6) { retval = "AS.INCREMENT_FAC_MANTISSA"; } + else if (address == 0xe8d4) { retval = "AS.RTS12"; } + else if (address == 0xe8d5) { retval = "AS.OVERFLOW"; } + else if (address == 0xe8da) { retval = "AS.SHIFT_RIGHT1"; } + else if (address == 0xe8dc) { retval = "AS.SHIFT_RIGHT2"; } + else if (address == 0xe8f0) { retval = "AS.SHIFT_RIGHT"; } + else if (address == 0xe8fd) { retval = "AS.SHIFT_RIGHT3"; } + else if (address == 0xe907) { retval = "AS.SHIFT_RIGHT4"; } + else if (address == 0xe911) { retval = "AS.SHIFT_RIGHT5"; } + else if (address == 0xe941) { retval = "AS.LOG"; } + else if (address == 0xe948) { retval = "AS.GIQ"; } + else if (address == 0xe94b) { retval = "AS.LOG2"; } + else if (address == 0xe97f) { retval = "AS.FMULT"; } + else if (address == 0xe982) { retval = "AS.FMULTT"; } + else if (address == 0xe9b0) { retval = "AS.MULTIPLY1"; } + else if (address == 0xe9b5) { retval = "AS.MULTIPLY2"; } + else if (address == 0xe9e2) { retval = "AS.RTS13"; } + else if (address == 0xe9e3) { retval = "AS.LOAD_ARG_FROM_YA"; } + else if (address == 0xea0e) { retval = "AS.ADD_EXPONENTS"; } + else if (address == 0xea10) { retval = "AS.ADD_EXPONENTS1"; } + else if (address == 0xea2b) { retval = "AS.OUTOFRNG"; } + else if (address == 0xea31) { retval = "AS.ZERO"; } + else if (address == 0xea36) { retval = "AS.JOV"; } + else if (address == 0xeae9) { retval = "AS.MUL10"; } + else if (address == 0xea55) { retval = "AS.DIV10"; } + else if (address == 0xea5e) { retval = "AS.DIV"; } + else if (address == 0xea66) { retval = "AS.FDIV"; } + else if (address == 0xeae6) { retval = "AS.COPY_RESULT_INTO_FAC"; } + else if (address == 0xeaf9) { retval = "AS.LOAD_FAC_FROM_YA"; } + else if (address == 0xeb1e) { retval = "AS.STORE_FAC_IN_TEMP2_ROUNDED"; } + else if (address == 0xeb21) { retval = "AS.STORE_FAC_IN_TEMP1_ROUNDED"; } + else if (address == 0xeb27) { retval = "AS.SETFOR"; } + else if (address == 0xeb2b) { retval = "AS.STORE_FAC_AT_YX_ROUNDED"; } + else if (address == 0xeb53) { retval = "AS.COPY_FAC_TO_ARG"; } + else if (address == 0xeb63) { retval = "AS.COPY_FAC_TO_ARG_ROUNDED"; } + else if (address == 0xeb71) { retval = "AS.RTS14"; } + else if (address == 0xeb72) { retval = "AS.ROUND_FAC"; } + else if (address == 0xeb7a) { retval = "AS.INCREMENT_MANTISSA"; } + else if (address == 0xeb82) { retval = "AS.SIGN"; } + else if (address == 0xeb86) { retval = "AS.SIGN1"; } + else if (address == 0xeb88) { retval = "AS.SIGN2"; } + else if (address == 0xeb8f) { retval = "AS.RTS15"; } + else if (address == 0xeb90) { retval = "AS.SGN"; } + else if (address == 0xeb9e) { retval = "AS.FLOAT"; } + else if (address == 0xeb9b) { retval = "AS.FLOAT1"; } + else if (address == 0xeba0) { retval = "AS.FLOAT2"; } + else if (address == 0xebaf) { retval = "AS.ABS"; } + else if (address == 0xebb2) { retval = "AS.FCOMP"; } + else if (address == 0xebb4) { retval = "AS.FCOMP2"; } + else if (address == 0xebf2) { retval = "AS.QINT"; } + else if (address == 0xec11) { retval = "AS.RTS16"; } + else if (address == 0xec12) { retval = "AS.QINT2"; } + else if (address == 0xec23) { retval = "AS.INT"; } + else if (address == 0xec40) { retval = "AS.QINT3"; } + else if (address == 0xec49) { retval = "AS.RTS17"; } + else if (address == 0xec4a) { retval = "AS.FIN"; } + else if (address == 0xec61) { retval = "AS.FIN1"; } + else if (address == 0xec64) { retval = "AS.FIN2"; } + else if (address == 0xec66) { retval = "AS.FIN3"; } + else if (address == 0xec87) { retval = "AS.FIN4"; } + else if (address == 0xec8a) { retval = "AS.FIN5"; } + else if (address == 0xec8c) { retval = "AS.FIN6"; } + else if (address == 0xec98) { retval = "AS.FIN10"; } + else if (address == 0xec9e) { retval = "AS.FIN7"; } + else if (address == 0xeca0) { retval = "AS.FIN8"; } + else if (address == 0xecc1) { retval = "AS.FIN9"; } + else if (address == 0xecd5) { retval = "AS.ADDACC"; } + else if (address == 0xece8) { retval = "AS.GETEXP"; } + else if (address == 0xed19) { retval = "AS.INPRT"; } + else if (address == 0xed24) { retval = "AS.LINPRT"; } + else if (address == 0xed2e) { retval = "AS.PRINT_FAC"; } + else if (address == 0xed31) { retval = "AS.GO_STROUT"; } + else if (address == 0xed34) { retval = "AS.FOUT"; } + else if (address == 0xed36) { retval = "AS.FOUT1"; } + else if (address == 0xed8c) { retval = "AS.FOUT2"; } + else if (address == 0xee17) { retval = "AS.FOUT3"; } + else if (address == 0xee57) { retval = "AS.FOUT4"; } + else if (address == 0xee5a) { retval = "AS.FOUT5"; } + else if (address == 0xee5f) { retval = "AS.FOUT6"; } + else if (address == 0xee8d) { retval = "AS.SQR"; } + else if (address == 0xee97) { retval = "AS.FPWRT"; } + else if (address == 0xeed0) { retval = "AS.NEGOP"; } + else if (address == 0xeeda) { retval = "AS.RTS18"; } + else if (address == 0xef09) { retval = "AS.EXP"; } + else if (address == 0xef5c) { retval = "AS.POLYNOMIAL_ODD"; } + else if (address == 0xef72) { retval = "AS.POLYNOMIAL"; } + else if (address == 0xef76) { retval = "AS.SERMAIN"; } + else if (address == 0xefa5) { retval = "AS.RTS19"; } + else if (address == 0xefae) { retval = "AS.RND"; } + else if (address == 0xefe7) { retval = "AS.GO_MOVMF"; } + else if (address == 0xefea) { retval = "AS.COS"; } + else if (address == 0xeff1) { retval = "AS.SIN"; } + else if (address == 0xf023) { retval = "AS.SIN1"; } + else if (address == 0xf026) { retval = "AS.SIN2"; } + else if (address == 0xf03a) { retval = "AS.TAN"; } + else if (address == 0xf062) { retval = "AS.TAN1"; } + else if (address == 0xf094) { retval = "AS.MS_EASTER_EGG_DATA"; } + else if (address == 0xf09e) { retval = "AS.ATN"; } + else if (address == 0xf0cd) { retval = "AS.RTS20"; } + else if (address == 0xf10b) { retval = "AS.GENERIC_CHRGET"; } + else if (address == 0xf128) { retval = "AS.COLD_START"; } + else if (address == 0xf1d5) { retval = "AS.CALL"; } + else if (address == 0xf1de) { retval = "AS.IN_NUMBER"; } + else if (address == 0xf1e5) { retval = "AS.PR_NUMBER"; } + else if (address == 0xf1ec) { retval = "AS.PLOTFNS"; } + else if (address == 0xf206) { retval = "AS.GOERR"; } + else if (address == 0xf209) { retval = "AS.LINCOOR"; } + else if (address == 0xf225) { retval = "AS.PLOT"; } + else if (address == 0xf232) { retval = "AS.HLIN"; } + else if (address == 0xf241) { retval = "AS.VLIN"; } + else if (address == 0xf24f) { retval = "AS.COLOR"; } + else if (address == 0xf256) { retval = "AS.VTAB"; } + else if (address == 0xf262) { retval = "AS.SPEED"; } + else if (address == 0xf26d) { retval = "AS.TRACE"; } + else if (address == 0xf26f) { retval = "AS.NOTRACE"; } + else if (address == 0xf273) { retval = "AS.NORMAL"; } + else if (address == 0xf277) { retval = "AS.INVERSE"; } + else if (address == 0xf280) { retval = "AS.FLASH"; } + else if (address == 0xf286) { retval = "AS.HIMEM"; } + else if (address == 0xf296) { retval = "AS.JMM"; } + else if (address == 0xf299) { retval = "AS.SETHI"; } + else if (address == 0xf2a6) { retval = "AS.LOMEM"; } + else if (address == 0xf2cb) { retval = "AS.ONERR"; } + else if (address == 0xf2e9) { retval = "AS.HANDLERR"; } + else if (address == 0xf318) { retval = "AS.RESUME"; } + else if (address == 0xf32e) { retval = "AS.JSYN"; } + else if (address == 0xf331) { retval = "AS.DEL"; } + else if (address == 0xf390) { retval = "AS.GR"; } + else if (address == 0xf399) { retval = "AS.TEXT"; } + else if (address == 0xf39f) { retval = "AS.STORE"; } + else if (address == 0xf3bc) { retval = "AS.RECALL"; } + else if (address == 0xf3d8) { retval = "AS.HGR2"; } + else if (address == 0xf3e2) { retval = "AS.HGR"; } + else if (address == 0xf3ea) { retval = "AS.SETHPG"; } + else if (address == 0xf3f2) { retval = "AS.HCLR"; } + else if (address == 0xf3f6) { retval = "AS.BKGND"; } + else if (address == 0xf411) { retval = "AS.HPOSN"; } + else if (address == 0xf457) { retval = "AS.HPLOT0"; } + else if (address == 0xf465) { retval = "AS.MOVE_LEFT_OR_RIGHT"; } + else if (address == 0xf47e) { retval = "AS.COLOR_SHIFT"; } + else if (address == 0xf48a) { retval = "AS.MOVE_RIGHT"; } + else if (address == 0xf49c) { retval = "AS.LRUDX1"; } + else if (address == 0xf49d) { retval = "AS.LRUDX2"; } + else if (address == 0xf4b3) { retval = "AS.LRUD1"; } + else if (address == 0xf4b4) { retval = "AS.LRUD2"; } + else if (address == 0xf4c4) { retval = "AS.LRUD3"; } + else if (address == 0xf4c8) { retval = "AS.LRUD4"; } + else if (address == 0xf4d3) { retval = "AS.MOVE_UP_OR_DOWN"; } + else if (address == 0xf505) { retval = "AS.MOVE_DOWN"; } + else if (address == 0xf530) { retval = "AS.HLINRL"; } + else if (address == 0xf53a) { retval = "AS.HGLN"; } + else if (address == 0xf57c) { retval = "AS.MOVEX"; } + else if (address == 0xf581) { retval = "AS.MOVEX2"; } + else if (address == 0xf5cb) { retval = "AS.HFIND"; } + else if (address == 0xf600) { retval = "AS.RTS22"; } + else if (address == 0xf601) { retval = "AS.DRAW0"; } + else if (address == 0xf605) { retval = "AS.DRAW1"; } + else if (address == 0xf65d) { retval = "AS.XDRAW0"; } + else if (address == 0xf661) { retval = "AS.XDRAW1"; } + else if (address == 0xf6b9) { retval = "AS.HFNS"; } + else if (address == 0xf6e6) { retval = "AS.GGERR"; } + else if (address == 0xf6e9) { retval = "AS.HCOLOR"; } + else if (address == 0xf6f5) { retval = "AS.RTS23"; } + else if (address == 0xf6fc) { retval = "AS.COLORTBL"; } + else if (address == 0xf6fe) { retval = "AS.HPLOT"; } + else if (address == 0xf721) { retval = "AS.ROT"; } + else if (address == 0xf727) { retval = "AS.SCALE"; } + else if (address == 0xf72d) { retval = "AS.DRAWPNT"; } + else if (address == 0xf769) { retval = "AS.DRAW"; } + else if (address == 0xf76f) { retval = "AS.XDRAW"; } + else if (address == 0xf775) { retval = "AS.SHLOAD"; } + else if (address == 0xf7bc) { retval = "AS.TAPEPNT"; } + else if (address == 0xf7d9) { retval = "AS.GETARYPT"; } + else if (address == 0xf7e7) { retval = "AS.HTAB"; } else if (address == 0xf800) { retval = "MON.PLOT"; } - else if (address == 0xf80c) { retval = "MON_RTMASK"; } - else if (address == 0xf80e) { retval = "MON_PLOT1"; } + else if (address == 0xf80c) { retval = "MON.RTMASK"; } + else if (address == 0xf80e) { retval = "MON.PLOT1"; } else if (address == 0xf819) { retval = "MON.HLINE"; } else if (address == 0xf828) { retval = "MON.VLINE"; } - else if (address == 0xf831) { retval = "MON_RTS1"; } - else if (address == 0xf832) { retval = "MON_CLRSCR"; } - else if (address == 0xf836) { retval = "MON_CLRTOP"; } - else if (address == 0xf838) { retval = "MON_CLRSC2"; } - else if (address == 0xf83c) { retval = "MON_CLRSC3"; } - else if (address == 0xf847) { retval = "MON_GBASCALC"; } - else if (address == 0xf856) { retval = "MON_GBCALC"; } - else if (address == 0xf85f) { retval = "MON_NXTCOL"; } + else if (address == 0xf831) { retval = "MON.RTS1"; } + else if (address == 0xf832) { retval = "MON.CLRSCR"; } + else if (address == 0xf836) { retval = "MON.CLRTOP"; } + else if (address == 0xf838) { retval = "MON.CLRSC2"; } + else if (address == 0xf83c) { retval = "MON.CLRSC3"; } + else if (address == 0xf847) { retval = "MON.GBASCALC"; } + else if (address == 0xf856) { retval = "MON.GBCALC"; } + else if (address == 0xf85f) { retval = "MON.NXTCOL"; } else if (address == 0xf864) { retval = "MON.SETCOL"; } else if (address == 0xf871) { retval = "MON.SCRN"; } - else if (address == 0xf879) { retval = "MON_SCRN2"; } - else if (address == 0xf87f) { retval = "MON_RTMSKZ"; } - else if (address == 0xf882) { retval = "MON_INDS1"; } - else if (address == 0xf88c) { retval = "MON_INDS2"; } - else if (address == 0xf89b) { retval = "MON_IEVEN"; } - else if (address == 0xf8a5) { retval = "MON_ERR"; } - else if (address == 0xf8a9) { retval = "MON_GETFMT"; } - else if (address == 0xf8be) { retval = "MON_MNNDX1"; } - else if (address == 0xf8c2) { retval = "MON_MNNDX2"; } - else if (address == 0xf8c9) { retval = "MON_NBBDX3"; } - else if (address == 0xf8d0) { retval = "MON_UBSDSP"; } - else if (address == 0xf8d4) { retval = "MON_PRINTOP"; } - else if (address == 0xf8db) { retval = "MON_PRNTBL"; } - else if (address == 0xf8f5) { retval = "MON_PRMN1"; } - else if (address == 0xf8f9) { retval = "MON_PRMN2"; } - else if (address == 0xf910) { retval = "MON_PRADR1"; } - else if (address == 0xf914) { retval = "MON_PRADR2"; } - else if (address == 0xf926) { retval = "MON_PRADR3"; } - else if (address == 0xf92a) { retval = "MON_PRADR4"; } - else if (address == 0xf930) { retval = "MON_PRADR5"; } - else if (address == 0xf938) { retval = "MON_RELADR"; } - else if (address == 0xf940) { retval = "MON_PRNTYX"; } - else if (address == 0xf941) { retval = "MON_PRNTAX"; } - else if (address == 0xf944) { retval = "MON_PRNTX"; } - else if (address == 0xf948) { retval = "MON_PRBLNK"; } - else if (address == 0xf94a) { retval = "MON_PRBL2"; } - else if (address == 0xf94c) { retval = "MON_PRBL3"; } - else if (address == 0xf953) { retval = "MON_PCADJ"; } - else if (address == 0xf954) { retval = "MON_PCADJ2"; } - else if (address == 0xf956) { retval = "MON_PCADJ3"; } - else if (address == 0xf95c) { retval = "MON_PCADJ4"; } - else if (address == 0xf961) { retval = "MON_RTS2"; } - else if (address == 0xf962) { retval = "MON_FMT1"; } - else if (address == 0xf9a6) { retval = "MON_FMT2"; } - else if (address == 0xf9b4) { retval = "MON_CHAR1"; } - else if (address == 0xf9ba) { retval = "MON_CHAR2"; } - else if (address == 0xf9c0) { retval = "MON_MNEML"; } - else if (address == 0xfa00) { retval = "MON_MNEMR"; } - else if (address == 0xfa40) { retval = "MON_IRQ"; } - else if (address == 0xfa4c) { retval = "MON_BREAK"; } - else if (address == 0xfa59) { retval = "MON_OLDBRK"; } - else if (address == 0xfa62) { retval = "MON_RESET"; } - else if (address == 0xfa6f) { retval = "MON_INITAN"; } - else if (address == 0xfa81) { retval = "MON_NEWMON"; } - else if (address == 0xfa9b) { retval = "MON_FIXSEV"; } - else if (address == 0xfaa3) { retval = "MON_NOFIX"; } - else if (address == 0xfaa6) { retval = "MON_PWRUP"; } - else if (address == 0xfaa9) { retval = "MON_SETPG3"; } - else if (address == 0xfaab) { retval = "MON_SETPLP"; } - else if (address == 0xfaba) { retval = "MON_SLOOP"; } - else if (address == 0xfac7) { retval = "MON_NXTBYT"; } - else if (address == 0xfad7) { retval = "MON_REGDSP"; } - else if (address == 0xfada) { retval = "MON_RGDPS1"; } - else if (address == 0xfae4) { retval = "MON_RDSP1"; } - else if (address == 0xfafd) { retval = "MON_PWRCON"; } - else if (address == 0xfb02) { retval = "MON_DISKID"; } - else if (address == 0xfb09) { retval = "MON_TITLE"; } - else if (address == 0xfb11) { retval = "MON_XLTBL"; } - else if (address == 0xfb19) { retval = "MON_RTBL"; } + else if (address == 0xf879) { retval = "MON.SCRN2"; } + else if (address == 0xf87f) { retval = "MON.RTMSKZ"; } + else if (address == 0xf882) { retval = "MON.INDS1"; } + else if (address == 0xf88c) { retval = "MON.INDS2"; } + else if (address == 0xf89b) { retval = "MON.IEVEN"; } + else if (address == 0xf8a5) { retval = "MON.ERR"; } + else if (address == 0xf8a9) { retval = "MON.GETFMT"; } + else if (address == 0xf8be) { retval = "MON.MNNDX1"; } + else if (address == 0xf8c2) { retval = "MON.MNNDX2"; } + else if (address == 0xf8c9) { retval = "MON.NBBDX3"; } + else if (address == 0xf8d0) { retval = "MON.UBSDSP"; } + else if (address == 0xf8d4) { retval = "MON.PRINTOP"; } + else if (address == 0xf8db) { retval = "MON.PRNTBL"; } + else if (address == 0xf8f5) { retval = "MON.PRMN1"; } + else if (address == 0xf8f9) { retval = "MON.PRMN2"; } + else if (address == 0xf910) { retval = "MON.PRADR1"; } + else if (address == 0xf914) { retval = "MON.PRADR2"; } + else if (address == 0xf926) { retval = "MON.PRADR3"; } + else if (address == 0xf92a) { retval = "MON.PRADR4"; } + else if (address == 0xf930) { retval = "MON.PRADR5"; } + else if (address == 0xf938) { retval = "MON.RELADR"; } + else if (address == 0xf940) { retval = "MON.PRNTYX"; } + else if (address == 0xf941) { retval = "MON.PRNTAX"; } + else if (address == 0xf944) { retval = "MON.PRNTX"; } + else if (address == 0xf948) { retval = "MON.PRBLNK"; } + else if (address == 0xf94a) { retval = "MON.PRBL2"; } + else if (address == 0xf94c) { retval = "MON.PRBL3"; } + else if (address == 0xf953) { retval = "MON.PCADJ"; } + else if (address == 0xf954) { retval = "MON.PCADJ2"; } + else if (address == 0xf956) { retval = "MON.PCADJ3"; } + else if (address == 0xf95c) { retval = "MON.PCADJ4"; } + else if (address == 0xf961) { retval = "MON.RTS2"; } + else if (address == 0xf962) { retval = "MON.FMT1"; } + else if (address == 0xf9a6) { retval = "MON.FMT2"; } + else if (address == 0xf9b4) { retval = "MON.CHAR1"; } + else if (address == 0xf9ba) { retval = "MON.CHAR2"; } + else if (address == 0xf9c0) { retval = "MON.MNEML"; } + else if (address == 0xfa00) { retval = "MON.MNEMR"; } + else if (address == 0xfa40) { retval = "MON.IRQ"; } + else if (address == 0xfa4c) { retval = "MON.BREAK"; } + else if (address == 0xfa59) { retval = "MON.OLDBRK"; } + else if (address == 0xfa62) { retval = "MON.RESET"; } + else if (address == 0xfa6f) { retval = "MON.INITAN"; } + else if (address == 0xfa81) { retval = "MON.NEWMON"; } + else if (address == 0xfa9b) { retval = "MON.FIXSEV"; } + else if (address == 0xfaa3) { retval = "MON.NOFIX"; } + else if (address == 0xfaa6) { retval = "MON.PWRUP"; } + else if (address == 0xfaa9) { retval = "MON.SETPG3"; } + else if (address == 0xfaab) { retval = "MON.SETPLP"; } + else if (address == 0xfaba) { retval = "MON.SLOOP"; } + else if (address == 0xfac7) { retval = "MON.NXTBYT"; } + else if (address == 0xfad7) { retval = "MON.REGDSP"; } + else if (address == 0xfada) { retval = "MON.RGDPS1"; } + else if (address == 0xfae4) { retval = "MON.RDSP1"; } + else if (address == 0xfafd) { retval = "MON.PWRCON"; } + else if (address == 0xfb02) { retval = "MON.DISKID"; } + else if (address == 0xfb09) { retval = "MON.TITLE"; } + else if (address == 0xfb11) { retval = "MON.XLTBL"; } + else if (address == 0xfb19) { retval = "MON.RTBL"; } else if (address == 0xfb1e) { retval = "MON.PREAD"; } - else if (address == 0xfb25) { retval = "MON_PREAD2"; } - else if (address == 0xfb2e) { retval = "MON_RTS2D"; } - else if (address == 0xfb2f) { retval = "MON_INIT"; } + else if (address == 0xfb25) { retval = "MON.PREAD2"; } + else if (address == 0xfb2e) { retval = "MON.RTS2D"; } + else if (address == 0xfb2f) { retval = "MON.INIT"; } else if (address == 0xfb39) { retval = "MON.SETTXT"; } else if (address == 0xfb40) { retval = "MON.SETGR"; } - else if (address == 0xfb4b) { retval = "MON_SETWND"; } + else if (address == 0xfb4b) { retval = "MON.SETWND"; } else if (address == 0xfb5b) { retval = "MON.TABV"; } - else if (address == 0xfb60) { retval = "MON_APPLEII"; } - else if (address == 0xfb65) { retval = "MON_STITLE"; } + else if (address == 0xfb60) { retval = "MON.APPLEII"; } + else if (address == 0xfb65) { retval = "MON.STITLE"; } else if (address == 0xfb6A) { retval = "MON.GETLN"; } - else if (address == 0xfb6f) { retval = "MON_SETPWRC"; } - else if (address == 0xfb78) { retval = "MON_VIDWAIT"; } - else if (address == 0xfb88) { retval = "MON_KBDWAIT"; } + else if (address == 0xfb6f) { retval = "MON.SETPWRC"; } + else if (address == 0xfb78) { retval = "MON.VIDWAIT"; } + else if (address == 0xfb88) { retval = "MON.KBDWAIT"; } else if (address == 0xfbb3) { retval = "M80_F8VERSION"; } - else if (address == 0xfb94) { retval = "MON_NOWAIT"; } - else if (address == 0xfb97) { retval = "MON_ESCOLD"; } - else if (address == 0xfb9b) { retval = "MON_ESCNOW"; } - else if (address == 0xfba5) { retval = "MON_ESCNEW"; } - else if (address == 0xfbb3) { retval = "MON_VERSION"; } - else if (address == 0xfbb4) { retval = "MON_GOTOCX"; } - else if (address == 0xfbc1) { retval = "MON_BASCALC"; } + else if (address == 0xfb94) { retval = "MON.NOWAIT"; } + else if (address == 0xfb97) { retval = "MON.ESCOLD"; } + else if (address == 0xfb9b) { retval = "MON.ESCNOW"; } + else if (address == 0xfba5) { retval = "MON.ESCNEW"; } + else if (address == 0xfbb3) { retval = "MON.VERSION"; } + else if (address == 0xfbb4) { retval = "MON.GOTOCX"; } + else if (address == 0xfbc1) { retval = "MON.BASCALC"; } - else if (address == 0xfbd0) { retval = "MON_BASCLC2"; } - else if (address == 0xfbd9) { retval = "MON_BELL1"; } - else if (address == 0xfbe4) { retval = "MON_BELL2"; } - else if (address == 0xfbef) { retval = "MON_RTS2B"; } - else if (address == 0xfbf0) { retval = "MON_STORADV"; } - else if (address == 0xfbf4) { retval = "MON_ADVANCE"; } - else if (address == 0xfbfc) { retval = "MON_RTS3"; } - else if (address == 0xfbfd) { retval = "MON_VIDOUT"; } - else if (address == 0xfc10) { retval = "MON_BS"; } - else if (address == 0xfc1a) { retval = "MON_UP"; } - else if (address == 0xfc22) { retval = "MON_VTAB"; } - else if (address == 0xfc24) { retval = "MON_VTABZ"; } - else if (address == 0xfc2b) { retval = "MON_RTS4"; } - else if (address == 0xfc2c) { retval = "MON_ESC1"; } - else if (address == 0xfc42) { retval = "MON_CLREOP"; } - else if (address == 0xfc58) { retval = "MON_HOME"; } - else if (address == 0xfc62) { retval = "MON_CR"; } - else if (address == 0xfc66) { retval = "MON_LF"; } - else if (address == 0xfc70) { retval = "MON_SCROLL"; } - else if (address == 0xfc72) { retval = "MON_XGOTOCX"; } + else if (address == 0xfbd0) { retval = "MON.BASCLC2"; } + else if (address == 0xfbd9) { retval = "MON.BELL1"; } + else if (address == 0xfbe4) { retval = "MON.BELL2"; } + else if (address == 0xfbef) { retval = "MON.RTS2B"; } + else if (address == 0xfbf0) { retval = "MON.STORADV"; } + else if (address == 0xfbf4) { retval = "MON.ADVANCE"; } + else if (address == 0xfbfc) { retval = "MON.RTS3"; } + else if (address == 0xfbfd) { retval = "MON.VIDOUT"; } + else if (address == 0xfc10) { retval = "MON.BS"; } + else if (address == 0xfc1a) { retval = "MON.UP"; } + else if (address == 0xfc22) { retval = "MON.VTAB"; } + else if (address == 0xfc24) { retval = "MON.VTABZ"; } + else if (address == 0xfc2b) { retval = "MON.RTS4"; } + else if (address == 0xfc2c) { retval = "MON.ESC1"; } + else if (address == 0xfc42) { retval = "MON.CLREOP"; } + else if (address == 0xfc58) { retval = "MON.HOME"; } + else if (address == 0xfc62) { retval = "MON.CR"; } + else if (address == 0xfc66) { retval = "MON.LF"; } + else if (address == 0xfc70) { retval = "MON.SCROLL"; } + else if (address == 0xfc72) { retval = "MON.XGOTOCX"; } else if (address == 0xfc75) { retval = "M80_SNIFFIRQ"; } - else if (address == 0xfc84) { retval = "MON_RDCX"; } - else if (address == 0xfc91) { retval = "MON_ISSLOTS"; } - else if (address == 0xfc99) { retval = "MON_ISPAGE1"; } - else if (address == 0xfc9c) { retval = "MON_CLREOL"; } - else if (address == 0xfc9e) { retval = "MON_CLREOLZ"; } - else if (address == 0xfca8) { retval = "MON_WAIT"; } - else if (address == 0xfca9) { retval = "MON_WAIT2"; } - else if (address == 0xfcaa) { retval = "MON_WAIT3"; } - else if (address == 0xfcb4) { retval = "MON_NXTA4"; } - else if (address == 0xfcba) { retval = "MON_NXTA1"; } - else if (address == 0xfcc8) { retval = "MON_RTS4B"; } - else if (address == 0xfcc9) { retval = "MON_HEADR"; } - else if (address == 0xfcd6) { retval = "MON_WRBIT"; } - else if (address == 0xfcdb) { retval = "MON_ZERDLY"; } - else if (address == 0xfce2) { retval = "MON_ONEDLY"; } - else if (address == 0xfce5) { retval = "MON_WRTAPE"; } - else if (address == 0xfcec) { retval = "MON_RDBYTE"; } - else if (address == 0xfcee) { retval = "MON_RDBYT2"; } - else if (address == 0xfcfa) { retval = "MON_READ2BIT"; } - else if (address == 0xfcfd) { retval = "MON_RDBIT"; } - else if (address == 0xfd0c) { retval = "MON_RDKEY"; } + else if (address == 0xfc84) { retval = "MON.RDCX"; } + else if (address == 0xfc91) { retval = "MON.ISSLOTS"; } + else if (address == 0xfc99) { retval = "MON.ISPAGE1"; } + else if (address == 0xfc9c) { retval = "MON.CLREOL"; } + else if (address == 0xfc9e) { retval = "MON.CLREOLZ"; } + else if (address == 0xfca8) { retval = "MON.WAIT"; } + else if (address == 0xfca9) { retval = "MON.WAIT2"; } + else if (address == 0xfcaa) { retval = "MON.WAIT3"; } + else if (address == 0xfcb4) { retval = "MON.NXTA4"; } + else if (address == 0xfcba) { retval = "MON.NXTA1"; } + else if (address == 0xfcc8) { retval = "MON.RTS4B"; } + else if (address == 0xfcc9) { retval = "MON.HEADR"; } + else if (address == 0xfcd6) { retval = "MON.WRBIT"; } + else if (address == 0xfcdb) { retval = "MON.ZERDLY"; } + else if (address == 0xfce2) { retval = "MON.ONEDLY"; } + else if (address == 0xfce5) { retval = "MON.WRTAPE"; } + else if (address == 0xfcec) { retval = "MON.RDBYTE"; } + else if (address == 0xfcee) { retval = "MON.RDBYT2"; } + else if (address == 0xfcfa) { retval = "MON.READ2BIT"; } + else if (address == 0xfcfd) { retval = "MON.RDBIT"; } + else if (address == 0xfd0c) { retval = "MON.RDKEY"; } - - else if (address == 0xfd18) { retval = "MON_KEYIN"; } - else if (address == 0xfd21) { retval = "MON_RDESC"; } + else if (address == 0xfd18) { retval = "MON.KEYIN"; } + else if (address == 0xfd21) { retval = "MON.RDESC"; } else if (address == 0xfd29) { retval = "M80_FUNCEXIT"; } - else if (address == 0xfd2f) { retval = "MON_ESC"; } - else if (address == 0xfd35) { retval = "MON_RDCHAR"; } - else if (address == 0xfd3d) { retval = "MON_NOTCR"; } - else if (address == 0xfd5f) { retval = "MON_NOTCR1"; } - else if (address == 0xfd62) { retval = "MON_CANCEL"; } - else if (address == 0xfd67) { retval = "MON_GETLNZ"; } - else if (address == 0xfd6a) { retval = "MON_GETLN"; } - else if (address == 0xfd71) { retval = "MON_BCKSPC"; } - else if (address == 0xfd75) { retval = "MON_NXTCHAR"; } - else if (address == 0xfd7e) { retval = "MON_CAPTST"; } - else if (address == 0xfd84) { retval = "MON_ADDINP"; } - else if (address == 0xfd8e) { retval = "MON_CROUT"; } - else if (address == 0xfd92) { retval = "MON_PRA1"; } - else if (address == 0xfd96) { retval = "MON_PRYX2"; } - else if (address == 0xfda3) { retval = "MON_XAMB"; } - else if (address == 0xfdad) { retval = "MON_MOD8CHK"; } - else if (address == 0xfdb3) { retval = "MON_XAM"; } - else if (address == 0xfdb6) { retval = "MON_DATAOUT"; } - else if (address == 0xfdc5) { retval = "MON_RTS4C"; } - else if (address == 0xfdc6) { retval = "MON_XAMPM"; } - else if (address == 0xfdd1) { retval = "MON_ADD"; } - else if (address == 0xfdda) { retval = "MON_PRBYTE"; } - else if (address == 0xfde3) { retval = "MON_PRHEX"; } - else if (address == 0xfde5) { retval = "MON_PRHEXZ"; } + else if (address == 0xfd2f) { retval = "MON.ESC"; } + else if (address == 0xfd35) { retval = "MON.RDCHAR"; } + else if (address == 0xfd3d) { retval = "MON.NOTCR"; } + else if (address == 0xfd5f) { retval = "MON.NOTCR1"; } + else if (address == 0xfd62) { retval = "MON.CANCEL"; } + else if (address == 0xfd67) { retval = "MON.GETLNZ"; } + else if (address == 0xfd6a) { retval = "MON.GETLN"; } + else if (address == 0xfd71) { retval = "MON.BCKSPC"; } + else if (address == 0xfd75) { retval = "MON.NXTCHAR"; } + else if (address == 0xfd7e) { retval = "MON.CAPTST"; } + else if (address == 0xfd84) { retval = "MON.ADDINP"; } + else if (address == 0xfd8e) { retval = "MON.CROUT"; } + else if (address == 0xfd92) { retval = "MON.PRA1"; } + else if (address == 0xfd96) { retval = "MON.PRYX2"; } + else if (address == 0xfda3) { retval = "MON.XAMB"; } + else if (address == 0xfdad) { retval = "MON.MOD8CHK"; } + else if (address == 0xfdb3) { retval = "MON.XAM"; } + else if (address == 0xfdb6) { retval = "MON.DATAOUT"; } + else if (address == 0xfdc5) { retval = "MON.RTS4C"; } + else if (address == 0xfdc6) { retval = "MON.XAMPM"; } + else if (address == 0xfdd1) { retval = "MON.ADD"; } + else if (address == 0xfdda) { retval = "MON.PRBYTE"; } + else if (address == 0xfde3) { retval = "MON.PRHEX"; } + else if (address == 0xfde5) { retval = "MON.PRHEXZ"; } else if (address == 0xfded) { retval = "MON.COUT"; } - else if (address == 0xfdf0) { retval = "MON_COUT1"; } - else if (address == 0xfdf6) { retval = "MON_COUTZ"; } - else if (address == 0xfe00) { retval = "MON_BLI"; } - else if (address == 0xfe04) { retval = "MON_BLANK"; } - else if (address == 0xfe0b) { retval = "MON_STOR"; } - else if (address == 0xfe17) { retval = "MON_RTS5"; } - else if (address == 0xfe18) { retval = "MON_SETMODE"; } - else if (address == 0xfe1d) { retval = "MON_SETMDZ"; } - else if (address == 0xfe20) { retval = "MON_LT"; } - else if (address == 0xfe22) { retval = "MON_LT2"; } - else if (address == 0xfe2c) { retval = "MON_MOVE"; } - else if (address == 0xfe36) { retval = "MON_VFY"; } - else if (address == 0xfe58) { retval = "MON_VFYOK"; } - else if (address == 0xfe5e) { retval = "MON_LIST"; } - else if (address == 0xfe63) { retval = "MON_LIST2"; } - else if (address == 0xfe75) { retval = "MON_A1PC"; } - else if (address == 0xfe78) { retval = "MON_A1PCLP"; } - else if (address == 0xfe7f) { retval = "MON_A1PCRTS"; } - else if (address == 0xfe80) { retval = "MON_SETINV"; } - else if (address == 0xfe84) { retval = "MON_SETNORM"; } - else if (address == 0xfe86) { retval = "MON_SETIFLG"; } - else if (address == 0xfe89) { retval = "MON_SETKBD"; } + else if (address == 0xfdf0) { retval = "MON.COUT1"; } + else if (address == 0xfdf6) { retval = "MON.COUTZ"; } + else if (address == 0xfe00) { retval = "MON.BLI"; } + else if (address == 0xfe04) { retval = "MON.BLANK"; } + else if (address == 0xfe0b) { retval = "MON.STOR"; } + else if (address == 0xfe17) { retval = "MON.RTS5"; } + else if (address == 0xfe18) { retval = "MON.SETMODE"; } + else if (address == 0xfe1d) { retval = "MON.SETMDZ"; } + else if (address == 0xfe20) { retval = "MON.LT"; } + else if (address == 0xfe22) { retval = "MON.LT2"; } + else if (address == 0xfe2c) { retval = "MON.MOVE"; } + else if (address == 0xfe36) { retval = "MON.VFY"; } + else if (address == 0xfe58) { retval = "MON.VFYOK"; } + else if (address == 0xfe5e) { retval = "MON.LIST"; } + else if (address == 0xfe63) { retval = "MON.LIST2"; } + else if (address == 0xfe75) { retval = "MON.A1PC"; } + else if (address == 0xfe78) { retval = "MON.A1PCLP"; } + else if (address == 0xfe7f) { retval = "MON.A1PCRTS"; } + else if (address == 0xfe80) { retval = "MON.SETINV"; } + else if (address == 0xfe84) { retval = "MON.SETNORM"; } + else if (address == 0xfe86) { retval = "MON.SETIFLG"; } + else if (address == 0xfe89) { retval = "MON.SETKBD"; } else if (address == 0xfe8b) { retval = "MON.INPORT"; } - else if (address == 0xfe8d) { retval = "MON_INPRT"; } - else if (address == 0xfe93) { retval = "MON_SETVID"; } + else if (address == 0xfe8d) { retval = "MON.INPRT"; } + else if (address == 0xfe93) { retval = "MON.SETVID"; } else if (address == 0xfe95) { retval = "MON.OUTPORT"; } - else if (address == 0xfe97) { retval = "MON_OUTPRT"; } - else if (address == 0xfe9b) { retval = "MON_IOPRT"; } - else if (address == 0xfea7) { retval = "MON_IOPRT1"; } - else if (address == 0xfea9) { retval = "MON_IOPRT2"; } - else if (address == 0xfeaf) { retval = "MON_CKSUMFIX"; } - else if (address == 0xfeb0) { retval = "MON_XBASIC"; } - else if (address == 0xfeb3) { retval = "MON_BASCONT"; } - else if (address == 0xfeb6) { retval = "MON_GO"; } - else if (address == 0xfebf) { retval = "MON_REGZ"; } - else if (address == 0xfec2) { retval = "MON_TRACE"; } - else if (address == 0xfec4) { retval = "MON_STEPZ"; } - else if (address == 0xfeca) { retval = "MON_USR"; } + else if (address == 0xfe97) { retval = "MON.OUTPRT"; } + else if (address == 0xfe9b) { retval = "MON.IOPRT"; } + else if (address == 0xfea7) { retval = "MON.IOPRT1"; } + else if (address == 0xfea9) { retval = "MON.IOPRT2"; } + else if (address == 0xfeaf) { retval = "MON.CKSUMFIX"; } + else if (address == 0xfeb0) { retval = "MON.XBASIC"; } + else if (address == 0xfeb3) { retval = "MON.BASCONT"; } + else if (address == 0xfeb6) { retval = "MON.GO"; } + else if (address == 0xfebf) { retval = "MON.REGZ"; } + else if (address == 0xfec2) { retval = "MON.TRACE"; } + else if (address == 0xfec4) { retval = "MON.STEPZ"; } + else if (address == 0xfeca) { retval = "MON.USR"; } else if (address == 0xfecd) { retval = "MON.WRITE"; } - else if (address == 0xfed4) { retval = "MON_WR1"; } - else if (address == 0xfeed) { retval = "MON_WRBYTE"; } - else if (address == 0xfeef) { retval = "MON_WRBYT2"; } - else if (address == 0xfef6) { retval = "MON_CRMON"; } + else if (address == 0xfed4) { retval = "MON.WR1"; } + else if (address == 0xfeed) { retval = "MON.WRBYTE"; } + else if (address == 0xfeef) { retval = "MON.WRBYT2"; } + else if (address == 0xfef6) { retval = "MON.CRMON"; } else if (address == 0xfefd) { retval = "MON.READ"; } else if (address == 0xff02) { retval = "MON.READ2"; } - else if (address == 0xff0a) { retval = "MON_RD2"; } - else if (address == 0xff16) { retval = "MON_RD3"; } - else if (address == 0xff2d) { retval = "MON_PRERR"; } - else if (address == 0xff3a) { retval = "MON_BELL"; } - else if (address == 0xff3f) { retval = "MON_RESTORE"; } - else if (address == 0xff44) { retval = "MON_RESTR1"; } - else if (address == 0xff4a) { retval = "MON_SAVE"; } - else if (address == 0xff4c) { retval = "MON_SAV1"; } + else if (address == 0xff0a) { retval = "MON.RD2"; } + else if (address == 0xff16) { retval = "MON.RD3"; } + else if (address == 0xff2d) { retval = "MON.PRERR"; } + else if (address == 0xff3a) { retval = "MON.BELL"; } + else if (address == 0xff3f) { retval = "MON.RESTORE"; } + else if (address == 0xff44) { retval = "MON.RESTR1"; } + else if (address == 0xff4a) { retval = "MON.SAVE"; } + else if (address == 0xff4c) { retval = "MON.SAV1"; } else if (address == 0xff58) { retval = "M80_IORTS"; } - else if (address == 0xff59) { retval = "MON_OLDRST"; } - else if (address == 0xff65) { retval = "MON_MON"; } - else if (address == 0xff69) { retval = "MON_MONZ"; } - else if (address == 0xff73) { retval = "MON_NXTITM"; } - else if (address == 0xff7a) { retval = "MON_CRSRCH"; } - else if (address == 0xff8a) { retval = "MON_DIG"; } - else if (address == 0xff90) { retval = "MON_NXTBIT"; } - else if (address == 0xff98) { retval = "MON_NXTBAS"; } - else if (address == 0xffa2) { retval = "MON_NXTBS2"; } - else if (address == 0xffa7) { retval = "MON_GETNUM"; } - else if (address == 0xffad) { retval = "MON_NXTCHR"; } - else if (address == 0xffbe) { retval = "MON_TOSUB"; } - else if (address == 0xffc7) { retval = "MON_ZMODE"; } - else if (address == 0xffcc) { retval = "MON_CHRTBL"; } - else if (address == 0xffe3) { retval = "MON_SUBTBL"; } - + else if (address == 0xff59) { retval = "MON.OLDRST"; } + else if (address == 0xff65) { retval = "MON.MON"; } + else if (address == 0xff69) { retval = "MON.MONZ"; } + else if (address == 0xff73) { retval = "MON.NXTITM"; } + else if (address == 0xff7a) { retval = "MON.CRSRCH"; } + else if (address == 0xff8a) { retval = "MON.DIG"; } + else if (address == 0xff90) { retval = "MON.NXTBIT"; } + else if (address == 0xff98) { retval = "MON.NXTBAS"; } + else if (address == 0xffa2) { retval = "MON.NXTBS2"; } + else if (address == 0xffa7) { retval = "MON.GETNUM"; } + else if (address == 0xffad) { retval = "MON.NXTCHR"; } + else if (address == 0xffbe) { retval = "MON.TOSUB"; } + else if (address == 0xffc7) { retval = "MON.ZMODE"; } + else if (address == 0xffcc) { retval = "MON.CHRTBL"; } + else if (address == 0xffe3) { retval = "MON.SUBTBL"; } return retval; } @@ -1477,7 +1510,8 @@ bool DisassemblerViewer::optionsMenuItems(QMenu *menu) m_wordWrapAction = new QAction("&Word Wrap"); m_wordWrapAction->setCheckable(true); m_wordWrapAction->setChecked(settings.value("DisassemblerViewer.WordWrap",true).toBool()); - connect(m_wordWrapAction, SIGNAL(toggled(bool)), SLOT(toggleWordWrap(bool))); + connect(m_wordWrapAction, &QAction::toggled, + this, &DisassemblerViewer::toggleWordWrap); } menu->addAction(m_wordWrapAction); @@ -1485,7 +1519,8 @@ bool DisassemblerViewer::optionsMenuItems(QMenu *menu) if (!m_showMetadataAction) { m_showMetadataAction = new QAction("&Dissassembler Metadata"); - connect(m_showMetadataAction, SIGNAL(triggered(bool)), SLOT(showMetadataDialog())); + connect(m_showMetadataAction, &QAction::triggered, + this, &DisassemblerViewer::showMetadataDialog); } menu->addAction(m_showMetadataAction); @@ -1496,7 +1531,6 @@ void DisassemblerViewer::showMetadataDialog() { if (!m_dmd) { m_dmd = new DisassemblerMetadataDialog(m_bfm, this); - m_dmd->setRelocatable(m_isRelo); } m_dmd->show(); m_dmd->raise(); @@ -1520,7 +1554,7 @@ void DisassemblerViewer::doPrint() if (ui->textArea->textCursor().hasSelection()) dialog.addEnabledOption(QAbstractPrintDialog::PrintSelection); if (dialog.exec() != QDialog::Accepted) { - qDebug() << "Cancelled"; + // qDebug() << "Cancelled"; return; } @@ -1540,7 +1574,7 @@ void DisassemblerViewer::doExport() if (saveName == "") return; // User cancelled - qDebug() << "Set filename: " << saveName; + // qDebug() << "Set filename: " << saveName; QFile saveFile(saveName); if (!saveFile.open(QIODevice::WriteOnly | QIODevice::Text)) diff --git a/src/ui/viewers/hexdumpviewer.cpp b/src/ui/viewers/hexdumpviewer.cpp index 58212d2..21c44fb 100644 --- a/src/ui/viewers/hexdumpviewer.cpp +++ b/src/ui/viewers/hexdumpviewer.cpp @@ -144,7 +144,8 @@ bool HexDumpViewer::optionsMenuItems(QMenu *menu) QAction *action = new QAction("&Word Wrap"); action->setCheckable(true); action->setChecked(settings.value("HexViewer.WordWrap",true).toBool()); - connect(action, SIGNAL(toggled(bool)), SLOT(toggleWordWrap(bool))); + connect(action, &QAction::toggled, + this, &HexDumpViewer::toggleWordWrap); menu->addAction(action); return true; diff --git a/src/ui/viewers/hiresviewwidget.cxx b/src/ui/viewers/hiresviewwidget.cxx index 4f2473f..f036447 100644 --- a/src/ui/viewers/hiresviewwidget.cxx +++ b/src/ui/viewers/hiresviewwidget.cxx @@ -1,5 +1,6 @@ #include "hiresviewwidget.h" #include "binaryfile.h" +#include "util.h" #include #include @@ -7,6 +8,7 @@ #include #include #include +#include #include @@ -18,6 +20,15 @@ HiresViewWidget::HiresViewWidget(QWidget *parent) : setLayout(gv); hrsw = new HiresScreenWidget(this); gv->addWidget(hrsw); + m_offsetLabel = new QLabel(this); + m_offsetLabel->setText(""); + gv->addWidget(m_offsetLabel,1,0); + gv->setRowStretch(0,10000); + gv->setRowStretch(1,1); + + connect(hrsw, &HiresScreenWidget::newOffset, + this, &HiresViewWidget::handleNewOffset); + handleNewOffset(0); resize(561,384); } @@ -38,6 +49,10 @@ bool HiresViewWidget::optionsMenuItems(QMenu *menu) menu->addAction(hrsw->perPixelColorAction()); menu->addSeparator(); menu->addAction(hrsw->showScanLinesAction()); + menu->addSeparator(); + menu->addAction(hrsw->prevPageAction()); + menu->addAction(hrsw->nextPageAction()); + return true; } @@ -99,3 +114,9 @@ void HiresViewWidget::doExport() pm.save(savename.path()); } +void HiresViewWidget::handleNewOffset(quint16 offset) +{ + QString text = QString("Offset: %1 (0x%2)").arg(offset).arg(uint16ToHex(offset)); + m_offsetLabel->setText(text); +} + diff --git a/src/ui/viewers/hiresviewwidget.h b/src/ui/viewers/hiresviewwidget.h index 24c364f..ffa1dba 100644 --- a/src/ui/viewers/hiresviewwidget.h +++ b/src/ui/viewers/hiresviewwidget.h @@ -13,7 +13,7 @@ #include #include #include - +#include class HiresViewWidget : public FileViewerInterface @@ -26,14 +26,19 @@ public: bool canPrint() const; bool canExport() const; + public slots: void setFile(GenericFile *file); void setFile(BinaryFile *file); void doPrint(); void doExport(); + + void handleNewOffset(quint16 offset); + private: HiresScreenWidget *hrsw; + QLabel *m_offsetLabel; BinaryFile *m_file; }; diff --git a/src/ui/viewers/mazeviewer.cpp b/src/ui/viewers/mazeviewer.cpp index 169d04e..dee4fa9 100644 --- a/src/ui/viewers/mazeviewer.cpp +++ b/src/ui/viewers/mazeviewer.cpp @@ -203,7 +203,7 @@ void MazeViewer::drawMaze() } painter.setPen(Qt::black); - quint8 cv = getCellDesc(idx,jdx); + //quint8 cv = getCellDesc(idx,jdx); quint8 tr = getCellInventory(idx,jdx); QString trs = inventoryToString(tr); quint8 mo = getCellMonsters(idx,jdx); diff --git a/src/ui/viewers/texthexdumpviewer.cpp b/src/ui/viewers/texthexdumpviewer.cpp index 8d7c4b4..959c314 100644 --- a/src/ui/viewers/texthexdumpviewer.cpp +++ b/src/ui/viewers/texthexdumpviewer.cpp @@ -124,7 +124,8 @@ bool TextHexDumpViewer::optionsMenuItems(QMenu *menu) QAction *action = new QAction("&Word Wrap"); action->setCheckable(true); action->setChecked(settings.value("TexHexViewer.WordWrap",true).toBool()); - connect(action, SIGNAL(toggled(bool)), SLOT(toggleWordWrap(bool))); + connect(action, &QAction::toggled, + this, &TextHexDumpViewer::toggleWordWrap); menu->addAction(action); return true; diff --git a/src/ui/viewers/viewerbase.cpp b/src/ui/viewers/viewerbase.cpp index 234c2bc..690ed70 100644 --- a/src/ui/viewers/viewerbase.cpp +++ b/src/ui/viewers/viewerbase.cpp @@ -59,7 +59,7 @@ void ViewerBase::setFile(GenericFile *file) if (dynamic_cast(file)) hdv->setFile(file,0x801); //TODO: Double check this offset. else - hdv->setFile(file); + hdv->setFile(file,m_file->address()); descriptor = ("Hex Dump Viewer"); addViewer(descriptor,hdv); defaultViewerDescriptor = descriptor; @@ -132,7 +132,8 @@ void ViewerBase::setFile(GenericFile *file) defaultViewerDescriptor = descriptor; } - connect(m_viewercombo, SIGNAL(currentIndexChanged(QString)), SLOT(showViewer(QString))); + connect(m_viewercombo, static_cast(&QComboBox::currentIndexChanged), + this, &ViewerBase::showViewer); showViewer(defaultViewerDescriptor); } @@ -151,18 +152,20 @@ void ViewerBase::addViewer(QString descriptor, FileViewerInterface *viewer) } } -void ViewerBase::showViewer(QString descriptor) +void ViewerBase::showViewer(const QString& descriptor) { FileViewerInterface *fvi = m_viewers[descriptor]; if (fvi) { ui->actionExport->disconnect(SIGNAL(triggered(bool))); ui->actionExport->setEnabled(fvi->canExport()); - connect(ui->actionExport, SIGNAL(triggered(bool)), fvi, SLOT(doExport())); + connect(ui->actionExport, &QAction::triggered, + fvi, &FileViewerInterface::doExport); ui->action_Print->disconnect(SIGNAL(triggered(bool))); ui->action_Print->setEnabled(fvi->canPrint()); - connect(ui->action_Print, SIGNAL(triggered(bool)), fvi, SLOT(doPrint())); + connect(ui->action_Print, &QAction::triggered, + fvi, &FileViewerInterface::doPrint); m_optionMenu->clear(); m_viewercombo->setCurrentText(descriptor); diff --git a/src/ui/viewers/viewerbase.h b/src/ui/viewers/viewerbase.h index 7717bf7..9c42014 100644 --- a/src/ui/viewers/viewerbase.h +++ b/src/ui/viewers/viewerbase.h @@ -27,7 +27,7 @@ signals: void viewerClosing(ViewerBase *me); public slots: - void showViewer(QString descriptor); + void showViewer(const QString &descriptor); protected: void closeEvent(QCloseEvent *event); diff --git a/src/ui/widgets/CharacterSetExplorer.cpp b/src/ui/widgets/CharacterSetExplorer.cpp index 14970f1..4786acf 100644 --- a/src/ui/widgets/CharacterSetExplorer.cpp +++ b/src/ui/widgets/CharacterSetExplorer.cpp @@ -7,8 +7,11 @@ CharacterSetExplorer::CharacterSetExplorer(QWidget *parent) : { m_unpackedScreen.fill(0,8192); ui->setupUi(this); - connect(ui->insertChar, SIGNAL(clicked(bool)), SLOT(handleInsertCharButton())); - connect(ui->inputText, SIGNAL(textChanged(QString)), SLOT(handleTextChanged(QString))); + + connect(ui->insertChar, &QPushButton::clicked, + this, &CharacterSetExplorer::handleInsertCharButton); + connect(ui->inputText, &QLineEdit::textChanged, + this, &CharacterSetExplorer::handleTextChanged); } void CharacterSetExplorer::setCharSet(CharacterSet &charset) diff --git a/src/ui/widgets/DisassemblerMetadataDialog.cpp b/src/ui/widgets/DisassemblerMetadataDialog.cpp index 3f8eea6..18cf62b 100644 --- a/src/ui/widgets/DisassemblerMetadataDialog.cpp +++ b/src/ui/widgets/DisassemblerMetadataDialog.cpp @@ -9,7 +9,9 @@ DisassemblerMetadataDialog::DisassemblerMetadataDialog(BinaryFileMetadata *bfm, ui(new Ui::DisassemblerMetadataDialog) { ui->setupUi(this); - setRelocatable(false); + ui->entryTable->verticalHeader()->show(); + ui->removeEntryPointButton->setEnabled(false); + ui->removeSymbolButton->setEnabled(false); m_bfm = bfm; @@ -19,17 +21,29 @@ DisassemblerMetadataDialog::DisassemblerMetadataDialog(BinaryFileMetadata *bfm, ui->entryTable->setModel(m_epmodel); ui->symbolTable->setModel(m_asmodel); - connect(ui->cancelButton, SIGNAL(clicked(bool)), SLOT(handleCancelButton())); - connect(ui->exitButton,SIGNAL(clicked(bool)), SLOT(handleExitButton())); - connect(ui->processButton, SIGNAL(clicked(bool)), SLOT(handleProcessButton())); + connect(ui->exitButton, &QPushButton::clicked, + this, &DisassemblerMetadataDialog::handleExitButton); + connect(ui->processButton, &QPushButton::clicked, + this, &DisassemblerMetadataDialog::handleProcessButton); - connect(ui->addEntryPointButton, SIGNAL(clicked(bool)), SLOT(handleAddEntryPointButton())); - connect(ui->addSymbolButton, SIGNAL(clicked(bool)), SLOT(handleAddSymbolButton())); + connect(ui->addEntryPointButton, &QToolButton::clicked, + this, &DisassemblerMetadataDialog::handleAddEntryPointButton); + connect(ui->addSymbolButton, &QToolButton::clicked, + this, &DisassemblerMetadataDialog::handleAddSymbolButton); + + connect(ui->removeEntryPointButton, &QToolButton::clicked, + this, &DisassemblerMetadataDialog::handleRemoveEntryPointButton); + connect(ui->removeSymbolButton, &QToolButton::clicked, + this, &DisassemblerMetadataDialog::handleRemoveSymbolButton); + + connect(ui->entryTable->selectionModel(), &QItemSelectionModel::selectionChanged, + this, &DisassemblerMetadataDialog::handleEntryPointSelectionChanged); + connect(ui->symbolTable->selectionModel(), &QItemSelectionModel::selectionChanged, + this, &DisassemblerMetadataDialog::handleSymbolSelectionChanged); } DisassemblerMetadataDialog::~DisassemblerMetadataDialog() { - delete m_bfm; delete ui; } @@ -39,19 +53,9 @@ void DisassemblerMetadataDialog::showEvent(QShowEvent *) ui->symbolTable->resizeRowsToContents(); } -void DisassemblerMetadataDialog::setRelocatable(bool relocatable) -{ - ui->reloAddrLabel->setVisible(relocatable); - ui->reloAddrText->setVisible(relocatable); -} - -void DisassemblerMetadataDialog::handleCancelButton() -{ - this->close(); -} - void DisassemblerMetadataDialog::handleExitButton() { + m_bfm->requestDisassembly(); m_bfm->save(); this->close(); } @@ -72,12 +76,20 @@ void DisassemblerMetadataDialog::handleAddEntryPointButton() ep.note = lid.getInfo(); m_bfm->entryPoints()->addPoint(ep); ui->entryTable->resizeRowsToContents(); + ui->entryTable->resizeRowsToContents(); } } void DisassemblerMetadataDialog::handleRemoveEntryPointButton() { - + QModelIndexList selection = ui->entryTable->selectionModel()->selectedRows(0); + qDebug() << "Removing" << selection.count() << "row(s)"; + if (selection.count()) + { + // qDebug() << "Removing row" << selection[0].row(); + m_epmodel->removeRows(selection[0].row(),1); +// qDebug() << "Removed row" << selection[0].row(); + } } void DisassemblerMetadataDialog::handleAddSymbolButton() @@ -85,11 +97,20 @@ void DisassemblerMetadataDialog::handleAddSymbolButton() LocationInfoDialog lid(this); lid.setInfoLabelString("Symbol Name"); lid.setWindowTitle("Add Symbol"); + lid.showSizeWidgets(true); if (lid.exec() == Accepted) { AssemblerSymbol as; as.address = lid.getAddress(); as.name = lid.getInfo(); + if (lid.getSymbolSize() == 0) // Byte + { + as.symbolsize = SizeByte; + } + else + { + as.symbolsize = SizeWord; + } m_bfm->assemblerSymbols()->addSymbol(as); ui->symbolTable->resizeRowsToContents(); } @@ -97,5 +118,26 @@ void DisassemblerMetadataDialog::handleAddSymbolButton() void DisassemblerMetadataDialog::handleRemoveSymbolButton() { - + QModelIndexList selection = ui->symbolTable->selectionModel()->selectedRows(0); + qDebug() << "Removing" << selection.count() << "row(s)"; + if (selection.count()) + { + m_asmodel->removeRows(selection[0].row(),1); + } +} + +void DisassemblerMetadataDialog::handleEntryPointSelectionChanged(QItemSelection selected, QItemSelection deselected) +{ + Q_UNUSED(selected); + Q_UNUSED(deselected); + int selectedcount = ui->entryTable->selectionModel()->selectedRows().count(); + ui->removeEntryPointButton->setEnabled(selectedcount); +} + +void DisassemblerMetadataDialog::handleSymbolSelectionChanged(QItemSelection selected, QItemSelection deselected) +{ + Q_UNUSED(selected); + Q_UNUSED(deselected); + int selectedcount = ui->symbolTable->selectionModel()->selectedRows().count(); + ui->removeSymbolButton->setEnabled(selectedcount); } diff --git a/src/ui/widgets/DisassemblerMetadataDialog.h b/src/ui/widgets/DisassemblerMetadataDialog.h index 13a8e61..c9c3f66 100644 --- a/src/ui/widgets/DisassemblerMetadataDialog.h +++ b/src/ui/widgets/DisassemblerMetadataDialog.h @@ -9,6 +9,7 @@ #include "LocationInfoDialog.h" #include +#include namespace Ui { class DisassemblerMetadataDialog; @@ -22,13 +23,10 @@ public: explicit DisassemblerMetadataDialog(BinaryFileMetadata *bfm, QWidget *parent = 0); ~DisassemblerMetadataDialog(); - void setRelocatable(bool relocatable); - protected: void showEvent(QShowEvent *); protected slots: - void handleCancelButton(); void handleExitButton(); void handleProcessButton(); @@ -38,6 +36,9 @@ protected slots: void handleAddSymbolButton(); void handleRemoveSymbolButton(); + void handleEntryPointSelectionChanged(QItemSelection selected, QItemSelection deselected); + void handleSymbolSelectionChanged(QItemSelection selected, QItemSelection deselected); + private: Ui::DisassemblerMetadataDialog *ui; diff --git a/src/ui/widgets/DisassemblerMetadataDialog.ui b/src/ui/widgets/DisassemblerMetadataDialog.ui index 68cfbcf..4bce31b 100644 --- a/src/ui/widgets/DisassemblerMetadataDialog.ui +++ b/src/ui/widgets/DisassemblerMetadataDialog.ui @@ -6,205 +6,15 @@ 0 0 - 796 - 593 + 634 + 429 - Dialog + Metadata - - - - - - - Entry Points - - - false - - - false - - - - - - Qt::Horizontal - - - - 312 - 20 - - - - - - - - + - - - - - - - - - - - - - - - true - - - QAbstractItemView::NoSelection - - - QAbstractItemView::SelectRows - - - false - - - true - - - true - - - - - - - - - - Symbols - - - - - - Qt::Horizontal - - - - 311 - 20 - - - - - - - - + - - - - - - - - - - - - - - - true - - - QAbstractItemView::NoSelection - - - QAbstractItemView::SelectRows - - - false - - - true - - - - - - - - + - - - Usage - - - - - - - - - - &Process - - - - - - - - 0 - 0 - - - - xxxxx - - - - - - - - - - - - 0 - 0 - - - - Reloc. Addr - - - - - - - - 0 - 0 - - - - - - - - - - - - - - - @@ -220,9 +30,9 @@ - + - &Cancel + Apply @@ -238,6 +48,146 @@ + + + + 0 + + + + Entry Points + + + + + + Entry Points + + + false + + + false + + + + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + false + + + true + + + false + + + + + + + Remove + + + + + + + Add + + + + + + + Qt::Horizontal + + + + 312 + 20 + + + + + + + + + + + + Symbols + + + + + + Symbols + + + + + + Qt::Horizontal + + + + 311 + 20 + + + + + + + + Add + + + + + + + Remove + + + + + + + true + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + false + + + true + + + + + + + + + + diff --git a/src/ui/widgets/FlowLineTextBrowser.cpp b/src/ui/widgets/FlowLineTextBrowser.cpp index 43c6f86..158dd54 100644 --- a/src/ui/widgets/FlowLineTextBrowser.cpp +++ b/src/ui/widgets/FlowLineTextBrowser.cpp @@ -13,10 +13,6 @@ FlowLineTextBrowser::FlowLineTextBrowser(QWidget *parent) : QTextBrowser(parent) m_lineArea = new LineArea(this); m_jl = Q_NULLPTR; - //this->verticalScrollBar()->setSliderPosition(this->verticalScrollBar()->sliderPosition()); - - // connect(this->document(), SIGNAL(blockCountChanged(int)), SLOT(updateLineAreaWidth(int))); - connect(this, SIGNAL(updateRequest(QRect,int)), SLOT(updateLineArea(QRect,int))); updateLineAreaWidth(); } @@ -37,7 +33,7 @@ int FlowLineTextBrowser::getFirstVisibleBlock(QTextBlock *firstBlock) const if (r1.contains(r2, true) || r1.intersects(r2)) { - qDebug() << r2; + // qDebug() << r2; if (firstBlock) *firstBlock = block; return i; @@ -69,7 +65,7 @@ void FlowLineTextBrowser::lineAreaPaintEvent(QPaintEvent *event) QTextBlock block; getFirstVisibleBlock(&block); - qDebug() << block.text(); + // qDebug() << block.text(); bool foundFirst = false; quint16 linenum; @@ -116,6 +112,23 @@ void FlowLineTextBrowser::lineAreaPaintEvent(QPaintEvent *event) foreach (JumpLine jl, jllist) { + if (jl.type == IsBranch || jl.type == IsBRA) + { + painter.setPen(Qt::yellow); + painter.setBrush(Qt::yellow); + + } + else if (jl.type == IsJMP) + { + painter.setPen(Qt::white); + painter.setBrush(Qt::white); + + } + else + { + painter.setPen(Qt::red); + painter.setBrush(Qt::red); + } int offset = getChannelOffset(jl.channel); if (!inBlankLine) { @@ -297,3 +310,5 @@ void FlowLineTextBrowser::updateLineArea(const QRect &rect, int dy) if (rect.contains(viewport()->rect())) updateLineAreaWidth(); } + +void FlowLineTextBrowser::setLineAreaVisible(bool visible) { m_lineArea->setVisible(visible); } diff --git a/src/ui/widgets/FlowLineTextBrowser.h b/src/ui/widgets/FlowLineTextBrowser.h index 95887f6..0f51e70 100644 --- a/src/ui/widgets/FlowLineTextBrowser.h +++ b/src/ui/widgets/FlowLineTextBrowser.h @@ -39,6 +39,9 @@ private slots: void updateLineAreaWidth(); void updateLineArea(const QRect &, int); +public slots: + void setLineAreaVisible(bool visible); + private: LineArea *m_lineArea; diff --git a/src/ui/widgets/HiresScreenWidget.cpp b/src/ui/widgets/HiresScreenWidget.cpp index c1acdfa..bb61a82 100644 --- a/src/ui/widgets/HiresScreenWidget.cpp +++ b/src/ui/widgets/HiresScreenWidget.cpp @@ -53,13 +53,29 @@ HiresScreenWidget::HiresScreenWidget(QWidget *parent) : m_showScanLinesAction->setCheckable(true); m_showScanLinesAction->setChecked(m_showScanLines); + m_prevPageAction = new QAction("Previous Data Page"); + m_prevPageAction->setEnabled(false); + m_prevPageAction->setShortcut(QKeySequence(Qt::Key_Left | Qt::CTRL)); - connect(m_ntscAction, SIGNAL(toggled(bool)), this, SLOT(handleNtscAction(bool))); - connect(m_monochromeAction, SIGNAL(toggled(bool)), this, SLOT(handleMonochromeAction(bool))); - connect(m_perPixelColorAction, SIGNAL(toggled(bool)), this, SLOT(handlePerPixelColorAction(bool))); + m_nextPageAction = new QAction("Next Data Page"); + m_nextPageAction->setEnabled(false); + m_nextPageAction->setShortcut(QKeySequence(Qt::Key_Right | Qt::CTRL)); - connect(m_showScanLinesAction, SIGNAL(toggled(bool)), this, SLOT(handleShowScanLinesAction(bool))); + connect(m_ntscAction, &QAction::toggled, this, &HiresScreenWidget::handleNtscAction); + connect(m_monochromeAction, &QAction::toggled, this, &HiresScreenWidget::handleMonochromeAction); + connect(m_perPixelColorAction, &QAction::toggled, this, &HiresScreenWidget::handlePerPixelColorAction); + + connect(m_showScanLinesAction, &QAction::toggled, + this, &HiresScreenWidget::handleShowScanLinesAction); + + connect(m_prevPageAction, &QAction::triggered, + this, &HiresScreenWidget::handlePrevPageAction); + connect(m_nextPageAction, &QAction::triggered, + this, &HiresScreenWidget::handleNextPageAction); + + + m_offset = 0; } void HiresScreenWidget::handleNtscAction(bool toggled) { @@ -124,6 +140,8 @@ void HiresScreenWidget::drawPixmap() { QPainter pmpainter(&m_pixmap); + QByteArray workingdata = m_data.mid(m_offset); + pmpainter.setBrush(Qt::black); pmpainter.setPen(Qt::black); pmpainter.drawRect(0,0,m_pixmap.width(),m_pixmap.height()); @@ -136,7 +154,7 @@ void HiresScreenWidget::drawPixmap() quint8 chunkCount = 0; int idx = 0; - while (idx < qMin(m_data.size(),8192)) { + while (idx < qMin(workingdata.size(),8192)) { ColRow cr = getColRowFromAppleAddress(idx); int yoff = cr.row(); @@ -148,7 +166,7 @@ void HiresScreenWidget::drawPixmap() for (int jdx = 0; jdx < 40; jdx++) { - quint8 byte = m_data[idx++]; + quint8 byte = workingdata[idx++]; QBitArray dataBits = byteToBits(byte); bool highBit = dataBits.at(0); @@ -195,10 +213,10 @@ void HiresScreenWidget::drawPixmap() pmpainter.setPen(Qt::white); pmpainter.setBrush(Qt::white); - for (int idx = 0; idx < qMin(m_data.size(),8192) ; idx++) { + for (int idx = 0; idx < qMin(workingdata.size(),8192) ; idx++) { ColRow cr = getColRowFromAppleAddress(idx); - quint8 byte = m_data[idx]; + quint8 byte = workingdata[idx]; bool highBit = byte & 0x80; @@ -269,6 +287,42 @@ void HiresScreenWidget::setUnpackedData(QByteArray unpackedData) setData(packedData); } +void HiresScreenWidget::setOffset(quint16 offset) +{ + m_offset = offset; + emit newOffset(m_offset); + update(); +} + +quint16 HiresScreenWidget::offset() const { return m_offset; } + +void HiresScreenWidget::handlePrevPageAction(bool) +{ + if (m_offset >= 8192) + { + setOffset(m_offset - 8192); + m_nextPageAction->setEnabled(true); + } + + if (m_offset == 0) { m_prevPageAction->setEnabled(false); } +} + +void HiresScreenWidget::handleNextPageAction(bool) +{ + if (m_offset+8192 <= m_data.size()) + { + setOffset(m_offset+8192); + m_prevPageAction->setEnabled(true); + } + + if (m_offset+8192 > m_data.size()) + { + m_nextPageAction->setEnabled(false); + } +} + + + QByteArray HiresScreenWidget::packData(QByteArray unpackedData) { QByteArray packedData; @@ -309,6 +363,20 @@ int HiresScreenWidget::getLineAddressOffset(int line) void HiresScreenWidget::setData(QByteArray data) { m_data = data; + if (data.size() > 8192) + { + m_nextPageAction->setEnabled(true); + m_prevPageAction->setEnabled(false); + m_offset = 0; + } + else + { + m_nextPageAction->setEnabled(false); + m_prevPageAction->setEnabled(false); + m_offset = 0; + } + + repaint(); } @@ -477,6 +545,9 @@ void HiresScreenWidget::contextMenuEvent(QContextMenuEvent *event) { menu.addAction(m_perPixelColorAction); menu.addSeparator(); menu.addAction(m_showScanLinesAction); + menu.addSeparator(); + menu.addAction(prevPageAction()); + menu.addAction(nextPageAction()); menu.exec(event->globalPos()); } diff --git a/src/ui/widgets/HiresScreenWidget.h b/src/ui/widgets/HiresScreenWidget.h index 6e28a31..a878d52 100644 --- a/src/ui/widgets/HiresScreenWidget.h +++ b/src/ui/widgets/HiresScreenWidget.h @@ -83,19 +83,23 @@ public: QAction *ntscAction() { return m_ntscAction; } QAction *perPixelColorAction() { return m_perPixelColorAction; } QAction *showScanLinesAction() { return m_showScanLinesAction; } + QAction *prevPageAction() { return m_prevPageAction; } + QAction *nextPageAction() { return m_nextPageAction; } ColRow getColRowFromAppleAddress(quint16 address); ColRow getColRowFromRawAddress(quint16 address); QPixmap getPixmap() const { return m_pixmap; } + quint16 offset() const; signals: + void newOffset(quint16 offset); public slots: void setData(QByteArray data); void setMode(ViewMode); void setUnpackedData(QByteArray unpackedData); - + void setOffset(quint16 offset); protected: int getLineAddressOffset(int line); QByteArray packData(QByteArray unpackedData); @@ -106,6 +110,9 @@ protected slots: void handlePerPixelColorAction(bool toggled); void handleShowScanLinesAction(bool toggled); + void handlePrevPageAction(bool); + void handleNextPageAction(bool); + private: void makeAddressTables(); QColor getColorFromBits(QBitArray bits, quint8 phase); @@ -124,12 +131,16 @@ private: QAction *m_ntscAction; QAction *m_perPixelColorAction; QAction *m_showScanLinesAction; + QAction *m_prevPageAction; + QAction *m_nextPageAction; QActionGroup *formatGroup; bool m_showScanLines; static QVector m_rawAddressToColRowList; static QVector m_appleAddressToColRowList; + + quint16 m_offset; }; #endif // HIRESSCREENWIDGET_H diff --git a/src/ui/widgets/LocationInfoDialog.cpp b/src/ui/widgets/LocationInfoDialog.cpp index 1459b7c..3bf4694 100644 --- a/src/ui/widgets/LocationInfoDialog.cpp +++ b/src/ui/widgets/LocationInfoDialog.cpp @@ -6,6 +6,7 @@ LocationInfoDialog::LocationInfoDialog(QWidget *parent) : ui(new Ui::LocationInfoDialog) { ui->setupUi(this); + showSizeWidgets(false); } LocationInfoDialog::~LocationInfoDialog() @@ -27,3 +28,14 @@ QString LocationInfoDialog::getInfo() { return ui->infoEdit->text(); } + +int LocationInfoDialog::getSymbolSize() +{ + return ui->sizeCombo->currentIndex(); +} + +void LocationInfoDialog::showSizeWidgets(bool show) +{ + ui->sizeCombo->setHidden(!show); + ui->sizeLabel->setHidden(!show); +} diff --git a/src/ui/widgets/LocationInfoDialog.h b/src/ui/widgets/LocationInfoDialog.h index f2b958a..cda38b7 100644 --- a/src/ui/widgets/LocationInfoDialog.h +++ b/src/ui/widgets/LocationInfoDialog.h @@ -19,6 +19,9 @@ public: void setInfoLabelString(QString label); quint16 getAddress(); QString getInfo(); + int getSymbolSize(); + + void showSizeWidgets(bool show); protected: diff --git a/src/ui/widgets/LocationInfoDialog.ui b/src/ui/widgets/LocationInfoDialog.ui index 5a7c462..aa0226f 100644 --- a/src/ui/widgets/LocationInfoDialog.ui +++ b/src/ui/widgets/LocationInfoDialog.ui @@ -7,11 +7,11 @@ 0 0 284 - 99 + 162 - Dialog + Address Metadata Info @@ -33,7 +33,7 @@ - + Note @@ -43,9 +43,30 @@ - + + + + + Size + + + + + + + + Byte + + + + + Word + + + + diff --git a/src/ui/widgets/asciiinfodialog.h b/src/ui/widgets/asciiinfodialog.h new file mode 100644 index 0000000..65cde13 --- /dev/null +++ b/src/ui/widgets/asciiinfodialog.h @@ -0,0 +1,62 @@ +#ifndef ASCIIINFODIALOG_H +#define ASCIIINFODIALOG_H + +#include +#include "asciiinfodialog.h" +#include "ui_asciiinfodialog.h" + +namespace Ui { +class AsciiInfoDialog; +} + +class AsciiInfoDialog : public QDialog +{ + Q_OBJECT + +public: + explicit AsciiInfoDialog(QWidget *parent = 0) : + QDialog(parent), + ui(new Ui::AsciiInfoDialog) + { + ui->setupUi(this); + QFont font = ui->tableWidget->itemAt(0,0)->font(); + font.setBold(true); + for (int idx = 0; idx < ui->tableWidget->rowCount(); idx++) + { +// ui->tableWidget->item(idx,5 )->setFont(font); +// ui->tableWidget->item(idx,6 )->setFont(font); +// ui->tableWidget->item(idx,7 )->setFont(font); +// ui->tableWidget->item(idx,8 )->setFont(font); +// ui->tableWidget->item(idx,9 )->setFont(font); + } + + + for (int idx = 0; idx < ui->tableWidget->rowCount(); idx++) + { + for (int jdx = 0; jdx < ui->tableWidget->columnCount(); jdx++) + { + ui->tableWidget->item(idx,jdx )->setTextAlignment(Qt::AlignVCenter|Qt::AlignHCenter); + + if (jdx < 5 || jdx > 9) + { + ui->tableWidget->item(idx,jdx )->setBackgroundColor(QColor(235,235,235)); + } + } + } + + ui->tableWidget->resizeColumnsToContents(); + ui->tableWidget->resizeRowsToContents(); + ui->tableWidget->verticalHeader()->setVisible(false); + ui->tableWidget->repaint(); + } + + ~AsciiInfoDialog() + { + delete ui; + } + +private: + Ui::AsciiInfoDialog *ui; +}; + +#endif // ASCIIINFODIALOG_H diff --git a/src/ui/widgets/asciiinfodialog.ui b/src/ui/widgets/asciiinfodialog.ui new file mode 100644 index 0000000..6c4e3c8 --- /dev/null +++ b/src/ui/widgets/asciiinfodialog.ui @@ -0,0 +1,4937 @@ + + + AsciiInfoDialog + + + + 0 + 0 + 705 + 665 + + + + ASCII and Apple Character Set Values + + + + + + QAbstractItemView::NoEditTriggers + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectItems + + + false + + + false + + + + 0 + + + + 75 + true + + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 10 + + + + + 11 + + + + + 12 + + + + + 13 + + + + + 14 + + + + + 15 + + + + + 16 + + + + + 17 + + + + + 18 + + + + + 20 + + + + + 1 + + + + + 21 + + + + + 22 + + + + + 23 + + + + + 24 + + + + + 25 + + + + + 26 + + + + + 27 + + + + + 28 + + + + + 29 + + + + + 30 + + + + + 31 + + + + + 32 + + + + + 33 + + + + + 34 + + + + + 35 + + + + + 36 + + + + + 37 + + + + + 38 + + + + + 39 + + + + + 40 + + + + + 41 + + + + + 42 + + + + + 43 + + + + + 44 + + + + + 45 + + + + + 46 + + + + + 47 + + + + + 48 + + + + + 49 + + + + + 50 + + + + + 51 + + + + + 52 + + + + + 53 + + + + + 54 + + + + + 55 + + + + + 56 + + + + + 57 + + + + + 58 + + + + + 59 + + + + + 60 + + + + + 61 + + + + + 62 + + + + + 63 + + + + + Dec + + + + + Hex + + + + + ASCII + + + + + A2 + + + AlignLeading|AlignVCenter + + + + + Set + + + + + Dec + + + + + Hex + + + + + ASCII + + + + + A2 + + + + + Set + + + + + Dec + + + + + Hex + + + + + A2 + + + + + Set + + + + + 0 + + + + + 00 + + + + + NUL (^@) + + + + + @ + + + + + INVERSE + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 64 + + + + + 40 + + + + + @ + + + + + @ + + + + + FLASH + + + + + 128/192 + + + + + 80/C0 + + + + + @ + + + + + NORM + + + + + 1 + + + + + 01 + + + + + SOH (^A) + + + + + A + + + + + INVERSE + + + + + 65 + + + + + 41 + + + + + A + + + + + A + + + + + FLASH + + + + + 129/193 + + + + + 81/C1 + + + + + A + + + + + NORM + + + + + 2 + + + + + 02 + + + + + STX (^B) + + + + + B + + + + + INVERSE + + + + + 66 + + + + + 42 + + + + + B + + + + + B + + + + + FLASH + + + + + 130/194 + + + + + 82/C2 + + + + + B + + + + + NORM + + + + + 3 + + + + + 03 + + + + + ETX (^C) + + + + + C + + + + + INVERSE + + + + + 67 + + + + + 43 + + + + + C + + + + + C + + + + + FLASH + + + + + 131/195 + + + + + 83/C3 + + + + + C + + + + + NORM + + + + + 4 + + + + + 04 + + + + + EOT (^D) + + + + + D + + + + + INVERSE + + + + + 68 + + + + + 44 + + + + + D + + + + + D + + + + + FLASH + + + + + 132/196 + + + + + 84/C4 + + + + + D + + + + + NORM + + + + + 5 + + + + + 05 + + + + + ENQ (^E) + + + + + E + + + + + INVERSE + + + + + 69 + + + + + 45 + + + + + E + + + + + E + + + + + FLASH + + + + + 133/197 + + + + + 85/C5 + + + + + E + + + + + NORM + + + + + 6 + + + + + 06 + + + + + ACK (^F) + + + + + F + + + + + INVERSE + + + + + 70 + + + + + 46 + + + + + F + + + + + F + + + + + FLASH + + + + + 134/198 + + + + + 86/C6 + + + + + F + + + + + NORM + + + + + 7 + + + + + 07 + + + + + BEL (^G) + + + + + G + + + + + INVERSE + + + + + 71 + + + + + 47 + + + + + G + + + + + G + + + + + FLASH + + + + + 135/199 + + + + + 87/C7 + + + + + G + + + + + NORM + + + + + 8 + + + + + 08 + + + + + BS (^H) + + + + + H + + + + + INVERSE + + + + + 72 + + + + + 48 + + + + + H + + + + + H + + + + + FLASH + + + + + 136/200 + + + + + 88/C8 + + + + + H + + + + + NORM + + + + + 9 + + + + + 09 + + + + + HT (^I) + + + + + I + + + + + INVERSE + + + + + 73 + + + + + 49 + + + + + I + + + + + I + + + + + FLASH + + + + + 137/201 + + + + + 89/C9 + + + + + I + + + + + NORM + + + + + 10 + + + + + 0A + + + + + LF (^J) + + + + + J + + + + + INVERSE + + + + + 74 + + + + + 4A + + + + + J + + + + + J + + + + + FLASH + + + + + 138/202 + + + + + 8A/CA + + + + + J + + + + + NORM + + + + + 11 + + + + + 0B + + + + + VT (^K) + + + + + K + + + + + INVERSE + + + + + 75 + + + + + 4B + + + + + K + + + + + K + + + + + FLASH + + + + + 139/203 + + + + + 8B/CB + + + + + K + + + + + NORM + + + + + 12 + + + + + 0C + + + + + FF (^L) + + + + + L + + + + + INVERSE + + + + + 76 + + + + + 4C + + + + + L + + + + + L + + + + + FLASH + + + + + 140/204 + + + + + 8C/CC + + + + + L + + + + + NORM + + + + + 13 + + + + + 0D + + + + + CR (^M) + + + + + M + + + + + INVERSE + + + + + 77 + + + + + 4D + + + + + M + + + + + M + + + + + FLASH + + + + + 141/205 + + + + + 8D/CD + + + + + M + + + + + NORM + + + + + 14 + + + + + 0E + + + + + SO (^N) + + + + + N + + + + + INVERSE + + + + + 78 + + + + + 4E + + + + + N + + + + + N + + + + + FLASH + + + + + 142/206 + + + + + 8E/CE + + + + + N + + + + + NORM + + + + + 15 + + + + + 0F + + + + + SI (^O) + + + + + O + + + + + INVERSE + + + + + 79 + + + + + 4F + + + + + O + + + + + O + + + + + FLASH + + + + + 143/207 + + + + + 8F/CF + + + + + O + + + + + NORM + + + + + 16 + + + + + 10 + + + + + DLE (^P) + + + + + P + + + + + INVERSE + + + + + 80 + + + + + 50 + + + + + P + + + + + P + + + + + FLASH + + + + + 144/208 + + + + + 90/D0 + + + + + P + + + + + NORM + + + + + 17 + + + + + 11 + + + + + DC1 (^Q) + + + + + Q + + + + + INVERSE + + + + + 81 + + + + + 51 + + + + + Q + + + + + Q + + + + + FLASH + + + + + 145/209 + + + + + 91/D1 + + + + + Q + + + + + NORM + + + + + 18 + + + + + 12 + + + + + DC2 (^R) + + + + + R + + + + + INVERSE + + + + + 82 + + + + + 52 + + + + + R + + + + + R + + + + + FLASH + + + + + 146/210 + + + + + 92/D2 + + + + + R + + + + + NORM + + + + + 19 + + + + + 13 + + + + + DC3 (^S) + + + + + S + + + + + INVERSE + + + + + 83 + + + + + 53 + + + + + S + + + + + S + + + + + FLASH + + + + + 147/211 + + + + + 93/D3 + + + + + S + + + + + NORM + + + + + 20 + + + + + 14 + + + + + DC4 (^T) + + + + + T + + + + + INVERSE + + + + + 84 + + + + + 54 + + + + + T + + + + + T + + + + + FLASH + + + + + 148/212 + + + + + 94/D4 + + + + + T + + + + + NORM + + + + + 21 + + + + + 15 + + + + + NAK (^U) + + + + + Y + + + + + INVERSE + + + + + 85 + + + + + 55 + + + + + U + + + + + U + + + + + FLASH + + + + + 149/213 + + + + + 95/D5 + + + + + U + + + + + NORM + + + + + 22 + + + + + 16 + + + + + SYN (^V) + + + + + V + + + + + INVERSE + + + + + 86 + + + + + 56 + + + + + V + + + + + V + + + + + FLASH + + + + + 150/214 + + + + + 96/D6 + + + + + V + + + + + NORM + + + + + 23 + + + + + 17 + + + + + ETB (^W) + + + + + W + + + + + INVERSE + + + + + 87 + + + + + 57 + + + + + W + + + + + W + + + + + FLASH + + + + + 151/215 + + + + + 97/D7 + + + + + W + + + + + NORM + + + + + 24 + + + + + 18 + + + + + CAN (^X) + + + + + X + + + + + INVERSE + + + + + 88 + + + + + 58 + + + + + X + + + + + X + + + + + FLASH + + + + + 152/216 + + + + + 96/D8 + + + + + X + + + + + NORM + + + + + 25 + + + + + 19 + + + + + EM (^Y) + + + + + Y + + + + + INVERSE + + + + + 89 + + + + + 59 + + + + + Y + + + + + Y + + + + + FLASH + + + + + 153/217 + + + + + 99/D9 + + + + + Y + + + + + NORM + + + + + 26 + + + + + 1A + + + + + SUB (^Z) + + + + + Z + + + + + INVERSE + + + + + 90 + + + + + 5A + + + + + Z + + + + + Z + + + + + FLASH + + + + + 154/218 + + + + + 9A/DA + + + + + Z + + + + + NORM + + + + + 27 + + + + + 1B + + + + + ESC (^[) + + + + + [ + + + + + INVERSE + + + + + 91 + + + + + 5B + + + + + [ + + + + + [ + + + + + FLASH + + + + + 155/219 + + + + + 9B/DB + + + + + [ + + + + + NORM + + + + + 28 + + + + + 1C + + + + + FS (^\) + + + + + \ + + + + + INVERSE + + + + + 92 + + + + + 5C + + + + + \ + + + + + \ + + + + + FLASH + + + + + 156/220 + + + + + 9C/DC + + + + + \ + + + + + NORM + + + + + 29 + + + + + 1D + + + + + GS (^]) + + + + + ] + + + + + INVERSE + + + + + 93 + + + + + 5D + + + + + ] + + + + + ] + + + + + FLASH + + + + + 157/221 + + + + + 9D/DD + + + + + ] + + + + + NORM + + + + + 30 + + + + + 1E + + + + + RS (^^) + + + + + ^ + + + + + INVERSE + + + + + 94 + + + + + 5E + + + + + ^ + + + + + ^ + + + + + FLASH + + + + + 158/222 + + + + + 9E/DE + + + + + ^ + + + + + NORM + + + + + 31 + + + + + 1F + + + + + US (^_) + + + + + _ + + + + + INVERSE + + + + + 95 + + + + + 5F + + + + + _ + + + + + _ + + + + + FLASH + + + + + 159/223 + + + + + 9F/DF + + + + + _ + + + + + NORM + + + + + 32 + + + + + 20 + + + + + Space + + + + + Space + + + + + INVERSE + + + + + 96 + + + + + 60 + + + + + ` + + + + + Space + + + + + FLASH + + + + + 160/224 + + + + + A0/E0 + + + + + Space + + + + + NORM + + + + + 33 + + + + + 21 + + + + + ! + + + + + ! + + + + + INVERSE + + + + + 97 + + + + + 61 + + + + + a + + + + + ! + + + + + FLASH + + + + + 161/225 + + + + + A1/E1 + + + + + ! + + + + + NORM + + + + + 34 + + + + + 22 + + + + + " + + + + + " + + + + + INVERSE + + + + + 98 + + + + + 62 + + + + + b + + + + + " + + + + + FLASH + + + + + 162/226 + + + + + A2/E2 + + + + + " + + + + + NORM + + + + + 35 + + + + + 23 + + + + + # + + + + + # + + + + + INVERSE + + + + + 99 + + + + + 63 + + + + + c + + + + + # + + + + + FLASH + + + + + 163/227 + + + + + A3/E3 + + + + + # + + + + + NORM + + + + + 36 + + + + + 24 + + + + + $ + + + + + $ + + + + + INVERSE + + + + + 100 + + + + + 64 + + + + + d + + + + + $ + + + + + FLASH + + + + + 164/228 + + + + + A4/E4 + + + + + $ + + + + + NORM + + + + + 37 + + + + + 25 + + + + + % + + + + + % + + + + + INVERSE + + + + + 101 + + + + + 65 + + + + + e + + + + + % + + + + + FLASH + + + + + 165/229 + + + + + A5/E5 + + + + + % + + + + + NORM + + + + + 38 + + + + + 26 + + + + + & + + + + + & + + + + + INVERSE + + + + + 102 + + + + + 66 + + + + + f + + + + + & + + + + + FLASH + + + + + 166/230 + + + + + A6/E6 + + + + + & + + + + + NORM + + + + + 39 + + + + + 27 + + + + + ' + + + + + ' + + + + + INVERSE + + + + + 103 + + + + + 67 + + + + + g + + + + + ' + + + + + FLASH + + + + + 167/231 + + + + + A7/E7 + + + + + ' + + + + + NORM + + + + + 40 + + + + + 28 + + + + + ( + + + + + ( + + + + + INVERSE + + + + + 104 + + + + + 68 + + + + + h + + + + + ( + + + + + FLASH + + + + + 168/232 + + + + + A8/E8 + + + + + ( + + + + + NORM + + + + + 41 + + + + + 29 + + + + + ) + + + + + ) + + + + + INVERSE + + + + + 105 + + + + + 69 + + + + + i + + + + + ) + + + + + FLASH + + + + + 169/233 + + + + + A9/E9 + + + + + ) + + + + + NORM + + + + + 42 + + + + + 2A + + + + + * + + + + + * + + + + + INVERSE + + + + + 106 + + + + + 6A + + + + + j + + + + + * + + + + + FLASH + + + + + 170/234 + + + + + AA/EA + + + + + * + + + + + NORM + + + + + 43 + + + + + 2B + + + + + + + + + + + + + + + + + INVERSE + + + + + 107 + + + + + 6B + + + + + k + + + + + + + + + + + FLASH + + + + + 171/235 + + + + + AB/EB + + + + + + + + + + + NORM + + + + + 44 + + + + + 2C + + + + + , + + + + + , + + + + + INVERSE + + + + + 108 + + + + + 6C + + + + + l + + + + + , + + + + + FLASH + + + + + 172/236 + + + + + AC/EC + + + + + , + + + + + NORM + + + + + 45 + + + + + 2D + + + + + - + + + + + - + + + + + INVERSE + + + + + 109 + + + + + 6D + + + + + m + + + + + - + + + + + FLASH + + + + + 173/237 + + + + + AD/ED + + + + + - + + + + + NORM + + + + + 46 + + + + + 2E + + + + + . + + + + + . + + + + + INVERSE + + + + + 110 + + + + + 6E + + + + + n + + + + + . + + + + + FLASH + + + + + 174/238 + + + + + AE/EE + + + + + . + + + + + NORM + + + + + 47 + + + + + 2F + + + + + / + + + + + / + + + + + INVERSE + + + + + 111 + + + + + 6F + + + + + o + + + + + / + + + + + FLASH + + + + + 175/239 + + + + + AF/EF + + + + + / + + + + + NORM + + + + + 48 + + + + + 30 + + + + + 0 + + + + + 0 + + + + + INVERSE + + + + + 112 + + + + + 70 + + + + + p + + + + + 0 + + + + + FLASH + + + + + 176/240 + + + + + B0/F0 + + + + + 0 + + + + + NORM + + + + + 49 + + + + + 31 + + + + + 1 + + + + + 1 + + + + + INVERSE + + + + + 113 + + + + + 71 + + + + + q + + + + + 1 + + + + + FLASH + + + + + 177/241 + + + + + B1/F1 + + + + + 1 + + + + + NORM + + + + + 50 + + + + + 32 + + + + + 2 + + + + + 2 + + + + + INVERSE + + + + + 114 + + + + + 72 + + + + + r + + + + + 2 + + + + + FLASH + + + + + 178/242 + + + + + B2/F2 + + + + + 2 + + + + + NORM + + + + + 51 + + + + + 33 + + + + + 3 + + + + + 3 + + + + + INVERSE + + + + + 115 + + + + + 73 + + + + + s + + + + + 3 + + + + + FLASH + + + + + 179/243 + + + + + B3/F3 + + + + + 3 + + + + + NORM + + + + + 52 + + + + + 34 + + + + + 4 + + + + + 4 + + + + + INVERSE + + + + + 116 + + + + + 74 + + + + + t + + + + + 4 + + + + + FLASH + + + + + 180/244 + + + + + B4/F4 + + + + + 4 + + + + + NORM + + + + + 53 + + + + + 35 + + + + + 5 + + + + + 5 + + + + + INVERSE + + + + + 117 + + + + + 75 + + + + + u + + + + + 5 + + + + + FLASH + + + + + 181/245 + + + + + B5/F5 + + + + + 5 + + + + + NORM + + + + + 54 + + + + + 36 + + + + + 6 + + + + + 6 + + + + + INVERSE + + + + + 118 + + + + + 76 + + + + + v + + + + + 6 + + + + + FLASH + + + + + 182/246 + + + + + B6/F6 + + + + + 6 + + + + + NORM + + + + + 55 + + + + + 37 + + + + + 7 + + + + + 7 + + + + + INVERSE + + + + + 119 + + + + + 77 + + + + + w + + + + + 7 + + + + + FLASH + + + + + 183/247 + + + + + B7/F7 + + + + + 7 + + + + + NORM + + + + + 56 + + + + + 38 + + + + + 8 + + + + + 8 + + + + + INVERSE + + + + + 120 + + + + + 78 + + + + + x + + + + + 8 + + + + + FLASH + + + + + 184/248 + + + + + B8/F8 + + + + + 8 + + + + + NORM + + + + + 57 + + + + + 39 + + + + + 9 + + + + + 9 + + + + + INVERSE + + + + + 121 + + + + + 79 + + + + + y + + + + + 9 + + + + + FLASH + + + + + 185/249 + + + + + B9/F9 + + + + + 9 + + + + + NORM + + + + + 58 + + + + + 3A + + + + + : + + + + + : + + + + + INVERSE + + + + + 122 + + + + + 7A + + + + + z + + + + + : + + + + + FLASH + + + + + 186/250 + + + + + BA/FA + + + + + : + + + + + NORM + + + + + 59 + + + + + 3B + + + + + ; + + + + + ; + + + + + INVERSE + + + + + 123 + + + + + 7B + + + + + { + + + + + ; + + + + + FLASH + + + + + 187/251 + + + + + BB/FB + + + + + ; + + + + + NORM + + + + + 60 + + + + + 3C + + + + + < + + + + + < + + + + + INVERSE + + + + + 124 + + + + + 7C + + + + + | + + + + + < + + + + + FLASH + + + + + 188/252 + + + + + BC/FC + + + + + < + + + + + NORM + + + + + 61 + + + + + 3D + + + + + = + + + + + = + + + + + INVERSE + + + + + 125 + + + + + 7D + + + + + } + + + + + = + + + + + FLASH + + + + + 189/253 + + + + + BD/FD + + + + + = + + + + + NORM + + + + + 62 + + + + + 3E + + + + + > + + + + + > + + + + + INVERSE + + + + + 126 + + + + + 7E + + + + + ~ + + + + + > + + + + + FLASH + + + + + 190/254 + + + + + BE/FE + + + + + > + + + + + NORM + + + + + 63 + + + + + 3F + + + + + ? + + + + + ? + + + + + INVERSE + + + + + 127 + + + + + 7F + + + + + DEL + + + + + ? + + + + + FLASH + + + + + 191/255 + + + + + BF/FF + + + + + ? + + + + + NORM + + + + + + + + + diff --git a/src/ui/widgets/hexconverter.cpp b/src/ui/widgets/hexconverter.cpp index 288b944..5a9cf70 100644 --- a/src/ui/widgets/hexconverter.cpp +++ b/src/ui/widgets/hexconverter.cpp @@ -13,11 +13,11 @@ HexConverter::HexConverter(QWidget *parent) : ui->uint16LineEdit->setValidator(new QIntValidator(0,65535,this)); ui->int16LineEdit->setValidator(new QIntValidator(-32768,32767,this)); - connect(ui->hexLineEdit, SIGNAL(textEdited(QString)), SLOT(calcFromNewHex(QString))); - connect(ui->uint8LineEdit, SIGNAL(textEdited(QString)), SLOT(calcFromNewUint8(QString))); - connect(ui->int8LineEdit, SIGNAL(textEdited(QString)), SLOT(calcFromNewInt8(QString))); - connect(ui->uint16LineEdit, SIGNAL(textEdited(QString)), SLOT(calcFromNewUint16(QString))); - connect(ui->int16LineEdit, SIGNAL(textEdited(QString)), SLOT(calcFromNewInt16(QString))); + connect(ui->hexLineEdit, &QLineEdit::textEdited, this, &HexConverter::calcFromNewHex); + connect(ui->uint8LineEdit, &QLineEdit::textEdited, this, &HexConverter::calcFromNewUint8); + connect(ui->int8LineEdit, &QLineEdit::textEdited, this, &HexConverter::calcFromNewInt8); + connect(ui->uint16LineEdit, &QLineEdit::textEdited, this, &HexConverter::calcFromNewUint16); + connect(ui->int16LineEdit, &QLineEdit::textEdited, this, &HexConverter::calcFromNewInt16); } HexConverter::~HexConverter()