AppleWin/docs/ToDo.txt
2014-05-23 22:59:02 +01:00

45 lines
1.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

To-do list (Tom)
================
This is a (non-exhaustive) list of stuff that I personally would like to get done:
. Consolidate the Spkr_SubmitWaveBuffer() & Spkr_SubmitWaveBuffer_FullSpeed() funcs.
This will make the code cleaner & simpler.
. Software mix Speaker & Mockingboard waves before submitting to sound-buffer.
This will:
a) fix the problem with speaker sound be rough when MB is active.
b) probably fix the problem with other processes having problems playing sound at the
same time as AppleWin. (Although I've not experienced this)
c) hopefully simplify things :)
. Run emulation (or message-pump?) in a seperate thread.
So that the sound is continuous when dragging the window or starting other applications, etc.
. Add proper Votrax support (using PinMAME samples & code).
. Fix SSI263 so that phonemes are overlapped (like Votrax).
. Support for zipped disk images (r/w) & harddisk images (read-only, but maybe write too?)
. Save-state supporting Phasor, harddisk & Ramworks III
. [NICK] Floating-bus support (using Nick Westgate's code)
For Drol, Lock'n'Chase, TetrisII, etc
. Support for switching display modes mid-frame
To support Bob Bishop's intros
---
Plans for (1st pass) cleaning up are:
. Ditch the x86 code to access the PC speaker + ditch PC speaker support
. The arrays ioread[] & iowrite[] in Memory.cpp should be switched from units of 1 byte to 16 bytes.
This will yield 256 entries spanning [$C000…$CFFF] currently its only [$C000…$C0FF]. This will mean that:
a) cards with I/O mapped above $C0FF (eg Mockingboard, Mouse?) dont have to be kludged as in the READ/WRITE macros in CPU.cpp
b) $CFFF (ROMs out) can be emulated
. Talking of CPU.cpp & those macros: Id prefer to replace them with inline funcs. Maintenance of these
macros is a bitch & they cant be single-stepped. Inline funs should yield the same code (in release build)
as the macros.