{"id":13221,"date":"2006-10-25T13:18:19","date_gmt":"2006-10-25T13:18:19","guid":{"rendered":"http:\/\/127.0.0.1\/ef\/?p=13221"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/www.emu-france.com\/?p=13221","title":{"rendered":"[Calc.] Emu42 v1.08"},"content":{"rendered":"<p>Un \u00e9mulateur HP17\/19\/27\/28\/42.<br \/>\n<em><\/p>\n<h5>\nDDESERV.C<br \/>\n&#8211; removed warnings when compiling under VS2005<\/p>\n<p>DEBUGGER.C<br \/>\n&#8211; removed warnings when compiling under VS2005<\/p>\n<p>DISASM.C<br \/>\n&#8211; bugfix in function disasm_8(), the ?HS=0 n opcode showed always as<br \/>\n?=0 opcode<\/p>\n<p>DISPLAY.C<br \/>\n&#8211; bugfix in function StopDisplay(), in most times display wasn\u00b4t<br \/>\ncleared in calculator off state (bug introduced in v1.07)<\/p>\n<p>EMU42.C<br \/>\n&#8211; removed warnings when compiling under VS2005<br \/>\n&#8211; changed function OnCreate() and OnDestroy(), added Critical<br \/>\nSection initialization<br \/>\n&#8211; changed function OnFileClose(), removed call of KillKML() because<br \/>\nwill be done in ResetDocument()<br \/>\n&#8211; bugfix in function OnViewScript(), removed error message because<br \/>\nit\u00b4s wrong when script is ok, but log report was leaved with<br \/>\nCancel button, also if clause of error message box was never<br \/>\nreached because error message box had no Cancel button<br \/>\n&#8211; changed function OnViewScript(), added call of<br \/>\nSetWindowPathTitle() to adjust length of window title<br \/>\n&#8211; changed function WinMain(), simplified document loading at startup<br \/>\nand replaced full filename title with length cut filename<\/p>\n<p>EMU42.DSP<br \/>\n&#8211; added lowbat.c sources<\/p>\n<p>EMU42.H<br \/>\n&#8211; extern declaration of global variable and functions<\/p>\n<p>EMU42.RC<br \/>\n&#8211; changed version<br \/>\n&#8211; replaced CREATEPROCESS_MANIFEST_RESOURCE_ID definition in manifest<br \/>\ndeclaration by 1<\/p>\n<p>ENGINE.C<br \/>\n&#8211; changed function WorkerThread(), added control of battery<br \/>\nmeasurement thread<\/p>\n<p>EXTERNAL.C<br \/>\n&#8211; changed function BeepWave(), removed VS2005 warning<br \/>\n&#8211; changed function BeepWin9x(), disabled implementation for IA64<br \/>\narchitecture<\/p>\n<p>FETCH.C<br \/>\n&#8211; changed function EvalOpcode(), included assertion for detecting<br \/>\naccess to packed memory data<\/p>\n<p>FILES.C<br \/>\n&#8211; moved function WriteStack() inside file<br \/>\n&#8211; added new function GetCutPathName(), creating a length cut<br \/>\nfilename<br \/>\n&#8211; added new function SetWindowPathTitle(), replacement for calling<br \/>\nSetWindowTitle() for getting length cut filenames as title<br \/>\n&#8211; changed function PatchRom(), removed VS2005 warning<br \/>\n&#8211; changed function MapRom(), removed some useless variable settings<br \/>\nand optimized ROM unpacking<br \/>\n&#8211; changed function OpenDocument(), SaveDocumentAs() and<br \/>\nRestoreBackup(), replaced call of function SetWindowTitle() with<br \/>\nSetWindowPathTitle()<br \/>\n&#8211; changed function GetOpenFilename(), GetSaveAsFilename(),<br \/>\nGetLoadObjectFilename() and GetSaveObjectFilename(), moved<br \/>\nstorage place of local file buffer from heap to stack<\/p>\n<p>KEYBOARD.C<br \/>\n&#8211; bugfix in function ScanKeyboard(), if keyboard reading wasn\u00b4t<br \/>\nactive a released ON key wasn\u00b4t cleared in the \u00ab\u00a0in\u00a0\u00bb register<\/p>\n<p>KEYMACRO.C<br \/>\n&#8211; removed warnings when compiling under VS2005<br \/>\n&#8211; changed function OnToolMacroNew(), minor optimization writing<br \/>\nmacro file header<\/p>\n<p>KML.C<br \/>\n&#8211; removed warnings when compiling under VS2005<br \/>\n&#8211; added keyword \u00ab\u00a0Menubar\u00a0\u00bb to pLexToken[] table -> scripts using this<br \/>\nkeyword are parsed with a warning but not with a fatal error<br \/>\n&#8211; bugfix in function CreateKmlList(), fixed possible call of API<br \/>\nfunction lstrcmpi() with NULL pointer at Hardware detection and<br \/>\nselect only KML files with a valid Model statement<br \/>\n&#8211; changed function DisplayChooseKml(), changed return type of dialog<br \/>\nbox<br \/>\n&#8211; bugfix in function Lex(), EOF without LF at end of non empty line<br \/>\nwasn\u00b4t detected as EOL<br \/>\n&#8211; changed function ParseLine(), change typecast of szLexString from<br \/>\nDWORD to DWORD_PTR<\/p>\n<p>KML.H<br \/>\n&#8211; added TOK_MENUBAR definition<br \/>\n&#8211; changed variable type of nParam[] element of KmlLine structure<br \/>\nbecause element is also used as pointer<\/p>\n<p>LOWBAT.C<br \/>\n&#8211; new modul with battery measurement<\/p>\n<p>MOPS.C<br \/>\n&#8211; added function ChipResetMaster(), new function for reset master<br \/>\nchip (derivated from function CpuReset())<br \/>\n&#8211; added function ChipResetSlave(), new function for reset slave chip<br \/>\n(derivated from function CpuReset())<br \/>\n&#8211; bugfix in function CpuReset(), display update wasn\u00b4t stopped and<br \/>\nmoved implementation to functions ChipResetMaster() and<br \/>\nChipResetSlave() for complete reset<br \/>\n&#8211; added new function IOBit() for thread safe setting of IO bits<br \/>\n&#8211; bugfix in function ReadIO(), added GRAM, VLBI and LBI bit<br \/>\nimplementation in the LPD (0x308) register<br \/>\n&#8211; bugfix in function ReadSlaveIO(), the VLBI and LBI bit are always<br \/>\noff in the slave chip and added GRAM implementation in the LPD<br \/>\n(0x308) register<br \/>\n&#8211; changed function WriteIO(), new implemention of display sync error<br \/>\nfor the DON bit in the DSPCTL (0x303) register because of modified<br \/>\nCpuReset() function<br \/>\n&#8211; bugfix in function WriteIO() and WriteSlaveIO(), added GRAM, VLBI<br \/>\nand LBI bit implementation in the LPD (0x308) register and the<br \/>\nEGRAM bit implementation in the LPE (0x309) register<br \/>\n&#8211; bugfix in function WriteSlaveIO(), a DON bit change in the DSPCTL<br \/>\n(0x303) register hadn\u00b4t affect on the annunciators of Clamshell<br \/>\ncalculators<\/p>\n<p>PCH.H<br \/>\n&#8211; added _CRT_SECURE_NO_DEPRECATE definition<br \/>\n&#8211; added DWORD_PTR type definition<\/p>\n<p>RESOURCE.H<br \/>\n&#8211; removed CREATEPROCESS_MANIFEST_RESOURCE_ID and RT_MANIFEST<br \/>\ndefinition<\/p>\n<p>STACK.C<br \/>\n&#8211; changed function RPL_SetBcd(), removed compiler warning<br \/>\n&#8211; bugfix in function OnStackPaste(), case \u00ab\u00a0any other format\u00a0\u00bb must be<br \/>\ntreated as string and not as binary object<\/p>\n<p>TIMER.C<br \/>\n&#8211; removed warnings when compiling under VS2005<br \/>\n&#8211; bugfix in function StopTimers(), on stopping master timer slave<br \/>\ntimers wasn\u00b4t stopped automatically<\/h5>\n<p><\/em><\/p>\n<p class=\"p_telecharger_icone_zip\"><a class=\"telecharger_icone_zip\" href=\"https:\/\/www.emu-france.com\/?wpfb_dl=3019\" title=\"Download Sega Master System\">T\u00e9l\u00e9charger Sega Master System (01\/2008) (1.2 Mo)<\/a><\/p>\n<p class=\"p_site_officiel\"><a href=\"http:\/\/christophgiesselink.homepage.t-online.de\/emu42.htm\" class=\"site_officiel\" target=\"_blank\">Site Officiel<\/a><\/p>\n<p class=\"p_en_savoir_plus\"><a href=\"https:\/\/www.emu-france.com\/emulateurs\/11-calculatrices\/76-hewlett-packard\/\" class=\"en_savoir_plus\">En savoir plus&#8230;<\/a><\/p>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fb-share-button  \" data-href=\"https:\/\/www.emu-france.com\/?p=13221\" data-type=\"button_count\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Un \u00e9mulateur HP17\/19\/27\/28\/42. DDESERV.C &#8211; removed warnings when compiling under VS2005 DEBUGGER.C &#8211; removed warnings when compiling under VS2005 DISASM.C &#8211; bugfix in function disasm_8(), the ?HS=0 n opcode showed always as ?=0 opcode DISPLAY.C &#8211; bugfix in function StopDisplay(), &#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[],"class_list":["post-13221","post","type-post","status-publish","format-standard","hentry","uentry","postonpage-1","odd","post-author-Jets"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/sKi2R-","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/13221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13221"}],"version-history":[{"count":0,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=\/wp\/v2\/posts\/13221\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.emu-france.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}