コード例 #1
0
ファイル: emulkeys.cpp プロジェクト: nedopc/zxevo
void chfix(int dx)
{
    if (!fixmode) {
        int value;
        switch (whatfix) {
        case FIX_FRAME:
            value = (conf.frame += dx);
            break;
        case FIX_LINE:
            value = (conf.t_line += dx);
            break;
        case FIX_PAPER:
            value = (conf.paper += dx);
            break;
        case FIX_NOPAPER:
            value = (conf.nopaper ^= dx?1:0);
            break;
        case FIX_HWNC:
            value = (comp.pEFF7 ^= dx?EFF7_HWMC:0)? 1 : 0;
            break;
        }
        video_timing_tables();
        apply_sound(); // t/frame affects AY engine!
        sprintf(statusline, fix_titles[whatfix], value);
        statcnt=50;
        if (dx) conf.ula_preset = -1;
        return;
    }
    if (fixmode != 1) return;

    dx = (dx > 0) ? 1 : ((dx < 0) ? -1 : 0);

    *statusline = 0;
    statcnt = 50;
    switch (whatsnd) {
    case 0:
        conf.sound.ay_stereo = (conf.sound.ay_stereo+dx+num_aystereo) % num_aystereo;
        sprintf(statusline, "Stereo preset: %s", aystereo[conf.sound.ay_stereo]);
        break;
    case 1:
        if (dx) conf.sound.ay_samples ^= 1;
        sprintf(statusline, "Digital Soundchip: %s", conf.sound.ay_samples? "yes" : "no");
        break;
    case 2:
        conf.sound.ay_vols = (conf.sound.ay_vols+num_ayvols+dx) % num_ayvols;
        sprintf(statusline, "Chip Table: %s", ayvols[conf.sound.ay_vols]);
        break;
    case 3:
        conf.pal = (conf.pal+dx);
        if (conf.pal == conf.num_pals) conf.pal = 0;
        if (conf.pal == -1) conf.pal = conf.num_pals-1;
        sprintf(statusline, "Palette: %s", pals[conf.pal].name);
        video_color_tables();
        return;
    }
    apply_sound();
}
コード例 #2
0
/**
 * @brief Applies the data in the GUI to the entity.
 */
