This page will include WIP screenshots and other fun stuff for MAME™, M1, and whatever else I'm working on.

5/22/2015

About that documentary for the Polybius kickstarter…

I think it’s safe to say that MAMEdev’s position on it is that it’s pointless bullshit and nobody should back the project. Stiletto has done more research on Polybius than anyone else and conclusively proven it’s a hoax, so even announcing such a thing without his involvement is even dumber than the Poltergeist reboot.

If you have money burning a hole in your pocket, I recommend backing Bloodstained or Yooka-Laylee instead. Or both.

Posted by Arbee in Non-emulation|Things Twisty will ban you for posting @ 10:47 am -

2/18/2014

A few technical notes on the Apple ///

For my own benefit as much as anyone’s, here’s how Apple /// extended addressing works. (This doesn’t need to be linked at MW; there’s no end-user value here unless you are an end user who plans to write new software for the Apple ///).

The hardware outside of the CPU knows *nothing* about what instruction the CPU is executing. Therefore, for emulation, you do not need to modify a standard 6502 core to emulate the /// successfully. You *do* need a core that outputs the SYNC pin or otherwise signals opcode fetches, however, and emulation of the false reads and prefetch quirks helps.

On each and every CPU read:
– If it’s not an opcode fetch (6502 SYNC pin is low)
– And it’s to the zero page (original 6502 address is 0x00xx)
– And the current zero page (VIA 0 port B) has bits 3 and 4 set ((zp & 0x18) == 0x18)
– Fetch the corresponding byte from “page X” (current zero page XOR 0x0c00) (this is called the “X byte”)
– If bit 7 of the X byte is set, enable extended addressing for every read and write until the next opcode fetch (rising edge of SYNC). Because some opcodes do a false read, it’s important that this continue until the opcode fetch.
– If bit 7 of the X byte is clear, do nothing, the memory address occurs as normal

When extended addressing is enabled:
– If the low nibble of the X byte is 0-0xe, the address space has the bank specified by that nibble from 0000-7fff and the next bank up from that at 8000-ffff. (Apple /// banks are 32k)
– If the low nibble of the X byte is 0xf, bank 0 is mapped from 2000-9fff and RAM is mapped in from 0000-1fff and a000-ffff. In particular, the RAM hidden under the two VIAs is accessible in this manner; SOS uses those bytes for the time and date.
– Bits 4, 5, and 6 of the Xbyte are ignored. Old versions of MESS tried to do something special for Xbyte = 0xff, but that’s incorrect, the hardware treats that as 0x8f.
– It should go without saying, but the check for extended addressing is not done while you are already in extended addressing mode. So an extended read to a zero page location will follow the rules immediately above here; they won’t follow the initial flowchart to determine if extended addressing should be enabled).

Finally, this isn’t related to the extended addressing, but it’s easy to get wrong. When ROM is banked in from f000-ffff, writes to that region will go through to the underlying RAM unless the write protect bit (bit 3) in the environment register (VIA 0 port A) is set. The diagnostics disk won’t boot with this wrong.

Posted by Arbee in Non-emulation @ 9:32 pm -

7/18/2008

CAX

Tomorrow is Aaron’s panel. I figure the artiest possible way to cover the material would be to just pull out a boombox, play Gnarls Barkley’s “Crazy”, and then leave. Aaron’s probably not that arty though.

Posted by Arbee in Non-emulation|Things Twisty will ban you for posting @ 11:53 pm -

6/19/2008

Ch-ch-ch-changes

I’ve had a lot of major updates this week to get used to, and I thought I’d say a few words about ’em. (Note: Revised one major section!)

Fedora 9 is nice as usual, although also as usual you get a noticably better system if you back up your home directory and do a complete wipe-the-drive new install. For whatever reason Anaconda just doesn’t always cough up a perfectly working system when you just have it upgrade. I think this is why people use Ubuntu.

Pluses: the new PulseAudio no longer has infinite latency and it plays a lot nicer with everything than it did in F8. Minus: KDE3-based apps like Amarok and KMail wouldn’t work properly after pulling down al the updates. A reboot or 2 later and they’re happy again – I have Amarok blasting away as I type this. Still not sure what actually went wrong though.

Firefox 3 is snappier and uses less memory. However, the “AwesomeBar” (new super-auto-completing URL entry field) is the worst idea in software since ever. Luckily the “OldBar” add-on restores sanity.

KDE 4 (4.0.5 specifically) is a lot nicer than I’d initially feared. The good: KTorrent’s been upgraded to 4.x spec and they didn’t change a thing (yay!), there’s a bunch of whizzy Compiz effects you can enable without making everything explode like in 3.5, and the new concept where widgets are everything and everything’s a widget is very powerful and very customizable once you get your head around it. The bad: it defaults to having all manner of intrusive sounds and I couldn’t figure out how to shut them off on a notification-by-notification basis so I ended up just turning off all KDE-generated sound.

Posted by Arbee in Linux|Non-emulation @ 9:46 pm -
Content
Home
SDLMAME/MESS/HazeMD home
NEStopia Linux home
AO .PSF2 status
AO SDK (source)
My music rips
M1 home
WIP driver downloads
Links
Aaron’s WIP
Audio Overload forum
Audio Overload home
Bobby Tribble's Unemulated Games
Dave Widel's page
David Haywood (Haze)'s WIP
Discrete Logistics
Dox's WIP
FPGA Arcade
Frank Palazzolo's WIP
Kale's MAME WIP
Luca Elia's WIP
MAME E2J, home of BridgeM1
MAME Testers
MAMEdev.org
MAMEWorld
Project 2612 (Genesis VGM rips)
Robiza's WIP
ROP Music Laboratory
Slick's NSFE downloads
SNESMusic
System 16, the Arcade Museum
The MOD Archive
Ville's Development Log
Zophar's music archive

Categories



Archives

July 2025
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
28293031  


Meta
RSS 2.0
Comments RSS 2.0
WordPress

Powered by WordPress