1; =============================================================== 2; 2018 3; =============================================================== 4; 5; unsigned char check_version_nextzxos(uint16_t nv) 6; 7; =============================================================== 8 9INCLUDE "config_private.inc" 10 11SECTION code_arch 12 13PUBLIC asm_check_version_nextzxos 14 15EXTERN error_znc, error_mc 16 17asm_check_version_nextzxos: 18 19 ; check if nextzxos version >= nv 20 ; 21 ; enter : hl = uint16_t cv 22 ; = MMmm (major, minor) in bcd 23 ; v 1.94 would be 0x0194 24 ; 25 ; exit : success if minimum nextzxos version met 26 ; 27 ; hl = 0, carry reset 28 ; 29 ; fail if minimum nextzxos version not met 30 ; 31 ; hl = -1, carry set 32 ; 33 ; uses : af, bc, de, hl 34 35 push hl 36 37 rst __ESX_RST_SYS 38 defb __ESX_M_DOSVERSION 39 40 pop hl ; hl = cv 41 42 jp c, error_mc ; if nextzxos not present 43 44 or a 45 jp nz, error_mc ; if nextzxos is in 48k mode 46 47 ex de,hl 48 sbc hl,de 49 50 jp c, error_mc ; if nextzxos version < minimum 51 jp error_znc ; pass 52