init vars for coverity (includes)

This commit is contained in:
Robbbert 2022-03-30 18:01:47 +11:00
parent 49c3b8a8b3
commit e09c5764d0
17 changed files with 158 additions and 158 deletions

View File

@ -182,7 +182,7 @@ public:
void init_ss64(); void init_ss64();
void init_hng64_fght(); void init_hng64_fght();
uint8_t *m_texturerom; uint8_t *m_texturerom = nullptr;
required_device<screen_device> m_screen; required_device<screen_device> m_screen;
required_device<palette_device> m_palette; required_device<palette_device> m_palette;
@ -264,7 +264,7 @@ private:
int m_samsho64_3d_hack; int m_samsho64_3d_hack;
int m_roadedge_3d_hack; int m_roadedge_3d_hack;
uint8_t m_fbcontrol[4]; uint8_t m_fbcontrol[4]{};
std::unique_ptr<uint16_t[]> m_soundram; std::unique_ptr<uint16_t[]> m_soundram;
std::unique_ptr<uint16_t[]> m_soundram2; std::unique_ptr<uint16_t[]> m_soundram2;
@ -272,13 +272,13 @@ private:
/* Communications stuff */ /* Communications stuff */
std::unique_ptr<uint8_t[]> m_com_op_base; std::unique_ptr<uint8_t[]> m_com_op_base;
std::unique_ptr<uint8_t[]> m_com_virtual_mem; std::unique_ptr<uint8_t[]> m_com_virtual_mem;
uint8_t m_com_shared[8]; uint8_t m_com_shared[8]{};
int32_t m_dma_start; int32_t m_dma_start = 0;
int32_t m_dma_dst; int32_t m_dma_dst = 0;
int32_t m_dma_len; int32_t m_dma_len = 0;
uint16_t m_mcu_en; uint16_t m_mcu_en = 0;
uint32_t m_activeDisplayList = 0U; uint32_t m_activeDisplayList = 0U;
uint32_t m_no_machine_error_code = 0U; uint32_t m_no_machine_error_code = 0U;
@ -307,7 +307,7 @@ private:
uint16_t m_old_tileflags[4]{}; uint16_t m_old_tileflags[4]{};
// 3d State // 3d State
int m_paletteState3d; int m_paletteState3d = 0;
float m_projectionMatrix[16]{}; float m_projectionMatrix[16]{};
float m_modelViewMatrix[16]{}; float m_modelViewMatrix[16]{};
float m_cameraMatrix[16]{}; float m_cameraMatrix[16]{};

View File

@ -76,7 +76,7 @@ public:
const char *read_name = nullptr; const char *read_name = nullptr;
write8sm_delegate write; write8sm_delegate write;
void* data = nullptr; // non-NULL for banks void* data = nullptr; // non-NULL for banks
int isnop; int isnop = 0;
/* configurable part */ /* configurable part */
uint8_t state = 0U; // one of HP48_MODULE_ uint8_t state = 0U; // one of HP48_MODULE_

View File

