mirror of
https://github.com/AppleWin/AppleWin.git
synced 2024-12-29 08:30:04 +00:00
46 lines
2.0 KiB
Plaintext
46 lines
2.0 KiB
Plaintext
To-do list (Tom)
|
||
================
|
||
|
||
This is a (non-exhaustive) list of stuff that I personally would like to get done:
|
||
|
||
(14/8/2014) Having moved all non-system headers out of stdafx.h, it looks like
|
||
many headers are included just to call Init() or Reset() methods for Apple II sub-systems.
|
||
Cut down on the headers by:
|
||
- Using the Visitor pattern (for all Apple II sub-systems)?
|
||
- Or just a vector which contains all sub-system Reset() methods?
|
||
|
||
. 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).
|
||
|
||
. Save-state supporting Phasor, harddisk & Ramworks III
|
||
|
||
. Support for switching display modes mid-frame
|
||
To support Bob Bishop's intros, tight-loop page-flipping, etc
|
||
|
||
---
|
||
|
||
Plans for (1st pass) cleaning up are:
|
||
. Ditch the x86 code to access the PC speaker + ditch PC speaker support
|
||
. [DONE] 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 it’s only [$C000…$C0FF]. This will mean that:
|
||
a) cards with I/O mapped above $C0FF (eg Mockingboard, Mouse?) don’t 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: I’d prefer to replace them with inline funcs. Maintenance of these
|
||
macros is a bitch & they can’t be single-stepped. Inline funs should yield the same code (in release build)
|
||
as the macros.
|
||
|