Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.albasani.net!rt.uk.eu.org!aioe.org!.POSTED!not-for-mail From: "Rod Pemberton" Newsgroups: alt.os.development,comp.os.msdos.programmer,alt.lang.asm Subject: Re: detecting emulation or console windows Date: Sun, 01 Jun 2014 02:50:58 -0400 Organization: Aioe.org NNTP Server Lines: 36 Message-ID: References: <538aab1c$0$10247$703f8584@textnews.kpn.nl> NNTP-Posting-Host: CNsg4fVcCsvs3UaOgZtQCw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/12.16 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: csiph.com comp.os.msdos.programmer:1369 On Sun, 01 Jun 2014 00:25:00 -0400, Sjouke Burry wrote: > On 01.06.14 0:31, Rod Pemberton wrote: >> Do you guys have any pointers on detecting whether or not code >> is executing in an emulator or in console window? >> > > Do a system call like: system("ver > settings.txt") > then read the settings.txt file, which should tell you > whether you are in DOS or not. > I didn't do a system call. I doubt that the system call makes any difference. I.e., it just respawns a new instance of command.com etc. So, I just entered 'ver' at the command line. DOSBox ver reports: "DOSBox version 0.74. Reported DOS version 5.00." dosemu ver reports the MS-DOS version installed on the partition that was mounted by dosemu: "Windows 98 [Version 4.10.2222]" Obviously, that has nothing to do with Linux dosemu, which just provides the console with, not the DOS which is executed. That is MS-DOS v7.10 which is part of Windows 98/SE. I.e., if I had FreeDOS on a partition and booted it via dosemu, 'ver' should return whatever FreeDOS reports. So, some emulation will return different results, but other emulation just returns the results for the installed version of DOS. Rod Pemberton