@ -102,25 +102,25 @@ private:
}; };
model_t m_model; model_t m_model{};
// 60.15 Hz timer for RBV/V8/Sonora/Eagle/VASP/etc. // 60.15 Hz timer for RBV/V8/Sonora/Eagle/VASP/etc.
emu_timer *m_6015_timer; emu_timer *m_6015_timer = nullptr;
// RBV and friends (V8, etc) // RBV and friends (V8, etc)
uint8_t m_rbv_regs[256], m_rbv_ier, m_rbv_ifr, m_rbv_type, m_rbv_montype, m_rbv_vbltime; uint8_t m_rbv_regs[256]{}, m_rbv_ier = 0, m_rbv_ifr = 0, m_rbv_type = 0, m_rbv_montype = 0, m_rbv_vbltime = 0;
uint32_t m_rbv_colors[3], m_rbv_count, m_rbv_clutoffs, m_rbv_immed10wr; uint32_t m_rbv_colors[3]{}, m_rbv_count = 0, m_rbv_clutoffs = 0, m_rbv_immed10wr = 0;
uint32_t m_rbv_palette[256]; uint32_t m_rbv_palette[256]{};
uint8_t m_sonora_vctl[8]; uint8_t m_sonora_vctl[8]{};
emu_timer *m_vbl_timer, *m_cursor_timer; emu_timer *m_vbl_timer = nullptr, *m_cursor_timer = nullptr;
uint16_t m_cursor_line; uint16_t m_cursor_line = 0;
uint16_t m_dafb_int_status; uint16_t m_dafb_int_status = 0;
int m_dafb_scsi1_drq, m_dafb_scsi2_drq; int m_dafb_scsi1_drq = 0, m_dafb_scsi2_drq = 0;
uint8_t m_dafb_mode; uint8_t m_dafb_mode = 0;
uint32_t m_dafb_base, m_dafb_stride; uint32_t m_dafb_base = 0, m_dafb_stride = 0;
// this is shared among all video setups with vram // this is shared among all video setups with vram
uint32_t *m_vram; uint32_t *m_vram = nullptr;
uint16_t mac_via_r(offs_t offset); uint16_t mac_via_r(offs_t offset);
void mac_via_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void mac_via_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
@ -148,12 +148,12 @@ private:
void cdmcu_mem(address_map &map); void cdmcu_mem(address_map &map);
void cdmcu_data(address_map &map); void cdmcu_data(address_map &map);
// wait states for accessing the VIA // wait states for accessing the VIA
int m_via_cycles; int m_via_cycles = 0;
// hack // hack
uint16_t m_unk1_test; uint16_t m_unk1_test = 0;
emu_timer *m_scanline_timer; emu_timer *m_scanline_timer = nullptr;
uint32_t screen_update_pippin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_pippin(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(mac_6015_tick); TIMER_CALLBACK_MEMBER(mac_6015_tick);
uint8_t mac_via_in_a(); uint8_t mac_via_in_a();

View File

@ -216,51 +216,51 @@ private:
required_device<sega_billboard_device> m_billboard; required_device<sega_billboard_device> m_billboard;
memory_bank_creator m_bank2; memory_bank_creator m_bank2;
tilemap_t *m_layer4[4]; tilemap_t *m_layer4[4]{};
tilemap_t *m_layer8[4]; tilemap_t *m_layer8[4]{};
int m_sound_irq_enable; int m_sound_irq_enable = 0;
emu_timer *m_sound_timer; emu_timer *m_sound_timer = nullptr;
emu_timer *m_real3d_dma_timer; emu_timer *m_real3d_dma_timer = nullptr;
emu_timer *m_scan_timer; emu_timer *m_scan_timer = nullptr;
uint8_t m_irq_enable; uint8_t m_irq_enable = 0;
uint8_t m_irq_state; uint8_t m_irq_state = 0;
uint8_t m_scsi_irq_state; uint8_t m_scsi_irq_state = 0;
int m_crom_bank; int m_crom_bank = 0;
int m_controls_bank; int m_controls_bank = 0;
bool m_step15_with_mpc106; bool m_step15_with_mpc106 = false;
bool m_step20_with_old_real3d; bool m_step20_with_old_real3d = false;
uint32_t m_real3d_device_id; uint32_t m_real3d_device_id = 0;
int m_pci_bus; int m_pci_bus = 0;
int m_pci_device; int m_pci_device = 0;
int m_pci_function; int m_pci_function = 0;
int m_pci_reg; int m_pci_reg = 0;
uint32_t m_mpc105_regs[0x40]; uint32_t m_mpc105_regs[0x40]{};
uint32_t m_mpc105_addr; uint32_t m_mpc105_addr = 0;
uint32_t m_mpc106_regs[0x40]; uint32_t m_mpc106_regs[0x40]{};
uint32_t m_mpc106_addr; uint32_t m_mpc106_addr = 0;
uint32_t m_dma_data; uint32_t m_dma_data = 0;
uint32_t m_dma_status; uint32_t m_dma_status = 0;
uint32_t m_dma_source; uint32_t m_dma_source = 0;
uint32_t m_dma_dest; uint32_t m_dma_dest = 0;
uint32_t m_dma_endian; uint32_t m_dma_endian = 0;
uint32_t m_dma_irq; uint32_t m_dma_irq = 0;
uint32_t m_dma_busy; uint32_t m_dma_busy = 0;
uint64_t m_controls_2; uint64_t m_controls_2 = 0;
uint64_t m_controls_3; uint64_t m_controls_3 = 0;
uint8_t m_serial_fifo1; uint8_t m_serial_fifo1 = 0;
uint8_t m_serial_fifo2; uint8_t m_serial_fifo2 = 0;
int m_lightgun_reg_sel; int m_lightgun_reg_sel = 0;
int m_adc_channel; int m_adc_channel = 0;
uint64_t m_real3d_status; uint64_t m_real3d_status = 0;
int m_prot_data_ptr; int m_prot_data_ptr = 0;
std::unique_ptr<uint32_t[]> m_vrom; std::unique_ptr<uint32_t[]> m_vrom;
int m_step; int m_step = 0;
int m_m3_step; int m_m3_step = 0;
int32_t m_tap_state; int32_t m_tap_state = 0;
uint64_t m_ir; uint64_t m_ir = 0;
uint8_t m_id_data[32]; uint8_t m_id_data[32]{};
int32_t m_id_size; int32_t m_id_size = 0;
int m_tdo = 0; int m_tdo = 0;
uint16_t m_layer_priority = 0; uint16_t m_layer_priority = 0;
uint32_t m_layer_modulate_r = 0; uint32_t m_layer_modulate_r = 0;

View File

@ -76,33 +76,33 @@ private:
required_shared_ptr<uint8_t> m_cgram; required_shared_ptr<uint8_t> m_cgram;
required_shared_ptr<uint8_t> m_wram; required_shared_ptr<uint8_t> m_wram;
uint8_t *m_ipl_rom; uint8_t *m_ipl_rom = nullptr;
uint8_t *m_kanji_rom; uint8_t *m_kanji_rom = nullptr;
uint8_t *m_kanji2_rom; uint8_t *m_kanji2_rom = nullptr;
std::unique_ptr<uint8_t[]> m_pcg_ram; std::unique_ptr<uint8_t[]> m_pcg_ram;
std::unique_ptr<uint8_t[]> m_emm_ram; std::unique_ptr<uint8_t[]> m_emm_ram;
uint8_t *m_dic_rom; uint8_t *m_dic_rom = nullptr;
uint8_t *m_phone_rom; uint8_t *m_phone_rom = nullptr;
uint8_t *m_iplpro_rom; uint8_t *m_iplpro_rom = nullptr;
uint8_t m_bank_val[8]; uint8_t m_bank_val[8]{};
uint8_t m_bank_addr; uint8_t m_bank_addr = 0;
uint8_t m_irq_sel; uint8_t m_irq_sel = 0;
uint8_t m_irq_vector[4]; uint8_t m_irq_vector[4]{};
uint8_t m_irq_mask[4]; uint8_t m_irq_mask[4]{};
uint8_t m_irq_pending[4]; uint8_t m_irq_pending[4]{};
uint8_t m_kanji_bank; uint8_t m_kanji_bank = 0;
uint8_t m_dic_bank; uint8_t m_dic_bank = 0;
uint8_t m_fdc_reverse; uint8_t m_fdc_reverse = 0;
uint8_t m_key_mux; uint8_t m_key_mux = 0;
uint8_t m_monitor_type; uint8_t m_monitor_type = 0;
uint8_t m_text_reg[0x100]; uint8_t m_text_reg[0x100]{};
uint8_t m_text_reg_index; uint8_t m_text_reg_index = 0;
uint8_t m_text_col_size; uint8_t m_text_col_size = 0;
uint8_t m_text_font_reg; uint8_t m_text_font_reg = 0;
uint8_t m_pal_select; uint8_t m_pal_select = 0;
uint16_t m_cg_vs; uint16_t m_cg_vs = 0;
uint16_t m_cg_ve; uint16_t m_cg_ve = 0;
uint16_t m_cg_hs = 0; uint16_t m_cg_hs = 0;
uint16_t m_cg_he = 0; uint16_t m_cg_he = 0;
int16_t m_tv_vs = 0; int16_t m_tv_vs = 0;

View File

@ -102,8 +102,8 @@ private:
std::unique_ptr<bitmap_ind16> m_tmpbitmap; std::unique_ptr<bitmap_ind16> m_tmpbitmap;
std::unique_ptr<uint16_t[]> m_videoram; std::unique_ptr<uint16_t[]> m_videoram;
std::unique_ptr<uint8_t[]> m_clut; std::unique_ptr<uint8_t[]> m_clut;
int m_flipscreen_old; int m_flipscreen_old = 0;
emu_timer *m_blitter_timer; emu_timer *m_blitter_timer = nullptr;
// common // common
uint8_t ff_r(); uint8_t ff_r();

View File

@ -102,15 +102,15 @@ private:
void timer_ctrl_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0); void timer_ctrl_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
void ramdac_w(offs_t offset, uint8_t data); void ramdac_w(offs_t offset, uint8_t data);
uint32_t scr1; uint32_t scr1 = 0;
uint32_t scr2; uint32_t scr2 = 0;
uint32_t irq_status; uint32_t irq_status = 0;
uint32_t irq_mask = 0; uint32_t irq_mask = 0;
int irq_level = 0; int irq_level = 0;
required_shared_ptr<uint32_t> vram; required_shared_ptr<uint32_t> vram;
uint8_t scsictrl = 0, scsistat = 0; uint8_t scsictrl = 0, scsistat = 0;
uint32_t phy[2]; uint32_t phy[2]{};
attotime timer_tbase; attotime timer_tbase;
uint16_t timer_vbase = 0; uint16_t timer_vbase = 0;