void EditEntityDialog::apply() {

  apply_simple_booleans();
  apply_simple_integers();
  apply_simple_strings();

  apply_behavior();
  apply_breed();
  apply_damage_on_enemies();
  apply_destination();
  apply_destination_map();
  apply_direction();
  apply_font();
  apply_ground();
  apply_layer();
  apply_maximum_moves();
  apply_model();
  apply_name();
  apply_opening_method();
  apply_rank();
  apply_savegame_variable();
  apply_size();
  apply_sound();
  apply_sprite();
  apply_subtype();
  apply_transition();
  apply_treasure();
  apply_type();
  apply_weight();
  apply_xy();
}
コード例 #3
0
ファイル: z80.cpp プロジェクト: VWarlock/zx-evo
void reset(ROM_MODE mode)
{
   comp.pEFF7 &= conf.EFF7_mask;
   comp.pEFF7 |= EFF7_GIGASCREEN; // [vv] disable turbo
   {
        conf.frame = frametime;
        cpu.SetTpi(conf.frame);
//                if ((conf.mem_model == MM_PENTAGON)&&(comp.pEFF7 & EFF7_GIGASCREEN))conf.frame = 71680; //removed 0.37
        apply_sound();
   } //Alone Coder 0.36.4
   comp.t_states = 0; comp.frame_counter = 0;
   comp.p7FFD = comp.pDFFD = comp.pFDFD = comp.p1FFD = 0;
   comp.p7EFD = comp.p78FD = comp.p7AFD = comp.p7CFD = comp.gmx_config = comp.gmx_magic_shift = 0;
   comp.pLSY256 = 0;

   comp.ulaplus_mode=0;
   comp.ulaplus_reg=0;

   tsinit();

   if (conf.mem_model == MM_TSL)
		set_clk();		// turbo 2x (7MHz) for TS-Conf
   else
		turbo(1);		// turbo 1x (3.5MHz) for all other clones
        
   if (conf.mem_model == MM_LSY256)
        mode = RM_SYS;
   
   switch (mode)
   {
	case RM_SYS: {comp.ts.memconf = 4; break;}
	case RM_DOS: {comp.ts.memconf = 0; break;}
	case RM_128: {comp.ts.memconf = 0; break;}
	case RM_SOS: {comp.ts.memconf = 0; break;}
   }

   comp.p00 = comp.p80FD = 0; 	// quorum

   comp.pBF = 0; // ATM3
   comp.pBE = 0; // ATM3

   if (conf.mem_model == MM_ATM710 || conf.mem_model == MM_ATM3)
   {
       switch(mode)
       {
       case RM_DOS:
           // Запрет палитры, запрет cpm, включение диспетчера памяти
           // Включение механической клавиатуры, разрешение кадровых прерываний
           set_atm_FF77(0x4000 | 0x200 | 0x100, 0x80 | 0x40 | 0x20 | 3);
           comp.pFFF7[0] = 0x100 | 1; // trdos
           comp.pFFF7[1] = 0x200 | 5; // ram 5
           comp.pFFF7[2] = 0x200 | 2; // ram 2
           comp.pFFF7[3] = 0x200;     // ram 0

           comp.pFFF7[4] = 0x100 | 1; // trdos
           comp.pFFF7[5] = 0x200 | 5; // ram 5
           comp.pFFF7[6] = 0x200 | 2; // ram 2
           comp.pFFF7[7] = 0x200;     // ram 0
       break;
       default:
           set_atm_FF77(0,0);
       }
   }

   if (conf.mem_model == MM_ATM450)
   {
       switch(mode)
       {
       case RM_DOS:
           set_atm_aFE(0x80|0x60);
           comp.aFB = 0;
       break;
       default:
           set_atm_aFE(0x80);
           comp.aFB = 0x80;
       }
   }

   comp.flags = 0;
   comp.active_ay = 0;

   cpu.reset();
   reset_tape();
   reset_sound();

   #ifdef MOD_VID_VD
   comp.vdbase = 0; comp.pVD = 0;
   #endif

   load_spec_colors();

   comp.ide_hi_byte_r = 0;
   comp.ide_hi_byte_w = 0;
   comp.ide_hi_byte_w1 = 0;
   hdd.reset();
   input.atm51.reset();
   input.buffer.Enable(false);

   if ((!conf.trdos_present && mode == RM_DOS) ||
       (!conf.cache && mode == RM_CACHE))
       mode = RM_SOS;

   set_mode(mode);
}
コード例 #4
0
ファイル: z80.cpp プロジェクト: maslanin/pentevo
void reset(ROM_MODE mode)
{
   comp.pEFF7 &= conf.EFF7_mask;
   comp.pEFF7 |= EFF7_GIGASCREEN; // [vv] disable turbo
   {
                conf.frame = frametime;
                cpu.SetTpi(conf.frame);
//                if ((conf.mem_model == MM_PENTAGON)&&(comp.pEFF7 & EFF7_GIGASCREEN))conf.frame = 71680; //removed 0.37
                apply_sound(); 
   } //Alone Coder 0.36.4
   comp.t_states = 0; comp.frame_counter = 0;
   comp.p7FFD = comp.pDFFD = comp.pFDFD = comp.p1FFD = 0;
   comp.p7EFD = 0;

   comp.p00 = comp.p80FD = 0; // quorum

   comp.pBF = 0; // ATM3
   comp.pBE = 0; // ATM3

   comp.igrosoft.pF1 = 0;
   comp.igrosoft.pF9 = 2;

   if (conf.mem_model == MM_ATM710 || conf.mem_model == MM_ATM3)
   {
       switch(mode)
       {
       case RM_DOS:
           // Запрет палитры, запрет cpm, включение диспетчера памяти
           // Включение механической клавиатуры, разрешение кадровых прерываний
           set_atm_FF77(0x4000 | 0x200 | 0x100, 0x80 | 0x40 | 0x20 | 3);
           comp.pFFF7[0] = 0x100 | 1; // trdos
           comp.pFFF7[1] = 0x200 | 5; // ram 5
           comp.pFFF7[2] = 0x200 | 2; // ram 2
           comp.pFFF7[3] = 0x200;     // ram 0

           comp.pFFF7[4] = 0x100 | 1; // trdos
           comp.pFFF7[5] = 0x200 | 5; // ram 5
           comp.pFFF7[6] = 0x200 | 2; // ram 2
           comp.pFFF7[7] = 0x200;     // ram 0
       break;
       default:
           set_atm_FF77(0,0);
       }
   }

   if (conf.mem_model == MM_ATM450)
   {
       switch(mode)
       {
       case RM_DOS:
           set_atm_aFE(0x80|0x60);
           comp.aFB = 0;
       break;
       default:
           set_atm_aFE(0x80);
           comp.aFB = 0x80;
       }
   }

   comp.flags = 0;
   comp.active_ay = 0;

   cpu.reset();
   reset_tape();
   ay[0].reset();
   ay[1].reset();
   Saa1099.reset();

   if (conf.sound.ay_scheme == AY_SCHEME_CHRV)
   {
        out(0xfffd,0xff); //0.36.7
        //printf("tfmstatuson0=%d\n",tfmstatuson0);
   };//Alone Coder

   #ifdef MOD_GS
   if (conf.sound.gsreset)
       reset_gs();
   #endif

   #ifdef MOD_VID_VD
   comp.vdbase = 0; comp.pVD = 0;
   #endif

   if (conf.mem_model == MM_ATM450 ||
       conf.mem_model == MM_ATM710 ||
       conf.mem_model == MM_ATM3 ||
       conf.mem_model == MM_PROFI)
       load_spec_colors();

   comp.ide_hi_byte_r = 0;
   comp.ide_hi_byte_w = 0;
   comp.ide_hi_byte_w1 = 0;
   hdd.reset();
   input.atm51.reset();

   if ((!conf.trdos_present && mode == RM_DOS) ||
       (!conf.cache && mode == RM_CACHE))
       mode = RM_SOS;

   set_mode(mode);
}