mirror of
https://github.com/AppleWin/AppleWin.git
synced 2026-04-21 23:16:39 +00:00
New save-state (.aws) v2:
Added card save/load for: . Phasor (#260) . CP/M (#260) . 80 column card: . aux memory now saved separately from main memory . extended memory (RAMworks) (#260) Mockingboard & Phasor: . Full AY8910 internal state now preserved. . needed for eg. envelope, ay_change[], etc . also Phasor player only updates AY regs that have changed Other: . On restore error, then PostMessage(WM_USER_RESTART), so that emulator not left in intermediate state . Fix: Start Dir wasn't set when drag & dropping an image onto a drive icon or double-clicking an image file
This commit is contained in:
@@ -46,6 +46,9 @@ enum SS_UNIT_TYPE
|
||||
const UINT nMemMainSize = 64*1024;
|
||||
const UINT nMemAuxSize = 64*1024;
|
||||
|
||||
const UINT kSLOT_LANG = 0;
|
||||
const UINT kSLOT_AUX = 8;
|
||||
|
||||
struct SS_CARD_HDR
|
||||
{
|
||||
SS_UNIT_HDR UnitHdr;
|
||||
@@ -67,6 +70,9 @@ enum SS_CARDTYPE
|
||||
CT_Phasor, // Soundcard
|
||||
CT_Echo, // Soundcard
|
||||
CT_SAM, // Soundcard: Software Automated Mouth
|
||||
CT_80Col, // 80 column card (no memory)
|
||||
CT_Extended80Col, // Extended 80-col card (64K)
|
||||
CT_RamWorksIII, // RamWorksIII (up to 8MB)
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -75,3 +81,55 @@ struct SS_CARD_EMPTY
|
||||
{
|
||||
SS_CARD_HDR Hdr;
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
struct IWORD
|
||||
{
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
BYTE l;
|
||||
BYTE h;
|
||||
};
|
||||
USHORT w;
|
||||
};
|
||||
};
|
||||
|
||||
struct SY6522
|
||||
{
|
||||
BYTE ORB; // $00 - Port B
|
||||
BYTE ORA; // $01 - Port A (with handshaking)
|
||||
BYTE DDRB; // $02 - Data Direction Register B
|
||||
BYTE DDRA; // $03 - Data Direction Register A
|
||||
//
|
||||
// $04 - Read counter (L) / Write latch (L)
|
||||
// $05 - Read / Write & initiate count (H)
|
||||
// $06 - Read / Write & latch (L)
|
||||
// $07 - Read / Write & latch (H)
|
||||
// $08 - Read counter (L) / Write latch (L)
|
||||
// $09 - Read counter (H) / Write latch (H)
|
||||
IWORD TIMER1_COUNTER;
|
||||
IWORD TIMER1_LATCH;
|
||||
IWORD TIMER2_COUNTER;
|
||||
IWORD TIMER2_LATCH;
|
||||
//
|
||||
BYTE SERIAL_SHIFT; // $0A
|
||||
BYTE ACR; // $0B - Auxiliary Control Register
|
||||
BYTE PCR; // $0C - Peripheral Control Register
|
||||
BYTE IFR; // $0D - Interrupt Flag Register
|
||||
BYTE IER; // $0E - Interrupt Enable Register
|
||||
BYTE ORA_NO_HS; // $0F - Port A (without handshaking)
|
||||
};
|
||||
|
||||
struct SSI263A
|
||||
{
|
||||
BYTE DurationPhonome;
|
||||
BYTE Inflection; // I10..I3
|
||||
BYTE RateInflection;
|
||||
BYTE CtrlArtAmp;
|
||||
BYTE FilterFreq;
|
||||
//
|
||||
BYTE CurrentMode; // b7:6=Mode; b0=D7 pin (for IRQ)
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user