View File

@ -67,12 +67,12 @@ protected:
virtual void video_start() override; virtual void video_start() override;
private: private:
int m_boot; int m_boot = 0;
int m_system_status; int m_system_status = 0;
int m_fdc_interrupt_code; int m_fdc_interrupt_code = 0;
int m_interrupt_counter; int m_interrupt_counter = 0;
uint8_t m_banks[4]; uint8_t m_banks[4]{};
unsigned char m_bank_force; unsigned char m_bank_force = 0;
uint8_t m_timer_irq_flag = 0; uint8_t m_timer_irq_flag = 0;
uint8_t m_nmi_flag = 0; uint8_t m_nmi_flag = 0;
int16_t m_printer_headpos = 0; int16_t m_printer_headpos = 0;

View File

@ -68,7 +68,7 @@ private:
tilemap_t *m_spr1_tilemap_flipx = nullptr; tilemap_t *m_spr1_tilemap_flipx = nullptr;
tilemap_t *m_spr2_tilemap = nullptr; tilemap_t *m_spr2_tilemap = nullptr;
bool m_nmi_mask; bool m_nmi_mask = false;
uint8_t spunchout_exp_r(offs_t offset); uint8_t spunchout_exp_r(offs_t offset);
void spunchout_exp_w(offs_t offset, uint8_t data); void spunchout_exp_w(offs_t offset, uint8_t data);
void spunchout_rp5h01_reset_w(uint8_t data); void spunchout_rp5h01_reset_w(uint8_t data);

View File

@ -109,7 +109,7 @@ private:
offs_t m_scrambled_write_pc = 0; offs_t m_scrambled_write_pc = 0;
segag80_decrypt_func m_decrypt; segag80_decrypt_func m_decrypt{};
uint8_t m_background_pcb = 0; uint8_t m_background_pcb = 0;
double m_rweights[3]{}; double m_rweights[3]{};
double m_gweights[3]{}; double m_gweights[3]{};

View File

@ -71,17 +71,17 @@ public:
private: private:
struct hit_t struct hit_t
{ {
uint16_t x1p, y1p, z1p, x1s, y1s, z1s; uint16_t x1p = 0, y1p = 0, z1p = 0, x1s = 0, y1s = 0, z1s = 0;
uint16_t x2p, y2p, z2p, x2s, y2s, z2s; uint16_t x2p = 0, y2p = 0, z2p = 0, x2s = 0, y2s = 0, z2s = 0;
uint16_t org; uint16_t org = 0;
uint16_t x1_p1, x1_p2, y1_p1, y1_p2, z1_p1, z1_p2; uint16_t x1_p1 = 0, x1_p2 = 0, y1_p1 = 0, y1_p2 = 0, z1_p1 = 0, z1_p2 = 0;
uint16_t x2_p1, x2_p2, y2_p1, y2_p2, z2_p1, z2_p2; uint16_t x2_p1 = 0, x2_p2 = 0, y2_p1 = 0, y2_p2 = 0, z2_p1 = 0, z2_p2 = 0;
uint16_t x1tox2, y1toy2, z1toz2; uint16_t x1tox2 = 0, y1toy2 = 0, z1toz2 = 0;
int16_t x_in, y_in, z_in; int16_t x_in = 0, y_in = 0, z_in = 0;
uint16_t flag; uint16_t flag = 0;
uint8_t disconnect; uint8_t disconnect = 0;
}; };
required_device<sh2_device> m_maincpu; required_device<sh2_device> m_maincpu;

View File

@ -115,7 +115,7 @@ protected:
u16 m_rockn_protectdata = 0; u16 m_rockn_protectdata = 0;
u16 m_rockn_adpcmbank = 0; u16 m_rockn_adpcmbank = 0;
u16 m_rockn_soundvolume = 0; u16 m_rockn_soundvolume = 0;
int m_rot_ofsx, m_rot_ofsy = 0; int m_rot_ofsx = 0, m_rot_ofsy = 0;
int m_bank_lo = 0; int m_bank_lo = 0;
int m_bank_hi = 0; int m_bank_hi = 0;

View File

@ -87,26 +87,26 @@ private:
optional_device<intelfsh8_device> m_flash; optional_device<intelfsh8_device> m_flash;
optional_device_array<address_map_bank_device, 4> m_membank; optional_device_array<address_map_bank_device, 4> m_membank;
ti85_model m_model; ti85_model m_model{};
uint8_t m_LCD_memory_base; uint8_t m_LCD_memory_base = 0;
uint8_t m_LCD_contrast; uint8_t m_LCD_contrast = 0;
uint8_t m_LCD_status; uint8_t m_LCD_status = 0;
uint8_t m_timer_interrupt_mask; uint8_t m_timer_interrupt_mask = 0;
uint8_t m_timer_interrupt_status; uint8_t m_timer_interrupt_status = 0;
uint8_t m_ctimer_interrupt_status; uint8_t m_ctimer_interrupt_status = 0;
uint8_t m_ON_interrupt_mask; uint8_t m_ON_interrupt_mask = 0;
uint8_t m_ON_interrupt_status; uint8_t m_ON_interrupt_status = 0;
uint8_t m_ON_pressed; uint8_t m_ON_pressed = 0;
uint8_t m_flash_unlocked; uint8_t m_flash_unlocked = 0;
uint8_t m_ti8x_memory_page_1; uint8_t m_ti8x_memory_page_1 = 0;
uint8_t m_ti8x_memory_page_2; uint8_t m_ti8x_memory_page_2 = 0;
uint8_t m_ti8x_memory_page_3; uint8_t m_ti8x_memory_page_3 = 0;
bool m_booting; bool m_booting = false;
uint8_t m_LCD_mask; uint8_t m_LCD_mask = 0;
uint8_t m_power_mode; uint8_t m_power_mode = 0;
uint8_t m_cpu_speed; uint8_t m_cpu_speed = 0;
uint8_t m_keypad_mask; uint8_t m_keypad_mask = 0;
uint8_t m_video_buffer_width = 0; uint8_t m_video_buffer_width = 0;
uint8_t m_interrupt_speed = 0; uint8_t m_interrupt_speed = 0;
uint8_t m_port4_bit0 = 0; uint8_t m_port4_bit0 = 0;

View File

@ -62,11 +62,11 @@ private:
struct am2901 struct am2901
{ {
uint32_t ram[16]; /* internal ram */ uint32_t ram[16]{}; /* internal ram */
uint32_t d; /* direct data D input */ uint32_t d = 0; /* direct data D input */
uint32_t q; /* Q register */ uint32_t q = 0; /* Q register */
uint32_t f; /* F ALU result */ uint32_t f = 0; /* F ALU result */
uint32_t y; /* Y output */ uint32_t y = 0; /* Y output */
}; };
class vector_generator class vector_generator
@ -114,11 +114,11 @@ private:
struct vproc struct vproc
{ {
uint16_t sram[64]; /* external sram */ uint16_t sram[64]{}; /* external sram */
uint16_t ramlatch; /* latch between 2901 and sram */ uint16_t ramlatch = 0; /* latch between 2901 and sram */
uint16_t rom_adr; /* vector ROM/RAM address latch */ uint16_t rom_adr = 0; /* vector ROM/RAM address latch */
uint32_t pc; /* program counter */ uint32_t pc = 0; /* program counter */
uint32_t ret; /* return address */ uint32_t ret = 0; /* return address */
}; };
@ -136,7 +136,7 @@ private:
required_device<adc0808_device> m_adc; required_device<adc0808_device> m_adc;
required_shared_ptr<uint16_t> m_vectorram; required_shared_ptr<uint16_t> m_vectorram;
attotime m_irq4_time; attotime m_irq4_time;
uint8_t m_irq_state; uint8_t m_irq_state = 0;
vproc m_vs; vproc m_vs;
am2901 m_bsp; am2901 m_bsp;
vector_generator m_vgen; vector_generator m_vgen;

View File

@ -86,7 +86,7 @@ protected:
int m_cloud_visible = 0; int m_cloud_visible = 0;
int m_sound_hw_type = 0; int m_sound_hw_type = 0;
bool m_hotchase_sound_hs = 0; bool m_hotchase_sound_hs = 0;
pen_t m_black_pen; pen_t m_black_pen{};
uint16_t wecleman_protection_r(); uint16_t wecleman_protection_r();
void wecleman_protection_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0); void wecleman_protection_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);

View File

@ -223,7 +223,7 @@ private:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( card_load ); DECLARE_DEVICE_IMAGE_LOAD_MEMBER( card_load );
/* general */ /* general */
uint8_t m_sleep; uint8_t m_sleep = 0;
uint8_t m_warm_start; uint8_t m_warm_start;
uint8_t m_t6834_ram[0x800]; uint8_t m_t6834_ram[0x800];
uint8_t m_regs_r[8]; uint8_t m_regs_r[8];
@ -233,16 +233,16 @@ private:
struct fifo_buffer struct fifo_buffer
{ {
uint8_t data[0x100]; uint8_t data[0x100];
uint8_t read; uint8_t read = 0;
uint8_t write; uint8_t write = 0;
}; };
fifo_buffer m_in; fifo_buffer m_in;
fifo_buffer m_out; fifo_buffer m_out;
uint8_t m_udk_on; uint8_t m_udk_on = 0;
uint8_t m_draw_udk; uint8_t m_draw_udk = 0;
uint8_t m_sp_on; uint8_t m_sp_on = 0;
uint8_t m_font_code; uint8_t m_font_code = 0;
emu_timer *m_rsta_clear = nullptr; emu_timer *m_rsta_clear = nullptr;
emu_timer *m_rstb_clear = nullptr; emu_timer *m_rstb_clear = nullptr;
emu_timer *m_beep_stop = nullptr; emu_timer *m_beep_stop = nullptr;

View File

@ -233,7 +233,7 @@ struct Combiner {
float zero[4]; float zero[4];
} registers; } registers;
float output[4]; float output[4];
} work[WORK_MAX_THREADS]; } work[WORK_MAX_THREADS]{};
struct { struct {
struct { struct {
float constantcolor0[4]; float constantcolor0[4];
@ -318,7 +318,7 @@ struct Combiner {
} mapin_rgb; } mapin_rgb;
} final; } final;
int stages; int stages;
} setup; } setup{};
int used; int used;
}; };
@ -744,8 +744,8 @@ public:
uint32_t ramin[0x100000 / 4]; uint32_t ramin[0x100000 / 4];
uint32_t dma_offset[13]; uint32_t dma_offset[13];
uint32_t dma_size[13]; uint32_t dma_size[13];
uint8_t *basemempointer; uint8_t *basemempointer = nullptr;
uint8_t *topmempointer; uint8_t *topmempointer = nullptr;
std::function<void(int state)> irq_callback; std::function<void(int state)> irq_callback;
rectangle clippingwindows[8]; rectangle clippingwindows[8];
rectangle limits_rendertarget; rectangle limits_rendertarget;