From dfaa09d2f8c5d9ad2c19b846ff1fe66431117b37 Mon Sep 17 00:00:00 2001 From: Stephen White Date: Sun, 28 Apr 2019 14:05:04 +1000 Subject: [PATCH] X? command now returns the dos version --- src/iec_commands.cpp | 25 +++++++++++++++++++++++-- src/iec_commands.h | 1 + 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/iec_commands.cpp b/src/iec_commands.cpp index 4129bb8..9328b57 100644 --- a/src/iec_commands.cpp +++ b/src/iec_commands.cpp @@ -1322,6 +1322,25 @@ void IEC_Commands::User(void) } } +void IEC_Commands::Extended(void) +{ + Channel& channel = channels[15]; + + //DEBUG_LOG("User channel.buffer[1] = %c\r\n", channel.buffer[1]); + + switch (toupper(channel.buffer[1])) + { + case '?': + Error(ERROR_73_DOSVERSION); + break; + default: + // Extended commands not implemented yet + Error(ERROR_31_SYNTAX_ERROR); + break; + } +} + +// http://www.n2dvm.com/UIEC.pdf void IEC_Commands::ProcessCommand(void) { Error(ERROR_00_OK); @@ -1406,8 +1425,10 @@ void IEC_Commands::ProcessCommand(void) //OPEN1, 9, 15, "XW":CLOSE1 break; case 'X': - // Extended commands not implemented yet - Error(ERROR_31_SYNTAX_ERROR); + Extended(); + break; + case '/': + break; default: Error(ERROR_31_SYNTAX_ERROR); diff --git a/src/iec_commands.h b/src/iec_commands.h index fdf0030..a2d40fe 100644 --- a/src/iec_commands.h +++ b/src/iec_commands.h @@ -162,6 +162,7 @@ protected: void Memory(void); void User(void); + void Extended(void); void ProcessCommand(void);