|
||||
|
|
Personal Web Site. |
|
|
Mess's Chistmas Leds ! No lighting Leds on Disc-tape feature... No problems... The "osd_set_leds" definition MIA in Mess .79 (check .84 release!) It set on/off leds, without this function ... No leds If you want add to a keyboard led effect, just pickup "osd_set_leds" definition in Mame Res. in Mess's Input.C Mess is Poor in Leds effect ! Only one : "PCkeyboard.c" (Funny!) You can now init leds statement everywhere ! Mess Problem Mess.79:
Mame.h (Flag definition) ****************************************************************** /Display state passed to the OSD layer for rendering/
#define LED_STATE_CHANGED 0x00000080 ****************************************************************** ... and ... Mame.C(Trigger statement) (...) /* set the LED status */ if (leds_status != current_display.led_state) { current_display.led_state = leds_status; current_display.changed_flags |= LED_STATE_CHANGED; } (...) /*------------------------------------------------- set_led_status - set the state of a given LED -------------------------------------------------*/ void set_led_status(int num, int on) { if (on) leds_status |= (1 << num); else leds_status &= ~(1 << num); } (...) ... and ... Video.C(Led refresh call) ****************************************************************** // if the LEDs have changed, update them if (display->changed_flags & LED_STATE_CHANGED) osd_set_leds(display->led_state); ****************************************************************** That's all ... But osd_set_leds anywhere ! To pickup and add:
input.C(Led setup in Mame 0.83) ****************************************************************** //============================================================ // osd_set_leds //============================================================ void osd_set_leds(int state) ******************************************************************
Set_led_status(0, 0);// Led OFF !used in Mess! .79 -> pckeybrd.c !!! set_led_status(1, 0);// Led OFF !used in Mess! .79 -> pckeybrd.c !!! set_led_status(2, 0);// Led OFF !used in Mess! .79 -> pckeybrd.c !!!
(...) // ??????????????????????????????? //Set_led_status(0, 1);// Led ON ? !unused in Mess! .79 //set_led_status(1, 1);// Led ON ? !unused in Mess! .79 //set_led_status(2, 1);// Led ON ? !unused in Mess! .79 // ???????????????????????????????
May be a Bug ! This function will be able to set Leds for alls stuff ! Computer power "on",tape, disc (A:,B:,C:) ... Example: During reset ignition for CPC, you can check bios loading ! ROM_START(cpc6128fr) set_led_status(1, 0);/* Set Led 2 OFF !*/ Set_led_status(0, 0);/* Set Led 1 OFF !*/ set_led_status(2, 0);/* Set Led 3 OFF !*/
/* this defines the total memory size - 64k ram, 16k OS, 16k BASIC, 16k DOS */ ROM_REGION(0x020000, REGION_CPU1,0) /* load the os to offset 0x01000 from memory base */ ROM_LOAD("cpc6128fr.rom", 0x10000, 0x8000, CRC(1574923b)) set_led_status(0, 1);/*Set Led 1 ON !*/ ROM_LOAD("cpcados.rom", 0x18000, 0x4000, CRC(1fe22ecd)) set_led_status(1, 1);/*Set Led 2 ON !*/
/* optional Multiface hardware */ ROM_LOAD_OPTIONAL("multface.rom", 0x01c000, 0x02000, CRC(f36086de)) set_led_status(2, 1); /* Set Led 3 ON !*/ /* fake region - required by graphics decode structure */ /*ROM_REGION(0x0100,REGION_GFX1) */ set_led_status(1, 0);/* Set Led 2 OFF !*/ Set_led_status(0, 0);/* Set Led 1 OFF !*/ set_led_status(2, 0);/* Set Led 3 OFF !*/ ROM_END Note : This update don't check if roms are really loaded ! You may add a conditional feature to had a visual checklist for optionals roms. May be tested first, of course ! Bye and enjoy guys ! XavSnap.
|
|