Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Apple » Apple II » Warp Destroyer (Piccadilly Software 1982)
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Warp Destroyer (Piccadilly Software 1982) [message #376319] Tue, 20 November 2018 11:44 Go to next message
Anonymous
Karma:
Originally posted by: frank_o_rama

Hi All,

Just picked up a good copy of a game called Warp Destroyer. Weird question; Is this an actual working game? Both the crack copy on asimov, as well as my copy, don't seem to actually fire. The game has great graphics and sound but seems more like a demo. Anyone know anything about it?

I'd put up a clean disk image, but it doesn't copy. Seems to be DOS 3.2, but Passport gives a fatal read error. It boots fine otherwise. Suppose I'll have to wait until the next Applesauce run. (Side note: where does one upload woz files once they're imaged?)

Frank
Re: Warp Destroyer (Piccadilly Software 1982) [message #376324 is a reply to message #376319] Tue, 20 November 2018 12:24 Go to previous messageGo to next message
qkumba is currently offline  qkumba
Messages: 1584
Registered: March 2013
Karma: 0
Senior Member
Keyboard or joystick?
For the one on Asimov, the keyboard works, at least.
Space to shoot, arrow keys to move.

If you want to contact me directly, perhaps we can do a remote deprotect.
Re: Warp Destroyer (Piccadilly Software 1982) [message #376354 is a reply to message #376324] Wed, 21 November 2018 00:52 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: frank_o_rama

Boot sector:

OBJ.0800-08FF

0800- 01
0801- A2 LDX #$00
0803- BD 00 08 LDA $0800,X
0806- 9D 00 02 STA $0200,X
0809- E8 INX
080A- D0 F7 BNE $0803
080C- 4C 0F 02 JMP $020F
080F- A0 AB LDY #$AB
0811- 98 TYA
0812- 85 3C STA $3C
0814- 4A LSR
0815- 05 3C ORA $3C
0817- C9 FF CMP #$FF
0819- D0 09 BNE $0824
081B- C0 D5 CPY #$D5
081D- F0 05 BEQ $0824
081F- 8A TXA
0820- 99 00 08 STA $0800,Y
0823- E8 INX
0824- C8 INY
0825- D0 EA BNE $0811
0827- 84 3D STY $3D
0829- 84 26 STY $26
082B- A9 03 LDA #$03
082D- 85 27 STA $27
082F- A6 2B LDX $2B
0831- 20 5D 02 JSR $025D
0834- 20 D1 02 JSR $02D1
0837- A9 A9 LDA #$A9
0839- 8D 0F 03 STA $030F
083C- A9 02 LDA #$02
083E- 8D 10 03 STA $0310
0841- 4C 01 03 JMP $0301
0844- 00 BRK
0845- 00 BRK
0846- 00 BRK
0847- 00 BRK
0848- 00 BRK
0849- 00 BRK
084A- 00 BRK
084B- 00 BRK
084C- 00 BRK
084D- 00 BRK
084E- 00 BRK
084F- 00 BRK
0850- 00 BRK
0851- 00 BRK
0852- 00 BRK
0853- 00 BRK
0854- 00 BRK
0855- 00 BRK
0856- 00 BRK
0857- 00 BRK
0858- 00 BRK
0859- 00 BRK
085A- 00 BRK
085B- 00 BRK
085C- 00 BRK
085D- 18 CLC
085E- 08 PHP
085F- BD 8C C0 LDA $C08C,X
0862- 10 FB BPL $085F
0864- 49 D5 EOR #$D5
0866- D0 F7 BNE $085F
0868- BD 8C C0 LDA $C08C,X
086B- 10 FB BPL $0868
086D- C9 AA CMP #$AA
086F- D0 F3 BNE $0864
0871- EA NOP
0872- BD 8C C0 LDA $C08C,X
0875- 10 FB BPL $0872
0877- C9 B5 CMP #$B5
0879- F0 09 BEQ $0884
087B- 28 PLP
087C- 90 DF BCC $085D
087E- 49 AD EOR #$AD
0880- F0 1F BEQ $08A1
0882- D0 D9 BNE $085D
0884- A0 03 LDY #$03
0886- 84 2A STY $2A
0888- BD 8C C0 LDA $C08C,X
088B- 10 FB BPL $0888
088D- 2A ROL
088E- 85 3C STA $3C
0890- BD 8C C0 LDA $C08C,X
0893- 10 FB BPL $0890
0895- 25 3C AND $3C
0897- 88 DEY
0898- D0 EE BNE $0888
089A- 28 PLP
089B- C5 3D CMP $3D
089D- D0 BE BNE $085D
089F- B0 BD BCS $085E
08A1- A0 9A LDY #$9A
08A3- 84 3C STY $3C
08A5- BC 8C C0 LDY $C08C,X
08A8- 10 FB BPL $08A5
08AA- 59 00 08 EOR $0800,Y
08AD- A4 3C LDY $3C
08AF- 88 DEY
08B0- 99 00 08 STA $0800,Y
08B3- D0 EE BNE $08A3
08B5- 84 3C STY $3C
08B7- BC 8C C0 LDY $C08C,X
08BA- 10 FB BPL $08B7
08BC- 59 00 08 EOR $0800,Y
08BF- A4 3C LDY $3C
08C1- 91 26 STA ($26),Y
08C3- C8 INY
08C4- D0 EF BNE $08B5
08C6- BC 8C C0 LDY $C08C,X
08C9- 10 FB BPL $08C6
08CB- 59 00 08 EOR $0800,Y
08CE- D0 8D BNE $085D
08D0- 60 RTS
08D1- A8 TAY
08D2- A2 00 LDX #$00
08D4- B9 00 08 LDA $0800,Y
08D7- 4A LSR
08D8- 3E CC 03 ROL $03CC,X
08DB- 4A LSR
08DC- 3E 99 03 ROL $0399,X
08DF- 85 3C STA $3C
08E1- B1 26 LDA ($26),Y
08E3- 0A ASL
08E4- 0A ASL
08E5- 0A ASL
08E6- 05 3C ORA $3C
08E8- 91 26 STA ($26),Y
08EA- C8 INY
08EB- E8 INX
08EC- E0 33 CPX #$33
08EE- D0 E4 BNE $08D4
08F0- C6 2A DEC $2A
08F2- D0 DE BNE $08D2
08F4- CC 00 03 CPY $0300
08F7- D0 03 BNE $08FC
08F9- 60 RTS
08FA- 00 BRK
08FB- 00 BRK
08FC- 4C 2D FF JMP $FF2D F8ROM:PRERR
08FF- 00 BRK
Re: Warp Destroyer (Piccadilly Software 1982) [message #376403 is a reply to message #376354] Wed, 21 November 2018 14:44 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
The std dos 3.2/3.3 dual boot sector
Re: Warp Destroyer (Piccadilly Software 1982) [message #376434 is a reply to message #376403] Wed, 21 November 2018 18:54 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: frank_o_rama

OK. Inserted some code to patch that JMP $301, copy the code at $300 to $6700, and reboot to a BSAVE. Here's what I found.


OBJ.0300-03FF

0300- 99
0301- 78 SEI
0302- D8 CLD
0303- B9 00 08 LDA $0800,Y
0306- 0A ASL
0307- 0A ASL
0308- 0A ASL
0309- 99 00 08 STA $0800,Y
030C- C8 INY
030D- D0 F4 BNE $0303
030F- A9 02 LDA #$02
0311- A0 1E LDY #$1E
0313- EA NOP
0314- EA NOP
0315- EA NOP
0316- EA NOP
0317- EA NOP
0318- EA NOP
0319- EA NOP
031A- EA NOP
031B- C8 INY
031C- D0 F5 BNE $0313
031C- D0 F5 BNE $0313
031E- AD 89 C0 LDA $C089
0321- AD 89 C0 LDA $C089
0324- 20 7B 03 JSR $037B
0327- AD 81 C0 LDA $C081
032A- AD 81 C0 LDA $C081
032D- 20 7B 03 JSR $037B
0330- A9 09 LDA #$09
0332- 85 27 STA $27
0334- 4A LSR
0335- 85 39 STA $39
0337- 85 3F STA $3F
0339- 84 38 STY $38
033B- 84 3E STY $3E
033D- AD 0F 03 LDA $030F
0340- 8D 50 03 STA $0350
0343- AD 10 03 LDA $0310
0346- 8D 51 03 STA $0351
0349- A6 2B LDX $2B
034B- 8A TXA
034C- 4A LSR
034D- 4A LSR
034E- 4A LSR
034F- 4A LSR
0350- 09 C0 ORA #$C0
0352- 85 37 STA $37
0354- A9 5D LDA #$5D
0356- 85 36 STA $36
0358- E6 3D INC $3D
035A- AD 54 C0 LDA $C054
035D- AD 57 C0 LDA $C057
0360- AD 52 C0 LDA $C052
0363- AD 50 C0 LDA $C050
0366- 20 78 03 JSR $0378
0369- 20 9E 03 JSR $039E
036C- A5 3D LDA $3D
036E- 49 04 EOR #$04
0370- F0 28 BEQ $039A
0372- E6 39 INC $39
0374- E6 3D INC $3D
0376- D0 EE BNE $0366
0378- 6C 36 00 JMP ($0036)
037B- A9 0A LDA #$0A
037D- A0 00 LDY #$00
037F- 84 00 STY $00
0381- 85 01 STA $01
0383- 98 TYA
0384- 91 00 STA ($00),Y
0386- C8 INY
0387- D0 FB BNE $0384
0389- E6 01 INC $01
038B- F0 0C BEQ $0399
038D- A5 01 LDA $01
038F- C9 C0 CMP #$C0
0391- D0 F0 BNE $0383
0393- A9 C8 LDA #$C8
0395- 85 01 STA $01
0397- D0 EA BNE $0383
0399- 60 RTS
039A- A0 18 LDY #$18
039C- D0 62 BNE $0400
039E- A2 32 LDX #$32
03A0- A0 00 LDY #$00
03A2- BD 00 08 LDA $0800,X
03A5- 4A LSR
03A6- 4A LSR
03A7- 4A LSR
03A8- 85 3C STA $3C
03AA- 4A LSR
03AB- 85 2A STA $2A
03AD- 4A LSR
03AE- 1D 00 09 ORA $0900,X
03B1- 91 38 STA ($38),Y
03B3- C8 INY
03B4- BD 33 08 LDA $0833,X
03B7- 4A LSR
03B8- 4A LSR
03B9- 4A LSR
03BA- 4A LSR
03BB- 26 3C ROL $3C
03BD- 4A LSR
03BE- 26 2A ROL $2A
03C0- 1D 33 09 ORA $0933,X
03C3- 91 38 STA ($38),Y
03C5- C8 INY
03C6- BD 66 08 LDA $0866,X
03C9- 4A LSR
03CA- 4A LSR
03CB- 4A LSR
03CC- 4A LSR
03CD- 26 3C ROL $3C
03CF- 4A LSR
03D0- 26 2A ROL $2A
03D2- 1D 66 09 ORA $0966,X
03D5- 91 38 STA ($38),Y
03D7- C8 INY
03D8- A5 2A LDA $2A
03DA- 29 07 AND #$07
03DC- 1D 99 09 ORA $0999,X
03DF- 91 38 STA ($38),Y
03E1- C8 INY
03E2- A5 3C LDA $3C
03E4- 29 07 AND #$07
03E6- 1D CC 09 ORA $09CC,X
03E9- 91 38 STA ($38),Y
03EB- C8 INY
03EC- CA DEX
03ED- 10 B3 BPL $03A2
03EF- AD 99 08 LDA $0899
03F2- 4A LSR
03F3- 4A LSR
03F4- 4A LSR
03F5- 0D FF 09 ORA $09FF
03F8- 91 38 STA ($38),Y
03FA- A6 2B LDX $2B
03FC- 60 RTS
03FD- 00 BRK
03FE- 00 BRK
03FF- 00 BRK
Re: Warp Destroyer (Piccadilly Software 1982) [message #376457 is a reply to message #376434] Thu, 22 November 2018 00:06 Go to previous messageGo to next message
qkumba is currently offline  qkumba
Messages: 1584
Registered: March 2013
Karma: 0
Senior Member
This looks really familiar.
Where on the disk did Passport say there was a fatal error?
Anyway, this code reads four sectors to $400-7FF, then jumps to $400.
If you patch $39A to jump to a routine that can copy $400-7FF to $2400-27FF, then you can save region that across reboots, and move to the next stage.
Re: Warp Destroyer (Piccadilly Software 1982) [message #376473 is a reply to message #376457] Thu, 22 November 2018 11:48 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: frank_o_rama

Happy Thanksgiving! (save me a turkey leg--my favorite!)

OK, so patch the JMP ($0036) and run this section like the others, and copy it.


Passport 10-14-2018:

Reading from S6, D1
T00, S00 Found DOS 3.2 bootloader
T00, S00 Fatal read error

I didn't try the older version of Passport. Haven't tried making a NIB image with SST yet, either.

f


On Wednesday, November 21, 2018 at 9:06:38 PM UTC-8, qkumba wrote:
> This looks really familiar.
> Where on the disk did Passport say there was a fatal error?
> Anyway, this code reads four sectors to $400-7FF, then jumps to $400.
> If you patch $39A to jump to a routine that can copy $400-7FF to $2400-27FF, then you can save region that across reboots, and move to the next stage.
Re: Warp Destroyer (Piccadilly Software 1982) [message #376483 is a reply to message #376473] Thu, 22 November 2018 12:45 Go to previous messageGo to next message
qkumba is currently offline  qkumba
Messages: 1584
Registered: March 2013
Karma: 0
Senior Member
> OK, so patch the JMP ($0036) and run this section like the others, and copy it.

Not that JMP. That one performs the sector read.
The one I mean is LDY #$18 / BNE $400.

> Passport 10-14-2018:
>
> Reading from S6, D1
> T00, S00 Found DOS 3.2 bootloader
> T00, S00 Fatal read error

I can't explain that. It will be interesting to investigate if we can get a image.

> I didn't try the older version of Passport. Haven't tried making a NIB image with SST yet, either.

I look forward to both of those. :-)
Re: Warp Destroyer (Piccadilly Software 1982) [message #376494 is a reply to message #376483] Thu, 22 November 2018 17:31 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: frank_o_rama

Here's TRACE3 for reference:

CALL-151
7600<C600.C6FFM

76F8: A0 10 LDY #$10 ($0F relocated bytes +1)
76FA B9 05 77 LDA $7705,Y ; patch boot sector ($7706 -1)
76FD 99 40 08 STA $0840,Y ; move to $841 -1
7700 88 DEY
7701 D0 F7 BNE $76FA
7703 4C 01 08 JMP $801 ; execute patched boot sector

7706 A9 4C LDA $#4C ; patch second section to JMP to $7718
7708 8D 9A 03 STA $039A
770B A9 18 LDA $#18
770D 8D 9B 03 STA $039B
7710 A9 77 LDA $#77
7712 8D 9C 03 STA $039C
7715 4C 01 03 JMP $301 ; execute patched 2nd section

7718 A0 00 LDY #$00
771A B9 00 04 LDA $0400,Y ; move $400-7FF to $2400-27FF
771D 99 00 24 STA $2400,Y
7720 B9 00 05 LDA $0500,Y
7723 99 00 25 STA $2500,Y
7726 B9 00 06 LDA $0600,Y
7729 99 00 26 STA $2600,Y
772C B9 00 07 LDA $0700,Y
772F 99 00 27 STA $2700,Y
7732 C8 INY
7733 D0 E5 BNE $771A

7735 AD E8 C0 LDA $C0E8 ; Turn off drive 1
7738 4C 00 C5 JMP $C500 ; Reboot to slot 5

BSAVE TRACE3,A$7600,L$13B

7600G
BSAVE OBJ.400.7FF,A$2400,L$400

Do I need to move this higher than $2400 if I'm working under prodos?
f
Re: Warp Destroyer (Piccadilly Software 1982) [message #376495 is a reply to message #376319] Thu, 22 November 2018 17:36 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: frank_o_rama

Settings for using SST?
Assuming: Pirate a copy --> Pack --> Tracks 0-34 --> Step 1
Sync? Nibble Count?
f
Re: Warp Destroyer (Piccadilly Software 1982) [message #376594 is a reply to message #376495] Fri, 23 November 2018 20:44 Go to previous messageGo to next message
qkumba is currently offline  qkumba
Messages: 1584
Registered: March 2013
Karma: 0
Senior Member
> Settings for using SST?
> Assuming: Pirate a copy --> Pack --> Tracks 0-34 --> Step 1

Right.

> Sync? Nibble Count?

No and no.
Let's start with that.
Re: Warp Destroyer (Piccadilly Software 1982) [message #376595 is a reply to message #376494] Fri, 23 November 2018 20:45 Go to previous messageGo to next message
qkumba is currently offline  qkumba
Messages: 1584
Registered: March 2013
Karma: 0
Senior Member
> Do I need to move this higher than $2400 if I'm working under prodos?

Yes. $6xxx or higher. Or lower ($1xxx) is safe.
Re: Warp Destroyer (Piccadilly Software 1982) [message #376782 is a reply to message #376319] Tue, 27 November 2018 11:39 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: frank_o_rama

Was not able to patch the on-disk routine, but I managed to get a working WOZ file by using Saltine's Super Transfer. Here's what gets loaded to $400-7FF.

f


0400- 4C 27 04 JMP $0427

0403- 00 BRK ; some kind of table?
0404- 02 ???
0405- 04 06 TSB $06
0407- 08 PHP
0408- 0A ASL
0409- 0C 0E 10 TSB $100E
040C- 12 14 ORA ($14)
040E- 16 18 ASL $18,X
0410- 1A INC
0411- 1C 1E 20 TRB $201E
0414- 22 ???
0415- 24 26 BIT $26
0417- 28 PLP
0418- 2A ROL
0419- 2C 2E 30 BIT $302E
041C- 32 34 AND ($34)
041E- 36 38 ROL $38,X
0420- 3A DEC
0421- 3C 3E 40 BIT $403E,X
0424- 42 ???
0425- 44 ???
0426- 46 LSR $A5 ; probably not an LSR

0427- A5 2B LDA $2B
0429- 85 C5 STA $C5
042B- A9 00 LDA #$00
042D- 85 BA STA $BA
042F- A9 2F LDA #$2F
0431- 8D F2 03 STA $03F2
0434- A9 05 LDA #$05
0436- 8D F3 03 STA $03F3
0439- 49 A5 EOR #$A5
043B- 8D F4 03 STA $03F4 ; reset vector set to $052F
043E- AD 82 C0 LDA $C082
0441- AD 50 C0 LDA $C050 rw:TXTCLR
0444- AD 52 C0 LDA $C052 rw:MIXCLR
0447- AD 54 C0 LDA $C054 rw:TXTPAGE1
044A- AD 57 C0 LDA $C057 rw:HIRES
044D- A2 20 LDX #$20
044F- A0 00 LDY #$00
0451- AD 0F 03 LDA $030F
0454- C9 A9 CMP #$A9
0456- D0 05 BNE $045D
0458- A9 2A LDA #$2A
045A- 4C 5F 04 JMP $045F
045D- A9 AA LDA #$AA
045F- 84 B0 STY $B0
0461- 86 B1 STX $B1
0463- 91 B0 STA ($B0),Y
0465- 49 7F EOR #$7F
0467- C8 INY
0468- D0 F9 BNE $0463
046A- E6 B1 INC $B1
046C- CA DEX
046D- D0 F4 BNE $0463
046F- A9 10 LDA #$10
0471- 85 B3 STA $B3
0473- A9 00 LDA #$00
0475- 85 B2 STA $B2
0477- A9 01 LDA #$01
0479- 85 C0 STA $C0
047B- A9 00 LDA #$00
047D- 85 C1 STA $C1
047F- A9 32 LDA #$32
0481- 85 C4 STA $C4
0483- 20 ED 05 JSR $05ED
0486- 20 2C 06 JSR $062C
0489- B0 12 BCS $049D
048B- A4 C1 LDY $C1
048D- B9 DD 05 LDA $05DD,Y
0490- C5 B5 CMP $B5
0492- D0 F2 BNE $0486
0494- A5 B6 LDA $B6
0496- C5 C0 CMP $C0
0498- D0 79 BNE $0513
049A- 20 71 05 JSR $0571
049D- B0 74 BCS $0513
049F- 20 59 05 JSR $0559
04A2- A4 C1 LDY $C1
04A4- C8 INY
04A5- C0 10 CPY #$10
04A7- D0 07 BNE $04B0
04A9- E6 C0 INC $C0
04AB- 20 ED 05 JSR $05ED
04AE- A0 00 LDY #$00
04B0- 84 C1 STY $C1
04B2- E6 B3 INC $B3
04B4- A5 B3 LDA $B3
04B6- C9 C0 CMP #$C0
04B8- D0 CC BNE $0486
04BA- A9 20 LDA #$20
04BC- 85 B3 STA $B3
04BE- A9 0C LDA #$0C
04C0- 85 C0 STA $C0
04C2- A9 00 LDA #$00
04C4- 85 C1 STA $C1
04C6- A9 32 LDA #$32
04C8- 85 C4 STA $C4
04CA- 20 ED 05 JSR $05ED
04CD- 20 2C 06 JSR $062C
04D0- B0 48 BCS $051A
04D2- A4 C1 LDY $C1
04D4- B9 DD 05 LDA $05DD,Y
04D7- C5 B5 CMP $B5
04D9- D0 F2 BNE $04CD
04DB- A5 B6 LDA $B6
04DD- C5 C0 CMP $C0
04DF- D0 39 BNE $051A
04E1- 20 71 05 JSR $0571
04E4- B0 34 BCS $051A
04E6- 20 59 05 JSR $0559
04E9- A4 C1 LDY $C1
04EB- C8 INY
04EC- C0 10 CPY #$10
04EE- D0 07 BNE $04F7
04F0- E6 C0 INC $C0
04F2- 20 ED 05 JSR $05ED
04F5- A0 00 LDY #$00
04F7- 84 C1 STY $C1
04F9- E6 B3 INC $B3
04FB- A5 B3 LDA $B3
04FD- C9 40 CMP #$40
04FF- D0 CC BNE $04CD
0501- A6 C5 LDX $C5
0503- BD 88 C0 LDA $C088,X
0506- A0 11 LDY #$11
0508- A9 00 LDA #$00
050A- 20 E2 06 JSR $06E2
050D- 88 DEY
050E- D0 FA BNE $050A
0510- 4C 24 05 JMP $0524
0513- C6 C4 DEC $C4
0515- D0 0A BNE $0521
0517- 4C 2F 05 JMP $052F
051A- C6 C4 DEC $C4
051C- D0 AF BNE $04CD
051E- 4C 2F 05 JMP $052F
0521- 4C 86 04 JMP $0486
0524- A5 C5 LDA $C5
0526- 85 E0 STA $E0
0528- A5 BA LDA $BA
052A- 85 E9 STA $E9
052C- 4C 7D 66 JMP $667D
052F- A9 08 LDA #$08 ; reset vector points here
0531- 85 01 STA $01
0533- A9 00 LDA #$00
0535- 85 00 STA $00
0537- AD 57 C0 LDA $C057 rw:HIRES
053A- AD 50 C0 LDA $C050 rw:TXTCLR
053D- AD 52 C0 LDA $C052 rw:MIXCLR
0540- A2 B8 LDX #$B8
0542- A0 00 LDY #$00
0544- A9 00 LDA #$00
0546- 91 00 STA ($00),Y
0548- C8 INY
0549- D0 FB BNE $0546
054B- E6 01 INC $01
054D- CA DEX
054E- D0 F6 BNE $0546
0550- AD 81 C0 LDA $C081 rw:ROMIN
0553- 8D F4 03 STA $03F4
0556- 6C FC FF JMP ($FFFC)
0559- A0 00 LDY #$00
055B- A2 56 LDX #$56
055D- CA DEX
055E- 30 FB BMI $055B
0560- B9 00 08 LDA $0800,Y
0563- 5E 00 09 LSR $0900,X
0566- 2A ROL
0567- 5E 00 09 LSR $0900,X
056A- 2A ROL
056B- 91 B2 STA ($B2),Y
056D- C8 INY
056E- D0 ED BNE $055D
0570- 60 RTS
0571- A6 C5 LDX $C5
0573- A0 20 LDY #$20
0575- 88 DEY
0576- F0 61 BEQ $05D9
0578- BD 8C C0 LDA $C08C,X
057B- 10 FB BPL $0578
057D- 49 D5 EOR #$D5
057F- D0 F4 BNE $0575
0581- EA NOP
0582- BD 8C C0 LDA $C08C,X
0585- 10 FB BPL $0582
0587- C9 AA CMP #$AA
0589- D0 F2 BNE $057D
058B- A0 56 LDY #$56
058D- BD 8C C0 LDA $C08C,X
0590- 10 FB BPL $058D
0592- C9 AD CMP #$AD ; standard D5 AA AD prologue
0594- D0 E7 BNE $057D
0596- A9 00 LDA #$00
0598- 88 DEY
0599- 84 B9 STY $B9
059B- BC 8C C0 LDY $C08C,X
059E- 10 FB BPL $059B
05A0- 59 00 07 EOR $0700,Y
05A3- A4 B9 LDY $B9
05A5- 99 00 09 STA $0900,Y
05A8- D0 EE BNE $0598
05AA- 84 B9 STY $B9
05AC- BC 8C C0 LDY $C08C,X
05AF- 10 FB BPL $05AC
05B1- 59 00 07 EOR $0700,Y ; encrypted data
05B4- A4 B9 LDY $B9
05B6- 99 00 08 STA $0800,Y
05B9- C8 INY
05BA- D0 EE BNE $05AA
05BC- BC 8C C0 LDY $C08C,X
05BF- 10 FB BPL $05BC
05C1- D9 00 07 CMP $0700,Y
05C4- D0 13 BNE $05D9
05C6- BD 8C C0 LDA $C08C,X
05C9- 10 FB BPL $05C6
05CB- C9 DE CMP #$DE
05CD- D0 0A BNE $05D9
05CF- EA NOP
05D0- BD 8C C0 LDA $C08C,X
05D3- 10 FB BPL $05D0
05D5- C9 AA CMP #$AA
05D7- F0 02 BEQ $05DB ; guess we don't check for $EB epilogue
05D9- 38 SEC
05DA- 60 RTS
05DB- 18 CLC
05DC- 60 RTS
05DD- 0F ???
05DE- 02 ???
05DF- 04 06 TSB $06
05E1- 08 PHP
05E2- 0A ASL
05E3- 0C 0E 01 TSB $010E
05E6- 03 ???
05E7- 05 07 ORA $07
05E9- 09 0B ORA #$0B
05EB- 0D 00 A6 ORA $A600
05EE- C0 BD CPY #$BD
05F0- 03 ???
05F1- 04 A6 TSB $A6
05F3- C5 4C CMP $4C
05F5- 8C 06 A0 STY $A006
05F8- 91 B3 STA ($B3),Y
05FA- AC B0 91 LDY $91B0
05FD- D2 89 CMP ($89)
05FF- CC A2 11 CPY $11A2
0602- CA DEX
0603- D0 FD BNE $0602
0605- E6 BE INC $BE
0607- D0 02 BNE $060B
0609- E6 BF INC $BF
060B- 38 SEC
060C- E9 01 SBC #$01
060E- D0 F0 BNE $0600
0610- 60 RTS
0611- 01 30 ORA ($30,X)
0613- 28 PLP
0614- 24 20 BIT $20
0616- 1E 1D 1C ASL $1C1D,X
0619- 1C 1C 1C TRB $1C1C
061C- 1C 70 2C TRB $2C70
061F- 26 22 ROL $22
0621- 1F ???
0622- 1E 1D 1C ASL $1C1D,X
0625- 1C 1C 1C TRB $1C1C
0628- 1C 1C 1C TRB $1C1C
062B- 1C A6 C5 TRB $C5A6
062E- A0 FC LDY #$FC
0630- 84 B9 STY $B9
0632- C8 INY
0633- D0 04 BNE $0639
0635- E6 B9 INC $B9
0637- F0 51 BEQ $068A
0639- BD 8C C0 LDA $C08C,X
063C- 10 FB BPL $0639
063E- C9 D5 CMP #$D5
0640- D0 F0 BNE $0632
0642- EA NOP
0643- BD 8C C0 LDA $C08C,X
0646- 10 FB BPL $0643
0648- C9 AA CMP #$AA
064A- D0 F2 BNE $063E
064C- A0 03 LDY #$03
064E- BD 8C C0 LDA $C08C,X
0651- 10 FB BPL $064E
0653- C9 96 CMP #$96 ; non-standard prologue?
0655- D0 E7 BNE $063E
0657- A9 00 LDA #$00
0659- 85 B8 STA $B8
065B- BD 8C C0 LDA $C08C,X
065E- 10 FB BPL $065B
0660- 2A ROL
0661- 85 B9 STA $B9
0663- BD 8C C0 LDA $C08C,X
0666- 10 FB BPL $0663
0668- 25 B9 AND $B9
066A- 99 B4 00 STA $00B4,Y ; ?????
066D- 45 B8 EOR $B8
066F- 88 DEY
0670- 10 E7 BPL $0659
0672- A8 TAY
0673- D0 15 BNE $068A
0675- BD 8C C0 LDA $C08C,X
0678- 10 FB BPL $0675
067A- C9 DE CMP #$DE
067C- D0 0C BNE $068A
067E- EA NOP
067F- BD 8C C0 LDA $C08C,X
0682- 10 FB BPL $067F
0684- C9 AA CMP #$AA
0686- D0 02 BNE $068A ; guess we don't check for $EB epilogue
0688- 18 CLC
0689- 60 RTS
068A- 38 SEC
068B- 60 RTS
068C- 85 BB STA $BB
068E- C5 BA CMP $BA
0690- F0 4F BEQ $06E1
0692- A9 00 LDA #$00
0694- 85 BD STA $BD
0696- A5 BA LDA $BA
0698- 85 BC STA $BC
069A- 38 SEC
069B- E5 BB SBC $BB
069D- F0 31 BEQ $06D0
069F- B0 06 BCS $06A7
06A1- 49 FF EOR #$FF
06A3- E6 BA INC $BA
06A5- 90 04 BCC $06AB
06A7- 69 FE ADC #$FE
06A9- C6 BA DEC $BA
06AB- C5 BD CMP $BD
06AD- 90 02 BCC $06B1
06AF- A5 BD LDA $BD
06B1- C9 0C CMP #$0C
06B3- B0 01 BCS $06B6
06B5- A8 TAY
06B6- 38 SEC
06B7- 20 D4 06 JSR $06D4
06BA- B9 11 06 LDA $0611,Y
06BD- 20 00 06 JSR $0600
06C0- A5 BC LDA $BC
06C2- 18 CLC
06C3- 20 D6 06 JSR $06D6
06C6- B9 1D 06 LDA $061D,Y
06C9- 20 00 06 JSR $0600
06CC- E6 BD INC $BD
06CE- D0 C6 BNE $0696
06D0- 20 00 06 JSR $0600
06D3- 18 CLC
06D4- A5 BA LDA $BA
06D6- 29 03 AND #$03
06D8- 2A ROL
06D9- 05 C5 ORA $C5
06DB- AA TAX
06DC- BD 80 C0 LDA $C080,X
06DF- A6 C5 LDX $C5
06E1- 60 RTS
06E2- 38 SEC
06E3- 48 PHA
06E4- E9 01 SBC #$01
06E6- D0 FC BNE $06E4
06E8- 68 PLA
06E9- E9 01 SBC #$01
06EB- D0 F6 BNE $06E3
06ED- 60 RTS
06EE- EF ???
06EF- C1 8A CMP ($8A,X)
06F1- C3 ???
06F2- A0 D1 LDY #$D1
06F4- A0 F5 LDY #$F5
06F6- A0 A5 LDY #$A5
06F8- B1 A0 LDA ($A0),Y
06FA- E0 D3 CPX #$D3
06FC- A0 B5 LDY #$B5
06FE- A9 A0 LDA #$A0
0700- A0 80 LDY #$80 ; encryption table?
0702- D3 ???
0703- A0 A0 LDY #$A0
0705- 92 A0 STA ($A0)
0707- 90 B3 BCC $06BC
0709- A0 A5 LDY #$A5
070B- D4 ???
070C- A4 C5 LDY $C5
070E- B7 ???
070F- BA TSX
0710- A0 D2 LDY #$D2
0712- A0 A2 LDY #$A2
0714- A0 90 LDY #$90
0716- C2 ???
0717- B0 80 BCS $0699
0719- B5 B0 LDA $B0,X
071B- B3 ???
071C- E6 B0 INC $B0
071E- A0 91 LDY #$91
0720- A0 A5 LDY #$A5
0722- B6 A6 LDX $A6,Y
0724- 80 C3 BRA $06E9
0726- A9 C1 LDA #$C1
0728- E7 ???
0729- B3 ???
072A- 90 B0 BCC $06DC
072C- A0 CE LDY #$CE
072E- D2 83 CMP ($83)
0730- A0 E8 LDY #$E8
0732- B6 A0 LDX $A0,Y
0734- B0 C2 BCS $06F8
0736- A2 A0 LDX #$A0
0738- AC A0 A0 LDY $A0A0
073B- B6 A0 LDX $A0,Y
073D- CC CF A4 CPY $A4CF
0740- A0 A0 LDY #$A0
0742- 80 A0 BRA $06E4
0744- A0 A0 LDY #$A0
0746- AA TAX
0747- A0 82 LDY #$82
0749- B3 ???
074A- A0 89 LDY #$89
074C- D4 ???
074D- F0 C4 BEQ $0713
074F- B9 BA D0 LDA $D0BA,Y
0752- A0 A0 LDY #$A0
0754- E8 INX
0755- A0 8C LDY #$8C
0757- C1 C1 CMP ($C1,X)
0759- CA DEX
075A- B5 81 LDA $81,X
075C- B3 ???
075D- E6 B8 INC $B8
075F- A0 9F LDY #$9F
0761- A0 A5 LDY #$A5
0763- B6 A6 LDX $A6,Y
0765- 80 C3 BRA $072A
0767- A9 A0 LDA #$A0
0769- E7 ???
076A- B4 AC LDY $AC,X
076C- B0 CD BCS $073B
076E- CE D3 A0 DEC $A0D3
0771- A0 E8 LDY #$E8
0773- B6 A0 LDX $A0,Y
0775- B0 CE BCS $0745
0777- A2 A0 LDX #$A0
0779- E6 A0 INC $A0
077B- A0 B6 LDY #$B6
077D- A0 FB LDY #$FB
077F- A0 E7 LDY #$E7
0781- A0 A0 LDY #$A0
0783- 80 A0 BRA $0725
0785- A0 A0 LDY #$A0
0787- AA TAX
0788- A0 82 LDY #$82
078A- B6 A0 LDX $A0,Y
078C- 89 A0 BIT #$A0
078E- F0 B2 BEQ $0742
0790- A0 BA LDY #$BA
0792- D3 ???
0793- A0 B3 LDY #$B3
0795- 87 ???
0796- 00 BRK
0797- 01 98 ORA ($98,X)
0799- 99 02 03 STA $0302,Y
079C- 9C 04 05 STZ $0504
079F- 06 A0 ASL $A0
07A1- A1 A2 LDA ($A2,X)
07A3- A3 ???
07A4- A4 A5 LDY $A5
07A6- 07 ???
07A7- 08 PHP
07A8- A8 TAY
07A9- A9 AA LDA #$AA
07AB- 09 0A ORA #$0A
07AD- 0B ???
07AE- 0C 0D B0 TSB $B00D
07B1- B1 0E LDA ($0E),Y
07B3- 0F ???
07B4- 10 11 BPL $07C7
07B6- 12 13 ORA ($13)
07B8- B8 CLV
07B9- 14 15 TRB $15
07BB- 16 17 ASL $17,X
07BD- 18 CLC
07BE- 19 1A C0 ORA $C01A,Y
07C1- C1 C2 CMP ($C2,X)
07C3- C3 ???
07C4- C4 C5 CPY $C5
07C6- C6 C7 DEC $C7
07C8- C8 INY
07C9- C9 CA CMP #$CA
07CB- 1B ???
07CC- CC 1C 1D CPY $1D1C
07CF- 1E D0 D1 ASL $D1D0,X
07D2- D2 1F CMP ($1F)
07D4- D4 ???
07D5- D5 20 CMP $20,X
07D7- 21 D8 AND ($D8,X)
07D9- 22 ???
07DA- 23 ???
07DB- 24 25 BIT $25
07DD- 26 27 ROL $27
07DF- 28 PLP
07E0- E0 E1 CPX #$E1
07E2- E2 ???
07E3- E3 ???
07E4- E4 29 CPX $29
07E6- 2A ROL
07E7- 2B ???
07E8- E8 INX
07E9- 2C 2D 2E BIT $2E2D
07EC- 2F ???
07ED- 30 31 BMI $0820
07EF- 32 F0 AND ($F0)
07F1- F1 33 SBC ($33),Y
07F3- 34 35 BIT $35,X
07F5- 36 37 ROL $37,X
07F7- 38 SEC
07F8- F8 SED
07F9- 39 3A 3B AND $3B3A,Y
07FC- 3C 3D 3E BIT $3E3D,X
07FF- 3F ???
Re: Warp Destroyer (Piccadilly Software 1982) [message #376814 is a reply to message #376782] Tue, 27 November 2018 20:53 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
That looks like a std 6x2 read routine.
Your disassembly is not fully done. At $5dd, you have the interleaving table of 16 bytes.

av
Re: Warp Destroyer (Piccadilly Software 1982) [message #376815 is a reply to message #376782] Tue, 27 November 2018 21:02 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
The table at $400 is the track x 2 index (track 1 is on phase 2 if I can summarize that way)
At $b4 and above, you have the volume, track and sector data as from the address field (and stored in reverse order). The values read are compared tonthe required ones at $c0/$c1

av
Re: Warp Destroyer (Piccadilly Software 1982) [message #376816 is a reply to message #376815] Tue, 27 November 2018 21:06 Go to previous messageGo to next message
Antoine Vignau is currently offline  Antoine Vignau
Messages: 1860
Registered: October 2012
Karma: 0
Senior Member
At $62c, you have a std address field read routine with the std D5AA96 markers
av
Re: Warp Destroyer (Piccadilly Software 1982) [message #376838 is a reply to message #376816] Wed, 28 November 2018 00:21 Go to previous messageGo to next message
qkumba is currently offline  qkumba
Messages: 1584
Registered: March 2013
Karma: 0
Senior Member
I just posted to the ProDOS ports thread.
The disk is 6-and-2 encoded entirely except for the 13-sector boot sector, which is the opposite of what I was expecting.
The loader screen is a different colour if you boot in 13-sector vs 16-sector.
Maybe for debugging purposes.

The sector interleave ordering was changed so 00<->0F, etc.
There's a secondary protection with special values in the sync fields, which is checked from time to time.
Re: Warp Destroyer (Piccadilly Software 1982) [message #376919 is a reply to message #376838] Wed, 28 November 2018 13:48 Go to previous message
Anonymous
Karma:
Originally posted by: frank_o_rama

WOZ file uploaded to asimov if anyone else is interested in checking it out.
f
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: ZC.JUKEBOX - A full song 1-bit audio player
Next Topic: Re: csa2 gmail account
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Thu Mar 28 07:42:39 EDT 2024

Total time taken to generate the page: 0.09116 seconds