mirror of
https://github.com/trudnai/Steve2.git
synced 2024-06-01 07:41:49 +00:00
- Better Cheat Code Menu
- New Cheatcodes for Wavy Navy
This commit is contained in:
parent
0582c3db73
commit
14f9828397
|
@ -21,6 +21,14 @@
|
|||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "ViewController.extraBuf(_:):ViewController.swift">
|
||||
<PersistentStrings>
|
||||
<PersistentString
|
||||
value = "soundGapLabel">
|
||||
</PersistentString>
|
||||
</PersistentStrings>
|
||||
</ContextState>
|
||||
<ContextState
|
||||
contextName = "read_woz:6502.c">
|
||||
<PersistentStrings>
|
||||
|
@ -386,6 +394,9 @@
|
|||
<PersistentString
|
||||
value = "view">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "ledingInitEdgeLabel">
|
||||
</PersistentString>
|
||||
<PersistentString
|
||||
value = "hires.frame">
|
||||
</PersistentString>
|
||||
|
|
|
@ -83,6 +83,10 @@ class AppDelegate: NSObject, NSApplicationDelegate {
|
|||
ViewController.current?.Cheat_Wavy_Navy_Never_Lose()
|
||||
}
|
||||
|
||||
@IBAction func Cheat_Wavy_Navy_Lose_To_Win(_ menuItem: NSMenuItem) {
|
||||
menuItem.state = (ViewController.current?.Cheat_Wavy_Navy_Lose_To_Win())!
|
||||
}
|
||||
|
||||
@IBAction func showPreferences(_ sender: NSMenuItem) {
|
||||
|
||||
if ( preferencesController == nil ) {
|
||||
|
|
|
@ -868,6 +868,12 @@
|
|||
<action selector="Cheat_Wavy_Navy_Never_Lose:" target="Voe-Tx-rLC" id="eIU-Ng-IXi"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Lose to Win" id="sg9-80-u8J">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="Cheat_Wavy_Navy_Lose_To_Win:" target="Voe-Tx-rLC" id="nZA-Yj-MyI"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
|
|
|
@ -1492,18 +1492,19 @@ class ViewController: NSViewController {
|
|||
|
||||
|
||||
func Cheat_Wavy_Navy_Add_3_Ships() {
|
||||
let ships = getMEM( 0x4746 )
|
||||
if ( ships < 7 ) {
|
||||
setMEM( 0x4746, ships + 3 );
|
||||
// CALL( 0x1FDA );
|
||||
}
|
||||
let ships = min( getMEM( 0x4746 ) + 3, 9 )
|
||||
setMEM( 0x4746, ships )
|
||||
m6502.A = ships
|
||||
// m6502.X = 0x10
|
||||
setMEM16(0x4728, 0x16F0) // cursor pos: 0x4728:x, 0x4729:y
|
||||
CALL( 0x1FDA ) // position and number needed? A:Number of ships X:0x10
|
||||
}
|
||||
|
||||
func Cheat_Wavy_Navy_Never_Lose() {
|
||||
func Cheat_Wavy_Navy_OtherCheats() {
|
||||
// Replace STC / SBC $0x1 to NOPs...
|
||||
// setMEM( 0x1E63, 0xEA );
|
||||
// setMEM( 0x1E64, 0xEA );
|
||||
// setMEM( 0x1E65, 0xEA );
|
||||
setMEM( 0x1E63, 0xEA )
|
||||
setMEM( 0x1E64, 0xEA )
|
||||
setMEM( 0x1E65, 0xEA )
|
||||
|
||||
// // call to decease
|
||||
// setMEM( 0x1556, 0xEA );
|
||||
|
@ -1526,8 +1527,8 @@ class ViewController: NSViewController {
|
|||
// setMEM( 0x1538, 0xEA );
|
||||
|
||||
// lose to win
|
||||
setMEM( 0x1545, 0xEA );
|
||||
setMEM( 0x1546, 0xEA );
|
||||
setMEM( 0x1545, 0xEA )
|
||||
setMEM( 0x1546, 0xEA )
|
||||
|
||||
// var i : UInt16 = 0x15EA;
|
||||
// while i < 0x1608 {
|
||||
|
@ -1536,6 +1537,30 @@ class ViewController: NSViewController {
|
|||
// }
|
||||
}
|
||||
|
||||
func Cheat_Wavy_Navy_Never_Lose() {
|
||||
// Replace STC / SBC $0x1 to NOPs...
|
||||
setMEM( 0x1E63, 0xEA )
|
||||
setMEM( 0x1E64, 0xEA )
|
||||
setMEM( 0x1E65, 0xEA )
|
||||
}
|
||||
|
||||
func Cheat_Wavy_Navy_Lose_To_Win() -> NSControl.StateValue {
|
||||
if ( getMEM16(0x1545) == 0x09F0 ) { // BEQ $1550
|
||||
// lose to win
|
||||
setMEM16( 0x1545, 0xEAEA ) // NOP NOP
|
||||
return .on
|
||||
}
|
||||
else if ( getMEM16(0x1545) == 0xEAEA ) { // NOP NOP
|
||||
// lose to win
|
||||
setMEM16( 0x1545, 0x09F0 ) // BEQ $1550
|
||||
return .off
|
||||
}
|
||||
else {
|
||||
print("Not Wavy Navy!")
|
||||
return .off
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -214,7 +214,11 @@ extern void kbdUp (void);
|
|||
extern uint8_t getIO ( uint16_t ioaddr );
|
||||
extern void setIO ( uint16_t ioaddr, uint8_t val );
|
||||
extern uint8_t getMEM ( uint16_t ioaddr );
|
||||
extern uint16_t getMEM16 ( uint16_t ioaddr );
|
||||
extern uint32_t getMEM32 ( uint16_t ioaddr );
|
||||
extern void setMEM ( uint16_t ioaddr, uint8_t val );
|
||||
extern void setMEM16 ( uint16_t ioaddr, uint16_t val );
|
||||
extern void setMEM32 ( uint16_t ioaddr, uint32_t val );
|
||||
extern void CALL( uint16_t addr );
|
||||
|
||||
extern void interrupt_IRQ(void);
|
||||
|
|
|
@ -900,10 +900,26 @@ uint8_t getMEM ( uint16_t addr ) {
|
|||
return Apple2_64K_MEM[addr];
|
||||
}
|
||||
|
||||
uint16_t getMEM16 ( uint16_t addr ) {
|
||||
return *(uint16_t*)(&Apple2_64K_MEM[addr]);
|
||||
}
|
||||
|
||||
uint32_t getMEM32 ( uint16_t addr ) {
|
||||
return *(uint32_t*)(&Apple2_64K_MEM[addr]);
|
||||
}
|
||||
|
||||
void setMEM ( uint16_t addr, uint8_t val ) {
|
||||
Apple2_64K_MEM[addr] = val;
|
||||
}
|
||||
|
||||
void setMEM16 ( uint16_t addr, uint16_t val ) {
|
||||
*(uint16_t*)(&Apple2_64K_MEM[addr]) = val;
|
||||
}
|
||||
|
||||
void setMEM32 ( uint16_t addr, uint32_t val ) {
|
||||
*(uint32_t*)(&Apple2_64K_MEM[addr]) = val;
|
||||
}
|
||||
|
||||
void kbdInput ( uint8_t code ) {
|
||||
// printf("kbdInput: %02X ('%c')\n", code, isprint(code) ? code : ' ');
|
||||
switch ( code ) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user