Compare commits

...

17 Commits
v1.8 ... master

Author SHA1 Message Date
4am
a34bbf79e7 prep for 2.2 release 2024-02-27 11:26:29 -05:00
4am
385e514ce2
support ABM (#45)
Co-authored-by: Peter Ferrie <peter.ferrie@gmail.com>
2024-02-27 11:18:24 -05:00
4am
834efd426f prep for 2.1 release 2024-02-23 14:06:38 -05:00
4am
d4f81acf8b prep for 2.1 release 2024-02-23 14:04:56 -05:00
4am
bdbf06e59e prep for 2.1 release 2024-02-23 14:02:54 -05:00
Peter Ferrie
2afbe1ce50
fix detection of 13-sector disks (#43) 2024-02-23 14:00:08 -05:00
4am
e4c718f48e Merge branch 'master' of https://github.com/a2-4am/anti-m 2023-09-18 12:05:51 -04:00
4am
a4064c4bc1 2.0 release 2023-09-18 12:05:06 -04:00
Peter Ferrie
3a6b60cc72
strengthen drive 2 detection, set init A properly (fixes Micro League Basball) (#41) 2023-09-17 23:41:15 -04:00
Peter Ferrie
d739c08dab
fix bug in ProDOS tracer (#40) 2023-09-11 20:35:29 -04:00
4am
1ad0b3014a update version number for release 2023-05-15 17:05:33 -04:00
4am
e1295dee5a update version number for release 2023-05-15 17:03:54 -04:00
4am
513f8066d5
Update README.md 2023-05-15 16:53:13 -04:00
Peter Ferrie
6aa4146eb7
support Space Adventure (#39) 2023-05-15 16:50:31 -04:00
Peter Ferrie
e12b8fcfab
enable booting Ultracheckers from drive 2 (#38) 2022-04-19 21:18:36 -04:00
Peter Ferrie
9bee8fc449
support Disk Recovery (#37)
* support Disk Recovery

* enable booting Disk Recovery from drive 2
2022-03-21 21:22:17 -04:00
Peter Ferrie
d3c4100f32
fix drive 2 detection (#36) 2021-05-20 11:46:48 -04:00
6 changed files with 181 additions and 22 deletions

View File

@ -2,8 +2,8 @@
Boot any Apple II disk on any Apple II
[Download latest Anti-M disk image](https://github.com/a2-4am/anti-m/releases/download/v1.8/anti-m-v1.8-2020-11-10.dsk)
(version **1.8**, released **2020-11-10**, runs on any 48K Apple II)
[Download latest Anti-M disk image](https://github.com/a2-4am/anti-m/releases/latest/download/anti-m.dsk)
(version **2.2**, released **2024-02-27**, runs on any 48K Apple II)
## What is this?
@ -60,6 +60,7 @@ then press `<RETURN>`. The game should boot normally.
- Sensible Speller (Sensible Software)
- Serpentine (Broderbund) (*)
- Sky Blazer (Broderbund)
- Space Adventure (Sierra Software)
- Space Eggs (Sirius)
- Space Quarks (Broderbund)
- Star Blazer (Broderbund)
@ -98,6 +99,26 @@ launching Anti-M.
## History
v2.2 - 2024-02-27
- add support for ABM
v2.1 - 2024-02-23
- fix detection of 13-sector disks (thanks John A. for the report)
v2.0 - 2023-09-18
- fix a crash when booting "Story Maker"
- fix a crash when booting "Micro League Baseball"
- further drive 2 fixes for AppleWin
v1.9 - 2023-05-15
- support "Disk Recovery"
- support "Space Adventure"
- fix drive 2 detection
v1.8 - 2020-11-10
- support "Sensible Speller"

View File

@ -6,7 +6,7 @@
;-------------------------------
; Anti-M
; a 4am hack
; (c) 2019-2020 by 4am
; (c) 2019-2024 by 4am
;
; Permission is hereby granted, free of charge, to any
; person obtaining a copy of this software and associated
@ -57,7 +57,7 @@ tmp = $FC ; byte
cmp #$60
bne Boot
jsr CheckDrive2
bne Boot2
bcs Boot2
@showprompt
jsr HOME
lda MACHINEID
@ -155,25 +155,103 @@ Boot
CheckDrive2
lda $C0E9
lda $C0EB
ldy #6
-- ldx #$11
- dex
bne -
sec
sbc #1
jsr @spinup
jsr @seek
ldx #21
ldy #0
--- iny
bne +
clc
dex
bmi @driveoff
+
- lda $C0EC
bpl -
-- cmp #$D5
bne ---
- lda $C0EC
bpl -
cmp #$AA
bne --
- lda $C0EC
bpl -
cmp #$AD
bne --
@driveoff
lda $C0E8
rts
step=$fd
phase=$fe
tmptrk=$ff
tmpsec=$3c
@seek
ldy #0
sty step
sty phase
lda #$44
sta tmptrk
@copy_cur
lda tmptrk
sta tmpsec
sec
sbc phase
beq +++
bcs +
eor #$ff
inc tmptrk
bcc ++
+ sbc #1
dec tmptrk
++ cmp step
bcc +
lda step
+ cmp #8
bcs +
tay
sec
+ jsr ++++
lda step1, y
jsr @delay
lda tmpsec
clc
jsr +++++
lda step2, y
jsr @delay
inc step
bne @copy_cur
+++ jsr @delay
clc
++++ lda tmptrk
+++++ and #3
rol
tax
lda $C0E0, x
rts
@spinup ldy #6
- jsr @delay
dey
bpl --
lda #$00
ldy #$00
- eor $C0EC
dey
bne -
sta $C0E8
cmp #$00
bpl -
@delay
-- ldx #$11
- dex
bne -
inc $46
bne +
inc $47
+ sec
sbc #1
bne --
@knownret
rts
step1 !byte 1, $30, $28, $24, $20, $1e, $1d, $1c
step2 !byte $70, $2c, $26, $22, $1f, $1e, $1d, $1c
Tracer
jsr IDBroderbund
bcc BeginTheBoot
@ -201,7 +279,7 @@ BeginTheBoot
lda #$11 ;Virtual II fix
pha
plp ;match boot-time flags and registers
lda #1
lda $800 ;might not be 1
ldy #0
ldx #$60
jmp $0801
@ -223,7 +301,7 @@ BeginTheBoot13
sta $A2
lda #4
sta $AC
ldx #$B3 ;Sensible Software fix
ldx #$33 ;Sensible Software fix
ldy $0300
jmp $0301
@ -268,7 +346,7 @@ StringTable
!word @mainmenu
@header
!text "Anti-M v1.8 by 4am 2020-11-10"
!text "Anti-M v2.2 by 4am 2024-02-27"
!text "________________________________________",$8D
!text $8D,$8D,$8D,$8D,$8D,$8D,$8D,$8D,$00
@mainmenu

View File

@ -253,6 +253,18 @@ IDBoot13
jmp @dispatch
@notdos32f
lda #$7D
ldx #$6E
ldy #8
jsr @CompareMemoryRel
!byte $BD,$8A,$C0 ;LDA $C08A,X
!byte $B0,$03 ;BCS *+5
!byte $BD,$8B,$C0 ;LDA $C08B,X
bcs @notdos32g
inc $7D6F
jmp @dispatch
@notdos32g
@dispatch
lda $d1d1 ;SMC

View File

@ -24,6 +24,8 @@
; - Phaser Fire (Gebelli)
; - Russki Duck (Gebelli)
; - Zenith (Gebelli)
; - Disk Recovery (Sensible Software)
; - ABM (MUSE)
;
IDBroderbund
; first stage is just a standard hybrid DOS 3.2/3.3 bootloader
@ -266,9 +268,15 @@ IDBroderbund
ldx #<@DOS33Callback
ldy #>@DOS33Callback
cmp #$B6
beq @hookhybrid
ldx #<@MUSECallback
ldy #>@MUSECallback
cmp #$76
bne @jmpdos
@hookhybrid
lda #$0C
sta $300 ;Sensible Software page-wraparound fix
lda #$4C
sta $33C
stx $33D
@ -315,6 +323,16 @@ IDBroderbund
beq @skip2a
inc $3D60
@skip2a
+ ldy $371D
cpy $371F
bne +
dey
bne +
lda $371E
ora $3720
ora $3721
bne +
inc $371F ; select drive 2
+ jmp $3700 ; let it goooo...
@SpaceEggsCallback3 !pseudopc $300 {
@ -427,6 +445,24 @@ IDBroderbund
ldx #$60
jmp $B700
@MUSECallback
lda $85FF
beq @skip2f
lda #$7D
ldx #$5F
ldy #8
jsr CompareMemory
!byte $BD,$8A,$C0 ;LDA $C08A,X
!byte $B0,$03 ;BCS *+5
!byte $BD,$8B,$C0 ;LDA $C08B,X
bcs @notmuse
inc $7D60
@notmuse
@skip2f
ldx #$60
jmp $7700
@StarThiefCallback2 !pseudopc $110 {
@StarThiefCallback2x
lda #$4C

View File

@ -101,6 +101,13 @@ IDIDSI
lda $d1d1,X ;SMC
cmp #$c0
bne @cb3jump
ldy #<((@cb3_end + 1) & -2)
- tya
eor $bf00,y
sta $bf00,y
iny
iny
bne -
lda #$BF
@cb3patch2
sta $d1d1,X ;SMC
@ -114,6 +121,7 @@ IDIDSI
sta $d1d1,X ;SMC
@cb3jump
jmp (@cb3patch3+1)
@cb3_end
}
@tracer3_e
}

View File

@ -15,7 +15,10 @@ IDProDOS
ldx #$60
stx $801
inc $3D
jsr $865C
jsr $C65C
dec $27
dec $3D
dec $3D
lda #$38
sta $801
lda #9
@ -39,6 +42,7 @@ IDProDOS
sta $8FD
lda #>@ProDOSCallbackx
sta $8FE
clc
@exit
rts