1 2 MODULE generic_console_ioctl 3 PUBLIC generic_console_ioctl 4 5 SECTION code_clib 6 7 EXTERN generic_console_cls 8 EXTERN generic_console_setup_mode 9 EXTERN gr_defmod 10 EXTERN generic_console_font32 11 EXTERN generic_console_udg32 12 13 INCLUDE "ioctl.def" 14 15 PUBLIC CLIB_GENCON_CAPS 16 defc CLIB_GENCON_CAPS = CAP_GENCON_FG_COLOUR | CAP_GENCON_BG_COLOUR | CAP_GENCON_INVERSE | CAP_GENCON_CUSTOM_FONT | CAP_GENCON_UDGS 17 18 19 20; a = ioctl 21; de = arg 22generic_console_ioctl: 23 ex de,hl 24 ld c,(hl) ;bc = where we point to 25 inc hl 26 ld b,(hl) 27 cp IOCTL_GENCON_SET_FONT32 28 jr nz,check_set_udg 29 ld (generic_console_font32),bc 30success: 31 and a 32 ret 33check_set_udg: 34 cp IOCTL_GENCON_SET_UDGS 35 jr nz,check_mode 36 ld (generic_console_udg32),bc 37 jr success 38check_mode: 39 cp IOCTL_GENCON_SET_MODE 40 jr nz,failure 41 ld a,c ; The mode 42 cp 4 43 jr nc,failure 44 and a 45 jr z,failure 46 ld l,a 47 push af 48 call gr_defmod 49 pop af 50 call generic_console_setup_mode 51 call generic_console_cls 52 and a 53 ret 54failure: 55 scf 56 ret 57