Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

haynor666

Premium Members
  • Content Count

    159
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by haynor666

  1. About Nemesis/Gradius sound. There were several changes in netlist so maybe sound was improved in those games. Anyone tested how it sounds when comparing to older mame versions ? Still needed 😕 Color improvement needs to stay I think.
  2. Robert, MameSick --> m_sprgen->m_neogeo_raster_hack was part of neogeo hack. Ok,since it's removed this line is not needed also but: diff -Nru src/mame/video/neogeo_spr.cpp src-ui/mame/video/neogeo_spr.cpp --- src/mame/video/neogeo_spr.cpp Tue May 26 14:53:19 2020 +++ src-ui/mame/video/neogeo_spr.cpp Tue May 26 14:53:59 2020 @@ -265,7 +265,7 @@ *************************************/ #define MAX_SPRITES_PER_SCREEN (381) -#define MAX_SPRITES_PER_LINE (96) +#define MAX_SPRITES_PER_LINE (192) /* horizontal zoom table - verified on real hardware */ @@ -520,9 +520,8 @@ { int scanline = param; - /* we are at the beginning of a scanline - - we need to draw the previous scanline and parse the sprites on the current one */ - if (scanline != 0) + /* we are at the beginning of a scanline */ + if (scanline) screen().update_partial(scanline - 1); parse_sprites(scanline); Something is still in code As for cidelsa - it was year ago when I posted fixed patch but I don't really remember if this was accepted or rejected. Personally no problem for me In official mame it is like this: void mvs_led_state::popbounc(machine_config &config) { neogeo_arcade(config); neogeo_mono(config); NEOGEO_CTRL_EDGE_CONNECTOR(config, m_edge, neogeo_arc_edge_fixed, "dial", true); cartslot_fixed(config, "rom"); } Without comments so question is commenting this a mistake of intentional change.
  3. From D_Skywalk from BYOAC I miss this from version 216 in my build and looks like it's missing in ARCADE as well. There were several changes on namconb1 driver. Mamesick fix is still needed ? Audio changes in simpsons driver. Audio change is still needed ? Cidelsa code should look like this: diff -Nru src/mame/video/cidelsa.cpp src-fx/mame/video/cidelsa.cpp --- src/mame/video/cidelsa.cpp Tue May 19 03:23:07 2020 +++ src-fx/mame/video/cidelsa.cpp Mon May 25 19:07:04 2020 @@ -155,7 +155,7 @@ SPEAKER(config, "mono").front_center(); CDP1869(config, m_vis, DESTRYER_CHR2, &cidelsa_state::cidelsa_page_ram); screen_device &screen(m_vis->add_pal_screen(config, SCREEN_TAG, DESTRYER_CHR2)); - screen.set_default_position(1.226, 0.012, 1.4, 0.044); + screen.set_default_position(1.0, 0.0, 1.0, 0.0); m_vis->set_pcb_read_callback(FUNC(cidelsa_state::cidelsa_pcb_r)); m_vis->set_char_ram_read_callback(FUNC(cidelsa_state::cidelsa_charram_r)); m_vis->set_char_ram_write_callback(FUNC(cidelsa_state::cidelsa_charram_w)); @@ -169,7 +169,7 @@ SPEAKER(config, "mono").front_center(); CDP1869(config, m_vis, ALTAIR_CHR2, &cidelsa_state::cidelsa_page_ram); screen_device &screen(m_vis->add_pal_screen(config, SCREEN_TAG, ALTAIR_CHR2)); - screen.set_default_position(1.226, 0.012, 1.4, 0.044); + screen.set_default_position(1.0, 0.0, 1.0, 0.0); m_vis->set_pcb_read_callback(FUNC(cidelsa_state::cidelsa_pcb_r)); m_vis->set_char_ram_read_callback(FUNC(cidelsa_state::cidelsa_charram_r)); m_vis->set_char_ram_write_callback(FUNC(cidelsa_state::cidelsa_charram_w)); @@ -183,7 +183,7 @@ SPEAKER(config, "mono").front_center(); CDP1869(config, m_vis, DRACO_CHR2, &draco_state::draco_page_ram); screen_device &screen(m_vis->add_pal_screen(config, SCREEN_TAG, DRACO_CHR2)); - screen.set_default_position(1.226, 0.012, 1.360, 0.024); + screen.set_default_position(1.0, 0.0, 1.0, 0.0); m_vis->set_pcb_read_callback(FUNC(draco_state::draco_pcb_r)); m_vis->set_char_ram_read_callback(FUNC(draco_state::draco_charram_r)); m_vis->set_char_ram_write_callback(FUNC(draco_state::draco_charram_w)); Some neogeo changes: GAME( 1990, mahretsu, neogeo, neogeo_mj, neogeo_mj, mvs_led_state, empty_init, Is machine here correct ? void mvs_led_state::popbounc(machine_config &config) { - neogeo_arcade(config); - neogeo_mono(config); - - NEOGEO_CTRL_EDGE_CONNECTOR(config, m_edge, neogeo_arc_edge_fixed, "dial", true); - + mv1_fixed(config); + NEOGEO_CTRL_EDGE_CONNECTOR(config.replace(), m_edge, neogeo_arc_edge_fixed, "dial", true); +// neogeo_arcade(config); +// neogeo_mono(config); +// NEOGEO_CTRL_EDGE_CONNECTOR(config, m_edge, neogeo_arc_edge_fixed, "dial", true); cartslot_fixed(config, "rom"); + m_screen->set_visarea(38, 342-1, NEOGEO_VBEND, NEOGEO_VBSTART-1); } Should be like this ???
  4. They already late plus what I've read somewhere else Vas has some problems so it's no suprise. I think it's good time to clean up source.
  5. I wonder who was holding all the chds straight in rooms root folder :)
  6. Looks like devs changed a bit behaviour of chd files.
  7. In Poland less than 900 deaths. People should wear masks but from what I see many people ignore this. Not to mention plenty people on streets. Everything is available except gloves.
  8. With vertical sync enabled I can confirm sound pitch change in Phoenix. With sync to monitor refresh also Phoenix has slight pitch change. In both cases game speed is also changing. Just press F11 and observe game start. Note - this does not happen all the time. But other games like Aero Fighters working at 61,31 Hz is fine. It has constant 98 % speed with not speed changing during game. Air Duel originally working at 55 Hz speeds up to 109% together with sound but that is expected and working as it should in this case. Turtles is also working fine at 99% speed and sound is also slowed down as it should.
  9. Try delete entire ini folder and run ARCADE32/64 again. Set just one option for example wait for sync. See if this makes difference.
  10. I could investigated this too but I need examples. Problems with option triple buffering, sync to monitor refresh or similiar ? Wait for vertical sync, sync to monitor refresh and tripple buffering - all options are slowing or speed up games depends on frequency used by game and by desktop. Does sync audio with avideo is still present in ARCADE32/64? It was imported from groovymame long time ago? It is still in source, I should check this at first and it works with proper options combinations
  11. Indeed is not needed, in fact plugin version is better. Still no official mame 220 :/
  12. Still cold but we have sunshine but still it's rare to see people outside. In next two days weather will be much better with peak in saturday and sunday. BTW. Couple days ago we had very high temperatures (just before first ill in my city) and plenty people were outside. One confirmed ill changed everything.
  13. toilet paper or.. someone else t-shirt 😁 Now serious. That one woman was in hospital and had contact with at least 50 people in hospital. Now hospital is separated from outside world. Many of those people probably left hospital and didn't know that woman was positive with covid19. All hospitals employes that are at home at orderer to stay at home on force. One of nurses is actually living very close to my home. Besides weather is rather bad here in Poland - strong wind, yesterday was snowing. Not the best conditions to stay healthy. Right now from time to time I see only people with dogs.
  14. Hehehe, I've not been in stores for 2 days now but still when I've been in sotres I have not seen to many people . Toilet paper run out initially quickly but has been restocked fast. There was was shortage for bread for a short time. Right now I have at least one confirmed sick in my city and that might change a lot. Looking from my windows at city it look like deserted, only rarely peoples with dogs so people are probably scared and finally sitting at home. Shops were closed in sunday in my country but that's normal. Tomorrow we will see how much situation has changed my city.
  15. Rather does not want to write about. In Poland right now is silent - people in my city does not hoarding shops, we still have toilet paper, rice etc. At least yesterday it was true. Personally I made some shopping just to not need go out every day.
  16. haynor666

    ARCADE 0.218

    Thanks Robert. I didn't have time to look at it but I'll try to test next version and see what was changed.
  17. haynor666

    ARCADE 0.213

    Thanks Robert. I'll take a look at source when I will find some free time. Strangely so far official 213 was not released.
  18. haynor666

    ARCADE 0.212

    Neo-geo hack was to improve neo-geo original limitations/problems from start. It was not for fixing because we know that neo-geo emulation is very good and that limitation was correct. Sengoku was the only game that "suffers" a bit from this improvement that's why this check was added I think. Correct me MameSick if I'm wrong. Still it was nice to removed this limitation just like in plenty NES emulators are options to remove sprite limit. Maybe not accurate but was looking better and games were more playable this way. frame_delay option was not meant to be added to ARCADE or MAMEUI. I simply posted entire diff file without removing not needed stuff. But for gamers that need lagless play I think is very usefull option anyway.
  19. Read this - https://www.1emulation.com/forums/topic/36177-arcade-0212/ And use translator
  20. haynor666

    ARCADE 0.212

    Sengoku 2 title screen still has one bad line so maybe check that was in source is still needed. @@ -520,12 +521,9 @@ { int scanline = param; - /* we are at the beginning of a scanline - - we need to draw the previous scanline and parse the sprites on the current one */ - if (scanline != 0) - screen().update_partial(scanline - 1); - - parse_sprites(scanline); + /* we are at the beginning of a scanline */ + if (m_neogeo_raster_hack & 0x10) /* raster interrupt enabled */ + { + if (strcmp(machine().system().name, "sengoku2") == 0) + m_screen->update_partial(scanline - 1); + else + m_screen->update_partial(scanline + 1); + } /* let's come back at the beginning of the next line */ scanline = (scanline + 1) % NEOGEO_VTOTAL;
  21. haynor666

    MAME4RAGE2

    Are cpu/psx/ir.cpp and machine/idehd.cpp mods responsible for this fix? What about changes in vegas.cpp ?
  22. haynor666

    ARCADE 0.212

    Here is also new code for saving volume/overclocking. It has also frame_delay code but I'm sure it's easy to cut only interesting part. diff -Nru src/frontend/mame/ui/ui.cpp src/frontend/mame/ui/ui.cpp --- src/frontend/mame/ui/ui.cpp 2019-08-03 12:28:56.000000000 +0200 +++ src/frontend/mame/ui/ui.cpp 2019-08-05 11:16:09.000000000 +0200 @@ -31,6 +31,7 @@ #include "ui/viewgfx.h" #include "imagedev/cassette.h" #include "../osd/modules/lib/osdobj_common.h" +#include "config.h" /*************************************************************************** @@ -193,6 +194,9 @@ // request a callback upon exiting machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(&mame_ui_manager::exit, this)); + // register callbacks + machine().configuration().config_register("sliders", config_load_delegate(&mame_ui_manager::config_load, this), config_save_delegate(&mame_ui_manager::config_save, this)); + // create mouse bitmap uint32_t *dst = &m_mouse_bitmap.pix32(0); memcpy(dst,mouse_bitmap,32*32*sizeof(uint32_t)); @@ -1348,6 +1352,9 @@ // add overall volume m_sliders.push_back(slider_alloc(SLIDER_ID_VOLUME, _("Master Volume"), -32, 0, 0, 1, nullptr)); + // add frame delay + m_sliders.push_back(slider_alloc(SLIDER_ID_FRAMEDELAY, _("Frame Delay"), 0, machine.options().frame_delay(), 9, 1, nullptr)); + // add per-channel volume mixer_input info; for (int item = 0; machine.sound().indexed_mixer_input(item, info); item++) @@ -1492,6 +1499,8 @@ } #endif + config_apply(); + std::vector<ui::menu_item> items; for (auto &slider : m_sliders) { @@ -1515,6 +1524,8 @@ { if (id == SLIDER_ID_VOLUME) return slider_volume(machine, arg, id, str, newval); + else if (id == SLIDER_ID_FRAMEDELAY) + return slider_framedelay(machine, arg, id, str, newval); else if (id >= SLIDER_ID_MIXERVOL && id <= SLIDER_ID_MIXERVOL_LAST) return slider_mixervol(machine, arg, id, str, newval); else if (id >= SLIDER_ID_ADJUSTER && id <= SLIDER_ID_ADJUSTER_LAST) @@ -1579,6 +1590,21 @@ //------------------------------------------------- +// slider_framedelay - global frame delay slider +// callback +//------------------------------------------------- + +int32_t mame_ui_manager::slider_framedelay(running_machine &machine, void *arg, int id, std::string *str, int32_t newval) +{ + if (newval != SLIDER_NOCHANGE) + machine.video().set_framedelay(newval); + if (str) + *str = string_format(_("%1$3d"), machine.video().framedelay()); + return machine.video().framedelay(); +} + + +//------------------------------------------------- // slider_mixervol - single channel volume // slider callback //------------------------------------------------- @@ -2195,3 +2221,83 @@ m_dipsw_color = options.dipsw_color(); m_slider_color = options.slider_color(); } + +//------------------------------------------------- +// config_load - read data from the +// configuration file +//------------------------------------------------- + +void mame_ui_manager::config_load(config_type cfg_type, util::xml::data_node const *parentnode) +{ + // we only care about game files + if (cfg_type != config_type::GAME) + return; + + // might not have any data + if (parentnode == nullptr) + return; + + // iterate over slider nodes + for (util::xml::data_node const *slider_node = parentnode->get_child("slider"); slider_node; slider_node = slider_node->get_next_sibling("slider")) + { + const char *desc = slider_node->get_attribute_string("desc", ""); + int32_t saved_val = slider_node->get_attribute_int("value", 0); + + // create a dummy slider to store the saved value + m_sliders_saved.push_back(slider_alloc(0, desc, 0, saved_val, 0, 0, 0)); + } +} + + +//------------------------------------------------- +// config_appy - apply data from the conf. file +// This currently needs to be done on a separate +// step because sliders are not created yet when +// configuration file is loaded +//------------------------------------------------- + +void mame_ui_manager::config_apply(void) +{ + // iterate over sliders and restore saved values + for (auto &slider : m_sliders) + { + for (auto &slider_saved : m_sliders_saved) + { + if (!strcmp(slider->description.c_str(), slider_saved->description.c_str())) + { + std::string tempstring; + slider->update(machine(), slider->arg, slider->id, &tempstring, slider_saved->defval); + break; + + } + } + } +} + + +//------------------------------------------------- +// config_save - save data to the configuration +// file +//------------------------------------------------- + +void mame_ui_manager::config_save(config_type cfg_type, util::xml::data_node *parentnode) +{ + // we only care about game files + if (cfg_type != config_type::GAME) + return; + + std::string tempstring; + util::xml::data_node *slider_node; + + // save UI sliders + for (auto &slider : m_sliders) + { + int32_t curval = slider->update(machine(), slider->arg, slider->id, &tempstring, SLIDER_NOCHANGE); + if (curval != slider->defval) + { + slider_node = parentnode->add_child("slider", nullptr); + slider_node->set_attribute("desc", slider->description.c_str()); + slider_node->set_attribute_int("value", curval); + } + } +} \ No newline at end of file diff -Nru src/frontend/mame/ui/ui.h src/frontend/mame/ui/ui.h --- src/frontend/mame/ui/ui.h 2019-08-03 12:28:56.000000000 +0200 +++ src/frontend/mame/ui/ui.h 2019-08-05 11:07:28.000000000 +0200 @@ -53,6 +53,7 @@ enum { SLIDER_ID_VOLUME = 0, + SLIDER_ID_FRAMEDELAY, SLIDER_ID_MIXERVOL, SLIDER_ID_MIXERVOL_LAST = SLIDER_ID_MIXERVOL + SLIDER_DEVICE_SPACING, SLIDER_ID_ADJUSTER, @@ -234,6 +235,11 @@ void start_save_state(); void start_load_state(); + // config callbacks + void config_load(config_type cfg_type, util::xml::data_node const *parentnode); + void config_save(config_type cfg_type, util::xml::data_node *parentnode); + void config_apply(void); + // slider controls std::vector<ui::menu_item>& get_slider_list(void); @@ -300,6 +306,7 @@ virtual int32_t slider_changed(running_machine &machine, void *arg, int id, std::string *str, int32_t newval) override; int32_t slider_volume(running_machine &machine, void *arg, int id, std::string *str, int32_t newval); + int32_t slider_framedelay(running_machine &machine, void *arg, int id, std::string *str, int32_t newval); int32_t slider_mixervol(running_machine &machine, void *arg, int id, std::string *str, int32_t newval); int32_t slider_adjuster(running_machine &machine, void *arg, int id, std::string *str, int32_t newval); int32_t slider_overclock(running_machine &machine, void *arg, int id, std::string *str, int32_t newval); @@ -326,6 +333,7 @@ #endif std::vector<std::unique_ptr<slider_state>> m_sliders; + std::vector<std::unique_ptr<slider_state>> m_sliders_saved; };
  23. haynor666

    ARCADE 0.212

    video/cidelsa.cpp appears to be incorrect
  24. haynor666

    ARCADE 0.212

    Truxton 2 stereo sound enabled is gone and it's probably gone from some long time. It's even gone in my source. For overclocks, sound volume save please wait for groovymame new patch.
×
×
  • Create New...