mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-08-31 02:53:00 +02:00
Update to v101r05 release.
byuu says: Changelog: - 68K: fixed bug that affected BSR return address - VDP: added very preliminary emulation of planes A, B, W (W is entirely broken though) - VDP: added command/address stuff so you can write to VRAM, CRAM, VSRAM - VDP: added VRAM fill DMA I would be really surprised if any commercial games showed anything at all, so I'd probably recommend against wasting your time trying, unless you're really bored :P Also, I wanted to add: I am accepting patches\! So if anyone wants to look over the 68K core for bugs, that would save me untold amounts of time in the near future :D
This commit is contained in:
@@ -112,12 +112,12 @@ auto pCanvas::_paint() -> void {
|
||||
bmi.bmiHeader.biCompression = BI_RGB;
|
||||
bmi.bmiHeader.biWidth = width;
|
||||
bmi.bmiHeader.biHeight = -height; //GDI stores bitmaps upside now; negative height flips bitmap
|
||||
bmi.bmiHeader.biSizeImage = pixels.size() * sizeof(uint32);
|
||||
bmi.bmiHeader.biSizeImage = pixels.size() * sizeof(uint32_t);
|
||||
void* bits = nullptr;
|
||||
HBITMAP bitmap = CreateDIBSection(hdc, &bmi, DIB_RGB_COLORS, &bits, nullptr, 0);
|
||||
if(bits) {
|
||||
auto source = (const uint8*)pixels.data();
|
||||
auto target = (uint8*)bits;
|
||||
auto source = (const uint8_t*)pixels.data();
|
||||
auto target = (uint8_t*)bits;
|
||||
for(auto n : range(width * height)) {
|
||||
target[0] = (source[0] * source[3]) / 255;
|
||||
target[1] = (source[1] * source[3]) / 255;
|
||||
@@ -155,7 +155,7 @@ auto pCanvas::_rasterize() -> void {
|
||||
pixels.resize(width * height);
|
||||
|
||||
if(auto& icon = state().icon) {
|
||||
memory::copy(pixels.data(), icon.data(), width * height * sizeof(uint32));
|
||||
memory::copy(pixels.data(), icon.data(), width * height * sizeof(uint32_t));
|
||||
} else if(auto& gradient = state().gradient) {
|
||||
auto& colors = gradient.state.colors;
|
||||
image fill;
|
||||
@@ -163,7 +163,7 @@ auto pCanvas::_rasterize() -> void {
|
||||
fill.gradient(colors[0].value(), colors[1].value(), colors[2].value(), colors[3].value());
|
||||
memory::copy(pixels.data(), fill.data(), fill.size());
|
||||
} else {
|
||||
uint32 color = state().color.value();
|
||||
uint32_t color = state().color.value();
|
||||
for(auto& pixel : pixels) pixel = color;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user