------------Winnie the Pooh------------ --------in the Hundred Acre Wood------- A 4am crack 2014-07-25 --------------------------------------- "Winnie the Pooh in the Hundred Acre Wood" is a 1984 graphical adventure game by Walt Disney Company and distributed by Sierra On-Line, Inc. The original comes on a double-sided disk and uses both sides. COPYA copies both sides, but the copy does not work. Immediately after booting side A, it gives this error message: --v-- PLEASE PLACE THE WINNIE THE POOH DISK INTO THE DRIVE. PRESS 'RETURN' TO CONTINUE. --^-- The disk does have a readable catalog. Let's see if I can load it from the DOS 3.3 master disk. [S6,D1=DOS 3.3 master disk] [S6,D2=original disk, side A] ]PR#6 ... ]CATALOG,D2 DISK VOLUME 100 A 002 HELLO *A 002 WINNIE-THE-POOH 2/10/85 SIDE A *B 004 WINNIE HELLO *B 034 LOGO.PIC *B 034 TITLE.PIC *B 007 SOUND.OBJ *B 023 GAME.OBJ *B 013 PICDRAW B 002 RND *B 002 OBJECT1.OBJ *B 004 OBJECT2.OBJ *B 003 OBJECT3.OBJ *B 004 OBJECT4.OBJ *B 003 OBJECT5.OBJ *B 003 OBJECT6.OBJ *B 004 OBJECT7.OBJ *B 004 OBJECT8.OBJ *B 005 OBJECT9.OBJ *B 003 OBJECT10.OBJ *B 003 OBJECT11.OBJ *B 005 OBJECT12.OBJ *B 003 OBJECT13.OBJ *B 003 OBJECT14.OBJ *B 004 OBJECT15.OBJ *B 003 OBJECT16.OBJ *B 004 OBJECT17.OBJ *B 005 OBJECT18.OBJ *B 005 OBJECT19.OBJ *B 004 OBJECT20.OBJ *B 003 OBJECT21.OBJ *B 005 OBJECT22.OBJ *B 005 OBJECT23.OBJ *B 003 OBJECT24.OBJ *B 004 OBJECT25.OBJ *B 003 OBJECT26.OBJ *B 004 OBJECT27.OBJ *B 004 OBJECT28.OBJ *B 004 OBJECT29.OBJ *B 004 OBJECT30.OBJ *B 005 OBJECT31.OBJ *B 004 OBJECT32.OBJ *B 004 OBJECT33.OBJ *B 005 OBJECT34.OBJ *B 004 OBJECT35.OBJ *B 006 OBJECT36.OBJ *B 004 OBJECT37.OBJ *B 003 OBJECT38.OBJ *B 004 OBJECT39.OBJ *B 004 OBJECT40.OBJ ]RUN HELLO Success! The game loads and runs with no complaint. Whatever is causing the error message to display at boot, I can bypass it by booting a standard DOS. Using Copy ][+, I can "copy DOS" from a freshly initialized DOS 3.3 disk onto the demuffin'd copy. This function of Copy ][+ just sector-copies tracks 0-2 from one disk to another, but it's easier than setting that up manually in some other copy program. Copy ][+ --> COPY --> DOS --> from slot 6, drive 2 --> to slot 6, drive 1 [S6,D1=non-working copy] [S6,D2=newly formatted DOS 3.3 disk] ...read read read... ...write write write... So what *is* causing the message? Don't even care. OK, OK, I care a little. Let's do a little boot tracing just for fun.(*) (*)not guaranteed, actual fun may vary [S6,D1=original disk, side A] [S5,D1=my work disk] ]PR#5 CAPTURING BOOT0 ...reboots slot 6... ...reboots slot 5... SAVING BOOT0 For those of you just tuning in, my work disk uses a custom program that I affectionately call "AUTOTRACE" to automate the process of boot tracing as far as possible. For some disks (like this one, apparently), it just captures track 0, sector 0 (saved in a file called "BOOT0") and stops. ]CALL -151 *800<2800.28FFM *801L ; totally custom boot0 code here 0801- 85 FC STA $FC 0803- 86 FD STX $FD 0805- 84 FE STY $FE 0807- A2 FF LDX #$FF 0809- 9A TXS ; set up ($003E) to point to the read ; sector routine in the disk controller ; ROM 080A- A5 2B LDA $2B 080C- AA TAX 080D- 4A LSR 080E- 4A LSR 080F- 4A LSR 0810- 4A LSR 0811- 09 C0 ORA #$C0 0813- 85 3F STA $3F 0815- A9 5C LDA #$5C 0817- 85 3E STA $3E ; put an "RTS" at $801 (which is where ; the disk controller ROM read routine ; jumps to when it's done -- so now we ; can JSR to read a sector and exit) 0819- A9 60 LDA #$60 081B- 8D 01 08 STA $0801 ; Read a particular sector (based on ; physical sector index) into $0900 ; (because the target address is auto- ; incremented after each read, and we ; just read this sector into $0800) 081E- A9 0A LDA #$0A 0820- 85 3D STA $3D 0822- 20 2F 08 JSR $082F ; read another sector (into $0A00) 0825- A9 08 LDA #$08 0827- 85 3D STA $3D 0829- 20 2F 08 JSR $082F ; jump to next phase 082C- 4C 32 08 JMP $0832 082F- 6C 3E 00 JMP ($003E) That's where I need to interrupt the boot process. *9600