URL
https://opencores.org/ocsvn/thor/thor/trunk
Subversion Repositories thor
Compare Revisions
- This comparison shows the changes necessary to convert path
/thor/trunk
- from Rev 34 to Rev 35
- ↔ Reverse comparison
Rev 34 → Rev 35
/software/emuThor/source/clsDevice.h
1,6 → 1,11
#pragma once |
|
// Generic system device |
// |
// Base class for devices in the system. This is a more or less |
// abstract class with suggested methods to be provided in |
// derivatives. Default methods are provided in case the derived |
// device class is read-only or write-only. |
|
class clsDevice |
{ |
/software/emuThor/source/frmRegisters.resx
117,4 → 117,31
<resheader name="writer"> |
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
</resheader> |
<metadata name="toolTipC12.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>17, 17</value> |
</metadata> |
<metadata name="toolTipC14.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>128, 17</value> |
</metadata> |
<metadata name="toolTipC1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>239, 17</value> |
</metadata> |
<metadata name="toolTipR31.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>343, 17</value> |
</metadata> |
<metadata name="toolTipR30.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>454, 17</value> |
</metadata> |
<metadata name="toolTipR29.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>565, 17</value> |
</metadata> |
<metadata name="toolTipR28.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>676, 17</value> |
</metadata> |
<metadata name="toolTipC8.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>787, 17</value> |
</metadata> |
<metadata name="toolTipR0.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>891, 17</value> |
</metadata> |
</root> |
/software/emuThor/source/frmRun.h
0,0 → 1,719
#pragma once |
#include <math.h> |
#include "fmrFreeRun.h" |
#include "clsDisassem.h" |
|
extern clsDisassem da; |
extern bool isRunning; |
extern bool quit; |
extern bool stepout, stepover; |
extern unsigned int step_depth, stepover_depth; |
extern unsigned int stepoverBkpt; |
extern unsigned int stepover_pc; |
extern bool animate; |
extern bool fullspeed; |
extern bool runstop; |
extern bool runClosed; |
|
namespace emuThor { |
|
using namespace System; |
using namespace System::ComponentModel; |
using namespace System::Collections; |
using namespace System::Windows::Forms; |
using namespace System::Data; |
using namespace System::Drawing; |
using namespace System::Threading; |
using namespace System::Diagnostics; |
|
/// <summary> |
/// Summary for frmRun |
/// </summary> |
public ref class frmRun : public System::Windows::Forms::Form |
{ |
public: |
frmRun(Mutex^ m) |
{ |
InitializeComponent(); |
// |
//TODO: Add the constructor code here |
// |
mut = m; |
stopwatch = gcnew Stopwatch; |
InitializeBackgroundWorker(); |
toolTipMHz->SetToolTip(lblMHz,"Shows an estimate of the frequency of operation\n of the emulator compared to the FPGA version."); |
} |
|
protected: |
/// <summary> |
/// Clean up any resources being used. |
/// </summary> |
~frmRun() |
{ |
if (components) |
{ |
delete components; |
} |
} |
private: System::Windows::Forms::TrackBar^ trackBar1; |
protected: |
private: System::Windows::Forms::ListBox^ listBoxCode; |
private: System::Windows::Forms::ListBox^ listBoxBytes; |
private: System::Windows::Forms::ListBox^ listBoxAdr; |
private: System::Windows::Forms::ToolStrip^ toolStrip1; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton1; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton2; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton3; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton4; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton5; |
|
|
private: System::Windows::Forms::ToolStripButton^ toolStripButton8; |
private: Mutex^ mut; |
private: Stopwatch^ stopwatch; |
private: __int64 startTick, stopTick; |
private: System::Windows::Forms::MenuStrip^ menuStrip1; |
|
private: System::Windows::Forms::ToolStripMenuItem^ stepOverToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ stepOutToolStripMenuItem; |
|
private: System::Windows::Forms::ToolStripMenuItem^ stopToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ resetToolStripMenuItem; |
private: System::Windows::Forms::Timer^ timer1; |
private: System::Windows::Forms::ToolStripMenuItem^ animateToolStripMenuItem; |
private: System::Windows::Forms::Label^ label1; |
private: System::Windows::Forms::ProgressBar^ progressBar1; |
private: System::Windows::Forms::NumericUpDown^ numSteps; |
|
private: System::Windows::Forms::Label^ label2; |
private: System::Windows::Forms::Button^ button1; |
private: System::ComponentModel::BackgroundWorker^ backgroundWorker1; |
private: System::Windows::Forms::Button^ button2; |
private: System::Windows::Forms::Label^ label3; |
private: System::Windows::Forms::ToolStripMenuItem^ stepIntoToolStripMenuItem; |
private: System::Windows::Forms::Label^ lblMHz; |
private: System::Windows::Forms::ToolTip^ toolTipMHz; |
|
private: System::ComponentModel::IContainer^ components; |
|
private: |
/// <summary> |
/// Required designer variable. |
/// </summary> |
|
|
#pragma region Windows Form Designer generated code |
/// <summary> |
/// Required method for Designer support - do not modify |
/// the contents of this method with the code editor. |
/// </summary> |
void InitializeComponent(void) |
{ |
this->components = (gcnew System::ComponentModel::Container()); |
System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(frmRun::typeid)); |
this->trackBar1 = (gcnew System::Windows::Forms::TrackBar()); |
this->listBoxCode = (gcnew System::Windows::Forms::ListBox()); |
this->listBoxBytes = (gcnew System::Windows::Forms::ListBox()); |
this->listBoxAdr = (gcnew System::Windows::Forms::ListBox()); |
this->toolStrip1 = (gcnew System::Windows::Forms::ToolStrip()); |
this->toolStripButton1 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton2 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton3 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton4 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton5 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton8 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip()); |
this->stepIntoToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->stepOverToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->stepOutToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->animateToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->stopToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->resetToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->timer1 = (gcnew System::Windows::Forms::Timer(this->components)); |
this->label1 = (gcnew System::Windows::Forms::Label()); |
this->progressBar1 = (gcnew System::Windows::Forms::ProgressBar()); |
this->numSteps = (gcnew System::Windows::Forms::NumericUpDown()); |
this->label2 = (gcnew System::Windows::Forms::Label()); |
this->button1 = (gcnew System::Windows::Forms::Button()); |
this->backgroundWorker1 = (gcnew System::ComponentModel::BackgroundWorker()); |
this->button2 = (gcnew System::Windows::Forms::Button()); |
this->label3 = (gcnew System::Windows::Forms::Label()); |
this->lblMHz = (gcnew System::Windows::Forms::Label()); |
this->toolTipMHz = (gcnew System::Windows::Forms::ToolTip(this->components)); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->trackBar1))->BeginInit(); |
this->toolStrip1->SuspendLayout(); |
this->menuStrip1->SuspendLayout(); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->numSteps))->BeginInit(); |
this->SuspendLayout(); |
// |
// trackBar1 |
// |
this->trackBar1->Location = System::Drawing::Point(565, 63); |
this->trackBar1->Maximum = 12; |
this->trackBar1->Name = L"trackBar1"; |
this->trackBar1->Size = System::Drawing::Size(137, 45); |
this->trackBar1->TabIndex = 12; |
this->trackBar1->TickStyle = System::Windows::Forms::TickStyle::TopLeft; |
this->trackBar1->Value = 7; |
this->trackBar1->Scroll += gcnew System::EventHandler(this, &frmRun::trackBar1_Scroll); |
// |
// listBoxCode |
// |
this->listBoxCode->FormattingEnabled = true; |
this->listBoxCode->Location = System::Drawing::Point(232, 63); |
this->listBoxCode->Name = L"listBoxCode"; |
this->listBoxCode->Size = System::Drawing::Size(327, 433); |
this->listBoxCode->TabIndex = 11; |
// |
// listBoxBytes |
// |
this->listBoxBytes->FormattingEnabled = true; |
this->listBoxBytes->Location = System::Drawing::Point(85, 63); |
this->listBoxBytes->Name = L"listBoxBytes"; |
this->listBoxBytes->Size = System::Drawing::Size(141, 433); |
this->listBoxBytes->TabIndex = 10; |
// |
// listBoxAdr |
// |
this->listBoxAdr->FormattingEnabled = true; |
this->listBoxAdr->Location = System::Drawing::Point(8, 63); |
this->listBoxAdr->Name = L"listBoxAdr"; |
this->listBoxAdr->Size = System::Drawing::Size(71, 433); |
this->listBoxAdr->TabIndex = 9; |
// |
// toolStrip1 |
// |
this->toolStrip1->Dock = System::Windows::Forms::DockStyle::None; |
this->toolStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(6) {this->toolStripButton1, |
this->toolStripButton2, this->toolStripButton3, this->toolStripButton4, this->toolStripButton5, this->toolStripButton8}); |
this->toolStrip1->Location = System::Drawing::Point(9, 35); |
this->toolStrip1->Name = L"toolStrip1"; |
this->toolStrip1->Size = System::Drawing::Size(150, 25); |
this->toolStrip1->TabIndex = 13; |
this->toolStrip1->Text = L"toolStrip1"; |
// |
// toolStripButton1 |
// |
this->toolStripButton1->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton1->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton1.Image"))); |
this->toolStripButton1->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton1->Name = L"toolStripButton1"; |
this->toolStripButton1->Size = System::Drawing::Size(23, 22); |
this->toolStripButton1->Text = L"Step Into"; |
this->toolStripButton1->Click += gcnew System::EventHandler(this, &frmRun::toolStripButton1_Click); |
// |
// toolStripButton2 |
// |
this->toolStripButton2->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton2->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton2.Image"))); |
this->toolStripButton2->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton2->Name = L"toolStripButton2"; |
this->toolStripButton2->Size = System::Drawing::Size(23, 22); |
this->toolStripButton2->Text = L"Step Over (Bounce)"; |
this->toolStripButton2->Click += gcnew System::EventHandler(this, &frmRun::toolStripButton2_Click); |
// |
// toolStripButton3 |
// |
this->toolStripButton3->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton3->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton3.Image"))); |
this->toolStripButton3->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton3->Name = L"toolStripButton3"; |
this->toolStripButton3->Size = System::Drawing::Size(23, 22); |
this->toolStripButton3->Text = L"Step Out Of"; |
this->toolStripButton3->Click += gcnew System::EventHandler(this, &frmRun::toolStripButton3_Click); |
// |
// toolStripButton4 |
// |
this->toolStripButton4->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton4->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton4.Image"))); |
this->toolStripButton4->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton4->Name = L"toolStripButton4"; |
this->toolStripButton4->Size = System::Drawing::Size(23, 22); |
this->toolStripButton4->Text = L"Run"; |
this->toolStripButton4->Click += gcnew System::EventHandler(this, &frmRun::toolStripButton4_Click); |
// |
// toolStripButton5 |
// |
this->toolStripButton5->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton5->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton5.Image"))); |
this->toolStripButton5->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton5->Name = L"toolStripButton5"; |
this->toolStripButton5->Size = System::Drawing::Size(23, 22); |
this->toolStripButton5->Text = L"Stop"; |
this->toolStripButton5->Click += gcnew System::EventHandler(this, &frmRun::toolStripButton5_Click); |
// |
// toolStripButton8 |
// |
this->toolStripButton8->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton8->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton8.Image"))); |
this->toolStripButton8->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton8->Name = L"toolStripButton8"; |
this->toolStripButton8->Size = System::Drawing::Size(23, 22); |
this->toolStripButton8->Text = L"Reset Button"; |
this->toolStripButton8->Click += gcnew System::EventHandler(this, &frmRun::toolStripButton8_Click); |
// |
// menuStrip1 |
// |
this->menuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(6) {this->stepIntoToolStripMenuItem, |
this->stepOverToolStripMenuItem, this->stepOutToolStripMenuItem, this->animateToolStripMenuItem, this->stopToolStripMenuItem, |
this->resetToolStripMenuItem}); |
this->menuStrip1->Location = System::Drawing::Point(0, 0); |
this->menuStrip1->Name = L"menuStrip1"; |
this->menuStrip1->Size = System::Drawing::Size(741, 24); |
this->menuStrip1->TabIndex = 14; |
this->menuStrip1->Text = L"menuStrip1"; |
this->menuStrip1->ItemClicked += gcnew System::Windows::Forms::ToolStripItemClickedEventHandler(this, &frmRun::menuStrip1_ItemClicked); |
// |
// stepIntoToolStripMenuItem |
// |
this->stepIntoToolStripMenuItem->Name = L"stepIntoToolStripMenuItem"; |
this->stepIntoToolStripMenuItem->Size = System::Drawing::Size(66, 20); |
this->stepIntoToolStripMenuItem->Text = L"Step I&nto"; |
this->stepIntoToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmRun::stepIntoToolStripMenuItem_Click); |
// |
// stepOverToolStripMenuItem |
// |
this->stepOverToolStripMenuItem->Name = L"stepOverToolStripMenuItem"; |
this->stepOverToolStripMenuItem->Size = System::Drawing::Size(70, 20); |
this->stepOverToolStripMenuItem->Text = L"Step &Over"; |
this->stepOverToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmRun::stepOverToolStripMenuItem_Click); |
// |
// stepOutToolStripMenuItem |
// |
this->stepOutToolStripMenuItem->Name = L"stepOutToolStripMenuItem"; |
this->stepOutToolStripMenuItem->Size = System::Drawing::Size(65, 20); |
this->stepOutToolStripMenuItem->Text = L"Step Ou&t"; |
this->stepOutToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmRun::stepOutToolStripMenuItem_Click); |
// |
// animateToolStripMenuItem |
// |
this->animateToolStripMenuItem->Name = L"animateToolStripMenuItem"; |
this->animateToolStripMenuItem->Size = System::Drawing::Size(64, 20); |
this->animateToolStripMenuItem->Text = L"&Animate"; |
this->animateToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmRun::animateToolStripMenuItem_Click); |
// |
// stopToolStripMenuItem |
// |
this->stopToolStripMenuItem->Name = L"stopToolStripMenuItem"; |
this->stopToolStripMenuItem->Size = System::Drawing::Size(43, 20); |
this->stopToolStripMenuItem->Text = L"&Stop"; |
this->stopToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmRun::stopToolStripMenuItem_Click); |
// |
// resetToolStripMenuItem |
// |
this->resetToolStripMenuItem->Name = L"resetToolStripMenuItem"; |
this->resetToolStripMenuItem->Size = System::Drawing::Size(47, 20); |
this->resetToolStripMenuItem->Text = L"&Reset"; |
this->resetToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmRun::resetToolStripMenuItem_Click); |
// |
// timer1 |
// |
this->timer1->Tick += gcnew System::EventHandler(this, &frmRun::timer1_Tick); |
// |
// label1 |
// |
this->label1->AutoSize = true; |
this->label1->Location = System::Drawing::Point(568, 38); |
this->label1->Name = L"label1"; |
this->label1->Size = System::Drawing::Size(79, 13); |
this->label1->TabIndex = 15; |
this->label1->Text = L"Animation Rate"; |
// |
// progressBar1 |
// |
this->progressBar1->Location = System::Drawing::Point(571, 231); |
this->progressBar1->Name = L"progressBar1"; |
this->progressBar1->Size = System::Drawing::Size(158, 23); |
this->progressBar1->TabIndex = 16; |
// |
// numSteps |
// |
this->numSteps->DecimalPlaces = 3; |
this->numSteps->Increment = System::Decimal(gcnew cli::array< System::Int32 >(4) {10, 0, 0, 0}); |
this->numSteps->Location = System::Drawing::Point(571, 177); |
this->numSteps->Maximum = System::Decimal(gcnew cli::array< System::Int32 >(4) {100000, 0, 0, 0}); |
this->numSteps->Name = L"numSteps"; |
this->numSteps->Size = System::Drawing::Size(120, 20); |
this->numSteps->TabIndex = 17; |
// |
// label2 |
// |
this->label2->AutoSize = true; |
this->label2->Location = System::Drawing::Point(568, 161); |
this->label2->Name = L"label2"; |
this->label2->Size = System::Drawing::Size(129, 13); |
this->label2->TabIndex = 18; |
this->label2->Text = L"Number of Steps (1,000\'s)"; |
// |
// button1 |
// |
this->button1->Location = System::Drawing::Point(571, 202); |
this->button1->Name = L"button1"; |
this->button1->Size = System::Drawing::Size(75, 23); |
this->button1->TabIndex = 19; |
this->button1->Text = L"Run"; |
this->button1->UseVisualStyleBackColor = true; |
this->button1->Click += gcnew System::EventHandler(this, &frmRun::button1_Click); |
// |
// backgroundWorker1 |
// |
this->backgroundWorker1->WorkerReportsProgress = true; |
this->backgroundWorker1->WorkerSupportsCancellation = true; |
// |
// button2 |
// |
this->button2->Location = System::Drawing::Point(652, 202); |
this->button2->Name = L"button2"; |
this->button2->Size = System::Drawing::Size(75, 23); |
this->button2->TabIndex = 20; |
this->button2->Text = L"Stop"; |
this->button2->UseVisualStyleBackColor = true; |
this->button2->Click += gcnew System::EventHandler(this, &frmRun::button2_Click); |
// |
// label3 |
// |
this->label3->AutoSize = true; |
this->label3->Location = System::Drawing::Point(571, 137); |
this->label3->Name = L"label3"; |
this->label3->Size = System::Drawing::Size(120, 13); |
this->label3->TabIndex = 21; |
this->label3->Text = L"Run at Maximum Speed"; |
// |
// lblMHz |
// |
this->lblMHz->AutoSize = true; |
this->lblMHz->Location = System::Drawing::Point(571, 266); |
this->lblMHz->Name = L"lblMHz"; |
this->lblMHz->Size = System::Drawing::Size(47, 13); |
this->lblMHz->TabIndex = 22; |
this->lblMHz->Text = L"0.0 MHz"; |
this->lblMHz->MouseHover += gcnew System::EventHandler(this, &frmRun::lblMHz_MouseHover); |
// |
// toolTipMHz |
// |
this->toolTipMHz->IsBalloon = true; |
// |
// frmRun |
// |
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); |
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; |
this->ClientSize = System::Drawing::Size(741, 501); |
this->Controls->Add(this->lblMHz); |
this->Controls->Add(this->label3); |
this->Controls->Add(this->button2); |
this->Controls->Add(this->button1); |
this->Controls->Add(this->label2); |
this->Controls->Add(this->numSteps); |
this->Controls->Add(this->progressBar1); |
this->Controls->Add(this->label1); |
this->Controls->Add(this->toolStrip1); |
this->Controls->Add(this->menuStrip1); |
this->Controls->Add(this->trackBar1); |
this->Controls->Add(this->listBoxCode); |
this->Controls->Add(this->listBoxBytes); |
this->Controls->Add(this->listBoxAdr); |
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedSingle; |
this->MainMenuStrip = this->menuStrip1; |
this->Name = L"frmRun"; |
this->Text = L"emuThor - Run"; |
this->WindowState = System::Windows::Forms::FormWindowState::Maximized; |
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &frmRun::frmRun_FormClosing); |
this->Load += gcnew System::EventHandler(this, &frmRun::frmRun_Load); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->trackBar1))->EndInit(); |
this->toolStrip1->ResumeLayout(false); |
this->toolStrip1->PerformLayout(); |
this->menuStrip1->ResumeLayout(false); |
this->menuStrip1->PerformLayout(); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->numSteps))->EndInit(); |
this->ResumeLayout(false); |
this->PerformLayout(); |
|
} |
#pragma endregion |
private: void InitializeBackgroundWorker() { |
backgroundWorker1->DoWork += gcnew DoWorkEventHandler(this, &frmRun::backgroundWorker1_DoWork); |
backgroundWorker1->RunWorkerCompleted += gcnew RunWorkerCompletedEventHandler(this, &frmRun::backgroundWorker1_RunWorkerCompleted); |
backgroundWorker1->ProgressChanged += gcnew ProgressChangedEventHandler(this, &frmRun::backgroundWorker1_ProgressChanged); |
} |
// Try and align the disassembled code with the current PC. |
private: int PCIsInList(int as) |
{ |
int nn, nb; |
std::string dstr; |
int ae; |
int ad = as; |
|
for (ad = as; ad > as-32; ad--) { |
ae = ad; |
for (nn = 0; nn < 64; nn++) { |
mut->WaitOne(); |
if (ae==system1.cpu2.pc) { |
mut->ReleaseMutex(); |
return ad; |
} |
mut->ReleaseMutex(); |
dstr = da.Disassem(ae,&nb); |
ae += nb; |
} |
} |
return as; |
} |
|
public: void UpdateListBoxes() |
{ |
int nn,nb,kk; |
char buf2[100]; |
std::string dstr; |
std::string buf; |
int adr[32]; |
int adf; |
int ad; |
|
mut->WaitOne(); |
ad = PCIsInList(system1.cpu2.pc-32); |
mut->ReleaseMutex(); |
listBoxAdr->Items->Clear(); |
listBoxBytes->Items->Clear(); |
listBoxCode->Items->Clear(); |
for (nn = 0; nn < 32; nn++) { |
adr[nn] = ad; |
sprintf(buf2,"%06X", ad); |
buf = std::string(buf2); |
this->listBoxAdr->Items->Add(gcnew String(buf.c_str())); |
dstr = da.Disassem(ad,&nb); |
buf2[0] = '\0'; |
for (kk = 0; kk < nb; kk++) { |
mut->WaitOne(); |
sprintf(&buf2[strlen(buf2)], "%02X ", system1.ReadByte(ad)); |
mut->ReleaseMutex(); |
ad++; |
} |
buf = std::string(buf2); |
this->listBoxBytes->Items->Add(gcnew String(buf.c_str())); |
this->listBoxCode->Items->Add(gcnew String(dstr.c_str())); |
} |
for (nn = 0; nn < 32; nn++) { |
mut->WaitOne(); |
adf = system1.cpu2.pc; |
mut->ReleaseMutex(); |
if (adr[nn]==adf) { |
this->listBoxAdr->SetSelected(nn,true); |
this->listBoxBytes->SetSelected(nn,true); |
this->listBoxCode->SetSelected(nn,true); |
} |
} |
} |
public: void DoStepInto() { |
// animate = false; |
// isRunning = false; |
char buf[100]; |
mut->WaitOne(); |
system1.Step(); |
mut->ReleaseMutex(); |
UpdateListBoxes(); |
// sprintf(buf, "%04X", system1.leds); |
// lblLEDS->Text = gcnew String(buf); |
// pictureBox1->Refresh(); |
} |
public: void DoStepOut() { |
int xx; |
mut->WaitOne(); |
step_depth = system1.cpu2.sub_depth; |
stepout = true; |
animate = false; |
fullspeed = true; |
isRunning = true; |
mut->ReleaseMutex(); |
int ticks = (int)(1000 * 1000); |
|
this->button1->Enabled = false; |
backgroundWorker1->RunWorkerAsync(ticks); |
this->button2->Enabled = true; |
progressBar1->Value = 0; |
//UpdateListBoxes(); |
//this->fullSpeedToolStripMenuItem->Checked = true; |
} |
public: void DoStepOver() { |
mut->WaitOne(); |
stepover_pc = system1.cpu2.pc; |
stepover_depth = system1.cpu2.sub_depth; |
stepover = true; |
animate = false; |
fullspeed = true; |
isRunning = true; |
mut->ReleaseMutex(); |
UpdateListBoxes(); |
// this->fullSpeedToolStripMenuItem->Checked = true; |
} |
public: void DoStopButton() { |
timer1->Enabled = false; |
mut->WaitOne(); |
animate = false; |
isRunning = false; |
// cpu2.brk = true; |
fullspeed = false; |
mut->ReleaseMutex(); |
UpdateListBoxes(); |
// this->fullSpeedToolStripMenuItem->Checked = false; |
// this->animateFastToolStripMenuItem->Checked = false; |
// this->timer1->Interval = 100; |
} |
private: void Reset() { |
int ad; |
mut->WaitOne(); |
system1.Reset(); |
ad = system1.cpu2.pc-32; |
mut->ReleaseMutex(); |
UpdateListBoxes(); |
} |
|
private: System::Void toolStripButton8_Click(System::Object^ sender, System::EventArgs^ e) { |
Reset(); |
} |
private: System::Void toolStripButton7_Click(System::Object^ sender, System::EventArgs^ e) { |
// frmBreakpoints^ form = gcnew frmBreakpoints(mut); |
// form->MdiParent = this->MdiParent; |
// form->ShowDialog(); |
} |
private: System::Void toolStripButton4_Click(System::Object^ sender, System::EventArgs^ e) { |
int xx; |
int ticks = (int)(this->numSteps->Value * 1000); |
|
this->button1->Enabled = false; |
backgroundWorker1->RunWorkerAsync(ticks); |
this->button2->Enabled = true; |
progressBar1->Value = 0; |
} |
private: System::Void toolStripButton1_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStepInto(); |
} |
private: System::Void toolStripButton5_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStopButton(); |
} |
private: System::Void toolStripButton2_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStepOver(); |
} |
private: System::Void stepToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStepInto(); |
} |
private: System::Void toolStripButton3_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStepOut(); |
} |
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) { |
static int tt = 0; |
|
mut->WaitOne(); |
system1.Step(); |
mut->ReleaseMutex(); |
|
if (this->timer1->Interval < 10) |
tt += 1; |
if (tt == 10 * this->timer1->Interval) { |
tt = 0; |
UpdateListBoxes(); |
} |
else |
UpdateListBoxes(); |
} |
private: System::Void animateToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
timer1->Enabled = true; |
timer1->Interval = (1<<(12-trackBar1->Value)); |
} |
private: System::Void trackBar1_Scroll(System::Object^ sender, System::EventArgs^ e) { |
timer1->Interval = (1<<(12-trackBar1->Value)); |
} |
private: System::Void menuStrip1_ItemClicked(System::Object^ sender, System::Windows::Forms::ToolStripItemClickedEventArgs^ e) { |
} |
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { |
int xx; |
int ticks = (int)(this->numSteps->Value * 1000); |
|
this->button1->Enabled = false; |
backgroundWorker1->RunWorkerAsync(ticks); |
this->button2->Enabled = true; |
progressBar1->Value = 0; |
} |
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { |
backgroundWorker1->CancelAsync(); |
this->button2->Enabled = false; |
} |
private: void backgroundWorker1_DoWork(Object^ sender, DoWorkEventArgs^ e) { |
int xx; |
BackgroundWorker^ worker = dynamic_cast<BackgroundWorker^>(sender); |
int div = safe_cast<Int32>(e->Argument) / 100; |
int percentComplete = 0; |
|
mut->WaitOne(); |
isRunning = true; |
stopwatch->Reset(); |
stopwatch->Start(); |
startTick = system1.cpu2.tick; |
mut->ReleaseMutex(); |
for (xx = 0; xx < safe_cast<Int32>(e->Argument) && isRunning; xx++) { |
if (worker->CancellationPending) { |
e->Cancel = true; |
xx = safe_cast<Int32>(e->Argument); |
} |
if (xx % div == 0) { |
worker->ReportProgress(percentComplete); |
percentComplete++; |
} |
mut->WaitOne(); |
system1.Run(); |
mut->ReleaseMutex(); |
} |
mut->WaitOne(); |
stopwatch->Stop(); |
stopTick = system1.cpu2.tick; |
isRunning = false; |
mut->ReleaseMutex(); |
e->Result = 0; |
} |
private: void backgroundWorker1_ProgressChanged(Object^ sender, ProgressChangedEventArgs^ e) { |
this->progressBar1->Value = e->ProgressPercentage; |
} |
private: void backgroundWorker1_RunWorkerCompleted( Object^ , RunWorkerCompletedEventArgs^ e) { |
char buf[100]; |
if (e->Error != nullptr) { |
MessageBox::Show(e->Error->Message); |
} |
else if (e->Cancelled) { |
/* possibly display cancelled message in a label */ |
} |
else { |
/* possibly display result status */ |
} |
__int64 elapsed = stopwatch->ElapsedMilliseconds; |
double MHz = ((double)(stopTick-startTick)/(double)elapsed)/(double)1000; |
sprintf(buf,"%3.3g MHz", MHz); |
this->lblMHz->Text = gcnew String(buf); |
this->button2->Enabled = false; |
this->button1->Enabled = true; |
this->progressBar1->Value = 0; |
this->UpdateListBoxes(); |
} |
private: System::Void frmRun_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { |
if (e->CloseReason==CloseReason::UserClosing) |
e->Cancel = true; |
} |
private: System::Void resetToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
Reset(); |
} |
private: System::Void stopToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStopButton(); |
} |
private: System::Void stepOverToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStepOver(); |
} |
private: System::Void stepOutToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStepOut(); |
} |
private: System::Void stepIntoToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStepInto(); |
} |
private: System::Void frmRun_Load(System::Object^ sender, System::EventArgs^ e) { |
} |
private: System::Void lblMHz_MouseHover(System::Object^ sender, System::EventArgs^ e) { |
} |
}; |
} |
/software/emuThor/source/clsPIC.h
1,5 → 1,20
#pragma once |
#include "stdafx.h" |
// Programmable Interrupt Controller Emulator |
// |
// This class emulates some of the functionality of the interrupt |
// controller. Edge sensing on the interrupt inputs is not currently |
// supported. The edge sensing on the clock interrupts is emulated |
// by resetting the interrupt input when the PIC recieves the |
// command to acknowledge the edge sensitive interrupt and only |
// driving the interrupt signal true by the timer. The timers |
// effectively act like pulse generators which provide only a |
// positive transition to the clock signal. The negative |
// transition is supplied when the interrupt is acknowledged. |
// In the real system the clock generator provides a square wave |
// output for the interrupts so edge sensing is necessary. |
// It's faked out so that from the perspective of the BIOS |
// software it looks the same. |
|
extern clsSystem system1; |
|
7,6 → 22,7
{ |
public: |
bool enables[16]; |
bool edges[16]; // edge sensitive |
bool irq30Hz; |
bool irq1024Hz; |
bool irqKeyboard; |
/software/emuThor/source/frmMemory.h
109,6 → 109,7
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog; |
this->Name = L"frmMemory"; |
this->Text = L"Memory"; |
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &frmMemory::frmMemory_FormClosing); |
this->ResumeLayout(false); |
this->PerformLayout(); |
|
133,5 → 134,9
} |
this->textBoxMem->Text = gcnew String(str2.c_str()); |
} |
private: System::Void frmMemory_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { |
if (e->CloseReason==CloseReason::UserClosing) |
e->Cancel = true; |
} |
}; |
} |
/software/emuThor/source/emuThor.cpp
8,8 → 8,8
clsSystem system1; |
volatile unsigned __int8 keybd_scancode; |
volatile unsigned __int8 keybd_status; |
volatile unsigned int interval1024; |
volatile unsigned int interval30; |
volatile unsigned int interval1024 = 977; |
volatile unsigned int interval30 = 33333; |
|
char refscreen; |
unsigned int breakpoints[30]; |
/software/emuThor/source/clsThor.h
37,15 → 37,18
__int8 bir; |
__int64 dbad0,dbad1,dbad2,dbad3; |
__int64 dbctrl,dbstat; |
bool _32bit; |
bool im; |
int imcd; |
int pred; |
bool rts; // Indicator for step out. |
__int64 GetGP(int rg); |
bool IsKM(); |
void Reset(); |
void Step(); |
clsThor() { _32bit = true; }; |
private: |
inline bool IRQActive() { return !StatusHWI && irq && !im; }; |
inline bool IRQActive() { return !StatusHWI && irq && !im && imcd==0; }; |
int GetBit(__int64 a, int b); |
void SetBit(__int64 *a, int b); |
void ClearBit(__int64 *a, int b); |
/software/emuThor/source/frmUart.h
19,7 → 19,6
public ref class frmUart : public System::Windows::Forms::Form |
{ |
public: |
Mutex^ mut; |
frmUart(Mutex^ m) |
{ |
mut = m; |
27,6 → 26,7
// |
//TODO: Add the constructor code here |
// |
do_send = false; |
} |
|
protected: |
48,7 → 48,7
private: System::Windows::Forms::Label^ label2; |
private: System::Windows::Forms::TextBox^ txtFromUart; |
|
private: System::Windows::Forms::Button^ button1; |
|
private: System::Windows::Forms::Button^ button2; |
private: System::Windows::Forms::Label^ label3; |
private: System::Windows::Forms::TextBox^ txtCM0; |
103,6 → 103,7
/// Required designer variable. |
/// </summary> |
private: bool do_send; |
private: Mutex^ mut; |
|
#pragma region Windows Form Designer generated code |
/// <summary> |
116,7 → 117,6
this->label1 = (gcnew System::Windows::Forms::Label()); |
this->label2 = (gcnew System::Windows::Forms::Label()); |
this->txtFromUart = (gcnew System::Windows::Forms::TextBox()); |
this->button1 = (gcnew System::Windows::Forms::Button()); |
this->button2 = (gcnew System::Windows::Forms::Button()); |
this->label3 = (gcnew System::Windows::Forms::Label()); |
this->txtCM0 = (gcnew System::Windows::Forms::TextBox()); |
154,9 → 154,10
// |
// txtToUart |
// |
this->txtToUart->Location = System::Drawing::Point(31, 27); |
this->txtToUart->Location = System::Drawing::Point(27, 67); |
this->txtToUart->Multiline = true; |
this->txtToUart->Name = L"txtToUart"; |
this->txtToUart->ScrollBars = System::Windows::Forms::ScrollBars::Both; |
this->txtToUart->Size = System::Drawing::Size(318, 124); |
this->txtToUart->TabIndex = 0; |
// |
163,7 → 164,7
// label1 |
// |
this->label1->AutoSize = true; |
this->label1->Location = System::Drawing::Point(28, 11); |
this->label1->Location = System::Drawing::Point(24, 51); |
this->label1->Name = L"label1"; |
this->label1->Size = System::Drawing::Size(53, 13); |
this->label1->TabIndex = 1; |
172,7 → 173,7
// label2 |
// |
this->label2->AutoSize = true; |
this->label2->Location = System::Drawing::Point(28, 169); |
this->label2->Location = System::Drawing::Point(24, 209); |
this->label2->Name = L"label2"; |
this->label2->Size = System::Drawing::Size(95, 13); |
this->label2->TabIndex = 2; |
180,24 → 181,17
// |
// txtFromUart |
// |
this->txtFromUart->Location = System::Drawing::Point(31, 185); |
this->txtFromUart->Location = System::Drawing::Point(27, 225); |
this->txtFromUart->Multiline = true; |
this->txtFromUart->Name = L"txtFromUart"; |
this->txtFromUart->ReadOnly = true; |
this->txtFromUart->ScrollBars = System::Windows::Forms::ScrollBars::Both; |
this->txtFromUart->Size = System::Drawing::Size(318, 124); |
this->txtFromUart->TabIndex = 3; |
// |
// button1 |
// |
this->button1->Location = System::Drawing::Point(474, 353); |
this->button1->Name = L"button1"; |
this->button1->Size = System::Drawing::Size(75, 23); |
this->button1->TabIndex = 4; |
this->button1->Text = L"OK"; |
this->button1->UseVisualStyleBackColor = true; |
// |
// button2 |
// |
this->button2->Location = System::Drawing::Point(355, 25); |
this->button2->Location = System::Drawing::Point(351, 65); |
this->button2->Name = L"button2"; |
this->button2->Size = System::Drawing::Size(75, 23); |
this->button2->TabIndex = 5; |
208,7 → 202,7
// label3 |
// |
this->label3->AutoSize = true; |
this->label3->Location = System::Drawing::Point(475, 72); |
this->label3->Location = System::Drawing::Point(471, 112); |
this->label3->Name = L"label3"; |
this->label3->Size = System::Drawing::Size(29, 13); |
this->label3->TabIndex = 6; |
216,7 → 210,7
// |
// txtCM0 |
// |
this->txtCM0->Location = System::Drawing::Point(510, 69); |
this->txtCM0->Location = System::Drawing::Point(506, 109); |
this->txtCM0->Name = L"txtCM0"; |
this->txtCM0->ReadOnly = true; |
this->txtCM0->Size = System::Drawing::Size(39, 20); |
225,7 → 219,7
// |
// txtCM1 |
// |
this->txtCM1->Location = System::Drawing::Point(510, 95); |
this->txtCM1->Location = System::Drawing::Point(506, 135); |
this->txtCM1->Name = L"txtCM1"; |
this->txtCM1->ReadOnly = true; |
this->txtCM1->Size = System::Drawing::Size(39, 20); |
235,7 → 229,7
// label4 |
// |
this->label4->AutoSize = true; |
this->label4->Location = System::Drawing::Point(475, 98); |
this->label4->Location = System::Drawing::Point(471, 138); |
this->label4->Name = L"label4"; |
this->label4->Size = System::Drawing::Size(29, 13); |
this->label4->TabIndex = 8; |
243,7 → 237,7
// |
// txtCM2 |
// |
this->txtCM2->Location = System::Drawing::Point(510, 121); |
this->txtCM2->Location = System::Drawing::Point(506, 161); |
this->txtCM2->Name = L"txtCM2"; |
this->txtCM2->ReadOnly = true; |
this->txtCM2->Size = System::Drawing::Size(39, 20); |
253,7 → 247,7
// label5 |
// |
this->label5->AutoSize = true; |
this->label5->Location = System::Drawing::Point(475, 124); |
this->label5->Location = System::Drawing::Point(471, 164); |
this->label5->Name = L"label5"; |
this->label5->Size = System::Drawing::Size(29, 13); |
this->label5->TabIndex = 10; |
261,7 → 255,7
// |
// txtCM3 |
// |
this->txtCM3->Location = System::Drawing::Point(510, 147); |
this->txtCM3->Location = System::Drawing::Point(506, 187); |
this->txtCM3->Name = L"txtCM3"; |
this->txtCM3->ReadOnly = true; |
this->txtCM3->Size = System::Drawing::Size(39, 20); |
271,7 → 265,7
// label6 |
// |
this->label6->AutoSize = true; |
this->label6->Location = System::Drawing::Point(475, 150); |
this->label6->Location = System::Drawing::Point(471, 190); |
this->label6->Name = L"label6"; |
this->label6->Size = System::Drawing::Size(29, 13); |
this->label6->TabIndex = 12; |
280,7 → 274,7
// label7 |
// |
this->label7->AutoSize = true; |
this->label7->Location = System::Drawing::Point(378, 72); |
this->label7->Location = System::Drawing::Point(374, 112); |
this->label7->Name = L"label7"; |
this->label7->Size = System::Drawing::Size(21, 13); |
this->label7->TabIndex = 14; |
288,7 → 282,7
// |
// txtTB |
// |
this->txtTB->Location = System::Drawing::Point(413, 69); |
this->txtTB->Location = System::Drawing::Point(409, 109); |
this->txtTB->Name = L"txtTB"; |
this->txtTB->ReadOnly = true; |
this->txtTB->Size = System::Drawing::Size(39, 20); |
297,7 → 291,7
// |
// txtLS |
// |
this->txtLS->Location = System::Drawing::Point(413, 124); |
this->txtLS->Location = System::Drawing::Point(409, 164); |
this->txtLS->Name = L"txtLS"; |
this->txtLS->ReadOnly = true; |
this->txtLS->Size = System::Drawing::Size(39, 20); |
307,7 → 301,7
// label8 |
// |
this->label8->AutoSize = true; |
this->label8->Location = System::Drawing::Point(378, 127); |
this->label8->Location = System::Drawing::Point(374, 167); |
this->label8->Name = L"label8"; |
this->label8->Size = System::Drawing::Size(20, 13); |
this->label8->TabIndex = 16; |
315,7 → 309,7
// |
// txtMS |
// |
this->txtMS->Location = System::Drawing::Point(413, 150); |
this->txtMS->Location = System::Drawing::Point(409, 190); |
this->txtMS->Name = L"txtMS"; |
this->txtMS->ReadOnly = true; |
this->txtMS->Size = System::Drawing::Size(39, 20); |
325,7 → 319,7
// label9 |
// |
this->label9->AutoSize = true; |
this->label9->Location = System::Drawing::Point(378, 153); |
this->label9->Location = System::Drawing::Point(374, 193); |
this->label9->Name = L"label9"; |
this->label9->Size = System::Drawing::Size(23, 13); |
this->label9->TabIndex = 18; |
333,7 → 327,7
// |
// txtIS |
// |
this->txtIS->Location = System::Drawing::Point(413, 176); |
this->txtIS->Location = System::Drawing::Point(409, 216); |
this->txtIS->Name = L"txtIS"; |
this->txtIS->ReadOnly = true; |
this->txtIS->Size = System::Drawing::Size(39, 20); |
343,7 → 337,7
// label10 |
// |
this->label10->AutoSize = true; |
this->label10->Location = System::Drawing::Point(378, 179); |
this->label10->Location = System::Drawing::Point(374, 219); |
this->label10->Name = L"label10"; |
this->label10->Size = System::Drawing::Size(17, 13); |
this->label10->TabIndex = 20; |
351,7 → 345,7
// |
// txtIER |
// |
this->txtIER->Location = System::Drawing::Point(413, 202); |
this->txtIER->Location = System::Drawing::Point(409, 242); |
this->txtIER->Name = L"txtIER"; |
this->txtIER->Size = System::Drawing::Size(39, 20); |
this->txtIER->TabIndex = 23; |
360,7 → 354,7
// label11 |
// |
this->label11->AutoSize = true; |
this->label11->Location = System::Drawing::Point(378, 205); |
this->label11->Location = System::Drawing::Point(374, 245); |
this->label11->Name = L"label11"; |
this->label11->Size = System::Drawing::Size(25, 13); |
this->label11->TabIndex = 22; |
368,7 → 362,7
// |
// txtFF |
// |
this->txtFF->Location = System::Drawing::Point(413, 228); |
this->txtFF->Location = System::Drawing::Point(409, 268); |
this->txtFF->Name = L"txtFF"; |
this->txtFF->Size = System::Drawing::Size(39, 20); |
this->txtFF->TabIndex = 25; |
377,7 → 371,7
// label12 |
// |
this->label12->AutoSize = true; |
this->label12->Location = System::Drawing::Point(378, 231); |
this->label12->Location = System::Drawing::Point(374, 271); |
this->label12->Name = L"label12"; |
this->label12->Size = System::Drawing::Size(19, 13); |
this->label12->TabIndex = 24; |
385,7 → 379,7
// |
// txtMC |
// |
this->txtMC->Location = System::Drawing::Point(413, 254); |
this->txtMC->Location = System::Drawing::Point(409, 294); |
this->txtMC->Name = L"txtMC"; |
this->txtMC->Size = System::Drawing::Size(39, 20); |
this->txtMC->TabIndex = 27; |
394,7 → 388,7
// label13 |
// |
this->label13->AutoSize = true; |
this->label13->Location = System::Drawing::Point(378, 257); |
this->label13->Location = System::Drawing::Point(374, 297); |
this->label13->Name = L"label13"; |
this->label13->Size = System::Drawing::Size(23, 13); |
this->label13->TabIndex = 26; |
402,7 → 396,7
// |
// txtCTRL |
// |
this->txtCTRL->Location = System::Drawing::Point(413, 280); |
this->txtCTRL->Location = System::Drawing::Point(409, 320); |
this->txtCTRL->Name = L"txtCTRL"; |
this->txtCTRL->Size = System::Drawing::Size(39, 20); |
this->txtCTRL->TabIndex = 29; |
411,7 → 405,7
// label14 |
// |
this->label14->AutoSize = true; |
this->label14->Location = System::Drawing::Point(378, 283); |
this->label14->Location = System::Drawing::Point(374, 323); |
this->label14->Name = L"label14"; |
this->label14->Size = System::Drawing::Size(35, 13); |
this->label14->TabIndex = 28; |
419,7 → 413,7
// |
// txtFC |
// |
this->txtFC->Location = System::Drawing::Point(510, 176); |
this->txtFC->Location = System::Drawing::Point(506, 216); |
this->txtFC->Name = L"txtFC"; |
this->txtFC->Size = System::Drawing::Size(39, 20); |
this->txtFC->TabIndex = 31; |
428,7 → 422,7
// label15 |
// |
this->label15->AutoSize = true; |
this->label15->Location = System::Drawing::Point(475, 179); |
this->label15->Location = System::Drawing::Point(471, 219); |
this->label15->Name = L"label15"; |
this->label15->Size = System::Drawing::Size(20, 13); |
this->label15->TabIndex = 30; |
444,7 → 438,7
this->checkBox1->AutoSize = true; |
this->checkBox1->Checked = true; |
this->checkBox1->CheckState = System::Windows::Forms::CheckState::Checked; |
this->checkBox1->Location = System::Drawing::Point(31, 315); |
this->checkBox1->Location = System::Drawing::Point(27, 355); |
this->checkBox1->Name = L"checkBox1"; |
this->checkBox1->Size = System::Drawing::Size(47, 17); |
this->checkBox1->TabIndex = 32; |
456,7 → 450,7
this->checkBox2->AutoSize = true; |
this->checkBox2->Checked = true; |
this->checkBox2->CheckState = System::Windows::Forms::CheckState::Checked; |
this->checkBox2->Location = System::Drawing::Point(31, 338); |
this->checkBox2->Location = System::Drawing::Point(27, 378); |
this->checkBox2->Name = L"checkBox2"; |
this->checkBox2->Size = System::Drawing::Size(49, 17); |
this->checkBox2->TabIndex = 33; |
468,7 → 462,7
this->checkBox3->AutoSize = true; |
this->checkBox3->Checked = true; |
this->checkBox3->CheckState = System::Windows::Forms::CheckState::Checked; |
this->checkBox3->Location = System::Drawing::Point(31, 361); |
this->checkBox3->Location = System::Drawing::Point(27, 401); |
this->checkBox3->Name = L"checkBox3"; |
this->checkBox3->Size = System::Drawing::Size(49, 17); |
this->checkBox3->TabIndex = 34; |
477,7 → 471,7
// |
// txtRB |
// |
this->txtRB->Location = System::Drawing::Point(413, 95); |
this->txtRB->Location = System::Drawing::Point(409, 135); |
this->txtRB->Name = L"txtRB"; |
this->txtRB->ReadOnly = true; |
this->txtRB->Size = System::Drawing::Size(39, 20); |
487,7 → 481,7
// label16 |
// |
this->label16->AutoSize = true; |
this->label16->Location = System::Drawing::Point(378, 98); |
this->label16->Location = System::Drawing::Point(374, 138); |
this->label16->Name = L"label16"; |
this->label16->Size = System::Drawing::Size(22, 13); |
this->label16->TabIndex = 35; |
497,7 → 491,7
// |
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); |
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; |
this->ClientSize = System::Drawing::Size(571, 388); |
this->ClientSize = System::Drawing::Size(571, 429); |
this->Controls->Add(this->txtRB); |
this->Controls->Add(this->label16); |
this->Controls->Add(this->checkBox3); |
530,7 → 524,6
this->Controls->Add(this->txtCM0); |
this->Controls->Add(this->label3); |
this->Controls->Add(this->button2); |
this->Controls->Add(this->button1); |
this->Controls->Add(this->txtFromUart); |
this->Controls->Add(this->label2); |
this->Controls->Add(this->label1); |
538,6 → 531,7
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedSingle; |
this->Name = L"frmUart"; |
this->Text = L"rtfSimpleUart Emulator"; |
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &frmUart::frmUart_FormClosing); |
this->ResumeLayout(false); |
this->PerformLayout(); |
|
548,8 → 542,8
} |
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) { |
int dat; |
char buf[5]; |
|
char buf[20]; |
|
if (do_send && txtToUart->Text->Length > 0) { |
char* str = (char*)(void*)Marshal::StringToHGlobalAnsi(txtToUart->Text->Substring(0,1)); |
txtToUart->Text = txtToUart->Text->Substring(1); |
566,6 → 560,7
buf[1] = '\0'; |
if (dat != 0xFF) |
txtFromUart->Text = txtFromUart->Text + gcnew String(buf); |
|
mut->WaitOne(); |
sprintf(buf, "%02X", system1.uart1.cm1); |
txtCM1->Text = gcnew String(buf); |
585,5 → 580,9
mut->ReleaseMutex(); |
txtIS->Text = gcnew String(buf); |
} |
private: System::Void frmUart_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { |
if (e->CloseReason==CloseReason::UserClosing) |
e->Cancel = true; |
} |
}; |
} |
/software/emuThor/source/clsSystem.cpp
236,6 → 236,9
else if (uart1.IsSelected(ad)) { |
uart1.Write(ad,dat,0x1); |
} |
else if (sevenseg.IsSelected(ad)) { |
sevenseg.Write(ad,dat); |
} |
ret = true; |
j1: |
for (nn = 0; nn < numDataBreakpoints; nn++) { |
308,7 → 311,7
cpu2.Step(); |
pic1.Step(); |
if (stepout) { |
if (cpu2.sub_depth<step_depth) { |
if (cpu2.rts && cpu2.sub_depth < step_depth) { |
isRunning = false; |
stepout = false; |
continue; |
/software/emuThor/source/frmInterrupts.h
1,4 → 1,10
#pragma once |
// Allows the user to disable / enable interrupts via the gui. |
// The could be interrupt control on the Form associated with the device |
// but it's more convenient to place all the interrupt related controls |
// on a single form for the user. |
// Timers are used to emulate the hard-wired interrupt clock sources in the |
// test system. |
extern bool irq1024Hz; |
extern bool irq30Hz; |
extern bool irqKeyboard; |
32,25 → 38,7
// |
//TODO: Add the constructor code here |
// |
char buf[20]; |
|
mut->WaitOne(); |
system1.pic1.Step(); |
trigger30 = false; |
trigger1024 = false; |
checkBox0En->Checked = system1.pic1.enables[0]; |
checkBox1En->Checked = system1.pic1.enables[1]; |
checkBox2En->Checked = system1.pic1.enables[2]; |
checkBox3En->Checked = system1.pic1.enables[3]; |
checkBox7En->Checked = system1.pic1.enables[7]; |
checkBox1Act->Checked = system1.pic1.irq1024Hz; |
checkBox2Act->Checked = system1.pic1.irq30Hz; |
checkBox3Act->Checked = system1.pic1.irqKeyboard; |
checkBox7Act->Checked = system1.pic1.irqUart; |
checkBoxIRQOut->Checked = system1.pic1.irq; |
sprintf(buf, "%d (%02X)", system1.pic1.vecno, system1.pic1.vecno); |
mut->ReleaseMutex(); |
textBoxVecno->Text = gcnew String(buf); |
UpdateForm(); |
} |
frmInterrupts(void) |
{ |
155,8 → 143,30
private: System::Windows::Forms::CheckBox^ checkBox1En; |
|
private: System::Windows::Forms::CheckBox^ checkBox0En; |
private: System::Windows::Forms::Label^ label7; |
private: System::Windows::Forms::CheckBox^ checkBox1; |
private: System::Windows::Forms::CheckBox^ checkBox2; |
private: System::Windows::Forms::CheckBox^ checkBox3; |
private: System::Windows::Forms::CheckBox^ checkBox4; |
private: System::Windows::Forms::CheckBox^ checkBox5; |
private: System::Windows::Forms::CheckBox^ checkBox8; |
private: System::Windows::Forms::CheckBox^ checkBox25; |
private: System::Windows::Forms::CheckBox^ checkBox29; |
private: System::Windows::Forms::CheckBox^ checkBox7Edge; |
|
private: System::Windows::Forms::CheckBox^ checkBox32; |
private: System::Windows::Forms::CheckBox^ checkBox33; |
private: System::Windows::Forms::CheckBox^ checkBox34; |
private: System::Windows::Forms::CheckBox^ checkBox3Edge; |
|
private: System::Windows::Forms::CheckBox^ checkBox2Edge; |
|
private: System::Windows::Forms::CheckBox^ checkBox1Edge; |
|
private: System::Windows::Forms::CheckBox^ checkBox0Edge; |
|
|
|
private: |
/// <summary> |
/// Required designer variable. |
182,6 → 192,23
this->checkBox30 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBoxUart = (gcnew System::Windows::Forms::CheckBox()); |
this->groupBox1 = (gcnew System::Windows::Forms::GroupBox()); |
this->label7 = (gcnew System::Windows::Forms::Label()); |
this->checkBox1 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox2 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox3 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox4 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox5 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox8 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox25 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox29 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox7Edge = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox32 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox33 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox34 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox3Edge = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox2Edge = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox1Edge = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox0Edge = (gcnew System::Windows::Forms::CheckBox()); |
this->label6 = (gcnew System::Windows::Forms::Label()); |
this->label5 = (gcnew System::Windows::Forms::Label()); |
this->textBoxVecno = (gcnew System::Windows::Forms::TextBox()); |
227,7 → 254,7
// btnOK |
// |
this->btnOK->DialogResult = System::Windows::Forms::DialogResult::OK; |
this->btnOK->Location = System::Drawing::Point(247, 115); |
this->btnOK->Location = System::Drawing::Point(247, 137); |
this->btnOK->Name = L"btnOK"; |
this->btnOK->Size = System::Drawing::Size(75, 23); |
this->btnOK->TabIndex = 19; |
238,7 → 265,7
// label2 |
// |
this->label2->AutoSize = true; |
this->label2->Location = System::Drawing::Point(107, 21); |
this->label2->Location = System::Drawing::Point(107, 43); |
this->label2->Name = L"label2"; |
this->label2->Size = System::Drawing::Size(57, 13); |
this->label2->TabIndex = 18; |
247,7 → 274,7
// label1 |
// |
this->label1->AutoSize = true; |
this->label1->Location = System::Drawing::Point(10, 21); |
this->label1->Location = System::Drawing::Point(10, 43); |
this->label1->Name = L"label1"; |
this->label1->Size = System::Drawing::Size(77, 13); |
this->label1->TabIndex = 17; |
255,7 → 282,7
// |
// btnTrigger30 |
// |
this->btnTrigger30->Location = System::Drawing::Point(247, 70); |
this->btnTrigger30->Location = System::Drawing::Point(247, 92); |
this->btnTrigger30->Name = L"btnTrigger30"; |
this->btnTrigger30->Size = System::Drawing::Size(75, 23); |
this->btnTrigger30->TabIndex = 16; |
269,7 → 296,7
this->comboBox30->FormattingEnabled = true; |
this->comboBox30->Items->AddRange(gcnew cli::array< System::Object^ >(5) {L"30Hz", L"3 Hz", L"Every 3 seconds", L"Every 30 Seconds", |
L"One shot"}); |
this->comboBox30->Location = System::Drawing::Point(110, 72); |
this->comboBox30->Location = System::Drawing::Point(110, 94); |
this->comboBox30->Name = L"comboBox30"; |
this->comboBox30->Size = System::Drawing::Size(121, 21); |
this->comboBox30->TabIndex = 15; |
276,7 → 303,7
// |
// btnTrigger1024 |
// |
this->btnTrigger1024->Location = System::Drawing::Point(247, 41); |
this->btnTrigger1024->Location = System::Drawing::Point(247, 63); |
this->btnTrigger1024->Name = L"btnTrigger1024"; |
this->btnTrigger1024->Size = System::Drawing::Size(75, 23); |
this->btnTrigger1024->TabIndex = 14; |
289,7 → 316,7
this->comboBox1024->DropDownStyle = System::Windows::Forms::ComboBoxStyle::DropDownList; |
this->comboBox1024->FormattingEnabled = true; |
this->comboBox1024->Items->AddRange(gcnew cli::array< System::Object^ >(3) {L"102 Hz", L"1 Hz", L"One shot"}); |
this->comboBox1024->Location = System::Drawing::Point(110, 43); |
this->comboBox1024->Location = System::Drawing::Point(110, 65); |
this->comboBox1024->Name = L"comboBox1024"; |
this->comboBox1024->Size = System::Drawing::Size(121, 21); |
this->comboBox1024->TabIndex = 13; |
297,7 → 324,7
// checkBox1024 |
// |
this->checkBox1024->AutoSize = true; |
this->checkBox1024->Location = System::Drawing::Point(13, 47); |
this->checkBox1024->Location = System::Drawing::Point(13, 69); |
this->checkBox1024->Name = L"checkBox1024"; |
this->checkBox1024->Size = System::Drawing::Size(63, 17); |
this->checkBox1024->TabIndex = 12; |
308,7 → 335,7
// |
this->checkBoxKeyboard->AutoSize = true; |
this->checkBoxKeyboard->Enabled = false; |
this->checkBoxKeyboard->Location = System::Drawing::Point(13, 93); |
this->checkBoxKeyboard->Location = System::Drawing::Point(13, 115); |
this->checkBoxKeyboard->Name = L"checkBoxKeyboard"; |
this->checkBoxKeyboard->Size = System::Drawing::Size(71, 17); |
this->checkBoxKeyboard->TabIndex = 11; |
318,7 → 345,7
// checkBox30 |
// |
this->checkBox30->AutoSize = true; |
this->checkBox30->Location = System::Drawing::Point(13, 70); |
this->checkBox30->Location = System::Drawing::Point(13, 92); |
this->checkBox30->Name = L"checkBox30"; |
this->checkBox30->Size = System::Drawing::Size(51, 17); |
this->checkBox30->TabIndex = 10; |
329,7 → 356,7
// |
this->checkBoxUart->AutoSize = true; |
this->checkBoxUart->Enabled = false; |
this->checkBoxUart->Location = System::Drawing::Point(13, 116); |
this->checkBoxUart->Location = System::Drawing::Point(13, 138); |
this->checkBoxUart->Name = L"checkBoxUart"; |
this->checkBoxUart->Size = System::Drawing::Size(46, 17); |
this->checkBoxUart->TabIndex = 20; |
338,6 → 365,23
// |
// groupBox1 |
// |
this->groupBox1->Controls->Add(this->label7); |
this->groupBox1->Controls->Add(this->checkBox1); |
this->groupBox1->Controls->Add(this->checkBox2); |
this->groupBox1->Controls->Add(this->checkBox3); |
this->groupBox1->Controls->Add(this->checkBox4); |
this->groupBox1->Controls->Add(this->checkBox5); |
this->groupBox1->Controls->Add(this->checkBox8); |
this->groupBox1->Controls->Add(this->checkBox25); |
this->groupBox1->Controls->Add(this->checkBox29); |
this->groupBox1->Controls->Add(this->checkBox7Edge); |
this->groupBox1->Controls->Add(this->checkBox32); |
this->groupBox1->Controls->Add(this->checkBox33); |
this->groupBox1->Controls->Add(this->checkBox34); |
this->groupBox1->Controls->Add(this->checkBox3Edge); |
this->groupBox1->Controls->Add(this->checkBox2Edge); |
this->groupBox1->Controls->Add(this->checkBox1Edge); |
this->groupBox1->Controls->Add(this->checkBox0Edge); |
this->groupBox1->Controls->Add(this->label6); |
this->groupBox1->Controls->Add(this->label5); |
this->groupBox1->Controls->Add(this->textBoxVecno); |
377,7 → 421,7
this->groupBox1->Controls->Add(this->checkBox2En); |
this->groupBox1->Controls->Add(this->checkBox1En); |
this->groupBox1->Controls->Add(this->checkBox0En); |
this->groupBox1->Location = System::Drawing::Point(12, 144); |
this->groupBox1->Location = System::Drawing::Point(12, 166); |
this->groupBox1->Name = L"groupBox1"; |
this->groupBox1->Size = System::Drawing::Size(310, 414); |
this->groupBox1->TabIndex = 21; |
384,6 → 428,175
this->groupBox1->TabStop = false; |
this->groupBox1->Text = L"PIC State"; |
// |
// label7 |
// |
this->label7->AutoSize = true; |
this->label7->Location = System::Drawing::Point(57, 26); |
this->label7->Name = L"label7"; |
this->label7->Size = System::Drawing::Size(32, 13); |
this->label7->TabIndex = 55; |
this->label7->Text = L"Edge"; |
// |
// checkBox1 |
// |
this->checkBox1->AutoSize = true; |
this->checkBox1->Enabled = false; |
this->checkBox1->Location = System::Drawing::Point(60, 390); |
this->checkBox1->Name = L"checkBox1"; |
this->checkBox1->Size = System::Drawing::Size(15, 14); |
this->checkBox1->TabIndex = 54; |
this->checkBox1->UseVisualStyleBackColor = true; |
// |
// checkBox2 |
// |
this->checkBox2->AutoSize = true; |
this->checkBox2->Enabled = false; |
this->checkBox2->Location = System::Drawing::Point(60, 367); |
this->checkBox2->Name = L"checkBox2"; |
this->checkBox2->Size = System::Drawing::Size(15, 14); |
this->checkBox2->TabIndex = 53; |
this->checkBox2->UseVisualStyleBackColor = true; |
// |
// checkBox3 |
// |
this->checkBox3->AutoSize = true; |
this->checkBox3->Enabled = false; |
this->checkBox3->Location = System::Drawing::Point(60, 344); |
this->checkBox3->Name = L"checkBox3"; |
this->checkBox3->Size = System::Drawing::Size(15, 14); |
this->checkBox3->TabIndex = 52; |
this->checkBox3->UseVisualStyleBackColor = true; |
// |
// checkBox4 |
// |
this->checkBox4->AutoSize = true; |
this->checkBox4->Enabled = false; |
this->checkBox4->Location = System::Drawing::Point(60, 321); |
this->checkBox4->Name = L"checkBox4"; |
this->checkBox4->Size = System::Drawing::Size(15, 14); |
this->checkBox4->TabIndex = 51; |
this->checkBox4->UseVisualStyleBackColor = true; |
// |
// checkBox5 |
// |
this->checkBox5->AutoSize = true; |
this->checkBox5->Enabled = false; |
this->checkBox5->Location = System::Drawing::Point(60, 299); |
this->checkBox5->Name = L"checkBox5"; |
this->checkBox5->Size = System::Drawing::Size(15, 14); |
this->checkBox5->TabIndex = 50; |
this->checkBox5->UseVisualStyleBackColor = true; |
// |
// checkBox8 |
// |
this->checkBox8->AutoSize = true; |
this->checkBox8->Enabled = false; |
this->checkBox8->Location = System::Drawing::Point(60, 276); |
this->checkBox8->Name = L"checkBox8"; |
this->checkBox8->Size = System::Drawing::Size(15, 14); |
this->checkBox8->TabIndex = 49; |
this->checkBox8->UseVisualStyleBackColor = true; |
// |
// checkBox25 |
// |
this->checkBox25->AutoSize = true; |
this->checkBox25->Enabled = false; |
this->checkBox25->Location = System::Drawing::Point(60, 253); |
this->checkBox25->Name = L"checkBox25"; |
this->checkBox25->Size = System::Drawing::Size(15, 14); |
this->checkBox25->TabIndex = 48; |
this->checkBox25->UseVisualStyleBackColor = true; |
// |
// checkBox29 |
// |
this->checkBox29->AutoSize = true; |
this->checkBox29->Enabled = false; |
this->checkBox29->Location = System::Drawing::Point(60, 230); |
this->checkBox29->Name = L"checkBox29"; |
this->checkBox29->Size = System::Drawing::Size(15, 14); |
this->checkBox29->TabIndex = 47; |
this->checkBox29->UseVisualStyleBackColor = true; |
// |
// checkBox7Edge |
// |
this->checkBox7Edge->AutoSize = true; |
this->checkBox7Edge->Enabled = false; |
this->checkBox7Edge->Location = System::Drawing::Point(60, 207); |
this->checkBox7Edge->Name = L"checkBox7Edge"; |
this->checkBox7Edge->Size = System::Drawing::Size(15, 14); |
this->checkBox7Edge->TabIndex = 46; |
this->checkBox7Edge->UseVisualStyleBackColor = true; |
// |
// checkBox32 |
// |
this->checkBox32->AutoSize = true; |
this->checkBox32->Enabled = false; |
this->checkBox32->Location = System::Drawing::Point(60, 184); |
this->checkBox32->Name = L"checkBox32"; |
this->checkBox32->Size = System::Drawing::Size(15, 14); |
this->checkBox32->TabIndex = 45; |
this->checkBox32->UseVisualStyleBackColor = true; |
// |
// checkBox33 |
// |
this->checkBox33->AutoSize = true; |
this->checkBox33->Enabled = false; |
this->checkBox33->Location = System::Drawing::Point(60, 161); |
this->checkBox33->Name = L"checkBox33"; |
this->checkBox33->Size = System::Drawing::Size(15, 14); |
this->checkBox33->TabIndex = 44; |
this->checkBox33->UseVisualStyleBackColor = true; |
// |
// checkBox34 |
// |
this->checkBox34->AutoSize = true; |
this->checkBox34->Enabled = false; |
this->checkBox34->Location = System::Drawing::Point(60, 138); |
this->checkBox34->Name = L"checkBox34"; |
this->checkBox34->Size = System::Drawing::Size(15, 14); |
this->checkBox34->TabIndex = 43; |
this->checkBox34->UseVisualStyleBackColor = true; |
// |
// checkBox3Edge |
// |
this->checkBox3Edge->AutoSize = true; |
this->checkBox3Edge->Enabled = false; |
this->checkBox3Edge->Location = System::Drawing::Point(60, 115); |
this->checkBox3Edge->Name = L"checkBox3Edge"; |
this->checkBox3Edge->Size = System::Drawing::Size(15, 14); |
this->checkBox3Edge->TabIndex = 42; |
this->checkBox3Edge->UseVisualStyleBackColor = true; |
// |
// checkBox2Edge |
// |
this->checkBox2Edge->AutoSize = true; |
this->checkBox2Edge->Enabled = false; |
this->checkBox2Edge->Location = System::Drawing::Point(60, 92); |
this->checkBox2Edge->Name = L"checkBox2Edge"; |
this->checkBox2Edge->Size = System::Drawing::Size(15, 14); |
this->checkBox2Edge->TabIndex = 41; |
this->checkBox2Edge->UseVisualStyleBackColor = true; |
// |
// checkBox1Edge |
// |
this->checkBox1Edge->AutoSize = true; |
this->checkBox1Edge->Enabled = false; |
this->checkBox1Edge->Location = System::Drawing::Point(60, 69); |
this->checkBox1Edge->Name = L"checkBox1Edge"; |
this->checkBox1Edge->Size = System::Drawing::Size(15, 14); |
this->checkBox1Edge->TabIndex = 40; |
this->checkBox1Edge->UseVisualStyleBackColor = true; |
// |
// checkBox0Edge |
// |
this->checkBox0Edge->AutoSize = true; |
this->checkBox0Edge->Enabled = false; |
this->checkBox0Edge->Location = System::Drawing::Point(60, 46); |
this->checkBox0Edge->Name = L"checkBox0Edge"; |
this->checkBox0Edge->Size = System::Drawing::Size(15, 14); |
this->checkBox0Edge->TabIndex = 39; |
this->checkBox0Edge->UseVisualStyleBackColor = true; |
// |
// label6 |
// |
this->label6->AutoSize = true; |
633,9 → 846,8
this->checkBox16->Enabled = false; |
this->checkBox16->Location = System::Drawing::Point(6, 390); |
this->checkBox16->Name = L"checkBox16"; |
this->checkBox16->Size = System::Drawing::Size(97, 17); |
this->checkBox16->Size = System::Drawing::Size(15, 14); |
this->checkBox16->TabIndex = 15; |
this->checkBox16->Text = L"15 Unassigned"; |
this->checkBox16->UseVisualStyleBackColor = true; |
// |
// checkBox15 |
644,9 → 856,8
this->checkBox15->Enabled = false; |
this->checkBox15->Location = System::Drawing::Point(6, 367); |
this->checkBox15->Name = L"checkBox15"; |
this->checkBox15->Size = System::Drawing::Size(97, 17); |
this->checkBox15->Size = System::Drawing::Size(15, 14); |
this->checkBox15->TabIndex = 14; |
this->checkBox15->Text = L"14 Unassigned"; |
this->checkBox15->UseVisualStyleBackColor = true; |
// |
// checkBox14 |
655,9 → 866,8
this->checkBox14->Enabled = false; |
this->checkBox14->Location = System::Drawing::Point(6, 344); |
this->checkBox14->Name = L"checkBox14"; |
this->checkBox14->Size = System::Drawing::Size(97, 17); |
this->checkBox14->Size = System::Drawing::Size(15, 14); |
this->checkBox14->TabIndex = 13; |
this->checkBox14->Text = L"13 Unassigned"; |
this->checkBox14->UseVisualStyleBackColor = true; |
// |
// checkBox13 |
666,9 → 876,8
this->checkBox13->Enabled = false; |
this->checkBox13->Location = System::Drawing::Point(6, 321); |
this->checkBox13->Name = L"checkBox13"; |
this->checkBox13->Size = System::Drawing::Size(97, 17); |
this->checkBox13->Size = System::Drawing::Size(15, 14); |
this->checkBox13->TabIndex = 12; |
this->checkBox13->Text = L"12 Unassigned"; |
this->checkBox13->UseVisualStyleBackColor = true; |
// |
// checkBox12 |
677,9 → 886,8
this->checkBox12->Enabled = false; |
this->checkBox12->Location = System::Drawing::Point(6, 299); |
this->checkBox12->Name = L"checkBox12"; |
this->checkBox12->Size = System::Drawing::Size(97, 17); |
this->checkBox12->Size = System::Drawing::Size(15, 14); |
this->checkBox12->TabIndex = 11; |
this->checkBox12->Text = L"11 Unassigned"; |
this->checkBox12->UseVisualStyleBackColor = true; |
// |
// checkBox11 |
688,9 → 896,8
this->checkBox11->Enabled = false; |
this->checkBox11->Location = System::Drawing::Point(6, 276); |
this->checkBox11->Name = L"checkBox11"; |
this->checkBox11->Size = System::Drawing::Size(97, 17); |
this->checkBox11->Size = System::Drawing::Size(15, 14); |
this->checkBox11->TabIndex = 10; |
this->checkBox11->Text = L"10 Unassigned"; |
this->checkBox11->UseVisualStyleBackColor = true; |
// |
// checkBox10 |
699,9 → 906,8
this->checkBox10->Enabled = false; |
this->checkBox10->Location = System::Drawing::Point(6, 253); |
this->checkBox10->Name = L"checkBox10"; |
this->checkBox10->Size = System::Drawing::Size(91, 17); |
this->checkBox10->Size = System::Drawing::Size(15, 14); |
this->checkBox10->TabIndex = 9; |
this->checkBox10->Text = L"9 Unassigned"; |
this->checkBox10->UseVisualStyleBackColor = true; |
// |
// checkBox9 |
710,9 → 916,8
this->checkBox9->Enabled = false; |
this->checkBox9->Location = System::Drawing::Point(6, 230); |
this->checkBox9->Name = L"checkBox9"; |
this->checkBox9->Size = System::Drawing::Size(91, 17); |
this->checkBox9->Size = System::Drawing::Size(15, 14); |
this->checkBox9->TabIndex = 8; |
this->checkBox9->Text = L"8 Unassigned"; |
this->checkBox9->UseVisualStyleBackColor = true; |
// |
// checkBox7En |
721,9 → 926,8
this->checkBox7En->Enabled = false; |
this->checkBox7En->Location = System::Drawing::Point(6, 207); |
this->checkBox7En->Name = L"checkBox7En"; |
this->checkBox7En->Size = System::Drawing::Size(55, 17); |
this->checkBox7En->Size = System::Drawing::Size(15, 14); |
this->checkBox7En->TabIndex = 7; |
this->checkBox7En->Text = L"7 Uart"; |
this->checkBox7En->UseVisualStyleBackColor = true; |
// |
// checkBox7 |
732,9 → 936,8
this->checkBox7->Enabled = false; |
this->checkBox7->Location = System::Drawing::Point(6, 184); |
this->checkBox7->Name = L"checkBox7"; |
this->checkBox7->Size = System::Drawing::Size(91, 17); |
this->checkBox7->Size = System::Drawing::Size(15, 14); |
this->checkBox7->TabIndex = 6; |
this->checkBox7->Text = L"6 Unassigned"; |
this->checkBox7->UseVisualStyleBackColor = true; |
// |
// checkBox6 |
743,9 → 946,8
this->checkBox6->Enabled = false; |
this->checkBox6->Location = System::Drawing::Point(6, 161); |
this->checkBox6->Name = L"checkBox6"; |
this->checkBox6->Size = System::Drawing::Size(91, 17); |
this->checkBox6->Size = System::Drawing::Size(15, 14); |
this->checkBox6->TabIndex = 5; |
this->checkBox6->Text = L"5 Unassigned"; |
this->checkBox6->UseVisualStyleBackColor = true; |
// |
// checkBox4En |
754,9 → 956,8
this->checkBox4En->Enabled = false; |
this->checkBox4En->Location = System::Drawing::Point(6, 138); |
this->checkBox4En->Name = L"checkBox4En"; |
this->checkBox4En->Size = System::Drawing::Size(91, 17); |
this->checkBox4En->Size = System::Drawing::Size(15, 14); |
this->checkBox4En->TabIndex = 4; |
this->checkBox4En->Text = L"4 Unassigned"; |
this->checkBox4En->UseVisualStyleBackColor = true; |
// |
// checkBox3En |
765,9 → 966,8
this->checkBox3En->Enabled = false; |
this->checkBox3En->Location = System::Drawing::Point(6, 115); |
this->checkBox3En->Name = L"checkBox3En"; |
this->checkBox3En->Size = System::Drawing::Size(80, 17); |
this->checkBox3En->Size = System::Drawing::Size(15, 14); |
this->checkBox3En->TabIndex = 3; |
this->checkBox3En->Text = L"3 Keyboard"; |
this->checkBox3En->UseVisualStyleBackColor = true; |
// |
// checkBox2En |
776,9 → 976,8
this->checkBox2En->Enabled = false; |
this->checkBox2En->Location = System::Drawing::Point(6, 92); |
this->checkBox2En->Name = L"checkBox2En"; |
this->checkBox2En->Size = System::Drawing::Size(60, 17); |
this->checkBox2En->Size = System::Drawing::Size(15, 14); |
this->checkBox2En->TabIndex = 2; |
this->checkBox2En->Text = L"2 30Hz"; |
this->checkBox2En->UseVisualStyleBackColor = true; |
// |
// checkBox1En |
787,9 → 986,8
this->checkBox1En->Enabled = false; |
this->checkBox1En->Location = System::Drawing::Point(6, 69); |
this->checkBox1En->Name = L"checkBox1En"; |
this->checkBox1En->Size = System::Drawing::Size(72, 17); |
this->checkBox1En->Size = System::Drawing::Size(15, 14); |
this->checkBox1En->TabIndex = 1; |
this->checkBox1En->Text = L"1 1024Hz"; |
this->checkBox1En->UseVisualStyleBackColor = true; |
// |
// checkBox0En |
798,9 → 996,8
this->checkBox0En->Enabled = false; |
this->checkBox0En->Location = System::Drawing::Point(6, 46); |
this->checkBox0En->Name = L"checkBox0En"; |
this->checkBox0En->Size = System::Drawing::Size(55, 17); |
this->checkBox0En->Size = System::Drawing::Size(15, 14); |
this->checkBox0En->TabIndex = 0; |
this->checkBox0En->Text = L"0 NMI"; |
this->checkBox0En->UseVisualStyleBackColor = true; |
// |
// frmInterrupts |
807,7 → 1004,7
// |
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); |
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; |
this->ClientSize = System::Drawing::Size(331, 568); |
this->ClientSize = System::Drawing::Size(331, 592); |
this->Controls->Add(this->groupBox1); |
this->Controls->Add(this->checkBoxUart); |
this->Controls->Add(this->btnOK); |
821,10 → 1018,10
this->Controls->Add(this->checkBoxKeyboard); |
this->Controls->Add(this->checkBox30); |
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedSingle; |
this->MaximizeBox = false; |
this->Name = L"frmInterrupts"; |
this->SizeGripStyle = System::Windows::Forms::SizeGripStyle::Hide; |
this->Text = L"emuThor - Interrupts"; |
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &frmInterrupts::frmInterrupts_FormClosing); |
this->Load += gcnew System::EventHandler(this, &frmInterrupts::frmInterrupts_Load); |
this->groupBox1->ResumeLayout(false); |
this->groupBox1->PerformLayout(); |
842,6 → 1039,7
case 0: interval1024 = 98; break; |
case 1: interval1024 = 977; break; |
case 2: interval1024 = -1; break; |
default: interval1024 = 977; break; |
} |
trigger1024 = true; |
mut->ReleaseMutex(); |
856,12 → 1054,44
case 2: interval30 = 3333; break; |
case 3: interval30 = 33333; break; |
case 4: interval30 = -1; break; |
default: interval30 = 33333; break; |
} |
trigger30 = true; |
mut->ReleaseMutex(); |
} |
} |
public: void UpdateForm() |
{ |
char buf[20]; |
|
mut->WaitOne(); |
system1.pic1.Step(); |
trigger30 = false; |
trigger1024 = false; |
checkBox0En->Checked = system1.pic1.enables[0]; |
checkBox1En->Checked = system1.pic1.enables[1]; |
checkBox2En->Checked = system1.pic1.enables[2]; |
checkBox3En->Checked = system1.pic1.enables[3]; |
checkBox7En->Checked = system1.pic1.enables[7]; |
checkBox0Edge->Checked = system1.pic1.edges[0]; |
checkBox1Edge->Checked = system1.pic1.edges[1]; |
checkBox2Edge->Checked = system1.pic1.edges[2]; |
checkBox3Edge->Checked = system1.pic1.edges[3]; |
checkBox7Edge->Checked = system1.pic1.edges[7]; |
checkBox1Act->Checked = system1.pic1.irq1024Hz; |
checkBox2Act->Checked = system1.pic1.irq30Hz; |
checkBox3Act->Checked = system1.pic1.irqKeyboard; |
checkBox7Act->Checked = system1.pic1.irqUart; |
checkBoxIRQOut->Checked = system1.pic1.irq; |
sprintf(buf, "%d (%02X)", system1.pic1.vecno, system1.pic1.vecno); |
mut->ReleaseMutex(); |
textBoxVecno->Text = gcnew String(buf); |
} |
private: System::Void frmInterrupts_Load(System::Object^ sender, System::EventArgs^ e) { |
} |
private: System::Void frmInterrupts_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { |
if (e->CloseReason==CloseReason::UserClosing) |
e->Cancel = true; |
} |
}; |
} |
/software/emuThor/source/frmMain.h
7,6 → 7,8
#include <vcclr.h> |
#include <string.h> |
#include <math.h> |
#include "stdafx.h" |
#include "frmRun.h" |
#include "frmRegisters.h" |
#include "frmBreakpoints.h" |
#include "frmScreen.h" |
19,10 → 21,6
#include "frmInterrupts.h" |
#include "frmStack.h" |
#include "frmMemory.h" |
//#include "Disassem.h" |
#include "clsCPU.h" |
#include "clsPIC.h" |
#include "clsDisassem.h" |
|
clsDisassem da; |
extern clsSystem system1; |
39,6 → 37,10
bool fullspeed; |
bool runstop; |
|
bool screenClosed; |
bool dbgScreenClosed; |
bool keyboardClosed; |
|
namespace emuThor { |
|
using namespace System; |
69,19 → 71,38
animate = false; |
isRunning = false; |
mut = gcnew Mutex(false, "emuThor"); |
frmKeyboard^ keyboardFrm = gcnew frmKeyboard(mut); |
registersFrm = nullptr; |
memoryFrm = nullptr; |
stackFrm = nullptr; |
interruptsFrm = nullptr; |
PCHistoryFrm = nullptr; |
breakpointsFrm = nullptr; |
keyboardFrm = gcnew frmKeyboard(mut); |
keyboardFrm->Show(); |
frmScreen^ screenFrm = gcnew frmScreen(mut, "Main Screen"); |
screenClosed = false; |
dbgScreenClosed = false; |
screenFrm = gcnew frmScreen(mut, "Main Screen"); |
mut->WaitOne(); |
screenFrm->pVidMem = &system1.VideoMem[0]; |
screenFrm->pVidDirty = &system1.VideoMemDirty[0]; |
screenFrm->which = 0; |
mut->ReleaseMutex(); |
screenFrm->Show(); |
frmScreen^ DBGScreenFrm = gcnew frmScreen(mut, "Debug Screen"); |
DBGScreenFrm = gcnew frmScreen(mut, "Debug Screen"); |
mut->WaitOne(); |
DBGScreenFrm->pVidMem = &system1.DBGVideoMem[0]; |
DBGScreenFrm->pVidDirty = &system1.DBGVideoMemDirty[0]; |
DBGScreenFrm->which = 1; |
mut->ReleaseMutex(); |
DBGScreenFrm->Show(); |
frmUart^ uartFrm = gcnew frmUart(mut); |
uartFrm = gcnew frmUart(mut); |
uartFrm->MdiParent = this; |
uartFrm->Show(); |
uartFrm->WindowState = FormWindowState::Minimized; |
runFrm = gcnew frmRun(mut); |
runFrm->MdiParent = this; |
runFrm->WindowState = FormWindowState::Maximized; |
runFrm->Show(); |
// myThreadDelegate = gcnew ThreadStart(this, &frmMain::Run); |
// myThread = gcnew Thread(myThreadDelegate); |
// myThread->Start(); |
108,14 → 129,14
private: System::Windows::Forms::ToolStripMenuItem^ viewToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ registersToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ fileToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ runToolStripMenuItem; |
|
private: System::Windows::Forms::ToolStripMenuItem^ aboutToolStripMenuItem; |
private: System::Windows::Forms::ToolStrip^ toolStrip1; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton1; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton2; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton3; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton4; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton5; |
|
|
|
|
|
private: System::Windows::Forms::ToolStripButton^ toolStripButton6; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton7; |
private: System::Windows::Forms::ToolStripMenuItem^ loadINTELHexFIleToolStripMenuItem; |
123,30 → 144,50
private: System::Windows::Forms::Label^ lblChecksumError; |
private: System::Windows::Forms::ToolStripMenuItem^ memoryToolStripMenuItem; |
private: System::Windows::Forms::PictureBox^ pictureBox1; |
private: System::Windows::Forms::ListBox^ listBoxAdr; |
private: System::Windows::Forms::ListBox^ listBoxBytes; |
private: System::Windows::Forms::ListBox^ listBoxCode; |
private: System::Windows::Forms::ToolStripMenuItem^ stepToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ resetToolStripMenuItem; |
|
|
|
|
|
private: System::Windows::Forms::Label^ lblLEDS; |
private: System::Windows::Forms::ToolStripMenuItem^ breakpointsToolStripMenuItem; |
private: ThreadStart^ myThreadDelegate; |
private: Thread^ myThread; |
private: System::Windows::Forms::ToolStripMenuItem^ fullSpeedToolStripMenuItem; |
|
private: System::Windows::Forms::Timer^ timer1; |
private: System::Windows::Forms::ToolStripMenuItem^ animateFastToolStripMenuItem; |
private: System::Windows::Forms::TrackBar^ trackBar1; |
private: System::Windows::Forms::ToolStripMenuItem^ freeRunToolStripMenuItem; |
|
|
|
private: System::Windows::Forms::ToolStripMenuItem^ stackToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ interruptToolStripMenuItem; |
|
private: System::Windows::Forms::ToolStripMenuItem^ pCHistoryToolStripMenuItem; |
private: System::ComponentModel::BackgroundWorker^ backgroundWorker1; |
private: Mutex^ mut; |
private: System::Windows::Forms::ToolStripButton^ toolStripButton8; |
private: frmKeyboard^ keyboardFrm; |
private: frmScreen^ screenFrm; |
private: frmScreen^ DBGScreenFrm; |
private: frmRun^ runFrm; |
private: frmRegisters^ registersFrm; |
private: frmMemory^ memoryFrm; |
private: frmStack^ stackFrm; |
private: frmInterrupts^ interruptsFrm; |
private: frmPCHistory^ PCHistoryFrm; |
private: frmBreakpoints^ breakpointsFrm; |
private: frmUart^ uartFrm; |
|
private: System::Windows::Forms::ToolStripMenuItem^ keyboardToolStripMenuItem; |
private: System::Windows::Forms::Timer^ timer30; |
private: System::Windows::Forms::Timer^ timer1024; |
|
|
private: System::Windows::Forms::ToolStripMenuItem^ screenToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ debugScreenToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ runToolStripMenuItem1; |
private: System::Windows::Forms::ToolStripMenuItem^ interruptsToolStripMenuItem; |
private: System::Windows::Forms::ToolStripMenuItem^ uartToolStripMenuItem; |
private: System::Windows::Forms::PictureBox^ pictureBox2; |
|
|
private: System::ComponentModel::IContainer^ components; |
private: |
/// <summary> |
166,55 → 207,44
this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip()); |
this->fileToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->loadINTELHexFIleToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->runToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->resetToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->stepToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->fullSpeedToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->animateFastToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->freeRunToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->interruptToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->viewToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->registersToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->memoryToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->breakpointsToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->interruptsToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->stackToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->pCHistoryToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->keyboardToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->screenToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->debugScreenToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->uartToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->runToolStripMenuItem1 = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->aboutToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem()); |
this->toolStrip1 = (gcnew System::Windows::Forms::ToolStrip()); |
this->toolStripButton1 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton2 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton3 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton4 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton5 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton6 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton7 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->toolStripButton8 = (gcnew System::Windows::Forms::ToolStripButton()); |
this->openFileDialog1 = (gcnew System::Windows::Forms::OpenFileDialog()); |
this->lblChecksumError = (gcnew System::Windows::Forms::Label()); |
this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox()); |
this->listBoxAdr = (gcnew System::Windows::Forms::ListBox()); |
this->listBoxBytes = (gcnew System::Windows::Forms::ListBox()); |
this->listBoxCode = (gcnew System::Windows::Forms::ListBox()); |
this->lblLEDS = (gcnew System::Windows::Forms::Label()); |
this->timer1 = (gcnew System::Windows::Forms::Timer(this->components)); |
this->trackBar1 = (gcnew System::Windows::Forms::TrackBar()); |
this->backgroundWorker1 = (gcnew System::ComponentModel::BackgroundWorker()); |
this->timer30 = (gcnew System::Windows::Forms::Timer(this->components)); |
this->timer1024 = (gcnew System::Windows::Forms::Timer(this->components)); |
this->pictureBox2 = (gcnew System::Windows::Forms::PictureBox()); |
this->menuStrip1->SuspendLayout(); |
this->toolStrip1->SuspendLayout(); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->BeginInit(); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->trackBar1))->BeginInit(); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox2))->BeginInit(); |
this->SuspendLayout(); |
// |
// menuStrip1 |
// |
this->menuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(4) {this->fileToolStripMenuItem, |
this->runToolStripMenuItem, this->viewToolStripMenuItem, this->aboutToolStripMenuItem}); |
this->menuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(3) {this->fileToolStripMenuItem, |
this->viewToolStripMenuItem, this->aboutToolStripMenuItem}); |
this->menuStrip1->Location = System::Drawing::Point(0, 0); |
this->menuStrip1->Name = L"menuStrip1"; |
this->menuStrip1->Size = System::Drawing::Size(684, 24); |
this->menuStrip1->Size = System::Drawing::Size(911, 24); |
this->menuStrip1->TabIndex = 0; |
this->menuStrip1->Text = L"menuStrip1"; |
// |
232,63 → 262,12
this->loadINTELHexFIleToolStripMenuItem->Text = L"&Load INTEL Hex FIle"; |
this->loadINTELHexFIleToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::loadINTELHexFIleToolStripMenuItem_Click); |
// |
// runToolStripMenuItem |
// |
this->runToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(6) {this->resetToolStripMenuItem, |
this->stepToolStripMenuItem, this->fullSpeedToolStripMenuItem, this->animateFastToolStripMenuItem, this->freeRunToolStripMenuItem, |
this->interruptToolStripMenuItem}); |
this->runToolStripMenuItem->Name = L"runToolStripMenuItem"; |
this->runToolStripMenuItem->Size = System::Drawing::Size(40, 20); |
this->runToolStripMenuItem->Text = L"&Run"; |
// |
// resetToolStripMenuItem |
// |
this->resetToolStripMenuItem->Name = L"resetToolStripMenuItem"; |
this->resetToolStripMenuItem->Size = System::Drawing::Size(143, 22); |
this->resetToolStripMenuItem->Text = L"&Reset"; |
this->resetToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::resetToolStripMenuItem_Click); |
// |
// stepToolStripMenuItem |
// |
this->stepToolStripMenuItem->Name = L"stepToolStripMenuItem"; |
this->stepToolStripMenuItem->Size = System::Drawing::Size(143, 22); |
this->stepToolStripMenuItem->Text = L"&Step"; |
this->stepToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::stepToolStripMenuItem_Click); |
// |
// fullSpeedToolStripMenuItem |
// |
this->fullSpeedToolStripMenuItem->Name = L"fullSpeedToolStripMenuItem"; |
this->fullSpeedToolStripMenuItem->Size = System::Drawing::Size(143, 22); |
this->fullSpeedToolStripMenuItem->Text = L"&Full Speed"; |
this->fullSpeedToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::fullSpeedToolStripMenuItem_Click); |
// |
// animateFastToolStripMenuItem |
// |
this->animateFastToolStripMenuItem->Name = L"animateFastToolStripMenuItem"; |
this->animateFastToolStripMenuItem->Size = System::Drawing::Size(143, 22); |
this->animateFastToolStripMenuItem->Text = L"&Animate Fast"; |
this->animateFastToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::animateFastToolStripMenuItem_Click); |
// |
// freeRunToolStripMenuItem |
// |
this->freeRunToolStripMenuItem->Name = L"freeRunToolStripMenuItem"; |
this->freeRunToolStripMenuItem->Size = System::Drawing::Size(143, 22); |
this->freeRunToolStripMenuItem->Text = L"Free Run"; |
this->freeRunToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::freeRunToolStripMenuItem_Click); |
// |
// interruptToolStripMenuItem |
// |
this->interruptToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"interruptToolStripMenuItem.Image"))); |
this->interruptToolStripMenuItem->Name = L"interruptToolStripMenuItem"; |
this->interruptToolStripMenuItem->Size = System::Drawing::Size(143, 22); |
this->interruptToolStripMenuItem->Text = L"&Interrupt"; |
this->interruptToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::interruptToolStripMenuItem_Click); |
// |
// viewToolStripMenuItem |
// |
this->viewToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(6) {this->registersToolStripMenuItem, |
this->memoryToolStripMenuItem, this->breakpointsToolStripMenuItem, this->stackToolStripMenuItem, this->pCHistoryToolStripMenuItem, |
this->keyboardToolStripMenuItem}); |
this->viewToolStripMenuItem->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(11) {this->registersToolStripMenuItem, |
this->memoryToolStripMenuItem, this->breakpointsToolStripMenuItem, this->interruptsToolStripMenuItem, this->stackToolStripMenuItem, |
this->pCHistoryToolStripMenuItem, this->keyboardToolStripMenuItem, this->screenToolStripMenuItem, this->debugScreenToolStripMenuItem, |
this->uartToolStripMenuItem, this->runToolStripMenuItem1}); |
this->viewToolStripMenuItem->Name = L"viewToolStripMenuItem"; |
this->viewToolStripMenuItem->Size = System::Drawing::Size(44, 20); |
this->viewToolStripMenuItem->Text = L"&View"; |
296,7 → 275,7
// registersToolStripMenuItem |
// |
this->registersToolStripMenuItem->Name = L"registersToolStripMenuItem"; |
this->registersToolStripMenuItem->Size = System::Drawing::Size(136, 22); |
this->registersToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->registersToolStripMenuItem->Text = L"&Registers"; |
this->registersToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::registersToolStripMenuItem_Click); |
// |
303,21 → 282,30
// memoryToolStripMenuItem |
// |
this->memoryToolStripMenuItem->Name = L"memoryToolStripMenuItem"; |
this->memoryToolStripMenuItem->Size = System::Drawing::Size(136, 22); |
this->memoryToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->memoryToolStripMenuItem->Text = L"&Memory"; |
this->memoryToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::memoryToolStripMenuItem_Click); |
// |
// breakpointsToolStripMenuItem |
// |
this->breakpointsToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"breakpointsToolStripMenuItem.Image"))); |
this->breakpointsToolStripMenuItem->Name = L"breakpointsToolStripMenuItem"; |
this->breakpointsToolStripMenuItem->Size = System::Drawing::Size(136, 22); |
this->breakpointsToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->breakpointsToolStripMenuItem->Text = L"&Breakpoints"; |
this->breakpointsToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::breakpointsToolStripMenuItem_Click); |
// |
// interruptsToolStripMenuItem |
// |
this->interruptsToolStripMenuItem->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"interruptsToolStripMenuItem.Image"))); |
this->interruptsToolStripMenuItem->Name = L"interruptsToolStripMenuItem"; |
this->interruptsToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->interruptsToolStripMenuItem->Text = L"&Interrupts - PIC"; |
this->interruptsToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::interruptsToolStripMenuItem_Click); |
// |
// stackToolStripMenuItem |
// |
this->stackToolStripMenuItem->Name = L"stackToolStripMenuItem"; |
this->stackToolStripMenuItem->Size = System::Drawing::Size(136, 22); |
this->stackToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->stackToolStripMenuItem->Text = L"&Stack"; |
this->stackToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::stackToolStripMenuItem_Click); |
// |
324,7 → 312,7
// pCHistoryToolStripMenuItem |
// |
this->pCHistoryToolStripMenuItem->Name = L"pCHistoryToolStripMenuItem"; |
this->pCHistoryToolStripMenuItem->Size = System::Drawing::Size(136, 22); |
this->pCHistoryToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->pCHistoryToolStripMenuItem->Text = L"&PC History"; |
this->pCHistoryToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::pCHistoryToolStripMenuItem_Click); |
// |
331,10 → 319,38
// keyboardToolStripMenuItem |
// |
this->keyboardToolStripMenuItem->Name = L"keyboardToolStripMenuItem"; |
this->keyboardToolStripMenuItem->Size = System::Drawing::Size(136, 22); |
this->keyboardToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->keyboardToolStripMenuItem->Text = L"&Keyboard"; |
this->keyboardToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::keyboardToolStripMenuItem_Click); |
// |
// screenToolStripMenuItem |
// |
this->screenToolStripMenuItem->Name = L"screenToolStripMenuItem"; |
this->screenToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->screenToolStripMenuItem->Text = L"Screen"; |
this->screenToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::screenToolStripMenuItem_Click); |
// |
// debugScreenToolStripMenuItem |
// |
this->debugScreenToolStripMenuItem->Name = L"debugScreenToolStripMenuItem"; |
this->debugScreenToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->debugScreenToolStripMenuItem->Text = L"Debug Screen"; |
this->debugScreenToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::debugScreenToolStripMenuItem_Click); |
// |
// uartToolStripMenuItem |
// |
this->uartToolStripMenuItem->Name = L"uartToolStripMenuItem"; |
this->uartToolStripMenuItem->Size = System::Drawing::Size(154, 22); |
this->uartToolStripMenuItem->Text = L"&Uart"; |
this->uartToolStripMenuItem->Click += gcnew System::EventHandler(this, &frmMain::uartToolStripMenuItem_Click); |
// |
// runToolStripMenuItem1 |
// |
this->runToolStripMenuItem1->Name = L"runToolStripMenuItem1"; |
this->runToolStripMenuItem1->Size = System::Drawing::Size(154, 22); |
this->runToolStripMenuItem1->Text = L"Run"; |
this->runToolStripMenuItem1->Click += gcnew System::EventHandler(this, &frmMain::runToolStripMenuItem1_Click); |
// |
// aboutToolStripMenuItem |
// |
this->aboutToolStripMenuItem->Name = L"aboutToolStripMenuItem"; |
344,65 → 360,15
// |
// toolStrip1 |
// |
this->toolStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(8) {this->toolStripButton1, |
this->toolStripButton2, this->toolStripButton3, this->toolStripButton4, this->toolStripButton5, this->toolStripButton6, this->toolStripButton7, |
this->toolStripButton8}); |
this->toolStrip1->Location = System::Drawing::Point(0, 24); |
this->toolStrip1->Dock = System::Windows::Forms::DockStyle::None; |
this->toolStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(2) {this->toolStripButton6, |
this->toolStripButton7}); |
this->toolStrip1->Location = System::Drawing::Point(12, 32); |
this->toolStrip1->Name = L"toolStrip1"; |
this->toolStrip1->Size = System::Drawing::Size(684, 25); |
this->toolStrip1->Size = System::Drawing::Size(58, 25); |
this->toolStrip1->TabIndex = 1; |
this->toolStrip1->Text = L"toolStrip1"; |
// |
// toolStripButton1 |
// |
this->toolStripButton1->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton1->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton1.Image"))); |
this->toolStripButton1->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton1->Name = L"toolStripButton1"; |
this->toolStripButton1->Size = System::Drawing::Size(23, 22); |
this->toolStripButton1->Text = L"Step Into"; |
this->toolStripButton1->Click += gcnew System::EventHandler(this, &frmMain::toolStripButton1_Click); |
// |
// toolStripButton2 |
// |
this->toolStripButton2->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton2->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton2.Image"))); |
this->toolStripButton2->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton2->Name = L"toolStripButton2"; |
this->toolStripButton2->Size = System::Drawing::Size(23, 22); |
this->toolStripButton2->Text = L"Step Over (Bounce)"; |
this->toolStripButton2->Click += gcnew System::EventHandler(this, &frmMain::toolStripButton2_Click); |
// |
// toolStripButton3 |
// |
this->toolStripButton3->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton3->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton3.Image"))); |
this->toolStripButton3->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton3->Name = L"toolStripButton3"; |
this->toolStripButton3->Size = System::Drawing::Size(23, 22); |
this->toolStripButton3->Text = L"Step Out Of"; |
this->toolStripButton3->Click += gcnew System::EventHandler(this, &frmMain::toolStripButton3_Click); |
// |
// toolStripButton4 |
// |
this->toolStripButton4->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton4->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton4.Image"))); |
this->toolStripButton4->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton4->Name = L"toolStripButton4"; |
this->toolStripButton4->Size = System::Drawing::Size(23, 22); |
this->toolStripButton4->Text = L"Run"; |
this->toolStripButton4->Click += gcnew System::EventHandler(this, &frmMain::toolStripButton4_Click); |
// |
// toolStripButton5 |
// |
this->toolStripButton5->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton5->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton5.Image"))); |
this->toolStripButton5->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton5->Name = L"toolStripButton5"; |
this->toolStripButton5->Size = System::Drawing::Size(23, 22); |
this->toolStripButton5->Text = L"Stop"; |
this->toolStripButton5->Click += gcnew System::EventHandler(this, &frmMain::toolStripButton5_Click); |
// |
// toolStripButton6 |
// |
this->toolStripButton6->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
423,16 → 389,6
this->toolStripButton7->Text = L"Breakpoints"; |
this->toolStripButton7->Click += gcnew System::EventHandler(this, &frmMain::toolStripButton7_Click); |
// |
// toolStripButton8 |
// |
this->toolStripButton8->DisplayStyle = System::Windows::Forms::ToolStripItemDisplayStyle::Image; |
this->toolStripButton8->Image = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"toolStripButton8.Image"))); |
this->toolStripButton8->ImageTransparentColor = System::Drawing::Color::Magenta; |
this->toolStripButton8->Name = L"toolStripButton8"; |
this->toolStripButton8->Size = System::Drawing::Size(23, 22); |
this->toolStripButton8->Text = L"Reset Button"; |
this->toolStripButton8->Click += gcnew System::EventHandler(this, &frmMain::toolStripButton8_Click); |
// |
// openFileDialog1 |
// |
this->openFileDialog1->DefaultExt = L"hex"; |
444,7 → 400,7
// |
this->lblChecksumError->Anchor = static_cast<System::Windows::Forms::AnchorStyles>((System::Windows::Forms::AnchorStyles::Bottom | System::Windows::Forms::AnchorStyles::Left)); |
this->lblChecksumError->AutoSize = true; |
this->lblChecksumError->Location = System::Drawing::Point(75, 557); |
this->lblChecksumError->Location = System::Drawing::Point(195, 655); |
this->lblChecksumError->Name = L"lblChecksumError"; |
this->lblChecksumError->Size = System::Drawing::Size(35, 13); |
this->lblChecksumError->TabIndex = 2; |
453,7 → 409,7
// pictureBox1 |
// |
this->pictureBox1->Anchor = static_cast<System::Windows::Forms::AnchorStyles>((System::Windows::Forms::AnchorStyles::Bottom | System::Windows::Forms::AnchorStyles::Left)); |
this->pictureBox1->Location = System::Drawing::Point(12, 542); |
this->pictureBox1->Location = System::Drawing::Point(12, 640); |
this->pictureBox1->Name = L"pictureBox1"; |
this->pictureBox1->Size = System::Drawing::Size(218, 12); |
this->pictureBox1->TabIndex = 3; |
461,38 → 417,15
this->pictureBox1->Click += gcnew System::EventHandler(this, &frmMain::pictureBox1_Click); |
this->pictureBox1->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &frmMain::pictureBox1_Paint); |
// |
// listBoxAdr |
// |
this->listBoxAdr->FormattingEnabled = true; |
this->listBoxAdr->Location = System::Drawing::Point(12, 83); |
this->listBoxAdr->Name = L"listBoxAdr"; |
this->listBoxAdr->Size = System::Drawing::Size(71, 433); |
this->listBoxAdr->TabIndex = 4; |
// |
// listBoxBytes |
// |
this->listBoxBytes->FormattingEnabled = true; |
this->listBoxBytes->Location = System::Drawing::Point(89, 83); |
this->listBoxBytes->Name = L"listBoxBytes"; |
this->listBoxBytes->Size = System::Drawing::Size(141, 433); |
this->listBoxBytes->TabIndex = 5; |
// |
// listBoxCode |
// |
this->listBoxCode->FormattingEnabled = true; |
this->listBoxCode->Location = System::Drawing::Point(236, 83); |
this->listBoxCode->Name = L"listBoxCode"; |
this->listBoxCode->Size = System::Drawing::Size(327, 433); |
this->listBoxCode->TabIndex = 6; |
// |
// lblLEDS |
// |
this->lblLEDS->AutoSize = true; |
this->lblLEDS->Location = System::Drawing::Point(271, 542); |
this->lblLEDS->Location = System::Drawing::Point(255, 639); |
this->lblLEDS->Name = L"lblLEDS"; |
this->lblLEDS->Size = System::Drawing::Size(40, 13); |
this->lblLEDS->Size = System::Drawing::Size(31, 13); |
this->lblLEDS->TabIndex = 7; |
this->lblLEDS->Text = L"lblLeds"; |
this->lblLEDS->Text = L"0000"; |
this->lblLEDS->Visible = false; |
// |
// timer1 |
// |
499,18 → 432,6
this->timer1->Enabled = true; |
this->timer1->Tick += gcnew System::EventHandler(this, &frmMain::timer1_Tick); |
// |
// trackBar1 |
// |
this->trackBar1->Location = System::Drawing::Point(426, 32); |
this->trackBar1->Maximum = 999999; |
this->trackBar1->Minimum = 3; |
this->trackBar1->Name = L"trackBar1"; |
this->trackBar1->Size = System::Drawing::Size(137, 45); |
this->trackBar1->TabIndex = 8; |
this->trackBar1->TickStyle = System::Windows::Forms::TickStyle::TopLeft; |
this->trackBar1->Value = 10000; |
this->trackBar1->Scroll += gcnew System::EventHandler(this, &frmMain::trackBar1_Scroll); |
// |
// timer30 |
// |
this->timer30->Tick += gcnew System::EventHandler(this, &frmMain::timer30_Tick); |
519,20 → 440,28
// |
this->timer1024->Tick += gcnew System::EventHandler(this, &frmMain::timer1024_Tick); |
// |
// pictureBox2 |
// |
this->pictureBox2->Anchor = static_cast<System::Windows::Forms::AnchorStyles>((System::Windows::Forms::AnchorStyles::Bottom | System::Windows::Forms::AnchorStyles::Left)); |
this->pictureBox2->Location = System::Drawing::Point(305, 631); |
this->pictureBox2->Name = L"pictureBox2"; |
this->pictureBox2->Size = System::Drawing::Size(172, 38); |
this->pictureBox2->TabIndex = 9; |
this->pictureBox2->TabStop = false; |
this->pictureBox2->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &frmMain::pictureBox2_Paint); |
// |
// frmMain |
// |
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); |
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; |
this->ClientSize = System::Drawing::Size(684, 583); |
this->Controls->Add(this->trackBar1); |
this->ClientSize = System::Drawing::Size(911, 681); |
this->Controls->Add(this->pictureBox2); |
this->Controls->Add(this->toolStrip1); |
this->Controls->Add(this->lblLEDS); |
this->Controls->Add(this->listBoxCode); |
this->Controls->Add(this->listBoxBytes); |
this->Controls->Add(this->listBoxAdr); |
this->Controls->Add(this->pictureBox1); |
this->Controls->Add(this->lblChecksumError); |
this->Controls->Add(this->toolStrip1); |
this->Controls->Add(this->menuStrip1); |
this->IsMdiContainer = true; |
this->MainMenuStrip = this->menuStrip1; |
this->Name = L"frmMain"; |
this->Text = L"Thor ISA Emulator"; |
541,7 → 470,7
this->toolStrip1->ResumeLayout(false); |
this->toolStrip1->PerformLayout(); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->EndInit(); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->trackBar1))->EndInit(); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox2))->EndInit(); |
this->ResumeLayout(false); |
this->PerformLayout(); |
|
549,12 → 478,19
#pragma endregion |
|
private: System::Void registersToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
frmRegisters^ form = gcnew frmRegisters(mut); |
form->Show(); |
if (registersFrm) |
registersFrm->Activate(); |
else { |
registersFrm = gcnew frmRegisters(mut); |
registersFrm->MdiParent = this; |
registersFrm->Show(); |
} |
} |
private: System::Void loadINTELHexFIleToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
this->openFileDialog1->ShowDialog(); |
LoadIntelHexFile(); |
if (runFrm) |
runFrm->UpdateListBoxes(); |
return; |
} |
|
648,7 → 584,8
fp_in.close(); |
system1.WriteROM = false; |
ad = firstAdr; |
UpdateListBoxes(ad); |
if (runFrm) |
runFrm->UpdateListBoxes(); |
if (chksum != 0) { |
sprintf(buf2, "Checksum Error: %d", chksum); |
this->lblChecksumError->Text = gcnew String(buf2); |
658,8 → 595,13
System::Windows::Forms::Cursor::Current = System::Windows::Forms::Cursors::Default; |
} |
private: System::Void memoryToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
frmMemory^ form = gcnew frmMemory(mut); |
form->Show(); |
if (memoryFrm) |
memoryFrm->Activate(); |
else { |
memoryFrm = gcnew frmMemory(mut); |
memoryFrm->MdiParent = this; |
memoryFrm->Show(); |
} |
} |
private: System::Void pictureBox1_Click(System::Object^ sender, System::EventArgs^ e) { |
} |
680,186 → 622,25
gr->FillEllipse(gcnew SolidBrush(Color::FromArgb(0xFF003000)),System::Drawing::Rectangle(w*nn,0,w-1,h-1)); |
} |
} |
private: void UpdateListBoxes(int ad) |
{ |
int nn,nb,kk; |
char buf2[100]; |
std::string dstr; |
std::string buf; |
int adr[32]; |
int adf; |
|
listBoxAdr->Items->Clear(); |
listBoxBytes->Items->Clear(); |
listBoxCode->Items->Clear(); |
for (nn = 0; nn < 32; nn++) { |
adr[nn] = ad; |
sprintf(buf2,"%06X", ad); |
buf = std::string(buf2); |
this->listBoxAdr->Items->Add(gcnew String(buf.c_str())); |
dstr = da.Disassem(ad,&nb); |
buf2[0] = '\0'; |
for (kk = 0; kk < nb; kk++) { |
sprintf(&buf2[strlen(buf2)], "%02X ", system1.ReadByte(ad)); |
ad++; |
} |
buf = std::string(buf2); |
this->listBoxBytes->Items->Add(gcnew String(buf.c_str())); |
this->listBoxCode->Items->Add(gcnew String(dstr.c_str())); |
} |
for (nn = 0; nn < 32; nn++) { |
mut->WaitOne(); |
adf = system1.cpu2.pc; |
mut->ReleaseMutex(); |
if (adr[nn]==adf) { |
this->listBoxAdr->SetSelected(nn,true); |
this->listBoxBytes->SetSelected(nn,true); |
this->listBoxCode->SetSelected(nn,true); |
} |
} |
} |
private: System::Void stepToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
} |
private: System::Void resetToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
Reset(); |
} |
private: void Reset() { |
int ad; |
mut->WaitOne(); |
system1.Reset(); |
ad = system1.cpu2.pc-32; |
mut->ReleaseMutex(); |
UpdateListBoxes(PCIsInList(ad)); |
} |
|
// Try and align the disassembled code with the current PC. |
private: int PCIsInList(int as) |
{ |
int nn, nb; |
std::string dstr; |
int ae; |
int ad = as; |
|
for (ad = as; ad > as-32; ad--) { |
ae = ad; |
for (nn = 0; nn < 64; nn++) { |
mut->WaitOne(); |
if (ae==system1.cpu2.pc) { |
mut->ReleaseMutex(); |
return ad; |
} |
mut->ReleaseMutex(); |
dstr = da.Disassem(ae,&nb); |
ae += nb; |
} |
} |
return as; |
} |
|
private: void DoStepInto() { |
// animate = false; |
// isRunning = false; |
char buf[100]; |
mut->WaitOne(); |
system1.Step(); |
mut->ReleaseMutex(); |
UpdateListBoxes(PCIsInList(system1.cpu2.pc-32)); |
sprintf(buf, "%04X", system1.leds); |
lblLEDS->Text = gcnew String(buf); |
pictureBox1->Refresh(); |
} |
private: void DoStopButton() { |
mut->WaitOne(); |
animate = false; |
isRunning = false; |
// cpu2.brk = true; |
fullspeed = false; |
mut->ReleaseMutex(); |
this->fullSpeedToolStripMenuItem->Checked = false; |
this->animateFastToolStripMenuItem->Checked = false; |
this->timer1->Interval = 100; |
} |
private: System::Void toolStripButton1_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStepInto(); |
} |
private: System::Void openFileDialog1_FileOk(System::Object^ sender, System::ComponentModel::CancelEventArgs^ e) { |
} |
private: System::Void aboutToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
About^ form = gcnew About; |
form->MdiParent = this; |
form->Show(); |
} |
private: System::Void breakpointsToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
frmBreakpoints^ form = gcnew frmBreakpoints(mut); |
form->ShowDialog(); |
} |
private: System::Void fullSpeedToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
this->fullSpeedToolStripMenuItem->Checked = !this->fullSpeedToolStripMenuItem->Checked; |
mut->WaitOne(); |
fullspeed = this->fullSpeedToolStripMenuItem->Checked; |
mut->ReleaseMutex(); |
if (this->fullSpeedToolStripMenuItem->Checked) |
this->timer1->Interval = 1000; |
if (breakpointsFrm) |
breakpointsFrm->Activate(); |
else { |
this->timer1->Interval = (int)sqrt((float)1000000-trackBar1->Value); |
breakpointsFrm = gcnew frmBreakpoints(mut); |
breakpointsFrm->MdiParent = this; |
breakpointsFrm->Show(); |
} |
this->animateFastToolStripMenuItem->Checked = false; |
} |
private: System::Void toolStripButton3_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
step_depth = system1.cpu2.sub_depth; |
stepout = true; |
animate = false; |
fullspeed = true; |
isRunning = true; |
mut->ReleaseMutex(); |
this->fullSpeedToolStripMenuItem->Checked = true; |
private: System::Void fullSpeedToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
} |
private: System::Void animateFastToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
isRunning = false; |
animate = true; |
mut->ReleaseMutex(); |
this->timer1->Interval = 1; |
this->trackBar1->Value = 3; |
this->fullSpeedToolStripMenuItem->Checked = false; |
this->animateFastToolStripMenuItem->Checked = true; |
} |
private: System::Void toolStripButton5_Click(System::Object^ sender, System::EventArgs^ e) { |
DoStopButton(); |
} |
private: System::Void toolStripButton2_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
stepover_pc = system1.cpu2.pc; |
stepover_depth = system1.cpu2.sub_depth; |
stepover = true; |
animate = false; |
fullspeed = true; |
isRunning = true; |
mut->ReleaseMutex(); |
this->fullSpeedToolStripMenuItem->Checked = true; |
} |
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e) { |
static int tt = 0; |
int xx; |
|
if (this->timer1->Interval < 10) |
tt += 1; |
if (tt == 10 * this->timer1->Interval) { |
tt = 0; |
UpdateListBoxes(PCIsInList(system1.cpu2.pc-32)); |
} |
else |
UpdateListBoxes(PCIsInList(system1.cpu2.pc-32)); |
// if (fullspeed) { |
// for (xx = 0; xx < 100000; xx++) |
// RunCPU(); |
// } |
mut->WaitOne(); |
if (!isRunning && animate) { |
system1.Step(); |
} |
mut->ReleaseMutex(); |
|
if (trigger30) { |
trigger30 = false; |
if (interval30==-1) { |
884,61 → 665,71
this->timer1024->Enabled = true; |
} |
} |
|
if (interruptsFrm) |
interruptsFrm->UpdateForm(); |
if (isRunning) { |
if (registersFrm) |
registersFrm->UpdateForm(); |
if (PCHistoryFrm) |
PCHistoryFrm->UpdateForm(); |
if (stackFrm) |
stackFrm->UpdateForm(); |
} |
pictureBox1->Invalidate(); |
pictureBox2->Invalidate(); |
} |
private: System::Void toolStripButton4_Click(System::Object^ sender, System::EventArgs^ e) { |
fmrFreeRun^ form = gcnew fmrFreeRun(mut); |
form->Show(); |
/* |
if (fullspeed) { |
isRunning = true; |
} |
private: System::Void toolStripButton7_Click(System::Object^ sender, System::EventArgs^ e) { |
if (breakpointsFrm) |
breakpointsFrm->Activate(); |
else { |
isRunning = false; |
animate = true; |
this->timer1->Interval = (int)(sqrt((float)1000000-trackBar1->Value)); |
breakpointsFrm = gcnew frmBreakpoints(mut); |
breakpointsFrm->MdiParent = this; |
breakpointsFrm->Show(); |
} |
*/ |
} |
private: System::Void toolStripButton7_Click(System::Object^ sender, System::EventArgs^ e) { |
frmBreakpoints^ form = gcnew frmBreakpoints(mut); |
form->ShowDialog(); |
} |
private: System::Void trackBar1_Scroll(System::Object^ sender, System::EventArgs^ e) { |
animate = true; |
isRunning = false; |
// cpu2.brk = true; |
fullspeed = false; |
this->fullSpeedToolStripMenuItem->Checked = false; |
// this->animateFastToolStripMenuItem->Checked = false; |
this->timer1->Interval = (int)(sqrt((float)1000000-trackBar1->Value)); |
} |
private: System::Void freeRunToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
fmrFreeRun^ form = gcnew fmrFreeRun(mut); |
form->Show(); |
} |
private: System::Void stackToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
frmStack^ form = gcnew frmStack(mut); |
form->Show(); |
if (stackFrm) |
stackFrm->Activate(); |
else { |
stackFrm = gcnew frmStack(mut); |
stackFrm->MdiParent = this; |
stackFrm->Show(); |
} |
} |
private: System::Void interruptToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
frmInterrupts^ form = gcnew frmInterrupts(mut); |
form->ShowDialog(); |
if (interruptsFrm) |
interruptsFrm->Activate(); |
else { |
interruptsFrm = gcnew frmInterrupts(mut); |
interruptsFrm->MdiParent = this; |
interruptsFrm->Show(); |
} |
} |
private: System::Void toolStripButton6_Click(System::Object^ sender, System::EventArgs^ e) { |
frmInterrupts^ form = gcnew frmInterrupts(mut); |
form->ShowDialog(); |
if (interruptsFrm) |
interruptsFrm->Activate(); |
else { |
interruptsFrm = gcnew frmInterrupts(mut); |
interruptsFrm->MdiParent = this; |
interruptsFrm->Show(); |
} |
} |
private: System::Void pCHistoryToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
frmPCHistory^ form = gcnew frmPCHistory(mut); |
form->Show(); |
if (PCHistoryFrm) |
PCHistoryFrm->Activate(); |
else { |
PCHistoryFrm = gcnew frmPCHistory(mut); |
PCHistoryFrm->MdiParent = this; |
PCHistoryFrm->Show(); |
} |
} |
private: System::Void toolStripButton8_Click(System::Object^ sender, System::EventArgs^ e) { |
Reset(); |
} |
private: System::Void keyboardToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
frmKeyboard^ keyboardFrm = gcnew frmKeyboard(mut); |
keyboardFrm->Show(); |
if (keyboardFrm) |
keyboardFrm->Show(); |
else { |
keyboardFrm = gcnew frmKeyboard(mut); |
keyboardFrm->Show(); |
} |
} |
private: System::Void timer30_Tick(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
950,6 → 741,92
system1.pic1.irq1024Hz = true; |
mut->ReleaseMutex(); |
} |
private: System::Void screenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
if (screenClosed) { |
screenFrm = gcnew frmScreen(mut, "Main Screen"); |
mut->WaitOne(); |
screenFrm->pVidMem = &system1.VideoMem[0]; |
screenFrm->pVidDirty = &system1.VideoMemDirty[0]; |
screenFrm->which = 0; |
mut->ReleaseMutex(); |
screenFrm->Show(); |
} |
else |
screenFrm->Activate(); |
} |
private: System::Void debugScreenToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
if (dbgScreenClosed) { |
DBGScreenFrm = gcnew frmScreen(mut, "Debug Screen"); |
mut->WaitOne(); |
DBGScreenFrm->pVidMem = &system1.DBGVideoMem[0]; |
DBGScreenFrm->pVidDirty = &system1.DBGVideoMemDirty[0]; |
DBGScreenFrm->which = 1; |
mut->ReleaseMutex(); |
DBGScreenFrm->Show(); |
} |
else |
DBGScreenFrm->Activate(); |
} |
private: System::Void runToolStripMenuItem1_Click(System::Object^ sender, System::EventArgs^ e) { |
if (runFrm == nullptr) { |
runFrm = gcnew frmRun(mut); |
runFrm->MdiParent = this; |
runFrm->WindowState = FormWindowState::Maximized; |
runFrm->Show(); |
} |
else |
runFrm->Activate(); |
} |
private: System::Void interruptsToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
if (interruptsFrm) |
interruptsFrm->Activate(); |
else { |
interruptsFrm = gcnew frmInterrupts(mut); |
interruptsFrm->MdiParent = this; |
interruptsFrm->Show(); |
} |
} |
private: System::Void uartToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { |
if (uartFrm==nullptr) { |
uartFrm = gcnew frmUart(mut); |
uartFrm->MdiParent = this; |
uartFrm->Show(); |
} |
else |
uartFrm->Activate(); |
} |
private: System::Void pictureBox2_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { |
Graphics^ gr = e->Graphics; |
System::Drawing::Font^ myfont; |
std::string str; |
SolidBrush^ bkbr; |
SolidBrush^ fgbr; |
int xx,kk; |
char buf[9]; |
for (xx = 0; xx < 8; xx++) |
{ |
kk = (system1.sevenseg.dat >> (xx * 4)) & 0xF; |
if (kk < 10) |
buf[7-xx] = '0' + kk; |
else |
switch(kk) { |
case 10: buf[7-xx] = 'A'; break; |
case 11: buf[7-xx] = 'b'; break; |
case 12: buf[7-xx] = 'C'; break; |
case 13: buf[7-xx] = 'd'; break; |
case 14: buf[7-xx] = 'E'; break; |
case 15: buf[7-xx] = 'F'; break; |
} |
} |
buf[8] = '\0'; |
myfont = gcnew System::Drawing::Font("Lucida Console", 24); |
bkbr = gcnew System::Drawing::SolidBrush(System::Drawing::Color::Black); |
gr->FillRectangle(bkbr,this->pictureBox2->ClientRectangle); |
fgbr = gcnew System::Drawing::SolidBrush(Color::FromArgb(0xFF3F0000)); |
gr->DrawString(gcnew String("88888888"),myfont,fgbr,0,0); |
fgbr = gcnew System::Drawing::SolidBrush(Color::FromArgb(0x7FFF0000)); |
gr->DrawString(gcnew String(buf),myfont,fgbr,2,2); |
} |
}; |
} |
|
/software/emuThor/source/frmRun.cpp
0,0 → 1,3
#include "StdAfx.h" |
#include "frmRun.h" |
|
/software/emuThor/source/frmKeyboard.h
1162,15 → 1162,18
mut->ReleaseMutex(); |
} |
private: System::Void btnEnter_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x5A); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x5A); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnRshift_Click(System::Object^ sender, System::EventArgs^ e) { |
static bool sh = false; |
|
mut->WaitOne(); |
if (sh!=0) |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x59); |
1177,13 → 1180,16
sh = !sh; |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn1_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x16); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x16); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnD_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
1195,60 → 1201,76
mut->ReleaseMutex(); |
} |
private: System::Void btnB_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x32); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x32); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnG_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x34); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x34); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnQ_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x15); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x15); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnT_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x2C); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x2C); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnS_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x1B); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x1B); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnM_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x3A); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x3A); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnMinus_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x4E); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x4E); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnBackspace_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x66); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x66); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button14_Click(System::Object^ sender, System::EventArgs^ e) { |
system1.keybd.Put(0xE0); |
1258,22 → 1280,28
system1.keybd.Put(0x71); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnJ_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x3B); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x3B); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnSpace_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x29); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x29); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button10_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x6B); |
system1.keybd.Put(0xE0); |
1281,107 → 1309,137
system1.keybd.Put(0x6B); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn2_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x1E); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x1E); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn3_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x26); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x26); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn4_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x25); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x25); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn5_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x2E); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x2E); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn6_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x36); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x36); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn7_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x3D); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x3D); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn8_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x3E); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x3E); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn9_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x46); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x46); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btn0_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x45); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x45); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnA_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x1C); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x1C); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnC_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x21); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x21); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnE_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x24); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x24); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnF_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x2B); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x2B); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnX_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x22); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x22); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnRctrl_Click(System::Object^ sender, System::EventArgs^ e) { |
static bool sh = false; |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
if (sh!=0) |
system1.keybd.Put(0xF0); |
1389,149 → 1447,191
sh = !sh; |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button9_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x55); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x55); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button8_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x0E); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x0E); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnW_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x1D); |
keybd_status = 0x80; |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x1D); |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnR_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x2D); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x2D); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnY_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x35); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x35); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnU_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x3C); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x3C); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnI_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x43); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x43); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnO_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x44); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x44); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnP_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x4D); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x4D); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnH_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x33); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x33); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnK_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x42); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x42); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnL_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x4B); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x4B); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x4C); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x4C); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x52); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x52); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnZ_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x1A); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x1A); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnV_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x2A); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x2A); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnN_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x31); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x31); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x41); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x41); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x49); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x49); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x5D); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x5D); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void btnLalt_Click(System::Object^ sender, System::EventArgs^ e) { |
static bool sh = false; |
mut->WaitOne(); |
if (sh!=0) |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x11); |
1538,10 → 1638,12
sh = !sh; |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
// Alt |
private: System::Void button20_Click(System::Object^ sender, System::EventArgs^ e) { |
static bool sh = false; |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
if (sh!=0) |
system1.keybd.Put(0xF0); |
1549,9 → 1651,11
sh = !sh; |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void buttonLctrl_Click(System::Object^ sender, System::EventArgs^ e) { |
static bool sh = false; |
mut->WaitOne(); |
if (sh!=0) |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x14); |
1558,8 → 1662,10
sh = !sh; |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button16_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x70); |
system1.keybd.Put(0xE0); |
1567,9 → 1673,11
system1.keybd.Put(0x70); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
// Home |
private: System::Void button17_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x6C); |
system1.keybd.Put(0xE0); |
1577,9 → 1685,11
system1.keybd.Put(0x6C); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
// End |
private: System::Void button15_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x69); |
system1.keybd.Put(0xE0); |
1587,9 → 1697,11
system1.keybd.Put(0x69); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
// Cursor down |
private: System::Void button11_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x72); |
system1.keybd.Put(0xE0); |
1597,9 → 1709,11
system1.keybd.Put(0x72); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
// Cursor Up |
private: System::Void button13_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x75); |
system1.keybd.Put(0xE0); |
1607,9 → 1721,11
system1.keybd.Put(0x75); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
// Cursor right |
private: System::Void button12_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x74); |
system1.keybd.Put(0xE0); |
1617,9 → 1733,11
system1.keybd.Put(0x74); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
// page up |
private: System::Void button19_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x7D); |
system1.keybd.Put(0xE0); |
1627,9 → 1745,11
system1.keybd.Put(0x7D); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
// page down |
private: System::Void button18_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0xE0); |
system1.keybd.Put(0x7A); |
system1.keybd.Put(0xE0); |
1637,57 → 1757,72
system1.keybd.Put(0x7A); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x54); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x54); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x5B); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x5B); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void buttonEsc_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x76); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x76); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void buttonF1_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x05); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x05); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void buttonF2_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x06); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x06); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void buttonCapslock_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x58); |
keybd_status = 0x80; |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x58); |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
private: System::Void frmKeyboard_MouseUp(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { |
} |
private: System::Void buttonTab_Click(System::Object^ sender, System::EventArgs^ e) { |
mut->WaitOne(); |
system1.keybd.Put(0x0D); |
system1.keybd.Put(0xF0); |
system1.keybd.Put(0x0D); |
keybd_status = 0x80; |
system1.pic1.irqKeyboard = true; |
mut->ReleaseMutex(); |
} |
}; |
} |
/software/emuThor/source/clsPIC.cpp
1,7 → 1,6
#include "StdAfx.h" |
#include "clsPIC.h" |
|
|
clsPIC::clsPIC(void) |
{ |
Reset(); |
13,10 → 12,12
|
for (nn = 0; nn < 16; nn++) { |
enables[nn] = false; |
edges[nn] = false; |
} |
irq30Hz = false; |
irq1024Hz = false; |
irqKeyboard = false; |
irqUart = false; |
} |
|
unsigned int clsPIC::Read(unsigned int ad) { |
46,6 → 47,10
case 3: |
enables[dat & 15] = true; |
break; |
case 4: |
for (nn = 0; nn < 16; nn++) |
edges[nn] = (dat & (1 << nn)) != 0; |
break; |
case 5: |
if (dat==1) |
irq1024Hz = false; |
/software/emuThor/source/About.h
135,6 → 135,7
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedDialog; |
this->MaximizeBox = false; |
this->Name = L"About"; |
this->StartPosition = System::Windows::Forms::FormStartPosition::CenterParent; |
this->Text = L"About"; |
this->ResumeLayout(false); |
this->PerformLayout(); |
/software/emuThor/source/frmRegisters.h
1,4 → 1,5
#pragma once |
#include <cstdlib> |
|
namespace emuThor { |
|
9,6 → 10,7
using namespace System::Data; |
using namespace System::Drawing; |
using namespace System::Threading; |
using namespace System::Runtime::InteropServices; |
|
/// <summary> |
/// Summary for frmRegisters |
24,124 → 26,25
// |
//TODO: Add the constructor code here |
// |
char buf[100]; |
mut->WaitOne(); |
sprintf(buf, "%016I64X", system1.cpu2.gp[1]); |
txtR1->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[2]); |
txtR2->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[3]); |
txtR3->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[4]); |
txtR4->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[5]); |
txtR5->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[6]); |
txtR6->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[7]); |
txtR7->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[8]); |
txtR8->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[9]); |
txtR9->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[10]); |
txtR10->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[11]); |
txtR11->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[12]); |
txtR12->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[13]); |
txtR13->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[14]); |
txtR14->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[15]); |
txtR15->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[16]); |
txtR16->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[17]); |
txtR17->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[18]); |
txtR18->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[19]); |
txtR19->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[26]); |
txtR26->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[27]); |
txtR27->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[28]); |
txtR28->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[29]); |
txtR29->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[30]); |
txtR30->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.gp[31]); |
txtR31->Text = gcnew String(buf); |
|
// Predicate Registers |
sprintf(buf, "%04X %c%c%c", system1.cpu2.pr[0], |
system1.cpu2.pr[0] & 4 ? '<' : ' ', |
system1.cpu2.pr[0] & 2 ? '<' : ' ', |
system1.cpu2.pr[0] & 1 ? '=' : ' ' |
); |
txtP0->Text = gcnew String(buf); |
sprintf(buf, "%04X %c%c%c", system1.cpu2.pr[1], |
system1.cpu2.pr[1] & 4 ? '<' : ' ', |
system1.cpu2.pr[1] & 2 ? '<' : ' ', |
system1.cpu2.pr[1] & 1 ? '=' : ' ' |
); |
txtP1->Text = gcnew String(buf); |
sprintf(buf, "%04X %c%c%c", system1.cpu2.pr[2], |
system1.cpu2.pr[2] & 4 ? '<' : ' ', |
system1.cpu2.pr[2] & 2 ? '<' : ' ', |
system1.cpu2.pr[2] & 1 ? '=' : ' ' |
); |
txtP2->Text = gcnew String(buf); |
sprintf(buf, "%04X %c%c%c", system1.cpu2.pr[3], |
system1.cpu2.pr[3] & 4 ? '<' : ' ', |
system1.cpu2.pr[3] & 2 ? '<' : ' ', |
system1.cpu2.pr[3] & 1 ? '=' : ' ' |
); |
txtP3->Text = gcnew String(buf); |
sprintf(buf, "%04X %c%c%c", system1.cpu2.pr[4], |
system1.cpu2.pr[4] & 4 ? '<' : ' ', |
system1.cpu2.pr[4] & 2 ? '<' : ' ', |
system1.cpu2.pr[4] & 1 ? '=' : ' ' |
); |
txtP4->Text = gcnew String(buf); |
sprintf(buf, "%04X %c%c%c", system1.cpu2.pr[5], |
system1.cpu2.pr[5] & 4 ? '<' : ' ', |
system1.cpu2.pr[5] & 2 ? '<' : ' ', |
system1.cpu2.pr[5] & 1 ? '=' : ' ' |
); |
txtP5->Text = gcnew String(buf); |
sprintf(buf, "%04X %c%c%c", system1.cpu2.pr[6], |
system1.cpu2.pr[6] & 4 ? '<' : ' ', |
system1.cpu2.pr[6] & 2 ? '<' : ' ', |
system1.cpu2.pr[6] & 1 ? '=' : ' ' |
); |
txtP6->Text = gcnew String(buf); |
sprintf(buf, "%04X %c%c%c", system1.cpu2.pr[7], |
system1.cpu2.pr[7] & 4 ? '<' : ' ', |
system1.cpu2.pr[7] & 2 ? '<' : ' ', |
system1.cpu2.pr[7] & 1 ? '=' : ' ' |
); |
txtP7->Text = gcnew String(buf); |
|
// Code address registers |
sprintf(buf, "%016I64X", system1.cpu2.ca[1]); |
txtCa1->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.ca[12]); |
txtCa12->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.ca[14]); |
txtCa14->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.pc); |
txtCa15->Text = gcnew String(buf); |
|
sprintf(buf, "%016I64X", system1.cpu2.tick); |
txtTick->Text = gcnew String(buf); |
sprintf(buf, "%016I64X", system1.cpu2.lc); |
txtLC->Text = gcnew String(buf); |
mut->ReleaseMutex(); |
UpdateForm(); |
toolTipC1->SetToolTip(txtCa1, "C1 is typically used to store the subroutine return address.\n The short form RTS instruction expects this register to contain the return address."); |
toolTipC8->SetToolTip(txtCa8, "C8, C9, and C10 are typically used by the compiler as register variables to store\n" |
"the address of a subroutine called multiple times."); |
toolTipC8->SetToolTip(txtCa9, "C8, C9, and C10 are typically used by the compiler as register variables to store\n" |
"the address of a subroutine called multiple times."); |
toolTipC8->SetToolTip(txtCa10, "C8, C9, and C10 are typically used by the compiler as register variables to store\n" |
"the address of a subroutine called multiple times."); |
toolTipC12->SetToolTip(txtCa12, "C12 specifies the location of the interrupt vector table in memory."); |
toolTipC14->SetToolTip(txtCa14, "C14 contains the address at which an interrupt occurred.\nThe RTI instruction uses this register to determine where to return."); |
toolTipR0->SetToolTip(txtR0, "R0 is always zero and can't be altered."); |
toolTipR28->SetToolTip(txtR28, "ISP / R28 is the interrupt mode stack pointer. References to R27 will be re-routed to this register.\n" |
"R28 is accessible only from a kernel mode."); |
toolTipR29->SetToolTip(txtR29, "ESP / R29 is the exception mode stack pointer. References to R27 will be re-routed to this register.\n" |
"R29 is accessible only from a kernel mode."); |
toolTipR30->SetToolTip(txtR30, "DSP / R30 is the debug mode stack pointer. References to R27 will be re-routed to this register.\n" |
"R30 is accessible only from a kernel mode."); |
toolTipR31->SetToolTip(txtR31, "TR / R31 is used by the system as the Task Register which points to the active task control block.\n" |
"R31 is accessible only from a kernel mode."); |
} |
|
protected: |
165,61 → 68,89
|
private: System::Windows::Forms::Label^ label1; |
private: System::Windows::Forms::TabPage^ tabPage2; |
private: System::Windows::Forms::TextBox^ textBox49; |
private: System::Windows::Forms::TextBox^ txtR63; |
|
private: System::Windows::Forms::Label^ label49; |
private: System::Windows::Forms::TextBox^ textBox50; |
private: System::Windows::Forms::TextBox^ txtR62; |
|
private: System::Windows::Forms::Label^ label50; |
private: System::Windows::Forms::TextBox^ textBox51; |
private: System::Windows::Forms::TextBox^ txtR61; |
|
private: System::Windows::Forms::Label^ label51; |
private: System::Windows::Forms::TextBox^ textBox52; |
private: System::Windows::Forms::TextBox^ txtR60; |
|
private: System::Windows::Forms::Label^ label52; |
private: System::Windows::Forms::TextBox^ textBox53; |
private: System::Windows::Forms::TextBox^ txtR59; |
|
private: System::Windows::Forms::Label^ label53; |
private: System::Windows::Forms::TextBox^ textBox54; |
private: System::Windows::Forms::TextBox^ txtR58; |
|
private: System::Windows::Forms::Label^ label54; |
private: System::Windows::Forms::TextBox^ textBox55; |
private: System::Windows::Forms::TextBox^ txtR57; |
|
private: System::Windows::Forms::Label^ label55; |
private: System::Windows::Forms::TextBox^ textBox56; |
private: System::Windows::Forms::TextBox^ txtR56; |
|
private: System::Windows::Forms::Label^ label56; |
private: System::Windows::Forms::TextBox^ textBox57; |
private: System::Windows::Forms::TextBox^ txtR55; |
|
private: System::Windows::Forms::Label^ label57; |
private: System::Windows::Forms::TextBox^ textBox58; |
private: System::Windows::Forms::TextBox^ txtR54; |
|
private: System::Windows::Forms::Label^ label58; |
private: System::Windows::Forms::TextBox^ textBox59; |
private: System::Windows::Forms::TextBox^ txtR53; |
|
private: System::Windows::Forms::Label^ label59; |
private: System::Windows::Forms::TextBox^ textBox60; |
private: System::Windows::Forms::TextBox^ txtR52; |
|
private: System::Windows::Forms::Label^ label60; |
private: System::Windows::Forms::TextBox^ textBox61; |
private: System::Windows::Forms::TextBox^ txtR51; |
|
private: System::Windows::Forms::Label^ label61; |
private: System::Windows::Forms::TextBox^ textBox62; |
private: System::Windows::Forms::TextBox^ txtR50; |
|
private: System::Windows::Forms::Label^ label62; |
private: System::Windows::Forms::TextBox^ textBox63; |
private: System::Windows::Forms::TextBox^ txtR49; |
|
private: System::Windows::Forms::Label^ label63; |
private: System::Windows::Forms::TextBox^ textBox64; |
private: System::Windows::Forms::TextBox^ txtR48; |
|
private: System::Windows::Forms::Label^ label64; |
private: System::Windows::Forms::TextBox^ textBox33; |
private: System::Windows::Forms::TextBox^ txtR47; |
|
private: System::Windows::Forms::Label^ label33; |
private: System::Windows::Forms::TextBox^ textBox34; |
private: System::Windows::Forms::TextBox^ txtR46; |
|
private: System::Windows::Forms::Label^ label34; |
private: System::Windows::Forms::TextBox^ textBox35; |
private: System::Windows::Forms::TextBox^ txtR45; |
|
private: System::Windows::Forms::Label^ label35; |
private: System::Windows::Forms::TextBox^ textBox36; |
private: System::Windows::Forms::TextBox^ txtR44; |
|
private: System::Windows::Forms::Label^ label36; |
private: System::Windows::Forms::TextBox^ textBox37; |
private: System::Windows::Forms::TextBox^ txtR43; |
|
private: System::Windows::Forms::Label^ label37; |
private: System::Windows::Forms::TextBox^ textBox38; |
private: System::Windows::Forms::TextBox^ txtR42; |
|
private: System::Windows::Forms::Label^ label38; |
private: System::Windows::Forms::TextBox^ textBox39; |
private: System::Windows::Forms::TextBox^ txtR41; |
|
private: System::Windows::Forms::Label^ label39; |
private: System::Windows::Forms::TextBox^ textBox40; |
private: System::Windows::Forms::TextBox^ txtR40; |
|
private: System::Windows::Forms::Label^ label40; |
private: System::Windows::Forms::TextBox^ textBox41; |
private: System::Windows::Forms::TextBox^ txtR39; |
|
private: System::Windows::Forms::Label^ label41; |
private: System::Windows::Forms::TextBox^ textBox42; |
private: System::Windows::Forms::TextBox^ txtR38; |
|
private: System::Windows::Forms::Label^ label42; |
private: System::Windows::Forms::TextBox^ textBox43; |
private: System::Windows::Forms::TextBox^ txtR37; |
|
private: System::Windows::Forms::Label^ label43; |
private: System::Windows::Forms::TextBox^ textBox44; |
private: System::Windows::Forms::TextBox^ txtR36; |
|
private: System::Windows::Forms::Label^ label44; |
private: System::Windows::Forms::TextBox^ txtR35; |
|
328,37 → 259,45
private: System::Windows::Forms::Label^ label107; |
private: System::Windows::Forms::Label^ label106; |
private: System::Windows::Forms::Label^ label105; |
private: System::Windows::Forms::TextBox^ textBox94; |
private: System::Windows::Forms::TextBox^ txtCsLmt; |
|
private: System::Windows::Forms::TextBox^ txtCs; |
|
private: System::Windows::Forms::Label^ label104; |
private: System::Windows::Forms::TextBox^ txtSSLmt; |
private: System::Windows::Forms::TextBox^ txtSsLmt; |
|
|
private: System::Windows::Forms::TextBox^ txtSs; |
|
private: System::Windows::Forms::Label^ label103; |
private: System::Windows::Forms::TextBox^ textBox90; |
private: System::Windows::Forms::TextBox^ txtHsLmt; |
|
private: System::Windows::Forms::TextBox^ txtHs; |
|
private: System::Windows::Forms::Label^ label102; |
private: System::Windows::Forms::TextBox^ textBox88; |
private: System::Windows::Forms::TextBox^ txtGsLmt; |
|
private: System::Windows::Forms::TextBox^ txtGs; |
|
private: System::Windows::Forms::Label^ label101; |
private: System::Windows::Forms::TextBox^ textBox86; |
private: System::Windows::Forms::TextBox^ txtFsLmt; |
|
private: System::Windows::Forms::TextBox^ txtFs; |
|
private: System::Windows::Forms::Label^ label100; |
private: System::Windows::Forms::TextBox^ textBox84; |
private: System::Windows::Forms::TextBox^ txtEsLmt; |
|
private: System::Windows::Forms::TextBox^ txtEs; |
|
private: System::Windows::Forms::Label^ label99; |
private: System::Windows::Forms::TextBox^ textBox82; |
private: System::Windows::Forms::TextBox^ txtDsLmt; |
|
private: System::Windows::Forms::TextBox^ txtDs; |
|
private: System::Windows::Forms::Label^ label98; |
private: System::Windows::Forms::TextBox^ txtZSLmt; |
private: System::Windows::Forms::TextBox^ txtZsLmt; |
|
|
private: System::Windows::Forms::TextBox^ txtZs; |
|
private: System::Windows::Forms::Label^ label97; |
457,15 → 396,20
private: System::Windows::Forms::TextBox^ txtP0; |
private: System::Windows::Forms::Label^ label65; |
private: System::Windows::Forms::Label^ label116; |
private: System::Windows::Forms::TextBox^ textBox101; |
private: System::Windows::Forms::TextBox^ txtDBSTAT; |
|
private: System::Windows::Forms::Label^ label115; |
private: System::Windows::Forms::TextBox^ textBox100; |
private: System::Windows::Forms::TextBox^ txtDBCTRL; |
|
private: System::Windows::Forms::Label^ label114; |
private: System::Windows::Forms::TextBox^ textBox99; |
private: System::Windows::Forms::TextBox^ txtDBAD3; |
|
private: System::Windows::Forms::Label^ label113; |
private: System::Windows::Forms::TextBox^ textBox98; |
private: System::Windows::Forms::TextBox^ txtDBAD2; |
|
private: System::Windows::Forms::Label^ label112; |
private: System::Windows::Forms::TextBox^ textBox97; |
private: System::Windows::Forms::TextBox^ txtDBAD1; |
|
private: System::Windows::Forms::Label^ label111; |
private: System::Windows::Forms::TextBox^ txtDBAD0; |
|
474,6 → 418,17
private: System::Windows::Forms::Label^ label118; |
private: System::Windows::Forms::TextBox^ txtLC; |
private: System::Windows::Forms::Label^ label117; |
private: System::Windows::Forms::ToolTip^ toolTipC12; |
private: System::Windows::Forms::ToolTip^ toolTipC14; |
private: System::Windows::Forms::ToolTip^ toolTipC1; |
private: System::Windows::Forms::ToolTip^ toolTipR31; |
private: System::Windows::Forms::ToolTip^ toolTipR30; |
private: System::Windows::Forms::ToolTip^ toolTipR29; |
private: System::Windows::Forms::ToolTip^ toolTipR28; |
private: System::Windows::Forms::ToolTip^ toolTipC8; |
private: System::Windows::Forms::ToolTip^ toolTipR0; |
private: System::Windows::Forms::Button^ btnUpdate; |
private: System::ComponentModel::IContainer^ components; |
|
protected: |
|
609,8 → 564,8
/// <summary> |
/// Required designer variable. |
/// </summary> |
System::ComponentModel::Container ^components; |
|
|
#pragma region Windows Form Designer generated code |
/// <summary> |
/// Required method for Designer support - do not modify |
618,63 → 573,64
/// </summary> |
void InitializeComponent(void) |
{ |
this->components = (gcnew System::ComponentModel::Container()); |
this->tabControl1 = (gcnew System::Windows::Forms::TabControl()); |
this->tabPage1 = (gcnew System::Windows::Forms::TabPage()); |
this->textBox49 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR63 = (gcnew System::Windows::Forms::TextBox()); |
this->label49 = (gcnew System::Windows::Forms::Label()); |
this->textBox50 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR62 = (gcnew System::Windows::Forms::TextBox()); |
this->label50 = (gcnew System::Windows::Forms::Label()); |
this->textBox51 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR61 = (gcnew System::Windows::Forms::TextBox()); |
this->label51 = (gcnew System::Windows::Forms::Label()); |
this->textBox52 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR60 = (gcnew System::Windows::Forms::TextBox()); |
this->label52 = (gcnew System::Windows::Forms::Label()); |
this->textBox53 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR59 = (gcnew System::Windows::Forms::TextBox()); |
this->label53 = (gcnew System::Windows::Forms::Label()); |
this->textBox54 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR58 = (gcnew System::Windows::Forms::TextBox()); |
this->label54 = (gcnew System::Windows::Forms::Label()); |
this->textBox55 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR57 = (gcnew System::Windows::Forms::TextBox()); |
this->label55 = (gcnew System::Windows::Forms::Label()); |
this->textBox56 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR56 = (gcnew System::Windows::Forms::TextBox()); |
this->label56 = (gcnew System::Windows::Forms::Label()); |
this->textBox57 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR55 = (gcnew System::Windows::Forms::TextBox()); |
this->label57 = (gcnew System::Windows::Forms::Label()); |
this->textBox58 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR54 = (gcnew System::Windows::Forms::TextBox()); |
this->label58 = (gcnew System::Windows::Forms::Label()); |
this->textBox59 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR53 = (gcnew System::Windows::Forms::TextBox()); |
this->label59 = (gcnew System::Windows::Forms::Label()); |
this->textBox60 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR52 = (gcnew System::Windows::Forms::TextBox()); |
this->label60 = (gcnew System::Windows::Forms::Label()); |
this->textBox61 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR51 = (gcnew System::Windows::Forms::TextBox()); |
this->label61 = (gcnew System::Windows::Forms::Label()); |
this->textBox62 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR50 = (gcnew System::Windows::Forms::TextBox()); |
this->label62 = (gcnew System::Windows::Forms::Label()); |
this->textBox63 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR49 = (gcnew System::Windows::Forms::TextBox()); |
this->label63 = (gcnew System::Windows::Forms::Label()); |
this->textBox64 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR48 = (gcnew System::Windows::Forms::TextBox()); |
this->label64 = (gcnew System::Windows::Forms::Label()); |
this->textBox33 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR47 = (gcnew System::Windows::Forms::TextBox()); |
this->label33 = (gcnew System::Windows::Forms::Label()); |
this->textBox34 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR46 = (gcnew System::Windows::Forms::TextBox()); |
this->label34 = (gcnew System::Windows::Forms::Label()); |
this->textBox35 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR45 = (gcnew System::Windows::Forms::TextBox()); |
this->label35 = (gcnew System::Windows::Forms::Label()); |
this->textBox36 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR44 = (gcnew System::Windows::Forms::TextBox()); |
this->label36 = (gcnew System::Windows::Forms::Label()); |
this->textBox37 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR43 = (gcnew System::Windows::Forms::TextBox()); |
this->label37 = (gcnew System::Windows::Forms::Label()); |
this->textBox38 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR42 = (gcnew System::Windows::Forms::TextBox()); |
this->label38 = (gcnew System::Windows::Forms::Label()); |
this->textBox39 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR41 = (gcnew System::Windows::Forms::TextBox()); |
this->label39 = (gcnew System::Windows::Forms::Label()); |
this->textBox40 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR40 = (gcnew System::Windows::Forms::TextBox()); |
this->label40 = (gcnew System::Windows::Forms::Label()); |
this->textBox41 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR39 = (gcnew System::Windows::Forms::TextBox()); |
this->label41 = (gcnew System::Windows::Forms::Label()); |
this->textBox42 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR38 = (gcnew System::Windows::Forms::TextBox()); |
this->label42 = (gcnew System::Windows::Forms::Label()); |
this->textBox43 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR37 = (gcnew System::Windows::Forms::TextBox()); |
this->label43 = (gcnew System::Windows::Forms::Label()); |
this->textBox44 = (gcnew System::Windows::Forms::TextBox()); |
this->txtR36 = (gcnew System::Windows::Forms::TextBox()); |
this->label44 = (gcnew System::Windows::Forms::Label()); |
this->txtR35 = (gcnew System::Windows::Forms::TextBox()); |
this->label45 = (gcnew System::Windows::Forms::Label()); |
754,15 → 710,15
this->txtLC = (gcnew System::Windows::Forms::TextBox()); |
this->label117 = (gcnew System::Windows::Forms::Label()); |
this->label116 = (gcnew System::Windows::Forms::Label()); |
this->textBox101 = (gcnew System::Windows::Forms::TextBox()); |
this->txtDBSTAT = (gcnew System::Windows::Forms::TextBox()); |
this->label115 = (gcnew System::Windows::Forms::Label()); |
this->textBox100 = (gcnew System::Windows::Forms::TextBox()); |
this->txtDBCTRL = (gcnew System::Windows::Forms::TextBox()); |
this->label114 = (gcnew System::Windows::Forms::Label()); |
this->textBox99 = (gcnew System::Windows::Forms::TextBox()); |
this->txtDBAD3 = (gcnew System::Windows::Forms::TextBox()); |
this->label113 = (gcnew System::Windows::Forms::Label()); |
this->textBox98 = (gcnew System::Windows::Forms::TextBox()); |
this->txtDBAD2 = (gcnew System::Windows::Forms::TextBox()); |
this->label112 = (gcnew System::Windows::Forms::Label()); |
this->textBox97 = (gcnew System::Windows::Forms::TextBox()); |
this->txtDBAD1 = (gcnew System::Windows::Forms::TextBox()); |
this->label111 = (gcnew System::Windows::Forms::Label()); |
this->txtDBAD0 = (gcnew System::Windows::Forms::TextBox()); |
this->label110 = (gcnew System::Windows::Forms::Label()); |
771,28 → 727,28
this->label107 = (gcnew System::Windows::Forms::Label()); |
this->label106 = (gcnew System::Windows::Forms::Label()); |
this->label105 = (gcnew System::Windows::Forms::Label()); |
this->textBox94 = (gcnew System::Windows::Forms::TextBox()); |
this->txtCsLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtCs = (gcnew System::Windows::Forms::TextBox()); |
this->label104 = (gcnew System::Windows::Forms::Label()); |
this->txtSSLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtSsLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtSs = (gcnew System::Windows::Forms::TextBox()); |
this->label103 = (gcnew System::Windows::Forms::Label()); |
this->textBox90 = (gcnew System::Windows::Forms::TextBox()); |
this->txtHsLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtHs = (gcnew System::Windows::Forms::TextBox()); |
this->label102 = (gcnew System::Windows::Forms::Label()); |
this->textBox88 = (gcnew System::Windows::Forms::TextBox()); |
this->txtGsLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtGs = (gcnew System::Windows::Forms::TextBox()); |
this->label101 = (gcnew System::Windows::Forms::Label()); |
this->textBox86 = (gcnew System::Windows::Forms::TextBox()); |
this->txtFsLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtFs = (gcnew System::Windows::Forms::TextBox()); |
this->label100 = (gcnew System::Windows::Forms::Label()); |
this->textBox84 = (gcnew System::Windows::Forms::TextBox()); |
this->txtEsLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtEs = (gcnew System::Windows::Forms::TextBox()); |
this->label99 = (gcnew System::Windows::Forms::Label()); |
this->textBox82 = (gcnew System::Windows::Forms::TextBox()); |
this->txtDsLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtDs = (gcnew System::Windows::Forms::TextBox()); |
this->label98 = (gcnew System::Windows::Forms::Label()); |
this->txtZSLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtZsLmt = (gcnew System::Windows::Forms::TextBox()); |
this->txtZs = (gcnew System::Windows::Forms::TextBox()); |
this->label97 = (gcnew System::Windows::Forms::Label()); |
this->txtCa15 = (gcnew System::Windows::Forms::TextBox()); |
859,6 → 815,16
this->label66 = (gcnew System::Windows::Forms::Label()); |
this->txtP0 = (gcnew System::Windows::Forms::TextBox()); |
this->label65 = (gcnew System::Windows::Forms::Label()); |
this->toolTipC12 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->toolTipC14 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->toolTipC1 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->toolTipR31 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->toolTipR30 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->toolTipR29 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->toolTipR28 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->toolTipC8 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->toolTipR0 = (gcnew System::Windows::Forms::ToolTip(this->components)); |
this->btnUpdate = (gcnew System::Windows::Forms::Button()); |
this->tabControl1->SuspendLayout(); |
this->tabPage1->SuspendLayout(); |
this->tabPage2->SuspendLayout(); |
868,69 → 834,69
// |
this->tabControl1->Controls->Add(this->tabPage1); |
this->tabControl1->Controls->Add(this->tabPage2); |
this->tabControl1->Location = System::Drawing::Point(12, 12); |
this->tabControl1->Location = System::Drawing::Point(12, 42); |
this->tabControl1->Name = L"tabControl1"; |
this->tabControl1->SelectedIndex = 0; |
this->tabControl1->Size = System::Drawing::Size(743, 507); |
this->tabControl1->Size = System::Drawing::Size(743, 483); |
this->tabControl1->TabIndex = 0; |
// |
// tabPage1 |
// |
this->tabPage1->Controls->Add(this->textBox49); |
this->tabPage1->Controls->Add(this->txtR63); |
this->tabPage1->Controls->Add(this->label49); |
this->tabPage1->Controls->Add(this->textBox50); |
this->tabPage1->Controls->Add(this->txtR62); |
this->tabPage1->Controls->Add(this->label50); |
this->tabPage1->Controls->Add(this->textBox51); |
this->tabPage1->Controls->Add(this->txtR61); |
this->tabPage1->Controls->Add(this->label51); |
this->tabPage1->Controls->Add(this->textBox52); |
this->tabPage1->Controls->Add(this->txtR60); |
this->tabPage1->Controls->Add(this->label52); |
this->tabPage1->Controls->Add(this->textBox53); |
this->tabPage1->Controls->Add(this->txtR59); |
this->tabPage1->Controls->Add(this->label53); |
this->tabPage1->Controls->Add(this->textBox54); |
this->tabPage1->Controls->Add(this->txtR58); |
this->tabPage1->Controls->Add(this->label54); |
this->tabPage1->Controls->Add(this->textBox55); |
this->tabPage1->Controls->Add(this->txtR57); |
this->tabPage1->Controls->Add(this->label55); |
this->tabPage1->Controls->Add(this->textBox56); |
this->tabPage1->Controls->Add(this->txtR56); |
this->tabPage1->Controls->Add(this->label56); |
this->tabPage1->Controls->Add(this->textBox57); |
this->tabPage1->Controls->Add(this->txtR55); |
this->tabPage1->Controls->Add(this->label57); |
this->tabPage1->Controls->Add(this->textBox58); |
this->tabPage1->Controls->Add(this->txtR54); |
this->tabPage1->Controls->Add(this->label58); |
this->tabPage1->Controls->Add(this->textBox59); |
this->tabPage1->Controls->Add(this->txtR53); |
this->tabPage1->Controls->Add(this->label59); |
this->tabPage1->Controls->Add(this->textBox60); |
this->tabPage1->Controls->Add(this->txtR52); |
this->tabPage1->Controls->Add(this->label60); |
this->tabPage1->Controls->Add(this->textBox61); |
this->tabPage1->Controls->Add(this->txtR51); |
this->tabPage1->Controls->Add(this->label61); |
this->tabPage1->Controls->Add(this->textBox62); |
this->tabPage1->Controls->Add(this->txtR50); |
this->tabPage1->Controls->Add(this->label62); |
this->tabPage1->Controls->Add(this->textBox63); |
this->tabPage1->Controls->Add(this->txtR49); |
this->tabPage1->Controls->Add(this->label63); |
this->tabPage1->Controls->Add(this->textBox64); |
this->tabPage1->Controls->Add(this->txtR48); |
this->tabPage1->Controls->Add(this->label64); |
this->tabPage1->Controls->Add(this->textBox33); |
this->tabPage1->Controls->Add(this->txtR47); |
this->tabPage1->Controls->Add(this->label33); |
this->tabPage1->Controls->Add(this->textBox34); |
this->tabPage1->Controls->Add(this->txtR46); |
this->tabPage1->Controls->Add(this->label34); |
this->tabPage1->Controls->Add(this->textBox35); |
this->tabPage1->Controls->Add(this->txtR45); |
this->tabPage1->Controls->Add(this->label35); |
this->tabPage1->Controls->Add(this->textBox36); |
this->tabPage1->Controls->Add(this->txtR44); |
this->tabPage1->Controls->Add(this->label36); |
this->tabPage1->Controls->Add(this->textBox37); |
this->tabPage1->Controls->Add(this->txtR43); |
this->tabPage1->Controls->Add(this->label37); |
this->tabPage1->Controls->Add(this->textBox38); |
this->tabPage1->Controls->Add(this->txtR42); |
this->tabPage1->Controls->Add(this->label38); |
this->tabPage1->Controls->Add(this->textBox39); |
this->tabPage1->Controls->Add(this->txtR41); |
this->tabPage1->Controls->Add(this->label39); |
this->tabPage1->Controls->Add(this->textBox40); |
this->tabPage1->Controls->Add(this->txtR40); |
this->tabPage1->Controls->Add(this->label40); |
this->tabPage1->Controls->Add(this->textBox41); |
this->tabPage1->Controls->Add(this->txtR39); |
this->tabPage1->Controls->Add(this->label41); |
this->tabPage1->Controls->Add(this->textBox42); |
this->tabPage1->Controls->Add(this->txtR38); |
this->tabPage1->Controls->Add(this->label42); |
this->tabPage1->Controls->Add(this->textBox43); |
this->tabPage1->Controls->Add(this->txtR37); |
this->tabPage1->Controls->Add(this->label43); |
this->tabPage1->Controls->Add(this->textBox44); |
this->tabPage1->Controls->Add(this->txtR36); |
this->tabPage1->Controls->Add(this->label44); |
this->tabPage1->Controls->Add(this->txtR35); |
this->tabPage1->Controls->Add(this->label45); |
1007,482 → 973,482
this->tabPage1->Location = System::Drawing::Point(4, 22); |
this->tabPage1->Name = L"tabPage1"; |
this->tabPage1->Padding = System::Windows::Forms::Padding(3); |
this->tabPage1->Size = System::Drawing::Size(735, 481); |
this->tabPage1->Size = System::Drawing::Size(735, 457); |
this->tabPage1->TabIndex = 0; |
this->tabPage1->Text = L"General Registers"; |
this->tabPage1->UseVisualStyleBackColor = true; |
// |
// textBox49 |
// txtR63 |
// |
this->textBox49->Location = System::Drawing::Point(516, 403); |
this->textBox49->Name = L"textBox49"; |
this->textBox49->Size = System::Drawing::Size(121, 20); |
this->textBox49->TabIndex = 127; |
this->textBox49->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR63->Location = System::Drawing::Point(539, 403); |
this->txtR63->Name = L"txtR63"; |
this->txtR63->Size = System::Drawing::Size(121, 20); |
this->txtR63->TabIndex = 127; |
this->txtR63->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label49 |
// |
this->label49->AutoSize = true; |
this->label49->Location = System::Drawing::Point(489, 406); |
this->label49->Location = System::Drawing::Point(512, 406); |
this->label49->Name = L"label49"; |
this->label49->Size = System::Drawing::Size(27, 13); |
this->label49->TabIndex = 126; |
this->label49->Text = L"R63"; |
// |
// textBox50 |
// txtR62 |
// |
this->textBox50->Location = System::Drawing::Point(516, 377); |
this->textBox50->Name = L"textBox50"; |
this->textBox50->Size = System::Drawing::Size(121, 20); |
this->textBox50->TabIndex = 125; |
this->textBox50->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR62->Location = System::Drawing::Point(539, 377); |
this->txtR62->Name = L"txtR62"; |
this->txtR62->Size = System::Drawing::Size(121, 20); |
this->txtR62->TabIndex = 125; |
this->txtR62->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label50 |
// |
this->label50->AutoSize = true; |
this->label50->Location = System::Drawing::Point(489, 380); |
this->label50->Location = System::Drawing::Point(512, 380); |
this->label50->Name = L"label50"; |
this->label50->Size = System::Drawing::Size(27, 13); |
this->label50->TabIndex = 124; |
this->label50->Text = L"R62"; |
// |
// textBox51 |
// txtR61 |
// |
this->textBox51->Location = System::Drawing::Point(516, 351); |
this->textBox51->Name = L"textBox51"; |
this->textBox51->Size = System::Drawing::Size(121, 20); |
this->textBox51->TabIndex = 123; |
this->textBox51->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR61->Location = System::Drawing::Point(539, 351); |
this->txtR61->Name = L"txtR61"; |
this->txtR61->Size = System::Drawing::Size(121, 20); |
this->txtR61->TabIndex = 123; |
this->txtR61->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label51 |
// |
this->label51->AutoSize = true; |
this->label51->Location = System::Drawing::Point(489, 354); |
this->label51->Location = System::Drawing::Point(512, 354); |
this->label51->Name = L"label51"; |
this->label51->Size = System::Drawing::Size(27, 13); |
this->label51->TabIndex = 122; |
this->label51->Text = L"R61"; |
// |
// textBox52 |
// txtR60 |
// |
this->textBox52->Location = System::Drawing::Point(516, 325); |
this->textBox52->Name = L"textBox52"; |
this->textBox52->Size = System::Drawing::Size(121, 20); |
this->textBox52->TabIndex = 121; |
this->textBox52->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR60->Location = System::Drawing::Point(539, 325); |
this->txtR60->Name = L"txtR60"; |
this->txtR60->Size = System::Drawing::Size(121, 20); |
this->txtR60->TabIndex = 121; |
this->txtR60->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label52 |
// |
this->label52->AutoSize = true; |
this->label52->Location = System::Drawing::Point(489, 328); |
this->label52->Location = System::Drawing::Point(512, 328); |
this->label52->Name = L"label52"; |
this->label52->Size = System::Drawing::Size(27, 13); |
this->label52->TabIndex = 120; |
this->label52->Text = L"R60"; |
// |
// textBox53 |
// txtR59 |
// |
this->textBox53->Location = System::Drawing::Point(516, 299); |
this->textBox53->Name = L"textBox53"; |
this->textBox53->Size = System::Drawing::Size(121, 20); |
this->textBox53->TabIndex = 119; |
this->textBox53->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR59->Location = System::Drawing::Point(539, 299); |
this->txtR59->Name = L"txtR59"; |
this->txtR59->Size = System::Drawing::Size(121, 20); |
this->txtR59->TabIndex = 119; |
this->txtR59->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label53 |
// |
this->label53->AutoSize = true; |
this->label53->Location = System::Drawing::Point(489, 302); |
this->label53->Location = System::Drawing::Point(512, 302); |
this->label53->Name = L"label53"; |
this->label53->Size = System::Drawing::Size(27, 13); |
this->label53->TabIndex = 118; |
this->label53->Text = L"R59"; |
// |
// textBox54 |
// txtR58 |
// |
this->textBox54->Location = System::Drawing::Point(516, 273); |
this->textBox54->Name = L"textBox54"; |
this->textBox54->Size = System::Drawing::Size(121, 20); |
this->textBox54->TabIndex = 117; |
this->textBox54->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR58->Location = System::Drawing::Point(539, 273); |
this->txtR58->Name = L"txtR58"; |
this->txtR58->Size = System::Drawing::Size(121, 20); |
this->txtR58->TabIndex = 117; |
this->txtR58->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label54 |
// |
this->label54->AutoSize = true; |
this->label54->Location = System::Drawing::Point(489, 276); |
this->label54->Location = System::Drawing::Point(512, 276); |
this->label54->Name = L"label54"; |
this->label54->Size = System::Drawing::Size(27, 13); |
this->label54->TabIndex = 116; |
this->label54->Text = L"R58"; |
// |
// textBox55 |
// txtR57 |
// |
this->textBox55->Location = System::Drawing::Point(516, 247); |
this->textBox55->Name = L"textBox55"; |
this->textBox55->Size = System::Drawing::Size(121, 20); |
this->textBox55->TabIndex = 115; |
this->textBox55->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR57->Location = System::Drawing::Point(539, 247); |
this->txtR57->Name = L"txtR57"; |
this->txtR57->Size = System::Drawing::Size(121, 20); |
this->txtR57->TabIndex = 115; |
this->txtR57->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label55 |
// |
this->label55->AutoSize = true; |
this->label55->Location = System::Drawing::Point(489, 250); |
this->label55->Location = System::Drawing::Point(512, 250); |
this->label55->Name = L"label55"; |
this->label55->Size = System::Drawing::Size(27, 13); |
this->label55->TabIndex = 114; |
this->label55->Text = L"R57"; |
// |
// textBox56 |
// txtR56 |
// |
this->textBox56->Location = System::Drawing::Point(516, 221); |
this->textBox56->Name = L"textBox56"; |
this->textBox56->Size = System::Drawing::Size(121, 20); |
this->textBox56->TabIndex = 113; |
this->textBox56->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR56->Location = System::Drawing::Point(539, 221); |
this->txtR56->Name = L"txtR56"; |
this->txtR56->Size = System::Drawing::Size(121, 20); |
this->txtR56->TabIndex = 113; |
this->txtR56->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label56 |
// |
this->label56->AutoSize = true; |
this->label56->Location = System::Drawing::Point(489, 224); |
this->label56->Location = System::Drawing::Point(512, 224); |
this->label56->Name = L"label56"; |
this->label56->Size = System::Drawing::Size(27, 13); |
this->label56->TabIndex = 112; |
this->label56->Text = L"R56"; |
// |
// textBox57 |
// txtR55 |
// |
this->textBox57->Location = System::Drawing::Point(516, 195); |
this->textBox57->Name = L"textBox57"; |
this->textBox57->Size = System::Drawing::Size(121, 20); |
this->textBox57->TabIndex = 111; |
this->textBox57->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR55->Location = System::Drawing::Point(539, 195); |
this->txtR55->Name = L"txtR55"; |
this->txtR55->Size = System::Drawing::Size(121, 20); |
this->txtR55->TabIndex = 111; |
this->txtR55->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label57 |
// |
this->label57->AutoSize = true; |
this->label57->Location = System::Drawing::Point(489, 198); |
this->label57->Location = System::Drawing::Point(512, 198); |
this->label57->Name = L"label57"; |
this->label57->Size = System::Drawing::Size(27, 13); |
this->label57->TabIndex = 110; |
this->label57->Text = L"R55"; |
// |
// textBox58 |
// txtR54 |
// |
this->textBox58->Location = System::Drawing::Point(516, 169); |
this->textBox58->Name = L"textBox58"; |
this->textBox58->Size = System::Drawing::Size(121, 20); |
this->textBox58->TabIndex = 109; |
this->textBox58->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR54->Location = System::Drawing::Point(539, 169); |
this->txtR54->Name = L"txtR54"; |
this->txtR54->Size = System::Drawing::Size(121, 20); |
this->txtR54->TabIndex = 109; |
this->txtR54->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label58 |
// |
this->label58->AutoSize = true; |
this->label58->Location = System::Drawing::Point(489, 172); |
this->label58->Location = System::Drawing::Point(512, 172); |
this->label58->Name = L"label58"; |
this->label58->Size = System::Drawing::Size(27, 13); |
this->label58->TabIndex = 108; |
this->label58->Text = L"R54"; |
// |
// textBox59 |
// txtR53 |
// |
this->textBox59->Location = System::Drawing::Point(516, 143); |
this->textBox59->Name = L"textBox59"; |
this->textBox59->Size = System::Drawing::Size(121, 20); |
this->textBox59->TabIndex = 107; |
this->textBox59->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR53->Location = System::Drawing::Point(539, 143); |
this->txtR53->Name = L"txtR53"; |
this->txtR53->Size = System::Drawing::Size(121, 20); |
this->txtR53->TabIndex = 107; |
this->txtR53->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label59 |
// |
this->label59->AutoSize = true; |
this->label59->Location = System::Drawing::Point(489, 146); |
this->label59->Location = System::Drawing::Point(512, 146); |
this->label59->Name = L"label59"; |
this->label59->Size = System::Drawing::Size(27, 13); |
this->label59->TabIndex = 106; |
this->label59->Text = L"R53"; |
// |
// textBox60 |
// txtR52 |
// |
this->textBox60->Location = System::Drawing::Point(516, 117); |
this->textBox60->Name = L"textBox60"; |
this->textBox60->Size = System::Drawing::Size(121, 20); |
this->textBox60->TabIndex = 105; |
this->textBox60->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR52->Location = System::Drawing::Point(539, 117); |
this->txtR52->Name = L"txtR52"; |
this->txtR52->Size = System::Drawing::Size(121, 20); |
this->txtR52->TabIndex = 105; |
this->txtR52->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label60 |
// |
this->label60->AutoSize = true; |
this->label60->Location = System::Drawing::Point(489, 120); |
this->label60->Location = System::Drawing::Point(512, 120); |
this->label60->Name = L"label60"; |
this->label60->Size = System::Drawing::Size(27, 13); |
this->label60->TabIndex = 104; |
this->label60->Text = L"R52"; |
// |
// textBox61 |
// txtR51 |
// |
this->textBox61->Location = System::Drawing::Point(516, 91); |
this->textBox61->Name = L"textBox61"; |
this->textBox61->Size = System::Drawing::Size(121, 20); |
this->textBox61->TabIndex = 103; |
this->textBox61->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR51->Location = System::Drawing::Point(539, 91); |
this->txtR51->Name = L"txtR51"; |
this->txtR51->Size = System::Drawing::Size(121, 20); |
this->txtR51->TabIndex = 103; |
this->txtR51->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label61 |
// |
this->label61->AutoSize = true; |
this->label61->Location = System::Drawing::Point(489, 94); |
this->label61->Location = System::Drawing::Point(512, 94); |
this->label61->Name = L"label61"; |
this->label61->Size = System::Drawing::Size(27, 13); |
this->label61->TabIndex = 102; |
this->label61->Text = L"R51"; |
// |
// textBox62 |
// txtR50 |
// |
this->textBox62->Location = System::Drawing::Point(516, 65); |
this->textBox62->Name = L"textBox62"; |
this->textBox62->Size = System::Drawing::Size(121, 20); |
this->textBox62->TabIndex = 101; |
this->textBox62->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR50->Location = System::Drawing::Point(539, 65); |
this->txtR50->Name = L"txtR50"; |
this->txtR50->Size = System::Drawing::Size(121, 20); |
this->txtR50->TabIndex = 101; |
this->txtR50->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label62 |
// |
this->label62->AutoSize = true; |
this->label62->Location = System::Drawing::Point(489, 68); |
this->label62->Location = System::Drawing::Point(512, 68); |
this->label62->Name = L"label62"; |
this->label62->Size = System::Drawing::Size(27, 13); |
this->label62->TabIndex = 100; |
this->label62->Text = L"R50"; |
// |
// textBox63 |
// txtR49 |
// |
this->textBox63->Location = System::Drawing::Point(516, 39); |
this->textBox63->Name = L"textBox63"; |
this->textBox63->Size = System::Drawing::Size(121, 20); |
this->textBox63->TabIndex = 99; |
this->textBox63->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR49->Location = System::Drawing::Point(539, 39); |
this->txtR49->Name = L"txtR49"; |
this->txtR49->Size = System::Drawing::Size(121, 20); |
this->txtR49->TabIndex = 99; |
this->txtR49->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label63 |
// |
this->label63->AutoSize = true; |
this->label63->Location = System::Drawing::Point(489, 42); |
this->label63->Location = System::Drawing::Point(512, 42); |
this->label63->Name = L"label63"; |
this->label63->Size = System::Drawing::Size(27, 13); |
this->label63->TabIndex = 98; |
this->label63->Text = L"R49"; |
// |
// textBox64 |
// txtR48 |
// |
this->textBox64->Location = System::Drawing::Point(516, 13); |
this->textBox64->Name = L"textBox64"; |
this->textBox64->Size = System::Drawing::Size(121, 20); |
this->textBox64->TabIndex = 97; |
this->textBox64->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR48->Location = System::Drawing::Point(539, 13); |
this->txtR48->Name = L"txtR48"; |
this->txtR48->Size = System::Drawing::Size(121, 20); |
this->txtR48->TabIndex = 97; |
this->txtR48->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label64 |
// |
this->label64->AutoSize = true; |
this->label64->Location = System::Drawing::Point(489, 16); |
this->label64->Location = System::Drawing::Point(512, 16); |
this->label64->Name = L"label64"; |
this->label64->Size = System::Drawing::Size(27, 13); |
this->label64->TabIndex = 96; |
this->label64->Text = L"R48"; |
// |
// textBox33 |
// txtR47 |
// |
this->textBox33->Location = System::Drawing::Point(354, 403); |
this->textBox33->Name = L"textBox33"; |
this->textBox33->Size = System::Drawing::Size(121, 20); |
this->textBox33->TabIndex = 95; |
this->textBox33->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR47->Location = System::Drawing::Point(377, 403); |
this->txtR47->Name = L"txtR47"; |
this->txtR47->Size = System::Drawing::Size(121, 20); |
this->txtR47->TabIndex = 95; |
this->txtR47->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label33 |
// |
this->label33->AutoSize = true; |
this->label33->Location = System::Drawing::Point(327, 406); |
this->label33->Location = System::Drawing::Point(350, 406); |
this->label33->Name = L"label33"; |
this->label33->Size = System::Drawing::Size(27, 13); |
this->label33->TabIndex = 94; |
this->label33->Text = L"R47"; |
// |
// textBox34 |
// txtR46 |
// |
this->textBox34->Location = System::Drawing::Point(354, 377); |
this->textBox34->Name = L"textBox34"; |
this->textBox34->Size = System::Drawing::Size(121, 20); |
this->textBox34->TabIndex = 93; |
this->textBox34->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR46->Location = System::Drawing::Point(377, 377); |
this->txtR46->Name = L"txtR46"; |
this->txtR46->Size = System::Drawing::Size(121, 20); |
this->txtR46->TabIndex = 93; |
this->txtR46->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label34 |
// |
this->label34->AutoSize = true; |
this->label34->Location = System::Drawing::Point(327, 380); |
this->label34->Location = System::Drawing::Point(350, 380); |
this->label34->Name = L"label34"; |
this->label34->Size = System::Drawing::Size(27, 13); |
this->label34->TabIndex = 92; |
this->label34->Text = L"R46"; |
// |
// textBox35 |
// txtR45 |
// |
this->textBox35->Location = System::Drawing::Point(354, 351); |
this->textBox35->Name = L"textBox35"; |
this->textBox35->Size = System::Drawing::Size(121, 20); |
this->textBox35->TabIndex = 91; |
this->textBox35->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR45->Location = System::Drawing::Point(377, 351); |
this->txtR45->Name = L"txtR45"; |
this->txtR45->Size = System::Drawing::Size(121, 20); |
this->txtR45->TabIndex = 91; |
this->txtR45->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label35 |
// |
this->label35->AutoSize = true; |
this->label35->Location = System::Drawing::Point(327, 354); |
this->label35->Location = System::Drawing::Point(350, 354); |
this->label35->Name = L"label35"; |
this->label35->Size = System::Drawing::Size(27, 13); |
this->label35->TabIndex = 90; |
this->label35->Text = L"R45"; |
// |
// textBox36 |
// txtR44 |
// |
this->textBox36->Location = System::Drawing::Point(354, 325); |
this->textBox36->Name = L"textBox36"; |
this->textBox36->Size = System::Drawing::Size(121, 20); |
this->textBox36->TabIndex = 89; |
this->textBox36->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR44->Location = System::Drawing::Point(377, 325); |
this->txtR44->Name = L"txtR44"; |
this->txtR44->Size = System::Drawing::Size(121, 20); |
this->txtR44->TabIndex = 89; |
this->txtR44->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label36 |
// |
this->label36->AutoSize = true; |
this->label36->Location = System::Drawing::Point(327, 328); |
this->label36->Location = System::Drawing::Point(350, 328); |
this->label36->Name = L"label36"; |
this->label36->Size = System::Drawing::Size(27, 13); |
this->label36->TabIndex = 88; |
this->label36->Text = L"R44"; |
// |
// textBox37 |
// txtR43 |
// |
this->textBox37->Location = System::Drawing::Point(354, 299); |
this->textBox37->Name = L"textBox37"; |
this->textBox37->Size = System::Drawing::Size(121, 20); |
this->textBox37->TabIndex = 87; |
this->textBox37->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR43->Location = System::Drawing::Point(377, 299); |
this->txtR43->Name = L"txtR43"; |
this->txtR43->Size = System::Drawing::Size(121, 20); |
this->txtR43->TabIndex = 87; |
this->txtR43->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label37 |
// |
this->label37->AutoSize = true; |
this->label37->Location = System::Drawing::Point(327, 302); |
this->label37->Location = System::Drawing::Point(350, 302); |
this->label37->Name = L"label37"; |
this->label37->Size = System::Drawing::Size(27, 13); |
this->label37->TabIndex = 86; |
this->label37->Text = L"R43"; |
// |
// textBox38 |
// txtR42 |
// |
this->textBox38->Location = System::Drawing::Point(354, 273); |
this->textBox38->Name = L"textBox38"; |
this->textBox38->Size = System::Drawing::Size(121, 20); |
this->textBox38->TabIndex = 85; |
this->textBox38->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR42->Location = System::Drawing::Point(377, 273); |
this->txtR42->Name = L"txtR42"; |
this->txtR42->Size = System::Drawing::Size(121, 20); |
this->txtR42->TabIndex = 85; |
this->txtR42->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label38 |
// |
this->label38->AutoSize = true; |
this->label38->Location = System::Drawing::Point(327, 276); |
this->label38->Location = System::Drawing::Point(350, 276); |
this->label38->Name = L"label38"; |
this->label38->Size = System::Drawing::Size(27, 13); |
this->label38->TabIndex = 84; |
this->label38->Text = L"R42"; |
// |
// textBox39 |
// txtR41 |
// |
this->textBox39->Location = System::Drawing::Point(354, 247); |
this->textBox39->Name = L"textBox39"; |
this->textBox39->Size = System::Drawing::Size(121, 20); |
this->textBox39->TabIndex = 83; |
this->textBox39->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR41->Location = System::Drawing::Point(377, 247); |
this->txtR41->Name = L"txtR41"; |
this->txtR41->Size = System::Drawing::Size(121, 20); |
this->txtR41->TabIndex = 83; |
this->txtR41->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label39 |
// |
this->label39->AutoSize = true; |
this->label39->Location = System::Drawing::Point(327, 250); |
this->label39->Location = System::Drawing::Point(350, 250); |
this->label39->Name = L"label39"; |
this->label39->Size = System::Drawing::Size(27, 13); |
this->label39->TabIndex = 82; |
this->label39->Text = L"R41"; |
// |
// textBox40 |
// txtR40 |
// |
this->textBox40->Location = System::Drawing::Point(354, 221); |
this->textBox40->Name = L"textBox40"; |
this->textBox40->Size = System::Drawing::Size(121, 20); |
this->textBox40->TabIndex = 81; |
this->textBox40->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR40->Location = System::Drawing::Point(377, 221); |
this->txtR40->Name = L"txtR40"; |
this->txtR40->Size = System::Drawing::Size(121, 20); |
this->txtR40->TabIndex = 81; |
this->txtR40->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label40 |
// |
this->label40->AutoSize = true; |
this->label40->Location = System::Drawing::Point(327, 224); |
this->label40->Location = System::Drawing::Point(350, 224); |
this->label40->Name = L"label40"; |
this->label40->Size = System::Drawing::Size(27, 13); |
this->label40->TabIndex = 80; |
this->label40->Text = L"R40"; |
// |
// textBox41 |
// txtR39 |
// |
this->textBox41->Location = System::Drawing::Point(354, 195); |
this->textBox41->Name = L"textBox41"; |
this->textBox41->Size = System::Drawing::Size(121, 20); |
this->textBox41->TabIndex = 79; |
this->textBox41->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR39->Location = System::Drawing::Point(377, 195); |
this->txtR39->Name = L"txtR39"; |
this->txtR39->Size = System::Drawing::Size(121, 20); |
this->txtR39->TabIndex = 79; |
this->txtR39->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label41 |
// |
this->label41->AutoSize = true; |
this->label41->Location = System::Drawing::Point(327, 198); |
this->label41->Location = System::Drawing::Point(350, 198); |
this->label41->Name = L"label41"; |
this->label41->Size = System::Drawing::Size(27, 13); |
this->label41->TabIndex = 78; |
this->label41->Text = L"R39"; |
// |
// textBox42 |
// txtR38 |
// |
this->textBox42->Location = System::Drawing::Point(354, 169); |
this->textBox42->Name = L"textBox42"; |
this->textBox42->Size = System::Drawing::Size(121, 20); |
this->textBox42->TabIndex = 77; |
this->textBox42->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR38->Location = System::Drawing::Point(377, 169); |
this->txtR38->Name = L"txtR38"; |
this->txtR38->Size = System::Drawing::Size(121, 20); |
this->txtR38->TabIndex = 77; |
this->txtR38->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label42 |
// |
this->label42->AutoSize = true; |
this->label42->Location = System::Drawing::Point(327, 172); |
this->label42->Location = System::Drawing::Point(350, 172); |
this->label42->Name = L"label42"; |
this->label42->Size = System::Drawing::Size(27, 13); |
this->label42->TabIndex = 76; |
this->label42->Text = L"R38"; |
// |
// textBox43 |
// txtR37 |
// |
this->textBox43->Location = System::Drawing::Point(354, 143); |
this->textBox43->Name = L"textBox43"; |
this->textBox43->Size = System::Drawing::Size(121, 20); |
this->textBox43->TabIndex = 75; |
this->textBox43->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR37->Location = System::Drawing::Point(377, 143); |
this->txtR37->Name = L"txtR37"; |
this->txtR37->Size = System::Drawing::Size(121, 20); |
this->txtR37->TabIndex = 75; |
this->txtR37->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label43 |
// |
this->label43->AutoSize = true; |
this->label43->Location = System::Drawing::Point(327, 146); |
this->label43->Location = System::Drawing::Point(350, 146); |
this->label43->Name = L"label43"; |
this->label43->Size = System::Drawing::Size(27, 13); |
this->label43->TabIndex = 74; |
this->label43->Text = L"R37"; |
// |
// textBox44 |
// txtR36 |
// |
this->textBox44->Location = System::Drawing::Point(354, 117); |
this->textBox44->Name = L"textBox44"; |
this->textBox44->Size = System::Drawing::Size(121, 20); |
this->textBox44->TabIndex = 73; |
this->textBox44->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtR36->Location = System::Drawing::Point(377, 117); |
this->txtR36->Name = L"txtR36"; |
this->txtR36->Size = System::Drawing::Size(121, 20); |
this->txtR36->TabIndex = 73; |
this->txtR36->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label44 |
// |
this->label44->AutoSize = true; |
this->label44->Location = System::Drawing::Point(327, 120); |
this->label44->Location = System::Drawing::Point(350, 120); |
this->label44->Name = L"label44"; |
this->label44->Size = System::Drawing::Size(27, 13); |
this->label44->TabIndex = 72; |
1490,7 → 1456,7
// |
// txtR35 |
// |
this->txtR35->Location = System::Drawing::Point(354, 91); |
this->txtR35->Location = System::Drawing::Point(377, 91); |
this->txtR35->Name = L"txtR35"; |
this->txtR35->Size = System::Drawing::Size(121, 20); |
this->txtR35->TabIndex = 71; |
1499,7 → 1465,7
// label45 |
// |
this->label45->AutoSize = true; |
this->label45->Location = System::Drawing::Point(327, 94); |
this->label45->Location = System::Drawing::Point(350, 94); |
this->label45->Name = L"label45"; |
this->label45->Size = System::Drawing::Size(27, 13); |
this->label45->TabIndex = 70; |
1507,7 → 1473,7
// |
// txtR34 |
// |
this->txtR34->Location = System::Drawing::Point(354, 65); |
this->txtR34->Location = System::Drawing::Point(377, 65); |
this->txtR34->Name = L"txtR34"; |
this->txtR34->Size = System::Drawing::Size(121, 20); |
this->txtR34->TabIndex = 69; |
1516,7 → 1482,7
// label46 |
// |
this->label46->AutoSize = true; |
this->label46->Location = System::Drawing::Point(327, 68); |
this->label46->Location = System::Drawing::Point(350, 68); |
this->label46->Name = L"label46"; |
this->label46->Size = System::Drawing::Size(27, 13); |
this->label46->TabIndex = 68; |
1524,7 → 1490,7
// |
// txtR33 |
// |
this->txtR33->Location = System::Drawing::Point(354, 39); |
this->txtR33->Location = System::Drawing::Point(377, 39); |
this->txtR33->Name = L"txtR33"; |
this->txtR33->Size = System::Drawing::Size(121, 20); |
this->txtR33->TabIndex = 67; |
1533,7 → 1499,7
// label47 |
// |
this->label47->AutoSize = true; |
this->label47->Location = System::Drawing::Point(327, 42); |
this->label47->Location = System::Drawing::Point(350, 42); |
this->label47->Name = L"label47"; |
this->label47->Size = System::Drawing::Size(27, 13); |
this->label47->TabIndex = 66; |
1541,7 → 1507,7
// |
// txtR32 |
// |
this->txtR32->Location = System::Drawing::Point(354, 13); |
this->txtR32->Location = System::Drawing::Point(377, 13); |
this->txtR32->Name = L"txtR32"; |
this->txtR32->Size = System::Drawing::Size(121, 20); |
this->txtR32->TabIndex = 65; |
1550,7 → 1516,7
// label48 |
// |
this->label48->AutoSize = true; |
this->label48->Location = System::Drawing::Point(327, 16); |
this->label48->Location = System::Drawing::Point(350, 16); |
this->label48->Name = L"label48"; |
this->label48->Size = System::Drawing::Size(27, 13); |
this->label48->TabIndex = 64; |
1558,7 → 1524,7
// |
// txtR31 |
// |
this->txtR31->Location = System::Drawing::Point(192, 403); |
this->txtR31->Location = System::Drawing::Point(215, 403); |
this->txtR31->Name = L"txtR31"; |
this->txtR31->Size = System::Drawing::Size(121, 20); |
this->txtR31->TabIndex = 63; |
1567,15 → 1533,15
// label17 |
// |
this->label17->AutoSize = true; |
this->label17->Location = System::Drawing::Point(165, 406); |
this->label17->Location = System::Drawing::Point(162, 406); |
this->label17->Name = L"label17"; |
this->label17->Size = System::Drawing::Size(27, 13); |
this->label17->Size = System::Drawing::Size(53, 13); |
this->label17->TabIndex = 62; |
this->label17->Text = L"R31"; |
this->label17->Text = L"TR / R31"; |
// |
// txtR30 |
// |
this->txtR30->Location = System::Drawing::Point(192, 377); |
this->txtR30->Location = System::Drawing::Point(215, 377); |
this->txtR30->Name = L"txtR30"; |
this->txtR30->Size = System::Drawing::Size(121, 20); |
this->txtR30->TabIndex = 61; |
1584,15 → 1550,15
// label18 |
// |
this->label18->AutoSize = true; |
this->label18->Location = System::Drawing::Point(165, 380); |
this->label18->Location = System::Drawing::Point(155, 380); |
this->label18->Name = L"label18"; |
this->label18->Size = System::Drawing::Size(27, 13); |
this->label18->Size = System::Drawing::Size(60, 13); |
this->label18->TabIndex = 60; |
this->label18->Text = L"R30"; |
this->label18->Text = L"DSP / R30"; |
// |
// txtR29 |
// |
this->txtR29->Location = System::Drawing::Point(192, 351); |
this->txtR29->Location = System::Drawing::Point(215, 351); |
this->txtR29->Name = L"txtR29"; |
this->txtR29->Size = System::Drawing::Size(121, 20); |
this->txtR29->TabIndex = 59; |
1601,15 → 1567,15
// label19 |
// |
this->label19->AutoSize = true; |
this->label19->Location = System::Drawing::Point(165, 354); |
this->label19->Location = System::Drawing::Point(157, 354); |
this->label19->Name = L"label19"; |
this->label19->Size = System::Drawing::Size(27, 13); |
this->label19->Size = System::Drawing::Size(59, 13); |
this->label19->TabIndex = 58; |
this->label19->Text = L"R29"; |
this->label19->Text = L"ESP / R29"; |
// |
// txtR28 |
// |
this->txtR28->Location = System::Drawing::Point(192, 325); |
this->txtR28->Location = System::Drawing::Point(215, 325); |
this->txtR28->Name = L"txtR28"; |
this->txtR28->Size = System::Drawing::Size(121, 20); |
this->txtR28->TabIndex = 57; |
1618,15 → 1584,15
// label20 |
// |
this->label20->AutoSize = true; |
this->label20->Location = System::Drawing::Point(165, 328); |
this->label20->Location = System::Drawing::Point(160, 328); |
this->label20->Name = L"label20"; |
this->label20->Size = System::Drawing::Size(27, 13); |
this->label20->Size = System::Drawing::Size(55, 13); |
this->label20->TabIndex = 56; |
this->label20->Text = L"R28"; |
this->label20->Text = L"ISP / R28"; |
// |
// txtR27 |
// |
this->txtR27->Location = System::Drawing::Point(192, 299); |
this->txtR27->Location = System::Drawing::Point(215, 299); |
this->txtR27->Name = L"txtR27"; |
this->txtR27->Size = System::Drawing::Size(121, 20); |
this->txtR27->TabIndex = 55; |
1635,15 → 1601,15
// label21 |
// |
this->label21->AutoSize = true; |
this->label21->Location = System::Drawing::Point(165, 302); |
this->label21->Location = System::Drawing::Point(163, 302); |
this->label21->Name = L"label21"; |
this->label21->Size = System::Drawing::Size(27, 13); |
this->label21->Size = System::Drawing::Size(52, 13); |
this->label21->TabIndex = 54; |
this->label21->Text = L"R27"; |
this->label21->Text = L"SP / R27"; |
// |
// txtR26 |
// |
this->txtR26->Location = System::Drawing::Point(192, 273); |
this->txtR26->Location = System::Drawing::Point(215, 273); |
this->txtR26->Name = L"txtR26"; |
this->txtR26->Size = System::Drawing::Size(121, 20); |
this->txtR26->TabIndex = 53; |
1652,15 → 1618,15
// label22 |
// |
this->label22->AutoSize = true; |
this->label22->Location = System::Drawing::Point(165, 276); |
this->label22->Location = System::Drawing::Point(163, 276); |
this->label22->Name = L"label22"; |
this->label22->Size = System::Drawing::Size(27, 13); |
this->label22->Size = System::Drawing::Size(52, 13); |
this->label22->TabIndex = 52; |
this->label22->Text = L"R26"; |
this->label22->Text = L"BP / R26"; |
// |
// txtR25 |
// |
this->txtR25->Location = System::Drawing::Point(192, 247); |
this->txtR25->Location = System::Drawing::Point(215, 247); |
this->txtR25->Name = L"txtR25"; |
this->txtR25->Size = System::Drawing::Size(121, 20); |
this->txtR25->TabIndex = 51; |
1669,15 → 1635,15
// label23 |
// |
this->label23->AutoSize = true; |
this->label23->Location = System::Drawing::Point(165, 250); |
this->label23->Location = System::Drawing::Point(163, 250); |
this->label23->Name = L"label23"; |
this->label23->Size = System::Drawing::Size(27, 13); |
this->label23->Size = System::Drawing::Size(53, 13); |
this->label23->TabIndex = 50; |
this->label23->Text = L"R25"; |
this->label23->Text = L"GP / R25"; |
// |
// txtR24 |
// |
this->txtR24->Location = System::Drawing::Point(192, 221); |
this->txtR24->Location = System::Drawing::Point(215, 221); |
this->txtR24->Name = L"txtR24"; |
this->txtR24->Size = System::Drawing::Size(121, 20); |
this->txtR24->TabIndex = 49; |
1686,7 → 1652,7
// label24 |
// |
this->label24->AutoSize = true; |
this->label24->Location = System::Drawing::Point(165, 224); |
this->label24->Location = System::Drawing::Point(188, 224); |
this->label24->Name = L"label24"; |
this->label24->Size = System::Drawing::Size(27, 13); |
this->label24->TabIndex = 48; |
1694,7 → 1660,7
// |
// txtR23 |
// |
this->txtR23->Location = System::Drawing::Point(192, 195); |
this->txtR23->Location = System::Drawing::Point(215, 195); |
this->txtR23->Name = L"txtR23"; |
this->txtR23->Size = System::Drawing::Size(121, 20); |
this->txtR23->TabIndex = 47; |
1703,7 → 1669,7
// label25 |
// |
this->label25->AutoSize = true; |
this->label25->Location = System::Drawing::Point(165, 198); |
this->label25->Location = System::Drawing::Point(188, 198); |
this->label25->Name = L"label25"; |
this->label25->Size = System::Drawing::Size(27, 13); |
this->label25->TabIndex = 46; |
1711,7 → 1677,7
// |
// txtR22 |
// |
this->txtR22->Location = System::Drawing::Point(192, 169); |
this->txtR22->Location = System::Drawing::Point(215, 169); |
this->txtR22->Name = L"txtR22"; |
this->txtR22->Size = System::Drawing::Size(121, 20); |
this->txtR22->TabIndex = 45; |
1720,7 → 1686,7
// label26 |
// |
this->label26->AutoSize = true; |
this->label26->Location = System::Drawing::Point(165, 172); |
this->label26->Location = System::Drawing::Point(188, 172); |
this->label26->Name = L"label26"; |
this->label26->Size = System::Drawing::Size(27, 13); |
this->label26->TabIndex = 44; |
1728,7 → 1694,7
// |
// txtR21 |
// |
this->txtR21->Location = System::Drawing::Point(192, 143); |
this->txtR21->Location = System::Drawing::Point(215, 143); |
this->txtR21->Name = L"txtR21"; |
this->txtR21->Size = System::Drawing::Size(121, 20); |
this->txtR21->TabIndex = 43; |
1737,7 → 1703,7
// label27 |
// |
this->label27->AutoSize = true; |
this->label27->Location = System::Drawing::Point(165, 146); |
this->label27->Location = System::Drawing::Point(188, 146); |
this->label27->Name = L"label27"; |
this->label27->Size = System::Drawing::Size(27, 13); |
this->label27->TabIndex = 42; |
1745,7 → 1711,7
// |
// txtR20 |
// |
this->txtR20->Location = System::Drawing::Point(192, 117); |
this->txtR20->Location = System::Drawing::Point(215, 117); |
this->txtR20->Name = L"txtR20"; |
this->txtR20->Size = System::Drawing::Size(121, 20); |
this->txtR20->TabIndex = 41; |
1754,7 → 1720,7
// label28 |
// |
this->label28->AutoSize = true; |
this->label28->Location = System::Drawing::Point(165, 120); |
this->label28->Location = System::Drawing::Point(188, 120); |
this->label28->Name = L"label28"; |
this->label28->Size = System::Drawing::Size(27, 13); |
this->label28->TabIndex = 40; |
1762,7 → 1728,7
// |
// txtR19 |
// |
this->txtR19->Location = System::Drawing::Point(192, 91); |
this->txtR19->Location = System::Drawing::Point(215, 91); |
this->txtR19->Name = L"txtR19"; |
this->txtR19->Size = System::Drawing::Size(121, 20); |
this->txtR19->TabIndex = 39; |
1771,7 → 1737,7
// label29 |
// |
this->label29->AutoSize = true; |
this->label29->Location = System::Drawing::Point(165, 94); |
this->label29->Location = System::Drawing::Point(188, 94); |
this->label29->Name = L"label29"; |
this->label29->Size = System::Drawing::Size(27, 13); |
this->label29->TabIndex = 38; |
1779,7 → 1745,7
// |
// txtR18 |
// |
this->txtR18->Location = System::Drawing::Point(192, 65); |
this->txtR18->Location = System::Drawing::Point(215, 65); |
this->txtR18->Name = L"txtR18"; |
this->txtR18->Size = System::Drawing::Size(121, 20); |
this->txtR18->TabIndex = 37; |
1788,7 → 1754,7
// label30 |
// |
this->label30->AutoSize = true; |
this->label30->Location = System::Drawing::Point(165, 68); |
this->label30->Location = System::Drawing::Point(188, 68); |
this->label30->Name = L"label30"; |
this->label30->Size = System::Drawing::Size(27, 13); |
this->label30->TabIndex = 36; |
1796,7 → 1762,7
// |
// txtR17 |
// |
this->txtR17->Location = System::Drawing::Point(192, 39); |
this->txtR17->Location = System::Drawing::Point(215, 39); |
this->txtR17->Name = L"txtR17"; |
this->txtR17->Size = System::Drawing::Size(121, 20); |
this->txtR17->TabIndex = 35; |
1805,7 → 1771,7
// label31 |
// |
this->label31->AutoSize = true; |
this->label31->Location = System::Drawing::Point(165, 42); |
this->label31->Location = System::Drawing::Point(188, 42); |
this->label31->Name = L"label31"; |
this->label31->Size = System::Drawing::Size(27, 13); |
this->label31->TabIndex = 34; |
1813,7 → 1779,7
// |
// txtR16 |
// |
this->txtR16->Location = System::Drawing::Point(192, 13); |
this->txtR16->Location = System::Drawing::Point(215, 13); |
this->txtR16->Name = L"txtR16"; |
this->txtR16->Size = System::Drawing::Size(121, 20); |
this->txtR16->TabIndex = 33; |
1822,7 → 1788,7
// label32 |
// |
this->label32->AutoSize = true; |
this->label32->Location = System::Drawing::Point(165, 16); |
this->label32->Location = System::Drawing::Point(188, 16); |
this->label32->Name = L"label32"; |
this->label32->Size = System::Drawing::Size(27, 13); |
this->label32->TabIndex = 32; |
2111,15 → 2077,15
this->tabPage2->Controls->Add(this->txtLC); |
this->tabPage2->Controls->Add(this->label117); |
this->tabPage2->Controls->Add(this->label116); |
this->tabPage2->Controls->Add(this->textBox101); |
this->tabPage2->Controls->Add(this->txtDBSTAT); |
this->tabPage2->Controls->Add(this->label115); |
this->tabPage2->Controls->Add(this->textBox100); |
this->tabPage2->Controls->Add(this->txtDBCTRL); |
this->tabPage2->Controls->Add(this->label114); |
this->tabPage2->Controls->Add(this->textBox99); |
this->tabPage2->Controls->Add(this->txtDBAD3); |
this->tabPage2->Controls->Add(this->label113); |
this->tabPage2->Controls->Add(this->textBox98); |
this->tabPage2->Controls->Add(this->txtDBAD2); |
this->tabPage2->Controls->Add(this->label112); |
this->tabPage2->Controls->Add(this->textBox97); |
this->tabPage2->Controls->Add(this->txtDBAD1); |
this->tabPage2->Controls->Add(this->label111); |
this->tabPage2->Controls->Add(this->txtDBAD0); |
this->tabPage2->Controls->Add(this->label110); |
2128,28 → 2094,28
this->tabPage2->Controls->Add(this->label107); |
this->tabPage2->Controls->Add(this->label106); |
this->tabPage2->Controls->Add(this->label105); |
this->tabPage2->Controls->Add(this->textBox94); |
this->tabPage2->Controls->Add(this->txtCsLmt); |
this->tabPage2->Controls->Add(this->txtCs); |
this->tabPage2->Controls->Add(this->label104); |
this->tabPage2->Controls->Add(this->txtSSLmt); |
this->tabPage2->Controls->Add(this->txtSsLmt); |
this->tabPage2->Controls->Add(this->txtSs); |
this->tabPage2->Controls->Add(this->label103); |
this->tabPage2->Controls->Add(this->textBox90); |
this->tabPage2->Controls->Add(this->txtHsLmt); |
this->tabPage2->Controls->Add(this->txtHs); |
this->tabPage2->Controls->Add(this->label102); |
this->tabPage2->Controls->Add(this->textBox88); |
this->tabPage2->Controls->Add(this->txtGsLmt); |
this->tabPage2->Controls->Add(this->txtGs); |
this->tabPage2->Controls->Add(this->label101); |
this->tabPage2->Controls->Add(this->textBox86); |
this->tabPage2->Controls->Add(this->txtFsLmt); |
this->tabPage2->Controls->Add(this->txtFs); |
this->tabPage2->Controls->Add(this->label100); |
this->tabPage2->Controls->Add(this->textBox84); |
this->tabPage2->Controls->Add(this->txtEsLmt); |
this->tabPage2->Controls->Add(this->txtEs); |
this->tabPage2->Controls->Add(this->label99); |
this->tabPage2->Controls->Add(this->textBox82); |
this->tabPage2->Controls->Add(this->txtDsLmt); |
this->tabPage2->Controls->Add(this->txtDs); |
this->tabPage2->Controls->Add(this->label98); |
this->tabPage2->Controls->Add(this->txtZSLmt); |
this->tabPage2->Controls->Add(this->txtZsLmt); |
this->tabPage2->Controls->Add(this->txtZs); |
this->tabPage2->Controls->Add(this->label97); |
this->tabPage2->Controls->Add(this->txtCa15); |
2219,7 → 2185,7
this->tabPage2->Location = System::Drawing::Point(4, 22); |
this->tabPage2->Name = L"tabPage2"; |
this->tabPage2->Padding = System::Windows::Forms::Padding(3); |
this->tabPage2->Size = System::Drawing::Size(735, 481); |
this->tabPage2->Size = System::Drawing::Size(735, 457); |
this->tabPage2->TabIndex = 1; |
this->tabPage2->Text = L"Other"; |
this->tabPage2->UseVisualStyleBackColor = true; |
2268,13 → 2234,13
this->label116->TabIndex = 103; |
this->label116->Text = L"Debug Registers"; |
// |
// textBox101 |
// txtDBSTAT |
// |
this->textBox101->Location = System::Drawing::Point(353, 426); |
this->textBox101->Name = L"textBox101"; |
this->textBox101->Size = System::Drawing::Size(118, 20); |
this->textBox101->TabIndex = 102; |
this->textBox101->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtDBSTAT->Location = System::Drawing::Point(353, 426); |
this->txtDBSTAT->Name = L"txtDBSTAT"; |
this->txtDBSTAT->Size = System::Drawing::Size(118, 20); |
this->txtDBSTAT->TabIndex = 102; |
this->txtDBSTAT->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label115 |
// |
2285,13 → 2251,13
this->label115->TabIndex = 101; |
this->label115->Text = L"DBSTAT"; |
// |
// textBox100 |
// txtDBCTRL |
// |
this->textBox100->Location = System::Drawing::Point(353, 400); |
this->textBox100->Name = L"textBox100"; |
this->textBox100->Size = System::Drawing::Size(118, 20); |
this->textBox100->TabIndex = 100; |
this->textBox100->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtDBCTRL->Location = System::Drawing::Point(353, 400); |
this->txtDBCTRL->Name = L"txtDBCTRL"; |
this->txtDBCTRL->Size = System::Drawing::Size(118, 20); |
this->txtDBCTRL->TabIndex = 100; |
this->txtDBCTRL->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label114 |
// |
2302,13 → 2268,13
this->label114->TabIndex = 99; |
this->label114->Text = L"DBCTRL"; |
// |
// textBox99 |
// txtDBAD3 |
// |
this->textBox99->Location = System::Drawing::Point(353, 374); |
this->textBox99->Name = L"textBox99"; |
this->textBox99->Size = System::Drawing::Size(118, 20); |
this->textBox99->TabIndex = 98; |
this->textBox99->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtDBAD3->Location = System::Drawing::Point(353, 374); |
this->txtDBAD3->Name = L"txtDBAD3"; |
this->txtDBAD3->Size = System::Drawing::Size(118, 20); |
this->txtDBAD3->TabIndex = 98; |
this->txtDBAD3->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label113 |
// |
2319,13 → 2285,13
this->label113->TabIndex = 97; |
this->label113->Text = L"DBAD3"; |
// |
// textBox98 |
// txtDBAD2 |
// |
this->textBox98->Location = System::Drawing::Point(353, 348); |
this->textBox98->Name = L"textBox98"; |
this->textBox98->Size = System::Drawing::Size(118, 20); |
this->textBox98->TabIndex = 96; |
this->textBox98->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtDBAD2->Location = System::Drawing::Point(353, 348); |
this->txtDBAD2->Name = L"txtDBAD2"; |
this->txtDBAD2->Size = System::Drawing::Size(118, 20); |
this->txtDBAD2->TabIndex = 96; |
this->txtDBAD2->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label112 |
// |
2336,13 → 2302,13
this->label112->TabIndex = 95; |
this->label112->Text = L"DBAD2"; |
// |
// textBox97 |
// txtDBAD1 |
// |
this->textBox97->Location = System::Drawing::Point(353, 322); |
this->textBox97->Name = L"textBox97"; |
this->textBox97->Size = System::Drawing::Size(118, 20); |
this->textBox97->TabIndex = 94; |
this->textBox97->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtDBAD1->Location = System::Drawing::Point(353, 322); |
this->txtDBAD1->Name = L"txtDBAD1"; |
this->txtDBAD1->Size = System::Drawing::Size(118, 20); |
this->txtDBAD1->TabIndex = 94; |
this->txtDBAD1->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// label111 |
// |
2415,13 → 2381,13
this->label105->TabIndex = 86; |
this->label105->Text = L"Base"; |
// |
// textBox94 |
// txtCsLmt |
// |
this->textBox94->Location = System::Drawing::Point(471, 244); |
this->textBox94->Name = L"textBox94"; |
this->textBox94->Size = System::Drawing::Size(118, 20); |
this->textBox94->TabIndex = 85; |
this->textBox94->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtCsLmt->Location = System::Drawing::Point(471, 244); |
this->txtCsLmt->Name = L"txtCsLmt"; |
this->txtCsLmt->Size = System::Drawing::Size(118, 20); |
this->txtCsLmt->TabIndex = 85; |
this->txtCsLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// txtCs |
// |
2440,13 → 2406,13
this->label104->TabIndex = 83; |
this->label104->Text = L"CS"; |
// |
// txtSSLmt |
// txtSsLmt |
// |
this->txtSSLmt->Location = System::Drawing::Point(471, 218); |
this->txtSSLmt->Name = L"txtSSLmt"; |
this->txtSSLmt->Size = System::Drawing::Size(118, 20); |
this->txtSSLmt->TabIndex = 82; |
this->txtSSLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtSsLmt->Location = System::Drawing::Point(471, 218); |
this->txtSsLmt->Name = L"txtSsLmt"; |
this->txtSsLmt->Size = System::Drawing::Size(118, 20); |
this->txtSsLmt->TabIndex = 82; |
this->txtSsLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// txtSs |
// |
2465,13 → 2431,13
this->label103->TabIndex = 80; |
this->label103->Text = L"SS"; |
// |
// textBox90 |
// txtHsLmt |
// |
this->textBox90->Location = System::Drawing::Point(471, 192); |
this->textBox90->Name = L"textBox90"; |
this->textBox90->Size = System::Drawing::Size(118, 20); |
this->textBox90->TabIndex = 79; |
this->textBox90->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtHsLmt->Location = System::Drawing::Point(471, 192); |
this->txtHsLmt->Name = L"txtHsLmt"; |
this->txtHsLmt->Size = System::Drawing::Size(118, 20); |
this->txtHsLmt->TabIndex = 79; |
this->txtHsLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// txtHs |
// |
2490,13 → 2456,13
this->label102->TabIndex = 77; |
this->label102->Text = L"HS"; |
// |
// textBox88 |
// txtGsLmt |
// |
this->textBox88->Location = System::Drawing::Point(471, 166); |
this->textBox88->Name = L"textBox88"; |
this->textBox88->Size = System::Drawing::Size(118, 20); |
this->textBox88->TabIndex = 76; |
this->textBox88->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtGsLmt->Location = System::Drawing::Point(471, 166); |
this->txtGsLmt->Name = L"txtGsLmt"; |
this->txtGsLmt->Size = System::Drawing::Size(118, 20); |
this->txtGsLmt->TabIndex = 76; |
this->txtGsLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// txtGs |
// |
2515,13 → 2481,13
this->label101->TabIndex = 74; |
this->label101->Text = L"GS"; |
// |
// textBox86 |
// txtFsLmt |
// |
this->textBox86->Location = System::Drawing::Point(471, 140); |
this->textBox86->Name = L"textBox86"; |
this->textBox86->Size = System::Drawing::Size(118, 20); |
this->textBox86->TabIndex = 73; |
this->textBox86->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtFsLmt->Location = System::Drawing::Point(471, 140); |
this->txtFsLmt->Name = L"txtFsLmt"; |
this->txtFsLmt->Size = System::Drawing::Size(118, 20); |
this->txtFsLmt->TabIndex = 73; |
this->txtFsLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// txtFs |
// |
2540,13 → 2506,13
this->label100->TabIndex = 71; |
this->label100->Text = L"FS"; |
// |
// textBox84 |
// txtEsLmt |
// |
this->textBox84->Location = System::Drawing::Point(471, 114); |
this->textBox84->Name = L"textBox84"; |
this->textBox84->Size = System::Drawing::Size(118, 20); |
this->textBox84->TabIndex = 70; |
this->textBox84->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtEsLmt->Location = System::Drawing::Point(471, 114); |
this->txtEsLmt->Name = L"txtEsLmt"; |
this->txtEsLmt->Size = System::Drawing::Size(118, 20); |
this->txtEsLmt->TabIndex = 70; |
this->txtEsLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// txtEs |
// |
2565,13 → 2531,13
this->label99->TabIndex = 68; |
this->label99->Text = L"ES"; |
// |
// textBox82 |
// txtDsLmt |
// |
this->textBox82->Location = System::Drawing::Point(471, 88); |
this->textBox82->Name = L"textBox82"; |
this->textBox82->Size = System::Drawing::Size(118, 20); |
this->textBox82->TabIndex = 67; |
this->textBox82->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtDsLmt->Location = System::Drawing::Point(471, 88); |
this->txtDsLmt->Name = L"txtDsLmt"; |
this->txtDsLmt->Size = System::Drawing::Size(118, 20); |
this->txtDsLmt->TabIndex = 67; |
this->txtDsLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// txtDs |
// |
2590,13 → 2556,13
this->label98->TabIndex = 65; |
this->label98->Text = L"DS"; |
// |
// txtZSLmt |
// txtZsLmt |
// |
this->txtZSLmt->Location = System::Drawing::Point(471, 62); |
this->txtZSLmt->Name = L"txtZSLmt"; |
this->txtZSLmt->Size = System::Drawing::Size(118, 20); |
this->txtZSLmt->TabIndex = 64; |
this->txtZSLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
this->txtZsLmt->Location = System::Drawing::Point(471, 62); |
this->txtZsLmt->Name = L"txtZsLmt"; |
this->txtZsLmt->Size = System::Drawing::Size(118, 20); |
this->txtZsLmt->TabIndex = 64; |
this->txtZsLmt->TextAlign = System::Windows::Forms::HorizontalAlignment::Right; |
// |
// txtZs |
// |
2892,6 → 2858,7
// |
// txtP14 |
// |
this->txtP14->Enabled = false; |
this->txtP14->Location = System::Drawing::Point(36, 400); |
this->txtP14->Name = L"txtP14"; |
this->txtP14->Size = System::Drawing::Size(54, 20); |
2909,6 → 2876,7
// |
// txtP13 |
// |
this->txtP13->Enabled = false; |
this->txtP13->Location = System::Drawing::Point(36, 374); |
this->txtP13->Name = L"txtP13"; |
this->txtP13->Size = System::Drawing::Size(54, 20); |
2926,6 → 2894,7
// |
// txtP12 |
// |
this->txtP12->Enabled = false; |
this->txtP12->Location = System::Drawing::Point(36, 348); |
this->txtP12->Name = L"txtP12"; |
this->txtP12->Size = System::Drawing::Size(54, 20); |
2943,6 → 2912,7
// |
// txtP11 |
// |
this->txtP11->Enabled = false; |
this->txtP11->Location = System::Drawing::Point(36, 322); |
this->txtP11->Name = L"txtP11"; |
this->txtP11->Size = System::Drawing::Size(54, 20); |
2960,6 → 2930,7
// |
// txtP15 |
// |
this->txtP15->Enabled = false; |
this->txtP15->Location = System::Drawing::Point(36, 426); |
this->txtP15->Name = L"txtP15"; |
this->txtP15->Size = System::Drawing::Size(54, 20); |
2977,6 → 2948,7
// |
// txtP10 |
// |
this->txtP10->Enabled = false; |
this->txtP10->Location = System::Drawing::Point(36, 296); |
this->txtP10->Name = L"txtP10"; |
this->txtP10->Size = System::Drawing::Size(54, 20); |
2994,6 → 2966,7
// |
// txtP9 |
// |
this->txtP9->Enabled = false; |
this->txtP9->Location = System::Drawing::Point(36, 270); |
this->txtP9->Name = L"txtP9"; |
this->txtP9->Size = System::Drawing::Size(54, 20); |
3011,6 → 2984,7
// |
// txtP8 |
// |
this->txtP8->Enabled = false; |
this->txtP8->Location = System::Drawing::Point(36, 244); |
this->txtP8->Name = L"txtP8"; |
this->txtP8->Size = System::Drawing::Size(54, 20); |
3162,14 → 3136,72
this->label65->TabIndex = 0; |
this->label65->Text = L"P0"; |
// |
// toolTipC12 |
// |
this->toolTipC12->IsBalloon = true; |
this->toolTipC12->ShowAlways = true; |
// |
// toolTipC14 |
// |
this->toolTipC14->IsBalloon = true; |
this->toolTipC14->ShowAlways = true; |
// |
// toolTipC1 |
// |
this->toolTipC1->IsBalloon = true; |
this->toolTipC1->ShowAlways = true; |
// |
// toolTipR31 |
// |
this->toolTipR31->IsBalloon = true; |
this->toolTipR31->ShowAlways = true; |
// |
// toolTipR30 |
// |
this->toolTipR30->IsBalloon = true; |
this->toolTipR30->ShowAlways = true; |
// |
// toolTipR29 |
// |
this->toolTipR29->IsBalloon = true; |
this->toolTipR29->ShowAlways = true; |
// |
// toolTipR28 |
// |
this->toolTipR28->IsBalloon = true; |
this->toolTipR28->ShowAlways = true; |
// |
// toolTipC8 |
// |
this->toolTipC8->IsBalloon = true; |
this->toolTipC8->ShowAlways = true; |
// |
// toolTipR0 |
// |
this->toolTipR0->IsBalloon = true; |
this->toolTipR0->ShowAlways = true; |
// |
// btnUpdate |
// |
this->btnUpdate->Location = System::Drawing::Point(676, 531); |
this->btnUpdate->Name = L"btnUpdate"; |
this->btnUpdate->Size = System::Drawing::Size(75, 23); |
this->btnUpdate->TabIndex = 1; |
this->btnUpdate->Text = L"Update"; |
this->btnUpdate->UseVisualStyleBackColor = true; |
this->btnUpdate->Click += gcnew System::EventHandler(this, &frmRegisters::btnUpdate_Click); |
// |
// frmRegisters |
// |
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); |
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; |
this->ClientSize = System::Drawing::Size(767, 525); |
this->ClientSize = System::Drawing::Size(767, 571); |
this->Controls->Add(this->btnUpdate); |
this->Controls->Add(this->tabControl1); |
this->Name = L"frmRegisters"; |
this->Text = L"Thor - Registers"; |
this->Activated += gcnew System::EventHandler(this, &frmRegisters::frmRegisters_Activated); |
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &frmRegisters::frmRegisters_FormClosing); |
this->tabControl1->ResumeLayout(false); |
this->tabPage1->ResumeLayout(false); |
this->tabPage1->PerformLayout(); |
3179,9 → 3211,316
|
} |
#pragma endregion |
public: void UpdateForm() { |
char buf[100]; |
mut->WaitOne(); |
char *fmtstr = system1.cpu2._32bit ? "%08I64X": "%016I64X"; |
sprintf(buf, fmtstr, system1.cpu2.gp[1]); |
txtR1->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[2]); |
txtR2->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[3]); |
txtR3->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[4]); |
txtR4->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[5]); |
txtR5->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[6]); |
txtR6->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[7]); |
txtR7->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[8]); |
txtR8->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[9]); |
txtR9->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[10]); |
txtR10->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[11]); |
txtR11->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[12]); |
txtR12->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[13]); |
txtR13->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[14]); |
txtR14->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[15]); |
txtR15->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[16]); |
txtR16->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[17]); |
txtR17->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[18]); |
txtR18->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[19]); |
txtR19->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[20]); |
txtR20->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[21]); |
txtR21->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[22]); |
txtR22->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[23]); |
txtR23->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[24]); |
txtR24->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[25]); |
txtR25->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[26]); |
txtR26->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[27]); |
txtR27->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[28]); |
txtR28->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[29]); |
txtR29->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[30]); |
txtR30->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[31]); |
txtR31->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[32]); |
txtR32->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[33]); |
txtR33->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[34]); |
txtR34->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[35]); |
txtR35->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[36]); |
txtR36->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[37]); |
txtR37->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[38]); |
txtR38->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[39]); |
txtR39->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[40]); |
txtR40->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[41]); |
txtR41->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[42]); |
txtR42->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[43]); |
txtR43->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[44]); |
txtR44->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[45]); |
txtR45->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[46]); |
txtR46->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[47]); |
txtR47->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[48]); |
txtR48->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[49]); |
txtR49->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[50]); |
txtR50->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[51]); |
txtR51->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[52]); |
txtR52->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[53]); |
txtR53->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[54]); |
txtR54->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[55]); |
txtR55->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[56]); |
txtR56->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[57]); |
txtR57->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[58]); |
txtR58->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[59]); |
txtR59->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[60]); |
txtR60->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[61]); |
txtR61->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[62]); |
txtR62->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.gp[63]); |
txtR63->Text = gcnew String(buf); |
|
// Predicate Registers |
sprintf(buf, "%01X %c%c%c", system1.cpu2.pr[0], |
system1.cpu2.pr[0] & 4 ? '<' : ' ', |
system1.cpu2.pr[0] & 2 ? '<' : ' ', |
system1.cpu2.pr[0] & 1 ? '=' : ' ' |
); |
txtP0->Text = gcnew String(buf); |
sprintf(buf, "%01X %c%c%c", system1.cpu2.pr[1], |
system1.cpu2.pr[1] & 4 ? '<' : ' ', |
system1.cpu2.pr[1] & 2 ? '<' : ' ', |
system1.cpu2.pr[1] & 1 ? '=' : ' ' |
); |
txtP1->Text = gcnew String(buf); |
sprintf(buf, "%01X %c%c%c", system1.cpu2.pr[2], |
system1.cpu2.pr[2] & 4 ? '<' : ' ', |
system1.cpu2.pr[2] & 2 ? '<' : ' ', |
system1.cpu2.pr[2] & 1 ? '=' : ' ' |
); |
txtP2->Text = gcnew String(buf); |
sprintf(buf, "%01X %c%c%c", system1.cpu2.pr[3], |
system1.cpu2.pr[3] & 4 ? '<' : ' ', |
system1.cpu2.pr[3] & 2 ? '<' : ' ', |
system1.cpu2.pr[3] & 1 ? '=' : ' ' |
); |
txtP3->Text = gcnew String(buf); |
sprintf(buf, "%01X %c%c%c", system1.cpu2.pr[4], |
system1.cpu2.pr[4] & 4 ? '<' : ' ', |
system1.cpu2.pr[4] & 2 ? '<' : ' ', |
system1.cpu2.pr[4] & 1 ? '=' : ' ' |
); |
txtP4->Text = gcnew String(buf); |
sprintf(buf, "%01X %c%c%c", system1.cpu2.pr[5], |
system1.cpu2.pr[5] & 4 ? '<' : ' ', |
system1.cpu2.pr[5] & 2 ? '<' : ' ', |
system1.cpu2.pr[5] & 1 ? '=' : ' ' |
); |
txtP5->Text = gcnew String(buf); |
sprintf(buf, "%01X %c%c%c", system1.cpu2.pr[6], |
system1.cpu2.pr[6] & 4 ? '<' : ' ', |
system1.cpu2.pr[6] & 2 ? '<' : ' ', |
system1.cpu2.pr[6] & 1 ? '=' : ' ' |
); |
txtP6->Text = gcnew String(buf); |
sprintf(buf, "%01X %c%c%c", system1.cpu2.pr[7], |
system1.cpu2.pr[7] & 4 ? '<' : ' ', |
system1.cpu2.pr[7] & 2 ? '<' : ' ', |
system1.cpu2.pr[7] & 1 ? '=' : ' ' |
); |
txtP7->Text = gcnew String(buf); |
if (system1.cpu2._32bit) { |
txtP8->Enabled = false; |
txtP9->Enabled = false; |
txtP10->Enabled = false; |
txtP11->Enabled = false; |
txtP12->Enabled = false; |
txtP13->Enabled = false; |
txtP14->Enabled = false; |
txtP15->Enabled = false; |
} |
|
// Code address registers |
sprintf(buf, fmtstr, system1.cpu2.ca[1]); |
txtCa1->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[2]); |
txtCa2->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[3]); |
txtCa3->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[4]); |
txtCa4->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[5]); |
txtCa5->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[6]); |
txtCa6->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[7]); |
txtCa7->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[8]); |
txtCa8->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[9]); |
txtCa9->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[10]); |
txtCa10->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[11]); |
txtCa11->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[12]); |
txtCa12->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[13]); |
txtCa13->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.ca[14]); |
txtCa14->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.pc); |
txtCa15->Text = gcnew String(buf); |
|
sprintf(buf, fmtstr, system1.cpu2.seg_base[0]); |
txtZs->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_base[1]); |
txtDs->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_base[2]); |
txtEs->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_base[3]); |
txtFs->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_base[4]); |
txtGs->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_base[5]); |
txtHs->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_base[6]); |
txtSs->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_base[7]); |
txtCs->Text = gcnew String(buf); |
|
sprintf(buf, fmtstr, system1.cpu2.seg_limit[0]); |
txtZsLmt->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_limit[1]); |
txtDsLmt->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_limit[2]); |
txtEsLmt->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_limit[3]); |
txtFsLmt->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_limit[4]); |
txtGsLmt->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_limit[5]); |
txtHsLmt->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_limit[6]); |
txtSsLmt->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.seg_limit[7]); |
txtCsLmt->Text = gcnew String(buf); |
|
sprintf(buf, fmtstr, system1.cpu2.tick); |
txtTick->Text = gcnew String(buf); |
sprintf(buf, fmtstr, system1.cpu2.lc); |
txtLC->Text = gcnew String(buf); |
mut->ReleaseMutex(); |
} |
private: System::Void label2_Click(System::Object^ sender, System::EventArgs^ e) { |
} |
private: System::Void textBox2_TextChanged(System::Object^ sender, System::EventArgs^ e) { |
} |
private: System::Void frmRegisters_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { |
if (e->CloseReason==CloseReason::UserClosing) |
e->Cancel = true; |
} |
private: System::Void btnUpdate_Click(System::Object^ sender, System::EventArgs^ e) { |
char *str, *ep; |
|
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR1->Text); |
system1.cpu2.gp[1] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR2->Text); |
system1.cpu2.gp[2] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR3->Text); |
system1.cpu2.gp[3] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR4->Text); |
system1.cpu2.gp[4] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR5->Text); |
system1.cpu2.gp[5] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR6->Text); |
system1.cpu2.gp[6] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR7->Text); |
system1.cpu2.gp[7] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR8->Text); |
system1.cpu2.gp[8] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR9->Text); |
system1.cpu2.gp[9] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR10->Text); |
system1.cpu2.gp[10] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR11->Text); |
system1.cpu2.gp[11] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR12->Text); |
system1.cpu2.gp[12] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR13->Text); |
system1.cpu2.gp[13] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR14->Text); |
system1.cpu2.gp[14] = _strtoui64(str, &ep, 16); |
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtR15->Text); |
system1.cpu2.gp[15] = _strtoui64(str, &ep, 16); |
|
str = (char*)(void*)Marshal::StringToHGlobalAnsi(this->txtLC->Text); |
system1.cpu2.lc = _strtoui64(str, &ep, 16); |
} |
private: System::Void frmRegisters_Activated(System::Object^ sender, System::EventArgs^ e) { |
UpdateForm(); |
} |
}; |
} |
/software/emuThor/source/frmMain.resX
121,8 → 121,17
<value>17, 17</value> |
</metadata> |
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> |
<data name="interruptToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<data name="breakpointsToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
Qk0qAQAAAAAAAHYAAAAoAAAAEQAAAA8AAAABAAQAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAA/wAA |
gP8AgAD/AICA/4AAAP+AAID/gIAA/4CAgP/AwMD/AAD//wD/AP8A/////wAA//8A/////wD//////4iI |
iIiIiIiIgAAAAIiIiIiIiIiIgAAAAIiIiIiIiIiIgAAAAIiICICIiIiIgAAAAIiIgIgIiIiIgAAAAIiI |
gIgIiIyIgAAAAIiIiAiAiIzIgAAAAIjMzAiAzMzMgAAAAIiIiAiAiIzIgAAAAIiIiICICIyIgAAAAIiI |
iICICIiIgAAAAIiIiIgIgIiIgAAAAIiIiIiIiIiIgAAAAIiIiIiIiIiIgAAAAIiIiIiIiIiIgAAAAA== |
</value> |
</data> |
<data name="interruptsToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
Qk3uAAAAAAAAAHYAAAAoAAAAEAAAAA8AAAABAAQAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAA/wAA |
gP8AgAD/AICA/4AAAP+AAID/gIAA/4CAgP/AwMD/AAD//wD/AP8A/////wAA//8A/////wD//////4iI |
iIiIiIiIiIiIiMyIiIiIiIiMzMiIiIiIiIzMyIiIiIiIiMyIiIiIiIiIiIiIiIiIiIjMiIiIiIiIiMyI |
132,45 → 141,6
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>132, 17</value> |
</metadata> |
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABnSURBVDhPtY9RCsAwCEM9ukfzZq4OLOlMcbD144GNSahi |
Zv6F/wpEnIJmRvuDruRcAZ6RUB8Tky4cnDlBRmpH8RaBmJDnfilgYVUtGvpoQYSS0PCNvnvOYQpj2bH4 |
8YF0welj4nvML6tzsZ4LEfkkAAAAAElFTkSuQmCC |
</value> |
</data> |
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPxY5LEsAgCEM5ukfjZlacohDwM9NFF2+RkESJ |
metX/hkhqtFD44SM4NAY0aPFBTf37U/SAujuWZERCqC7hwaSlZB0hFpzIt+fOs0HA4Iy4nUcciNZoJQS |
vPCQE+9Riop4Vtvc6FnRjRY4ETpoKDdlZTlyD9cHJ8TdCVejwHgAAAAASUVORK5CYII= |
</value> |
</data> |
<data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB3SURBVDhPvY9RDsAgCEM5OkfjZm6YoBVq3LJkH++Dpn1R |
MbP2lf8lIo3nLNzhEiY6SmKYWTp4ZEqZCHqeA4RJ8B45C4PdKFMkci8n/vx5526wSHLRJevNRUPCCqpa |
MtYrEh8GnuGNPaR85wT2x46GD8cBlbzD2gXcX+SPQkd1uQAAAABJRU5ErkJggg== |
</value> |
</data> |
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABYSURBVDhPtc5RCgAgCANQ738qb1YEDTKtZhFjHxF7KKpa |
XmoAETGfTB2QRTzQkoBiACGgPYBsEA5oWVzDA8iEfL6gj6IhGgOH0VgPkEPUAeObqQFu+ghoqfgBoI6+ |
x9lEAAAAAElFTkSuQmCC |
</value> |
</data> |
<data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhPYzhw4MB/SjD1DGBgYCAa4zQASBDEowaMGgDC |
eA0gFmM1gFxMoQEH/gMAIsdLnqOm6ksAAAAASUVORK5CYII= |
</value> |
</data> |
<data name="toolStripButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
186,14 → 156,6
LMT/UBs+mycAAAAASUVORK5CYII= |
</value> |
</data> |
<data name="toolStripButton8.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABRSURBVDhPtYwBCgAgCAP7/6ctyoWJgloFV7bhtXHokjWM |
K8UhQJjlr4DLCTIN935pzZL/AoBMw71fytciJNCzJCyw/shcQYR3gooEe1tQo1EHdyOQfvPaXr4AAAAA |
SUVORK5CYII= |
</value> |
</data> |
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>237, 17</value> |
</metadata> |
/software/emuThor/source/frmScreen.h
4,6 → 4,8
#include "clsSystem.h" |
extern clsSystem system1; |
extern char refscreen; |
extern bool screenClosed; |
extern bool dbgScreenClosed; |
|
namespace emuThor { |
|
44,6 → 46,7
delete components; |
} |
} |
public: int which; |
public: unsigned long *pVidMem; |
public: bool *pVidDirty; |
private: System::Windows::Forms::Timer^ timer1; |
97,6 → 100,7
this->MaximizeBox = false; |
this->Name = L"frmScreen"; |
this->Text = L"emuFISA64 Test System Screen"; |
this->FormClosed += gcnew System::Windows::Forms::FormClosedEventHandler(this, &frmScreen::frmScreen_FormClosed); |
this->Paint += gcnew System::Windows::Forms::PaintEventHandler(this, &frmScreen::frmScreen_Paint); |
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->EndInit(); |
this->ResumeLayout(false); |
151,6 → 155,12
} |
private: System::Void pictureBox1_Click(System::Object^ sender, System::EventArgs^ e) { |
} |
private: System::Void frmScreen_FormClosed(System::Object^ sender, System::Windows::Forms::FormClosedEventArgs^ e) { |
if (which==0) |
screenClosed = true; |
else |
dbgScreenClosed = true; |
} |
private: System::Void pictureBox1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { |
char buf[10]; |
unsigned int ndx; |
/software/emuThor/source/clsSystem.h
1,5 → 1,12
#pragma once |
#include "clsThor.h" |
// Test System Emulator |
// |
// Emulates the test system that the Thor processor is part of. |
// Currently the screen display is not fully implemented as an |
// emulation. The register set isn't present. |
// Other devices present in the system are aggregated into the |
// clsSystem class. |
|
extern char refscreen; |
extern unsigned int dataBreakpoints[30]; |
29,6 → 36,7
clsPIC pic1; |
clsUart uart1; |
clsKeyboard keybd; |
clsSevenSeg sevenseg; |
|
clsSystem(); |
void Reset(); |
/software/emuThor/source/frmBreakpoints.h
112,6 → 112,7
private: System::Windows::Forms::CheckBox^ checkBox9; |
private: System::Windows::Forms::CheckBox^ checkBox10; |
private: System::Windows::Forms::Label^ label3; |
private: System::Windows::Forms::Label^ label4; |
|
private: |
/// <summary> |
151,12 → 152,13
this->checkBox9 = (gcnew System::Windows::Forms::CheckBox()); |
this->checkBox10 = (gcnew System::Windows::Forms::CheckBox()); |
this->label3 = (gcnew System::Windows::Forms::Label()); |
this->label4 = (gcnew System::Windows::Forms::Label()); |
this->SuspendLayout(); |
// |
// label1 |
// |
this->label1->AutoSize = true; |
this->label1->Location = System::Drawing::Point(54, 29); |
this->label1->Location = System::Drawing::Point(53, 51); |
this->label1->Name = L"label1"; |
this->label1->Size = System::Drawing::Size(56, 13); |
this->label1->TabIndex = 0; |
164,7 → 166,7
// |
// textBox1 |
// |
this->textBox1->Location = System::Drawing::Point(57, 56); |
this->textBox1->Location = System::Drawing::Point(56, 78); |
this->textBox1->Name = L"textBox1"; |
this->textBox1->Size = System::Drawing::Size(120, 20); |
this->textBox1->TabIndex = 1; |
171,7 → 173,7
// |
// textBox2 |
// |
this->textBox2->Location = System::Drawing::Point(57, 82); |
this->textBox2->Location = System::Drawing::Point(56, 104); |
this->textBox2->Name = L"textBox2"; |
this->textBox2->Size = System::Drawing::Size(120, 20); |
this->textBox2->TabIndex = 2; |
178,7 → 180,7
// |
// textBox3 |
// |
this->textBox3->Location = System::Drawing::Point(57, 108); |
this->textBox3->Location = System::Drawing::Point(56, 130); |
this->textBox3->Name = L"textBox3"; |
this->textBox3->Size = System::Drawing::Size(120, 20); |
this->textBox3->TabIndex = 3; |
185,7 → 187,7
// |
// textBox4 |
// |
this->textBox4->Location = System::Drawing::Point(57, 134); |
this->textBox4->Location = System::Drawing::Point(56, 156); |
this->textBox4->Name = L"textBox4"; |
this->textBox4->Size = System::Drawing::Size(120, 20); |
this->textBox4->TabIndex = 4; |
192,7 → 194,7
// |
// textBox5 |
// |
this->textBox5->Location = System::Drawing::Point(57, 160); |
this->textBox5->Location = System::Drawing::Point(56, 182); |
this->textBox5->Name = L"textBox5"; |
this->textBox5->Size = System::Drawing::Size(120, 20); |
this->textBox5->TabIndex = 5; |
200,7 → 202,7
// textBox6 |
// |
this->textBox6->Enabled = false; |
this->textBox6->Location = System::Drawing::Point(244, 160); |
this->textBox6->Location = System::Drawing::Point(243, 182); |
this->textBox6->Name = L"textBox6"; |
this->textBox6->Size = System::Drawing::Size(125, 20); |
this->textBox6->TabIndex = 11; |
208,7 → 210,7
// textBox7 |
// |
this->textBox7->Enabled = false; |
this->textBox7->Location = System::Drawing::Point(244, 134); |
this->textBox7->Location = System::Drawing::Point(243, 156); |
this->textBox7->Name = L"textBox7"; |
this->textBox7->Size = System::Drawing::Size(125, 20); |
this->textBox7->TabIndex = 10; |
216,7 → 218,7
// textBox8 |
// |
this->textBox8->Enabled = false; |
this->textBox8->Location = System::Drawing::Point(244, 108); |
this->textBox8->Location = System::Drawing::Point(243, 130); |
this->textBox8->Name = L"textBox8"; |
this->textBox8->Size = System::Drawing::Size(125, 20); |
this->textBox8->TabIndex = 9; |
224,7 → 226,7
// textBox9 |
// |
this->textBox9->Enabled = false; |
this->textBox9->Location = System::Drawing::Point(244, 82); |
this->textBox9->Location = System::Drawing::Point(243, 104); |
this->textBox9->Name = L"textBox9"; |
this->textBox9->Size = System::Drawing::Size(125, 20); |
this->textBox9->TabIndex = 8; |
232,7 → 234,7
// textBox10 |
// |
this->textBox10->Enabled = false; |
this->textBox10->Location = System::Drawing::Point(244, 56); |
this->textBox10->Location = System::Drawing::Point(243, 78); |
this->textBox10->Name = L"textBox10"; |
this->textBox10->Size = System::Drawing::Size(125, 20); |
this->textBox10->TabIndex = 7; |
241,7 → 243,7
// |
this->label2->AutoSize = true; |
this->label2->Enabled = false; |
this->label2->Location = System::Drawing::Point(241, 29); |
this->label2->Location = System::Drawing::Point(240, 51); |
this->label2->Name = L"label2"; |
this->label2->Size = System::Drawing::Size(30, 13); |
this->label2->TabIndex = 6; |
250,7 → 252,7
// button25 |
// |
this->button25->DialogResult = System::Windows::Forms::DialogResult::OK; |
this->button25->Location = System::Drawing::Point(294, 205); |
this->button25->Location = System::Drawing::Point(293, 227); |
this->button25->Name = L"button25"; |
this->button25->Size = System::Drawing::Size(75, 23); |
this->button25->TabIndex = 35; |
261,7 → 263,7
// button26 |
// |
this->button26->DialogResult = System::Windows::Forms::DialogResult::Cancel; |
this->button26->Location = System::Drawing::Point(181, 205); |
this->button26->Location = System::Drawing::Point(180, 227); |
this->button26->Name = L"button26"; |
this->button26->Size = System::Drawing::Size(75, 23); |
this->button26->TabIndex = 36; |
271,7 → 273,7
// checkBox1 |
// |
this->checkBox1->AutoSize = true; |
this->checkBox1->Location = System::Drawing::Point(21, 56); |
this->checkBox1->Location = System::Drawing::Point(20, 78); |
this->checkBox1->Name = L"checkBox1"; |
this->checkBox1->Size = System::Drawing::Size(15, 14); |
this->checkBox1->TabIndex = 37; |
281,7 → 283,7
// checkBox2 |
// |
this->checkBox2->AutoSize = true; |
this->checkBox2->Location = System::Drawing::Point(21, 82); |
this->checkBox2->Location = System::Drawing::Point(20, 104); |
this->checkBox2->Name = L"checkBox2"; |
this->checkBox2->Size = System::Drawing::Size(15, 14); |
this->checkBox2->TabIndex = 38; |
290,7 → 292,7
// checkBox3 |
// |
this->checkBox3->AutoSize = true; |
this->checkBox3->Location = System::Drawing::Point(21, 108); |
this->checkBox3->Location = System::Drawing::Point(20, 130); |
this->checkBox3->Name = L"checkBox3"; |
this->checkBox3->Size = System::Drawing::Size(15, 14); |
this->checkBox3->TabIndex = 39; |
299,7 → 301,7
// checkBox4 |
// |
this->checkBox4->AutoSize = true; |
this->checkBox4->Location = System::Drawing::Point(21, 134); |
this->checkBox4->Location = System::Drawing::Point(20, 156); |
this->checkBox4->Name = L"checkBox4"; |
this->checkBox4->Size = System::Drawing::Size(15, 14); |
this->checkBox4->TabIndex = 40; |
309,7 → 311,7
// |
this->checkBox5->AutoSize = true; |
this->checkBox5->Enabled = false; |
this->checkBox5->Location = System::Drawing::Point(210, 82); |
this->checkBox5->Location = System::Drawing::Point(209, 104); |
this->checkBox5->Name = L"checkBox5"; |
this->checkBox5->Size = System::Drawing::Size(15, 14); |
this->checkBox5->TabIndex = 41; |
318,7 → 320,7
// checkBox6 |
// |
this->checkBox6->AutoSize = true; |
this->checkBox6->Location = System::Drawing::Point(21, 160); |
this->checkBox6->Location = System::Drawing::Point(20, 182); |
this->checkBox6->Name = L"checkBox6"; |
this->checkBox6->Size = System::Drawing::Size(15, 14); |
this->checkBox6->TabIndex = 41; |
328,7 → 330,7
// |
this->checkBox7->AutoSize = true; |
this->checkBox7->Enabled = false; |
this->checkBox7->Location = System::Drawing::Point(210, 56); |
this->checkBox7->Location = System::Drawing::Point(209, 78); |
this->checkBox7->Name = L"checkBox7"; |
this->checkBox7->Size = System::Drawing::Size(15, 14); |
this->checkBox7->TabIndex = 42; |
338,7 → 340,7
// |
this->checkBox8->AutoSize = true; |
this->checkBox8->Enabled = false; |
this->checkBox8->Location = System::Drawing::Point(210, 108); |
this->checkBox8->Location = System::Drawing::Point(209, 130); |
this->checkBox8->Name = L"checkBox8"; |
this->checkBox8->Size = System::Drawing::Size(15, 14); |
this->checkBox8->TabIndex = 43; |
348,7 → 350,7
// |
this->checkBox9->AutoSize = true; |
this->checkBox9->Enabled = false; |
this->checkBox9->Location = System::Drawing::Point(210, 134); |
this->checkBox9->Location = System::Drawing::Point(209, 156); |
this->checkBox9->Name = L"checkBox9"; |
this->checkBox9->Size = System::Drawing::Size(15, 14); |
this->checkBox9->TabIndex = 44; |
358,7 → 360,7
// |
this->checkBox10->AutoSize = true; |
this->checkBox10->Enabled = false; |
this->checkBox10->Location = System::Drawing::Point(210, 160); |
this->checkBox10->Location = System::Drawing::Point(209, 182); |
this->checkBox10->Name = L"checkBox10"; |
this->checkBox10->Size = System::Drawing::Size(15, 14); |
this->checkBox10->TabIndex = 45; |
369,17 → 371,27
this->label3->AutoSize = true; |
this->label3->ForeColor = System::Drawing::Color::FromArgb(static_cast<System::Int32>(static_cast<System::Byte>(255)), static_cast<System::Int32>(static_cast<System::Byte>(128)), |
static_cast<System::Int32>(static_cast<System::Byte>(0))); |
this->label3->Location = System::Drawing::Point(241, 9); |
this->label3->Location = System::Drawing::Point(240, 31); |
this->label3->Name = L"label3"; |
this->label3->Size = System::Drawing::Size(158, 13); |
this->label3->TabIndex = 46; |
this->label3->Text = L"Data Breakpoints don\'t work yet"; |
// |
// label4 |
// |
this->label4->AutoSize = true; |
this->label4->Location = System::Drawing::Point(17, 51); |
this->label4->Name = L"label4"; |
this->label4->Size = System::Drawing::Size(20, 13); |
this->label4->TabIndex = 47; |
this->label4->Text = L"En"; |
// |
// frmBreakpoints |
// |
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); |
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; |
this->ClientSize = System::Drawing::Size(403, 249); |
this->ClientSize = System::Drawing::Size(403, 259); |
this->Controls->Add(this->label4); |
this->Controls->Add(this->label3); |
this->Controls->Add(this->checkBox10); |
this->Controls->Add(this->checkBox9); |
406,9 → 418,9
this->Controls->Add(this->textBox1); |
this->Controls->Add(this->label1); |
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedSingle; |
this->MaximizeBox = false; |
this->Name = L"frmBreakpoints"; |
this->Text = L"emuThor - Breakpoints"; |
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &frmBreakpoints::frmBreakpoints_FormClosing); |
this->ResumeLayout(false); |
this->PerformLayout(); |
|
449,5 → 461,9
ibreakpoints[4] = _strtoui64(str, &ep, 16); |
mut->ReleaseMutex(); |
} |
private: System::Void frmBreakpoints_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { |
if (e->CloseReason==CloseReason::UserClosing) |
e->Cancel = true; |
} |
}; |
} |
/software/emuThor/source/stdafx.h
11,7 → 11,9
#include "clsKeyboard.h" |
#include "clsUart.h" |
#include "clsThor.h" |
#include "clsSevenSeg.h" |
#include "clsSystem.h" |
#include "clsDisassem.h" |
|
enum { |
PF = 0, |
/software/emuThor/source/frmPCHistory.h
23,15 → 23,7
// |
//TODO: Add the constructor code here |
// |
char buf[4000]; |
int xx; |
buf[0] = '\0'; |
for (xx = 0; xx < 40; xx++) { |
mut->WaitOne(); |
sprintf(&buf[strlen(buf)], "%08I64X\r\n", system1.cpu2.pcs[xx]); |
mut->ReleaseMutex(); |
} |
textBox1->Text = gcnew String(buf); |
UpdateForm(); |
} |
frmPCHistory(void) |
{ |
39,15 → 31,7
// |
//TODO: Add the constructor code here |
// |
char buf[4000]; |
int xx; |
buf[0] = '\0'; |
for (xx = 0; xx < 40; xx++) { |
mut->WaitOne(); |
sprintf(&buf[strlen(buf)], "%08I64X\r\n", system1.cpu2.pcs[xx]); |
mut->ReleaseMutex(); |
} |
textBox1->Text = gcnew String(buf); |
UpdateForm(); |
} |
|
protected: |
83,10 → 67,12
// |
// textBox1 |
// |
this->textBox1->Location = System::Drawing::Point(12, 22); |
this->textBox1->Location = System::Drawing::Point(12, 47); |
this->textBox1->Multiline = true; |
this->textBox1->Name = L"textBox1"; |
this->textBox1->Size = System::Drawing::Size(162, 385); |
this->textBox1->ReadOnly = true; |
this->textBox1->ScrollBars = System::Windows::Forms::ScrollBars::Vertical; |
this->textBox1->Size = System::Drawing::Size(162, 379); |
this->textBox1->TabIndex = 0; |
// |
// frmPCHistory |
98,10 → 84,26
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedSingle; |
this->Name = L"frmPCHistory"; |
this->Text = L"PCHistory"; |
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &frmPCHistory::frmPCHistory_FormClosing); |
this->ResumeLayout(false); |
this->PerformLayout(); |
|
} |
#pragma endregion |
private: System::Void frmPCHistory_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { |
if (e->CloseReason==CloseReason::UserClosing) |
e->Cancel = true; |
} |
public: void UpdateForm() { |
char buf[4000]; |
int xx; |
buf[0] = '\0'; |
for (xx = 0; xx < 40; xx++) { |
mut->WaitOne(); |
sprintf(&buf[strlen(buf)], "%08I64X\r\n", system1.cpu2.pcs[xx]); |
mut->ReleaseMutex(); |
} |
textBox1->Text = gcnew String(buf); |
} |
}; |
} |
/software/emuThor/source/frmRun.resx
0,0 → 1,183
<?xml version="1.0" encoding="utf-8"?> |
<root> |
<!-- |
Microsoft ResX Schema |
|
Version 2.0 |
|
The primary goals of this format is to allow a simple XML format |
that is mostly human readable. The generation and parsing of the |
various data types are done through the TypeConverter classes |
associated with the data types. |
|
Example: |
|
... ado.net/XML headers & schema ... |
<resheader name="resmimetype">text/microsoft-resx</resheader> |
<resheader name="version">2.0</resheader> |
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
<value>[base64 mime encoded serialized .NET Framework object]</value> |
</data> |
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
<comment>This is a comment</comment> |
</data> |
|
There are any number of "resheader" rows that contain simple |
name/value pairs. |
|
Each data row contains a name, and value. The row also contains a |
type or mimetype. Type corresponds to a .NET class that support |
text/value conversion through the TypeConverter architecture. |
Classes that don't support this are serialized and stored with the |
mimetype set. |
|
The mimetype is used for serialized objects, and tells the |
ResXResourceReader how to depersist the object. This is currently not |
extensible. For a given mimetype the value must be set accordingly: |
|
Note - application/x-microsoft.net.object.binary.base64 is the format |
that the ResXResourceWriter will generate, however the reader can |
read any of the formats listed below. |
|
mimetype: application/x-microsoft.net.object.binary.base64 |
value : The object must be serialized with |
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
: and then encoded with base64 encoding. |
|
mimetype: application/x-microsoft.net.object.soap.base64 |
value : The object must be serialized with |
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
: and then encoded with base64 encoding. |
|
mimetype: application/x-microsoft.net.object.bytearray.base64 |
value : The object must be serialized into a byte array |
: using a System.ComponentModel.TypeConverter |
: and then encoded with base64 encoding. |
--> |
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
<xsd:element name="root" msdata:IsDataSet="true"> |
<xsd:complexType> |
<xsd:choice maxOccurs="unbounded"> |
<xsd:element name="metadata"> |
<xsd:complexType> |
<xsd:sequence> |
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
</xsd:sequence> |
<xsd:attribute name="name" use="required" type="xsd:string" /> |
<xsd:attribute name="type" type="xsd:string" /> |
<xsd:attribute name="mimetype" type="xsd:string" /> |
<xsd:attribute ref="xml:space" /> |
</xsd:complexType> |
</xsd:element> |
<xsd:element name="assembly"> |
<xsd:complexType> |
<xsd:attribute name="alias" type="xsd:string" /> |
<xsd:attribute name="name" type="xsd:string" /> |
</xsd:complexType> |
</xsd:element> |
<xsd:element name="data"> |
<xsd:complexType> |
<xsd:sequence> |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
</xsd:sequence> |
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
<xsd:attribute ref="xml:space" /> |
</xsd:complexType> |
</xsd:element> |
<xsd:element name="resheader"> |
<xsd:complexType> |
<xsd:sequence> |
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
</xsd:sequence> |
<xsd:attribute name="name" type="xsd:string" use="required" /> |
</xsd:complexType> |
</xsd:element> |
</xsd:choice> |
</xsd:complexType> |
</xsd:element> |
</xsd:schema> |
<resheader name="resmimetype"> |
<value>text/microsoft-resx</value> |
</resheader> |
<resheader name="version"> |
<value>2.0</value> |
</resheader> |
<resheader name="reader"> |
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
</resheader> |
<resheader name="writer"> |
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
</resheader> |
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>17, 17</value> |
</metadata> |
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> |
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABnSURBVDhPtY9RCsAwCEM9ukfzZq4OLOlMcbD144GNSahi |
Zv6F/wpEnIJmRvuDruRcAZ6RUB8Tky4cnDlBRmpH8RaBmJDnfilgYVUtGvpoQYSS0PCNvnvOYQpj2bH4 |
8YF0welj4nvML6tzsZ4LEfkkAAAAAElFTkSuQmCC |
</value> |
</data> |
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB7SURBVDhPxY5LEsAgCEM5ukfjZlacohDwM9NFF2+RkESJ |
metX/hkhqtFD44SM4NAY0aPFBTf37U/SAujuWZERCqC7hwaSlZB0hFpzIt+fOs0HA4Iy4nUcciNZoJQS |
vPCQE+9Riop4Vtvc6FnRjRY4ETpoKDdlZTlyD9cHJ8TdCVejwHgAAAAASUVORK5CYII= |
</value> |
</data> |
<data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABEAAAAPCAYAAAACsSQRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB3SURBVDhPvY9RDsAgCEM5OkfjZm6YoBVq3LJkH++Dpn1R |
MbP2lf8lIo3nLNzhEiY6SmKYWTp4ZEqZCHqeA4RJ8B45C4PdKFMkci8n/vx5526wSHLRJevNRUPCCqpa |
MtYrEh8GnuGNPaR85wT2x46GD8cBlbzD2gXcX+SPQkd1uQAAAABJRU5ErkJggg== |
</value> |
</data> |
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABYSURBVDhPtc5RCgAgCANQ738qb1YEDTKtZhFjHxF7KKpa |
XmoAETGfTB2QRTzQkoBiACGgPYBsEA5oWVzDA8iEfL6gj6IhGgOH0VgPkEPUAeObqQFu+ghoqfgBoI6+ |
x9lEAAAAAElFTkSuQmCC |
</value> |
</data> |
<data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAwSURBVDhPYzhw4MB/SjD1DGBgYCAa4zQASBDEowaMGgDC |
eA0gFmM1gFxMoQEH/gMAIsdLnqOm6ksAAAAASUVORK5CYII= |
</value> |
</data> |
<data name="toolStripButton8.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
<value> |
iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 |
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABRSURBVDhPtYwBCgAgCAP7/6ctyoWJgloFV7bhtXHokjWM |
K8UhQJjlr4DLCTIN935pzZL/AoBMw71fytciJNCzJCyw/shcQYR3gooEe1tQo1EHdyOQfvPaXr4AAAAA |
SUVORK5CYII= |
</value> |
</data> |
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>122, 17</value> |
</metadata> |
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>237, 17</value> |
</metadata> |
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>324, 17</value> |
</metadata> |
<metadata name="toolTipMHz.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> |
<value>488, 17</value> |
</metadata> |
</root> |
/software/emuThor/source/clsDisassem.cpp
201,7 → 201,7
int byt; |
int opcode, func; |
int n; |
__int64 val, disp; |
__int64 val, disp, amt; |
int rv; |
int b1, b2, b3, b4; |
int Ra,Rb,Rc,Rt,Sprn,Sg,Sc,Sz; |
393,7 → 393,7
if ((opcode & 0xF0)==0x30) { |
b1 = system1.ReadByte(ad); |
ad++; |
disp = (b1 << 4) | (opcode & 0xF); |
disp = b1 | ((opcode & 0xF) << 8); |
if (disp & 0x800) |
disp |= 0xFFFFFFFFFFFFF000LL; |
sprintf(&buf[strlen(buf)], " BR $%LLX", disp + ad); |
573,6 → 573,31
imm_prefix = false; |
return std::string(buf); |
|
case INC: |
b1 = system1.ReadByte(ad); |
ad++; |
b2 = system1.ReadByte(ad); |
ad++; |
b3 = system1.ReadByte(ad); |
ad++; |
b4 = system1.ReadByte(ad); |
ad++; |
Ra = b1 & 0x3f; |
Sz = (b1 >> 6) | ((b2 & 1) << 2); |
disp = (b2 >> 4) | ((b3 & 31) << 4); |
if (disp & 0x100) |
disp |= 0xFFFFFFFFFFFFFF00LL; |
Sg = b3 >> 5; |
amt = b4; |
if (amt & 0x80) |
amt |= 0xFFFFFFFFFFFFFF00LL; |
sprintf(&buf[strlen(buf)], " INC.%c %s:$%I64X[r%d],#%I64d", |
Sz==0 ? 'B' : Sz==1 ? 'C' : Sz==2 ? 'H' : 'W', |
SegName(Sg), disp, Ra, amt); |
if (nb) *nb = 6; |
imm_prefix = false; |
return std::string(buf); |
|
case JSR: |
b1 = system1.ReadByte(ad); |
ad++; |
/software/emuThor/source/insn.h
132,6 → 132,7
#define SCX 0xC1 |
#define SHX 0xC2 |
#define SWX 0xC3 |
#define INC 0xC7 |
#define TLB 0xF0 |
#define RTSQ 0xF2 |
#define RTE 0xF3 |
/software/emuThor/source/frmStack.h
27,22 → 27,7
// |
//TODO: Add the constructor code here |
// |
int xx; |
char buf[4000]; |
buf[0] = '\0'; |
mut->WaitOne(); |
for (xx = -128; xx < 128; xx+=8) { |
sprintf(&buf[strlen(buf)], "%c %08I64X: %016I64X\r\n", xx==0 ? '>' : ' ', |
system1.cpu2.GetGP(27)+xx, system1.Read(system1.cpu2.GetGP(27)+xx)); |
} |
textBox1->Text = gcnew String(buf); |
buf[0] = '\0'; |
for (xx = -128; xx < 128; xx+=8) { |
sprintf(&buf[strlen(buf)], "%c %08I64X: %016I64X\r\n", xx==0 ? '>' : ' ', |
system1.cpu2.GetGP(26)+xx, system1.Read(system1.cpu2.GetGP(26)+xx)); |
} |
mut->ReleaseMutex(); |
textBox2->Text = gcnew String(buf); |
UpdateForm(); |
} |
|
protected: |
83,26 → 68,26
// |
// textBox1 |
// |
this->textBox1->Location = System::Drawing::Point(12, 32); |
this->textBox1->Location = System::Drawing::Point(12, 72); |
this->textBox1->Multiline = true; |
this->textBox1->Name = L"textBox1"; |
this->textBox1->ScrollBars = System::Windows::Forms::ScrollBars::Vertical; |
this->textBox1->Size = System::Drawing::Size(228, 241); |
this->textBox1->Size = System::Drawing::Size(228, 432); |
this->textBox1->TabIndex = 0; |
// |
// textBox2 |
// |
this->textBox2->Location = System::Drawing::Point(254, 32); |
this->textBox2->Location = System::Drawing::Point(254, 72); |
this->textBox2->Multiline = true; |
this->textBox2->Name = L"textBox2"; |
this->textBox2->ScrollBars = System::Windows::Forms::ScrollBars::Vertical; |
this->textBox2->Size = System::Drawing::Size(228, 241); |
this->textBox2->Size = System::Drawing::Size(228, 432); |
this->textBox2->TabIndex = 1; |
// |
// label1 |
// |
this->label1->AutoSize = true; |
this->label1->Location = System::Drawing::Point(12, 16); |
this->label1->Location = System::Drawing::Point(9, 56); |
this->label1->Name = L"label1"; |
this->label1->Size = System::Drawing::Size(61, 13); |
this->label1->TabIndex = 2; |
111,7 → 96,7
// label2 |
// |
this->label2->AutoSize = true; |
this->label2->Location = System::Drawing::Point(251, 16); |
this->label2->Location = System::Drawing::Point(251, 56); |
this->label2->Name = L"label2"; |
this->label2->Size = System::Drawing::Size(93, 13); |
this->label2->TabIndex = 3; |
121,19 → 106,41
// |
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); |
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; |
this->ClientSize = System::Drawing::Size(506, 306); |
this->ClientSize = System::Drawing::Size(506, 516); |
this->Controls->Add(this->label2); |
this->Controls->Add(this->label1); |
this->Controls->Add(this->textBox2); |
this->Controls->Add(this->textBox1); |
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedSingle; |
this->MaximizeBox = false; |
this->Name = L"frmStack"; |
this->Text = L"emuThor - Stack View"; |
this->FormClosing += gcnew System::Windows::Forms::FormClosingEventHandler(this, &frmStack::frmStack_FormClosing); |
this->ResumeLayout(false); |
this->PerformLayout(); |
|
} |
#pragma endregion |
}; |
private: System::Void frmStack_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosingEventArgs^ e) { |
if (e->CloseReason==CloseReason::UserClosing) |
e->Cancel = true; |
} |
public: void UpdateForm() { |
int xx; |
char buf[4000]; |
buf[0] = '\0'; |
mut->WaitOne(); |
for (xx = -128; xx < 128; xx+=8) { |
sprintf(&buf[strlen(buf)], "%c %08I64X: %016I64X\r\n", xx==0 ? '>' : ' ', |
system1.cpu2.GetGP(27)+xx, system1.Read(system1.cpu2.GetGP(27)+xx)); |
} |
textBox1->Text = gcnew String(buf); |
buf[0] = '\0'; |
for (xx = -128; xx < 128; xx+=8) { |
sprintf(&buf[strlen(buf)], "%c %08I64X: %016I64X\r\n", xx==0 ? '>' : ' ', |
system1.cpu2.GetGP(26)+xx, system1.Read(system1.cpu2.GetGP(26)+xx)); |
} |
mut->ReleaseMutex(); |
textBox2->Text = gcnew String(buf); |
} |
}; |
} |
/software/emuThor/source/clsUart.h
5,17 → 5,17
class clsUart : public clsDevice |
{ |
public: |
__int8 tb; |
__int8 rb; |
__int8 is; |
__int8 ier; |
__int8 ls; |
__int8 ms; |
__int8 mc; |
__int8 ctrl; |
__int8 cm0,cm1,cm2,cm3; |
__int8 ff; |
__int8 fc; |
unsigned __int8 tb; |
unsigned __int8 rb; |
unsigned __int8 is; |
unsigned __int8 ier; |
unsigned __int8 ls; |
unsigned __int8 ms; |
unsigned __int8 mc; |
unsigned __int8 ctrl; |
unsigned __int8 cm0,cm1,cm2,cm3; |
unsigned __int8 ff; |
unsigned __int8 fc; |
bool irq; |
public: |
void Reset(); |
/software/emuThor/source/emuThor.vcxproj
91,11 → 91,11
<ClCompile Include="clsDisassem.cpp" /> |
<ClCompile Include="clsKeyboard.cpp" /> |
<ClCompile Include="clsPIC.cpp" /> |
<ClCompile Include="clsSevenSeg.cpp" /> |
<ClCompile Include="clsSystem.cpp" /> |
<ClCompile Include="clsThor.cpp" /> |
<ClCompile Include="clsUart.cpp" /> |
<ClCompile Include="emuThor.cpp" /> |
<ClCompile Include="fmrFreeRun.cpp" /> |
<ClCompile Include="frmBreakpoints.cpp" /> |
<ClCompile Include="frmInterrupts.cpp" /> |
<ClCompile Include="frmKeyboard.cpp" /> |
102,6 → 102,7
<ClCompile Include="frmMemory.cpp" /> |
<ClCompile Include="frmPCHistory.cpp" /> |
<ClCompile Include="frmRegisters.cpp" /> |
<ClCompile Include="frmRun.cpp" /> |
<ClCompile Include="frmScreen.cpp" /> |
<ClCompile Include="frmStack.cpp" /> |
<ClCompile Include="frmUart.cpp" /> |
119,12 → 120,10
<ClInclude Include="clsDisassem.h" /> |
<ClInclude Include="clsKeyboard.h" /> |
<ClInclude Include="clsPIC.h" /> |
<ClInclude Include="clsSevenSeg.h" /> |
<ClInclude Include="clsSystem.h" /> |
<ClInclude Include="clsThor.h" /> |
<ClInclude Include="clsUart.h" /> |
<ClInclude Include="fmrFreeRun.h"> |
<FileType>CppForm</FileType> |
</ClInclude> |
<ClInclude Include="frmBreakpoints.h"> |
<FileType>CppForm</FileType> |
</ClInclude> |
142,6 → 141,9
<ClInclude Include="frmRegisters.h"> |
<FileType>CppForm</FileType> |
</ClInclude> |
<ClInclude Include="frmRun.h"> |
<FileType>CppForm</FileType> |
</ClInclude> |
<ClInclude Include="frmScreen.h" /> |
<ClInclude Include="frmStack.h"> |
<FileType>CppForm</FileType> |
160,9 → 162,6
<EmbeddedResource Include="About.resx"> |
<DependentUpon>About.h</DependentUpon> |
</EmbeddedResource> |
<EmbeddedResource Include="fmrFreeRun.resx"> |
<DependentUpon>fmrFreeRun.h</DependentUpon> |
</EmbeddedResource> |
<EmbeddedResource Include="frmBreakpoints.resx"> |
<DependentUpon>frmBreakpoints.h</DependentUpon> |
</EmbeddedResource> |
181,6 → 180,9
<EmbeddedResource Include="frmRegisters.resx"> |
<DependentUpon>frmRegisters.h</DependentUpon> |
</EmbeddedResource> |
<EmbeddedResource Include="frmRun.resx"> |
<DependentUpon>frmRun.h</DependentUpon> |
</EmbeddedResource> |
<EmbeddedResource Include="frmScreen.resx" /> |
<EmbeddedResource Include="frmStack.resx"> |
<DependentUpon>frmStack.h</DependentUpon> |
/software/emuThor/source/emuThor.vcxproj.filters
39,9 → 39,6
<ClCompile Include="clsKeyboard.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
<ClCompile Include="frmKeyboard.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
<ClCompile Include="clsPIC.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
69,9 → 66,6
<ClCompile Include="clsUart.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
<ClCompile Include="fmrFreeRun.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
<ClCompile Include="frmStack.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
81,6 → 75,15
<ClCompile Include="frmPCHistory.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
<ClCompile Include="frmRun.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
<ClCompile Include="frmKeyboard.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
<ClCompile Include="clsSevenSeg.cpp"> |
<Filter>Source Files</Filter> |
</ClCompile> |
</ItemGroup> |
<ItemGroup> |
<ClInclude Include="stdafx.h"> |
104,9 → 107,6
<ClInclude Include="clsKeyboard.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
<ClInclude Include="frmKeyboard.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
<ClInclude Include="clsPIC.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
140,9 → 140,6
<ClInclude Include="clsUart.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
<ClInclude Include="fmrFreeRun.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
<ClInclude Include="frmStack.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
152,6 → 149,15
<ClInclude Include="frmPCHistory.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
<ClInclude Include="frmRun.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
<ClInclude Include="frmKeyboard.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
<ClInclude Include="clsSevenSeg.h"> |
<Filter>Header Files</Filter> |
</ClInclude> |
</ItemGroup> |
<ItemGroup> |
<ResourceCompile Include="app.rc"> |
177,17 → 183,23
<EmbeddedResource Include="frmBreakpoints.resx"> |
<Filter>Resource Files</Filter> |
</EmbeddedResource> |
<EmbeddedResource Include="frmKeyboard.resx"> |
<EmbeddedResource Include="frmUart.resx"> |
<Filter>Resource Files</Filter> |
</EmbeddedResource> |
<EmbeddedResource Include="frmUart.resx"> |
<EmbeddedResource Include="frmStack.resx"> |
<Filter>Resource Files</Filter> |
</EmbeddedResource> |
<EmbeddedResource Include="fmrFreeRun.resx"> |
<EmbeddedResource Include="frmInterrupts.resx"> |
<Filter>Resource Files</Filter> |
</EmbeddedResource> |
<EmbeddedResource Include="frmStack.resx"> |
<EmbeddedResource Include="frmPCHistory.resx"> |
<Filter>Resource Files</Filter> |
</EmbeddedResource> |
<EmbeddedResource Include="frmRun.resx"> |
<Filter>Resource Files</Filter> |
</EmbeddedResource> |
<EmbeddedResource Include="frmKeyboard.resx"> |
<Filter>Resource Files</Filter> |
</EmbeddedResource> |
</ItemGroup> |
</Project> |
/software/emuThor/source/clsKeyboard.h
1,5 → 1,25
#pragma once |
#include "clsDevice.h" |
// Keyboard Device Emulation |
// |
// The keyboard controller code loops around until there are no more scan |
// codes available from the keyboard. In real life an interrupt signal is |
// generated by each scan code sent by the keyboard. There is no hardware |
// buffering of scan-codes. In the emulation only a single emulation |
// interrupt is generated for a keypress(button) event and multiple scan |
// codes are buffered. Rather than emulate the keyboard interface more |
// closely the emulation is simplified and the driver software recognizes |
// the way the emulation works. Otherwise it might be necessary to |
// implement the keyboard interface in it's own thread with calls to |
// Sleep() between each scan-code transmission. |
// It should work because the interrupt routine checks for additional |
// scan codes during it's processing. This is a case where the software |
// for the system is designed around supporting the emulator. |
// In real life there should never be two scan-codes sent by the keyboard |
// close enough together for the loop in the keyboard code to be |
// effective. The loop is harmless enough as the scan-code status |
// needs to be tested anyway. Whether its a while() or an if() is |
// irrelevant. |
|
class clsKeyboard : public clsDevice |
{ |
/software/emuThor/source/clsUart.cpp
7,7 → 7,7
} |
bool clsUart::IsSelected(unsigned int ad) |
{ |
return (ad & 0xFFFFFFF0LL)==0xFFFDC0A00; |
return (ad & 0xFFFFFFF0LL)==0xFFDC0A00; |
} |
|
unsigned int clsUart::Read(unsigned int ad) |
/software/emuThor/source/clsThor.cpp
205,7 → 205,7
unsigned int opcode, func; |
__int64 disp; |
int Ra,Rb,Rc,Rt,Pn,Cr,Ct; |
int Sprn,Sg,Sc; |
int Sprn,Sg,Sc,Sz; |
int b1, b2, b3, b4; |
int nn; |
__int64 dat; |
213,17 → 213,28
unsigned __int64 carry; |
unsigned __int64 a,b,res; |
|
for (nn = 39; nn >= 0; nn--) |
pcs[nn] = pcs[nn-1]; |
pcs[0] = pc; |
rts = false; |
// Capture PC History, but only when the PC changes. |
if (pcs[0] != pc) { |
for (nn = 39; nn >= 0; nn--) |
pcs[nn] = pcs[nn-1]; |
pcs[0] = pc; |
} |
if (IRQActive()) { |
StatusHWI = true; |
if (string_pc) |
ca[14] = string_pc; |
else |
ca[14] = pc; |
else { |
// If a prefix was present, back up to the previous insn. |
if (imm_prefix) { |
ca[14] = pcs[1]; |
} |
else |
ca[14] = pc; |
} |
pc = ca[12] + (vecno << 4); |
ca[15] = pc; |
imm_prefix = false; |
} |
gp[0] = 0; |
ca[0] = 0; |
739,6 → 750,45
imm_prefix = false; |
return; |
|
case INC: |
b1 = ReadByte(pc); |
pc++; |
b2 = ReadByte(pc); |
pc++; |
b3 = ReadByte(pc); |
pc++; |
b4 = ReadByte(pc); |
pc++; |
if (ex) { |
int amt; |
__int64 val; |
Ra = b1 & 0x3f; |
Sz = (b1 >> 6) | ((b2 & 1) << 2); |
func = (b2 >> 1) & 7; |
disp = (b2 >> 4) | ((b3 & 31) << 4); |
if (disp & 0x100) |
disp |= 0xFFFFFFFFFFFFFF00LL; |
Sg = b3 >> 5; |
amt = b4; |
if (amt & 0x80) |
amt |= 0xFFFFFFFFFFFFFF00LL; |
ea = (unsigned __int64) disp + seg_base[Sg] + GetGP(Ra); |
switch(Sz&3) { |
case 0: val = ReadByte(ea); break; |
case 1: val = ReadChar(ea); break; |
case 2: val = ReadHalf(ea); break; |
case 3: val = Read(ea); break; |
} |
val = val + amt; |
switch(Sz&3) { |
case 0: system1->Write(ea,val,(0x1 << (ea & 7)) & 0xFF); break; |
case 1: system1->Write(ea,val,(0x3 << (ea & 6)) & 0xFF); break; |
case 2: system1->Write(ea,val,(0xF << (ea & 4)) & 0xFF); break; |
case 3: system1->Write(ea,val,0xFF); break; |
} |
} |
return; |
|
case INT: |
b1 = ReadByte(pc); |
pc++; |
781,8 → 831,10
if (ex) { |
Ct = b1 & 0x0F; |
Cr = (b1 & 0xF0) >> 4; |
if (Ct != 0) |
if (Ct != 0) { |
ca[Ct] = pc; |
sub_depth++; |
} |
disp = (b4 << 16) | (b3 << 8) | b2; |
if (disp & 0x800000) |
disp |= 0xFFFFFFFFFF000000LL; |
813,8 → 865,10
Ct = (b1 >> 6) | ((b2 << 2) & 0xf); |
Sz = (b2 & 0xC) >> 2; |
Sg = (b3 >> 5); |
if (Ct != 0) |
if (Ct != 0) { |
ca[Ct] = pc; |
sub_depth++; |
} |
disp = ((b3 & 0x1f) << 4) | (b2 >> 4); |
if (disp & 0x100) |
disp |= 0xFFFFFFFFFFFFFE00LL; |
1432,12 → 1486,12
case MEMSB: |
ca[15] = pc; |
imm_prefix = false; |
break; |
return; |
|
case MEMDB: |
ca[15] = pc; |
imm_prefix = false; |
break; |
return; |
|
case MFSPR: |
b1 = ReadByte(pc); |
1669,7 → 1723,7
switch(b2 >> 4) { |
case CPUID: |
switch(Ra) { |
case 0: SetGP(Rt,0x0002LL); break; // Processor ID |
case 0: SetGP(Rt,0x0000LL); break; // Processor ID |
case 2: SetGP(Rt,0x4e4F5254494E4966LL); break; // "Finitron" |
case 3: SetGP(Rt,0x00LL); break; |
case 4: SetGP(Rt,0x36346249547373LL); break; // 64BitSS |
1772,19 → 1826,41
SetGP(Rt,GetGP(Ra) * GetGP(Rb)); |
break; |
case DIV: |
SetGP(Rt,GetGP(Ra) / GetGP(Rb)); |
if (GetGP(Rb)==0) { |
if (StatusEXL < 255) |
StatusEXL++; |
ca[13] = pc; |
pc = ca[12] + (241 << 4); |
ca[15] = pc; |
} |
else |
SetGP(Rt,GetGP(Ra) / GetGP(Rb)); |
break; |
case MOD: |
SetGP(Rt,GetGP(Ra) % GetGP(Rb)); |
if (GetGP(Rb)==0) { |
if (StatusEXL < 255) |
StatusEXL++; |
ca[13] = pc; |
pc = ca[12] + (241 << 4); |
ca[15] = pc; |
} |
else |
SetGP(Rt,GetGP(Ra) % GetGP(Rb)); |
break; |
case MULU: |
SetGP(Rt,(unsigned __int64)GetGP(Ra) * (unsigned __int64)GetGP(Rb)); |
break; |
case DIVU: |
SetGP(Rt,(unsigned __int64)GetGP(Ra) / (unsigned __int64)GetGP(Rb)); |
if (GetGP(Rb)==0) |
SetGP(Rt,-1LL); |
else |
SetGP(Rt,(unsigned __int64)GetGP(Ra) / (unsigned __int64)GetGP(Rb)); |
break; |
case MODU: |
SetGP(Rt,(unsigned __int64)GetGP(Ra) % (unsigned __int64)GetGP(Rb)); |
if (GetGP(Rb)==0) |
SetGP(Rt,-1LL); |
else |
SetGP(Rt,(unsigned __int64)GetGP(Ra) % (unsigned __int64)GetGP(Rb)); |
break; |
case _2ADDU: |
SetGP(Rt,(GetGP(Ra) << 1) + GetGP(Rb)); |
1808,6 → 1884,7
if (ex) { |
StatusDBG = false; |
pc = ca[11]; |
rts = true; |
} |
ca[15] = pc; |
imm_prefix = false; |
1818,6 → 1895,7
if (StatusEXL > 0) |
StatusEXL--; |
pc = ca[13]; |
rts = true; |
} |
ca[15] = pc; |
imm_prefix = false; |
1825,9 → 1903,10
|
case RTI: |
if (ex) { |
im = 0; |
imcd = 3; |
StatusHWI = false; |
pc = ca[14]; |
rts = true; |
} |
ca[15] = pc; |
imm_prefix = false; |
1839,6 → 1918,7
if (ex) { |
Cr = (b1 & 0xF0) >> 4; |
pc = ca[Cr] + (b1 & 0x0F); |
rts = true; |
if (sub_depth > 0) sub_depth--; |
} |
ca[15] = pc; |
1848,6 → 1928,7
case RTSQ: |
if (ex) { |
pc = ca[1]; |
rts = true; |
if (sub_depth > 0) sub_depth--; |
} |
ca[15] = pc; |
/software/emuThor/bin/emuThor.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream