📄 setax1.c
字号:
#if 0 // BACK if( ((RAM_B[0x0301])&0x40) == 0){ RAM_BGA = RAM_A + 0x00400; RAM_BGB = RAM_A + 0x00600; } else{ RAM_BGA = RAM_A + 0x00C00; RAM_BGB = RAM_A + 0x00E00; } st = (RAM_B[0x0301])&0x0F; if(st!=0){ if(st==1) st=16; tb = ( (((RAM_B[0x0302])&0xFF)<<8) | ((RAM_B[0x0303])&0xFF)<<16); for(zzz=0;zzz<st;zzz++){ z = (zzz<<4)^0x80; x16 = ((16+ ((RAM_B[0x0204+z]) | (tb&0x100))) + scr_x) & MASK_X; y16 = ((((249+16) - (RAM_B[0x0200+z]))) + scr_y) & MASK_Y; tb >>= 1; z <<= 1; y = y16; for(ry=0;ry<0x10;ry++){ x = x16; for(rx=0;rx<0x02;rx++){ if((x>16)&&(y>0)&&(x<bmp_w+32)&&(y<bmp_h+16)){ ta = ((RAM_BGA[z+0x1000]<<8)|(RAM_BGA[z])) & 0x1FFF; if(GFX_SPR_SOLID[ta]){ // No pixels; skip MAP_PALETTE_MAPPED_NEW( RAM_BGB[z+0x1000]>>3, 16, map ); if(GFX_SPR_SOLID[ta]==1){ // Some pixels; trans switch(RAM_BGA[z+0x1000]&0xC0){ case 0x0000: Draw16x16_Trans_Mapped_Rot(&GFX[ta<<8], x, y+16, map); break; case 0x4000: Draw16x16_Trans_Mapped_FlipX_Rot(&GFX[ta<<8], x, y+16, map); break; case 0x8000: Draw16x16_Trans_Mapped_FlipY_Rot(&GFX[ta<<8], x, y+16, map); break; case 0xC000: Draw16x16_Trans_Mapped_FlipXY_Rot(&GFX[ta<<8], x, y+16, map); break; } } else{ // all pixels; solid switch(RAM_BGA[z+0x1000]&0xC0){ case 0x0000: Draw16x16_Mapped_Rot(&GFX[ta<<8], x, y+16, map); break; case 0x4000: Draw16x16_Mapped_FlipX_Rot(&GFX[ta<<8], x, y+16, map); break; case 0x8000: Draw16x16_Mapped_FlipY_Rot(&GFX[ta<<8], x, y+16, map); break; case 0xC000: Draw16x16_Mapped_FlipXY_Rot(&GFX[ta<<8], x, y+16, map); break; } } } } x = (x+16)&MASK_X; z += 1; } y = (y+16)&0x0FF; } } }#else // BACK if( ((RAM_B[0x0301])&0x40) == 0){ RAM_BGA = RAM_A + 0x00400; RAM_BGB = RAM_A + 0x00600; } else{ RAM_BGA = RAM_A + 0x00C00; RAM_BGB = RAM_A + 0x00E00; } st = RAM_B[0x0301]&0x0F; if(st!=0){ if(st==1) st=16; tb = ReadWord(&RAM_B[0x0302])<<8; for(zzz=0;zzz<st;zzz++){ z=(zzz<<5)^0x100; x16 = (RAM_B[0x0204+((z>>1)^0x80)] | (tb&0x100)) + 32; y16 = ((256+16) - RAM_B[0x0200+((z>>1)^0x80)]) + 1; tb >>= 1; for(zz=z;zz<(z+0x20);zz++){ ta = ((RAM_BGA[zz+0x1000]<<8)|(RAM_BGA[zz])) & 0x1FFF; if(GFX_SPR_SOLID[ta]!=0){ // No pixels; skip x=(x16+((zz&0x01)<<4))&MASK_X; y=(y16+((zz&0x1E)<<3))&MASK_Y; if((x>16)&&(y>16)&&(x<256+32)&&(y<224+32)){ MAP_PALETTE_MAPPED_NEW( RAM_BGB[zz+0x1000]>>3, 16, map ); if(GFX_SPR_SOLID[ta]==1){ // Some pixels; trans switch(RAM_BGA[zz+0x1000]&0xC0){ case 0x00: Draw16x16_Trans_Mapped_Rot(&GFX[ta<<8],x,y,map); break; case 0x40: Draw16x16_Trans_Mapped_FlipX_Rot(&GFX[ta<<8],x,y,map); break; case 0x80: Draw16x16_Trans_Mapped_FlipY_Rot(&GFX[ta<<8],x,y,map); break; case 0xC0: Draw16x16_Trans_Mapped_FlipXY_Rot(&GFX[ta<<8],x,y,map); break; } } else{ // all pixels; solid switch(RAM_BGA[zz+0x1000]&0xC0){ case 0x00: Draw16x16_Mapped_Rot(&GFX[ta<<8],x,y,map); break; case 0x40: Draw16x16_Mapped_FlipX_Rot(&GFX[ta<<8],x,y,map); break; case 0x80: Draw16x16_Mapped_FlipY_Rot(&GFX[ta<<8],x,y,map); break; case 0xC0: Draw16x16_Mapped_FlipXY_Rot(&GFX[ta<<8],x,y,map); break; } } } } } } }#endif // OBJECT if( ((RAM_B[0x0301])&0x40) == 0){ RAM_BGA = RAM_A + 0x00000; RAM_BGB = RAM_A + 0x00200; } else{ RAM_BGA = RAM_A + 0x00800; RAM_BGB = RAM_A + 0x00A00; } for(zz=0x1FF;zz>=0;zz--){ x = (32+((RAM_BGB[zz+0x1000]<<8)|(RAM_BGB[zz]))) & MASK_X; if((x>16)&&(x<256+32)){ y = ((224+32+2)-(RAM_B[zz])) & MASK_Y; if((y>16)&&(y<224+32)){ ta = ((RAM_BGA[zz+0x1000]<<8)|(RAM_BGA[zz])) & 0x1FFF; if(GFX_SPR_SOLID[ta]!=0){ // No pixels; skip MAP_PALETTE_MAPPED_NEW( RAM_BGB[zz+0x1000]>>3, 16, map ); if(GFX_SPR_SOLID[ta]==1){ // Some pixels; trans switch(RAM_BGA[zz+0x1000]&0xC0){ case 0x00: Draw16x16_Trans_Mapped_Rot(&GFX[ta<<8],x,y,map); break; case 0x40: Draw16x16_Trans_Mapped_FlipX_Rot(&GFX[ta<<8],x,y,map); break; case 0x80: Draw16x16_Trans_Mapped_FlipY_Rot(&GFX[ta<<8],x,y,map); break; case 0xC0: Draw16x16_Trans_Mapped_FlipXY_Rot(&GFX[ta<<8],x,y,map); break; } } else{ // all pixels; solid switch(RAM_BGA[zz+0x1000]&0xC0){ case 0x00: Draw16x16_Mapped_Rot(&GFX[ta<<8],x,y,map); break; case 0x40: Draw16x16_Mapped_FlipX_Rot(&GFX[ta<<8],x,y,map); break; case 0x80: Draw16x16_Mapped_FlipY_Rot(&GFX[ta<<8],x,y,map); break; case 0xC0: Draw16x16_Mapped_FlipXY_Rot(&GFX[ta<<8],x,y,map); break; } } } } } } } else{ // BACK if( ((RAM_B[0x0301])&0x40) == 0){ RAM_BGA = RAM_A + 0x00400; RAM_BGB = RAM_A + 0x00600; } else{ RAM_BGA = RAM_A + 0x00C00; RAM_BGB = RAM_A + 0x00E00; } st = RAM_B[0x0301]&0x0F; if(st!=0){ if(st==1) st=16; tb = ReadWord(&RAM_B[0x0302])<<8; for(zzz=0;zzz<st;zzz++){ z=(zzz<<5)^0x100; x16 = (RAM_B[0x0204+((z>>1)^0x80)] | (tb&0x100)) + 32; y16 = ((256+16) - RAM_B[0x0200+((z>>1)^0x80)]) + 1 - 2; tb >>= 1; for(zz=z;zz<(z+0x20);zz++){ ta = ((RAM_BGA[zz+0x1000]<<8)|(RAM_BGA[zz])) & 0x1FFF; if(GFX_SPR_SOLID[ta]!=0){ // No pixels; skip x=(x16+((zz&0x01)<<4))&MASK_X; y=(y16+((zz&0x1E)<<3))&MASK_Y; if((x>16)&&(y>16)&&(x<256+32)&&(y<224+32)){ MAP_PALETTE_MAPPED_NEW( RAM_BGB[zz+0x1000]>>3, 16, map ); if(GFX_SPR_SOLID[ta]==1){ // Some pixels; trans switch(RAM_BGA[zz+0x1000]&0xC0){ case 0xC0: Draw16x16_Trans_Mapped_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x80: Draw16x16_Trans_Mapped_FlipX_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x40: Draw16x16_Trans_Mapped_FlipY_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x00: Draw16x16_Trans_Mapped_FlipXY_Rot(&GFX[ta<<8],x,224+48-y,map); break; } } else{ // all pixels; solid switch(RAM_BGA[zz+0x1000]&0xC0){ case 0xC0: Draw16x16_Mapped_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x80: Draw16x16_Mapped_FlipX_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x40: Draw16x16_Mapped_FlipY_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x00: Draw16x16_Mapped_FlipXY_Rot(&GFX[ta<<8],x,224+48-y,map); break; } } } } } } } // OBJECT if( ((RAM_B[0x0301])&0x40) == 0){ RAM_BGA = RAM_A + 0x00000; RAM_BGB = RAM_A + 0x00200; } else{ RAM_BGA = RAM_A + 0x00800; RAM_BGB = RAM_A + 0x00A00; } for(zz=0x1FF;zz>=0;zz--){ x = (32+((RAM_BGB[zz+0x1000]<<8)|(RAM_BGB[zz]))) & MASK_X; if((x>16)&&(x<256+32)){ y = ((224+32+2-4)-(RAM_B[zz])) & MASK_Y; if((y>16)&&(y<224+32)){ ta = ((RAM_BGA[zz+0x1000]<<8)|(RAM_BGA[zz])) & 0x1FFF; if(GFX_SPR_SOLID[ta]!=0){ // No pixels; skip MAP_PALETTE_MAPPED_NEW( RAM_BGB[zz+0x1000]>>3, 16, map ); if(GFX_SPR_SOLID[ta]==1){ // Some pixels; trans switch(RAM_BGA[zz+0x1000]&0xC0){ case 0xC0: Draw16x16_Trans_Mapped_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x80: Draw16x16_Trans_Mapped_FlipX_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x40: Draw16x16_Trans_Mapped_FlipY_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x00: Draw16x16_Trans_Mapped_FlipXY_Rot(&GFX[ta<<8],x,224+48-y,map); break; } } else{ // all pixels; solid switch(RAM_BGA[zz+0x1000]&0xC0){ case 0xC0: Draw16x16_Mapped_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x80: Draw16x16_Mapped_FlipX_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x40: Draw16x16_Mapped_FlipY_Rot(&GFX[ta<<8],x,224+48-y,map); break; case 0x00: Draw16x16_Mapped_FlipXY_Rot(&GFX[ta<<8],x,224+48-y,map); break; } } } } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -