In article , Frank Townsend wrote: > MUFFIN converts 13 sector DOS 3.2 diskettes to 16 sector diskettes. It does NOT !!!! The 13-sector diskette will still be a 13-sector diskette even after you've been running MUFFIN on it! But there were other ways to access 13-sector diskettes from DOS 3.3. Back in 1981 I wrote "Double DOS", a patch to DOS 3.3 which allowed it to read and write both 13-sector and 16-sector diskettes, and to switch between 13-sector and 16-sector automatically! It borrows the memory space used by the INIT command (which thus gets disabled) in DOS 3.3, and patches itself into that memory area. Run it on top of DOS 3.3 running in 48K. It's greeting message DUBBELDOS L[SER B]DE 13- OCH 16-SEKTORS DISKETTER, OCH ST[LLER OM SIG SJ[LV AUTOMATISKT!! 'INIT' [R BORTTAGET, IST[LLET FINNS 'FORMAT', SOM TALAR OM VILKET DISKETTFORMAT DUBBELDOS JUST NU [R INST[LLD P] is in Swedish, but translated to English it becomes DOUBLE DOS READS BOTH 13- AND 16-SECTOR DISKETTES, AND ADJUSTS ITSELF AUTOMATICALLY! 'INIT' HAS BEEN REMOVED, INSTEAD THERE IS 'FORMAT' WHICH TELLS WHETHER DOUBLE DOS CURRENTLY IS IN 13-SECTOR or 16-SECTOR MODE There are two other possible messages: DUBBELDOS [R REDAN INSTALLERAD DUBBELDOS FUNGERAR BARA P] 48K DOS 3.3 which in English become: DOUBLE DOS ALREADY INSTALLED DOUBLE DOS ONLY WORKS ON 48K DOS 3.3 By using Doble DOS, you don't need MUFFIN to access 13-sector disks -- just use FID on 16-sector *and* 13-sector disks! Or run your programs/etc directly off the 13-sector disk! If you want to enter the binary into your Apple II, transfer the dump below as a text file to your Apple II, then enter the Monitor and EXEC the text file from the Monitor. Include the final "BSAVE" into waht's being EXEC'ed. =============================================================== Double-DOS binary - start $0803, length $04C6 =============================================================== 0803: 20 58 FC A2 20 BD 84 0A DD 8E AE D0 2F CA 10 F5 0813: 20 20 0A 8D 8D 8D C4 D5 C2 C2 C5 CC C4 CF D3 A0 0823: DB D2 A0 D2 C5 C4 C1 CE A0 C9 CE D3 D4 C1 CC CC 0833: C5 D2 C1 C4 8D 8D 8D 87 00 4C D3 03 A2 1C BD D0 0843: 03 DD 56 0A D0 12 CA 10 F5 A2 10 BD 2A B8 DD 73 0853: 0A D0 05 CA 10 F5 30 36 20 20 0A 8D 8D 8D C4 D5 0863: C2 C2 C5 CC C4 CF D3 A0 C6 D5 CE C7 C5 D2 C1 D2 0873: A0 C2 C1 D2 C1 A0 D0 DD A0 B4 B8 CB A0 C4 CF D3 0883: A0 B3 AE B3 8D 8D 8D 87 87 87 00 4C D3 03 A9 4C 0893: 8D A5 AC A9 96 8D A6 AC A9 AC 8D A7 AC A9 46 8D 08A3: 84 A8 A9 4F 8D 85 A8 A9 52 8D 86 A8 A9 CD 8D 87 08B3: A8 A9 4C 8D 4F A5 A9 8E 8D 50 A5 A9 AE 8D 51 A5 08C3: A2 00 BD 84 0A 9D 8E AE E8 E0 39 D0 F5 A9 48 8D 08D3: 0E BE A9 4C 8D 6B B9 A9 00 8D 6C B9 A9 B7 8D 6D 08E3: B9 A9 BD A0 0A 85 3C 84 3D A9 C1 A0 0B 85 3E 84 08F3: 3F A9 AB A0 B6 20 4D 0A A9 C2 A0 0B 85 3C 84 3D 0903: A9 C8 A0 0C 85 3E 84 3F A9 AF A0 BE 20 4D 0A 20 0913: 20 0A 8D 8D A0 A0 A0 A0 C4 D5 C2 C2 C5 CC C4 CF 0923: D3 8A 8A A0 A0 A8 C3 A9 A0 D0 C1 D5 CC A0 D3 C3 0933: C8 CC D9 D4 C5 D2 A0 B1 B9 B8 B1 8D 8D 8D 8D A0 0943: C4 D5 C2 C2 C5 CC C4 CF D3 A0 CC DB D3 C5 D2 A0 0953: C2 DD C4 C5 8D 8D A0 B1 B3 AD A0 CF C3 C8 A0 B1 0963: B6 AD D3 C5 CB D4 CF D2 D3 A0 C4 C9 D3 CB C5 D4 0973: D4 C5 D2 AC 8D 8D A0 CF C3 C8 A0 D3 D4 DB CC CC 0983: C5 D2 A0 CF CD A0 D3 C9 C7 A0 D3 CA DB CC D6 A0 0993: C1 D5 D4 CF CD C1 D4 C9 D3 CB D4 A1 A1 8D 8D 8D 09A3: A0 A7 C9 CE C9 D4 A7 A0 DB D2 A0 C2 CF D2 D4 D4 09B3: C1 C7 C5 D4 AC 8D A0 A0 C9 D3 D4 DB CC CC C5 D4 09C3: A0 C6 C9 CE CE D3 A0 A7 C6 CF D2 CD C1 D4 A7 AC 09D3: A0 D3 CF CD A0 D4 C1 CC C1 D2 8D A0 A0 CF CD A0 09E3: D6 C9 CC CB C5 D4 A0 C4 C9 D3 CB C5 D4 D4 C6 CF 09F3: D2 CD C1 D4 A0 C4 D5 C2 C2 C5 CC C4 CF D3 8D A0 0A03: A0 CA D5 D3 D4 A0 CE D5 A0 DB D2 A0 C9 CE D3 D4 0A13: DB CC CC C4 A0 D0 DD 8D 8D 00 4C D3 03 A9 8D 20 0A23: F0 FD 68 85 F0 68 85 F1 A0 01 B1 F0 F0 0F 30 02 0A33: 29 3F 20 F0 FD E6 F0 D0 02 E6 F1 D0 ED E6 F0 D0 0A43: 02 E6 F1 A5 F1 48 A5 F0 48 60 85 42 84 43 A0 00 0A53: 4C 2C FE 4C BF 9D 4C 84 9D 4C FD AA 4C B5 B7 AD 0A63: 0F 9D AC 0E 9D 60 AD C2 AA AC C1 AA 60 4C 51 A8 0A73: 38 86 27 8E 78 06 BD 8D C0 BD 8E C0 30 7C AD 00 0A83: BC A2 00 BD 9C AE F0 06 20 F0 FD E8 D0 F5 60 8D 0A93: 8D C3 D5 D2 D2 C5 CE D4 A0 C4 C9 D3 CB C5 D4 D4 0AA3: C5 A0 C6 CF D2 CD C1 D4 BA A0 A0 B1 B6 A0 D3 C5 0AB3: C3 D4 CF D2 D3 A0 A0 A0 8D 00 00 01 08 10 18 02 0AC3: 03 04 05 06 20 28 30 07 09 38 40 0A 48 50 58 0B 0AD3: 0C 0D 0E 0F 11 12 13 14 15 16 17 19 1A 1B 1C 1D 0AE3: 1E 21 22 23 24 60 68 25 26 70 78 27 80 88 90 29 0AF3: 2A 2B 2C 2D 2E 2F 31 32 33 98 A0 34 A8 B0 B8 35 0B03: 36 37 39 3A C0 C8 D0 3B 3C D8 E0 3E E8 F0 F8 D0 0B13: 05 A9 00 4C 6F B9 C9 96 F0 0A C9 B5 D0 0C 20 5E 0B23: B7 4C 18 B7 20 1E B7 20 DD FB 4C 54 B9 A9 96 8D 0B33: 6A B9 A9 00 8D BA BD A9 C2 8D 41 BE A9 B8 8D BB 0B43: BD 8D 42 BE A9 04 8D 49 B8 A9 56 8D 63 B8 8D F5 0B53: B8 A9 FC 8D 45 B9 A0 10 B9 48 BF 99 B7 BF 88 D0 0B63: F7 A9 B6 8D B9 AE A9 BA A0 BA 4C 9D B7 A9 B5 8D 0B73: 6A B9 A9 AF 8D BA BD A9 59 8D 41 BE A9 BE 8D BB 0B83: BD A9 BF 8D 42 BE A9 0A 8D 49 B8 A9 9A 8D 63 B8 0B93: 8D F5 B8 A9 F8 8D 45 B9 A0 10 B9 18 BF 99 B7 BF 0BA3: 88 D0 F7 A9 B3 8D B9 AE A9 BF A0 B6 8D 6F B8 8D 0BB3: 84 B8 8D 97 B8 8C 0B B9 8C 1C B9 8C 2C B9 60 A2 0BC3: 32 A0 00 B1 3E 85 26 4A 4A 4A 9D 00 BB C8 B1 3E 0BD3: 85 27 4A 4A 4A 9D 33 BB C8 B1 3E 85 2A 4A 4A 4A 0BE3: 9D 66 BB C8 B1 3E 4A 26 2A 4A 26 27 4A 26 26 9D 0BF3: 99 BB C8 B1 3E 4A 26 2A 4A 26 27 4A 9D CC BB A5 0C03: 26 2A 29 1F 9D 00 BC A5 27 29 1F 9D 33 BC A5 2A 0C13: 29 1F 9D 66 BC C8 CA 10 AA B1 3E AA 29 07 8D 99 0C23: BC 8A 4A 4A 4A 8D FF BB 60 00 01 02 03 04 05 06 0C33: 07 08 09 0A 0B 0C 0C 0C 0C AB AD AE AF B5 B6 B7 0C43: BA BB BD BE BF D6 D7 DA DB DD DE DF EA EB ED EE 0C53: EF F5 F6 F7 FA FB FD FE FF 00 0D 0B 09 07 05 03 0C63: 01 0E 0C 0A 08 06 04 02 0F A2 32 A0 00 BD 00 BC 0C73: 4A 4A 4A 85 27 4A 85 26 4A 1D 00 BB 91 3E C8 BD 0C83: 33 BC 4A 4A 4A 4A 26 27 4A 26 26 1D 33 BB 91 3E 0C93: C8 BD 66 BC 4A 4A 4A 4A 26 27 4A 26 26 1D 66 BB 0CA3: 91 3E C8 A5 26 29 07 1D 99 BB 91 3E C8 A5 27 29 0CB3: 07 1D CC BB 91 3E C8 CA 10 B3 AD 99 BC 4A 4A 4A 0CC3: 0D FF BB 91 3E 60 BSAVE DUBBELDOS,A$0803,L$04C6 =============================================================== Double-DOS S-C Assembler Source =============================================================== 1000 .LIST OFF 1010 ;--------------------------------- 1020 ; 1030 ; DUBBELDOS 1040 ; 1050 ;--------------------------------- 1060 MON.A1 .EQ $3C,3D 1070 MON.A2 .EQ $3E,3F 1080 MON.A4 .EQ $42,43 1090 ; 1100 WRTB16 .EQ $BA29 1110 RDTB16 .EQ $BA96 1120 ; 1130 MON.BELL .EQ $FBDD 1140 MON.HOME .EQ $FC58 1150 MON.COUT1 .EQ $FDF0 1160 MON.MOVE .EQ $FE2C 1170 ;--------------------------------- 1180 .OR $803 1190 .TF DUBBELDOS.OBJ 1200 ; 1210 START JSR MON.HOME 1220 ; 1230 ; CHECK THAT RESIDENT DOS IS OK 1240 LDX #32 1250 .1 LDA BLOCK1,X 1260 CMP DEST1,X 1270 BNE CHKDOS 1280 DEX 1290 BPL .1 1300 JSR PRINT 1310 .HS 8D8D8D 1320 .AS -/DUBBELDOS [R REDAN INSTALLERAD/ 1330 .HS 8D8D8D8700 1340 JMP $3D3 1350 ; 1360 CHKDOS LDX #L.P3 1370 .1 LDA $3D0,X 1380 CMP CHK.P3,X 1390 BNE .3 1400 DEX 1410 BPL .1 1420 LDX #L.RW.3.3 1430 .2 LDA $B82A,X 1440 CMP CHK.RW.3.3,X 1450 BNE .3 1460 DEX 1470 BPL .2 1480 BMI PATCH 1490 .3 JSR PRINT 1500 .HS 8D8D8D 1510 .AS -/DUBBELDOS FUNGERAR BARA P] 48K DOS 3.3/ 1520 .HS 8D8D8D87878700 1530 JMP $3D3 1540 ;--------------------------------- 1550 PATCH 1560 ; REMOVE QUICKLOAD PATCH 1570 LDA #$4C 1580 STA $ACA5 'JMP $AC96', 1590 LDA #$AC96 AS BEFORE 1600 STA $ACA5+1 1610 LDA /$AC96 1620 STA $ACA5+2 1630 ; CHANGE INIT CMD TO 'FORMAT' 1640 LDA #'F 1650 STA $A884 1660 LDA #'O 1670 STA $A884+1 1680 LDA #'R 1690 STA $A884+2 1700 LDA #"M 1710 STA $A884+3 1720 ; PATCH IN INIT CMD HANDLER 1730 LDA #$4C 1740 STA $A54F 1750 LDA #FORMAT 1760 STA $A54F+1 1770 LDA /FORMAT 1780 STA $A54F+2 1790 ; OVERWRITE INIT F.M. ROUTINE 1800 LDX #$00 1810 .1 LDA BLOCK1,X 1820 STA DEST1,X 1830 INX 1840 CPX #END.BLK1-BLOCK1 1850 BNE .1 1860 ; 1870 LDA #$48 1880 STA $BE0E INIT IN RWTS -> DRIVE ERROR 1890 ; 1900 LDA #$4C 1910 STA $B96B PATCH INTO RDADR 1920 LDA #RDADPTCH 1930 STA $B96B+1 1940 LDA /RDADPTCH 1950 STA $B96B+2 1960 ; 1970 LDA #BLOCK2 1980 LDY /BLOCK2 1990 STA MON.A1 2000 STY MON.A1+1 2010 LDA #END.BLK2-1 2020 LDY /END.BLK2-1 2030 STA MON.A2 2040 STY MON.A2+1 2050 LDA #DEST2 2060 LDY /DEST2 2070 JSR MOVE 2080 ; 2090 LDA #BLOCK3 2100 LDY /BLOCK3 2110 STA MON.A1 2120 STY MON.A1+1 2130 LDA #END.BLK3-1 2140 LDY /END.BLK3-1 2150 STA MON.A2 2160 STY MON.A2+1 2170 LDA #DEST3 2180 LDY /DEST3 2190 JSR MOVE 2200 ; 2210 JSR PRINT 2220 ; 2230 SIGNON .HS 8D8D 2240 .AS -/ DUBBELDOS/ 2250 .HS 8A8A 2260 .AS -/ (C) PAUL SCHLYTER 1981/ 2270 .HS 8D8D8D8D 2280 .AS -/ DUBBELDOS L[SER B]DE/ 2290 .HS 8D8D 2300 .AS -/ 13- OCH 16-SEKTORS DISKETTER,/ 2310 .HS 8D8D 2320 .AS -/ OCH ST[LLER OM SIG SJ[LV AUTOMATISKT!!/ 2330 .HS 8D8D8D 2340 SIGNON2 .AS -/ 'INIT' [R BORTTAGET,/ 2350 .HS 8D 2360 .AS -/ IST[LLET FINNS 'FORMAT', SOM TALAR/ 2370 .HS 8D 2380 .AS -/ OM VILKET DISKETTFORMAT DUBBELDOS/ 2390 .HS 8D 2400 .AS -/ JUST NU [R INST[LLD P]/ 2410 .HS 8D8D00 2420 ; 2430 JMP $3D3 2440 ;--------------------------------- 2450 ; PRINT-ROUTINE FROM 'THE SCANNER' 2460 ; 2470 PRINT LDA #$8D 2480 JSR MON.COUT1 2490 PLA 2500 STA $F0 2510 PLA 2520 STA $F0+1 2530 LDY #1 2540 .1 LDA ($F0),Y 2550 BEQ .6 2560 BMI .3 2570 AND #$3F 2580 .3 JSR MON.COUT1 2590 .4 INC $F0 2600 BNE .5 2610 INC $F0+1 2620 .5 BNE .1 2630 .6 INC $F0 2640 BNE .7 2650 INC $F0+1 2660 .7 LDA $F0+1 2670 PHA 2680 LDA $F0 2690 PHA 2700 RTS 2710 ;--------------------------------- 2720 MOVE STA MON.A4 2730 STY MON.A4+1 2740 LDY #0 2750 JMP MON.MOVE 2760 ;--------------------------------- 2770 ; IMAGE DOS 3.3 48K $3D0-$3EC 2780 CHK.P3 JMP $9DBF 2790 JMP $9D84 2800 JMP $AAFD 2810 JMP $B7B5 2820 LDA $9D0F 2830 LDY $9D0E 2840 RTS 2850 LDA $AAC2 2860 LDY $AAC1 2870 RTS 2880 JMP $A851 2890 L.P3 .EQ *-CHK.P3-1 2900 ; 2910 ; IMAGE RWTS 3.3 $B82A-$B83A 2920 CHK.RW.3.3 2930 SEC 2940 STX $27 2950 STX $0678 2960 LDA $C08D,X 2970 LDA $C08E,X 2980 BMI *+$7D 2990 LDA $BC00 3000 L.RW.3.3 .EQ *-CHK.RW.3.3-1 3010 ;--------------------------------- 3020 ; 'FORMAT' COMMAND 3030 DEST1 .EQ $AE8E 3040 FORMAT .EQ DEST1 3050 OFFS1 .EQ DEST1-* 3060 BLOCK1 ; $AE8E - $AEC6 3070 LDX #0 3080 .1 LDA MSG,X 3090 BEQ .2 3100 JSR MON.COUT1 3110 INX 3120 BNE .1 3130 .2 RTS 3140 MSG .EQ *+OFFS1 3150 .HS 8D8D 3160 .AS -/CURRENT DISKETTE FORMAT: 1/ 3170 FMTIND .EQ *+OFFS1 3180 .AS -/6 SECTORS / 3190 .HS 8D00 3200 END.BLK1 3210 ;--------------------------------- 3220 DEST2 .EQ $B6AB 3230 RDTB13 .EQ DEST2 3240 OFFS2 .EQ DEST2-* 3250 BLOCK2 ;: $B6AB - $B7B2 3260 .HS 00010810180203040506202830070938 3270 .HS 400A4850580B0C0D0E0F111213141516 3280 .HS 17191A1B1C1D1E212223246068252670 3290 .HS 7827808890292A2B2C2D2E2F31323398 3300 .HS A034A8B0B8353637393AC0C8D03B3CD8 3310 .HS E03EE8F0F8 3320 ;--------------------------------- 3330 ; READ ADDR BLOCK PATCH 3340 RDADPTCH .EQ *+OFFS2 3350 LBL1 BNE .1 BR IF NOT RIGHT # SECTORS 3360 LDA #$00 IF SECT # ARE RIGHT, 3370 JMP $B96F RETURN TO RDADDR 3380 ; RWTS MUST HERE RE-PATCH ITSELF 3390 .1 CMP #$96 16 SECT DISK? 3400 BEQ .2 YES 3410 CMP #$B5 13 SECT DISK? 3420 BNE .4 NEITHER, LOOK FOR NEXT SECTOR 3430 JSR RPT13+OFFS2 DO A 13 SECT REPATCH 3440 JMP .3+OFFS2 3450 .2 JSR RPT16+OFFS2 DO A 16 SECT REPATCH 3460 .3 JSR MON.BELL BELL TO INIDCATE CHANGE 3470 .4 JMP $B954 GO LOOK FOR NEXT SECTOR 3480 ;---- 3490 ; REPATCH RWTS FOR 16 SECTS 3500 RPT16 LDA #$96 3510 STA $B96A PATCH RDADDR 3520 LDA #$00 3530 STA $BDBA SET 16 SECT PRENIBBLE 3540 LDA #$C2 3550 STA $BE41 & POSTNIBBLE 3560 LDA #$B8 3570 STA $BDBB HIGH BYTES TOO 3580 STA $BE42 3590 LDA #4 3600 STA $B849 4 SYNCS BEFORE DATA BLOCK 3610 LDA #$56 3620 STA $B863 SET 16 SECT DATA 3630 STA $B8F5 BLOCK LENGTH 3640 LDA #$FC 3650 STA $B945 SET RETRYCOUNT 3660 LDY #$10 3670 .5 LDA INT16-1,Y 16 SECT INTERLEAVING 3680 STA $BFB7,Y 3690 DEY 3700 BNE .5 3710 LDA #"6 3720 STA FMTIND INDICATE 16 SECT 3730 LDA /WRTB16 16 SECT WRTAB 3740 LDY /RDTB16 16 SECT RDTAB 3750 JMP RPTEXT+OFFS2 3760 ; RE-PATCH RWTS FOR 13 SECTORS 3770 RPT13 LDA #$B5 3780 STA $B96A PATCH RDADDR 3790 LDA #$AF 3800 STA $BDBA 13 SECT PRENIBBLE 3810 LDA #$59 3820 STA $BE41 & POSTNIBBLE 3830 LDA #$BE 3840 STA $BDBB 3850 LDA #$BF HIGH BYTES TOO 3860 STA $BE42 3870 LDA #10 3880 STA $B849 10 SYNCS BEFORE DATA BLOCK 3890 LDA #$9A 3900 STA $B863 SET 13 SECT DATA 3910 STA $B8F5 BLOCK LENGTH 3920 LDA #$F8 SET RETRYCOUNT 3930 STA $B945 3940 LDY #$10 3950 .7 LDA INT13-1,Y 13 SECT INTERLEAVING 3960 STA $BFB7,Y 3970 DEY 3980 BNE .7 3990 LDA #"3 4000 STA FMTIND INDICATE 13 SECT 4010 LDA /WRTB13 13 SECT WRTAB 4020 LDY /RDTB13 13 SECT RDTAB 4030 RPTEXT STA $B86F WRDATA 4040 STA $B884 WRDATA 4050 STA $B897 WRDATA 4060 STY $B90B RDDATA 4070 STY $B91C RDDATA 4080 STY $B92C RDDATA 4090 RTS 4100 END.BLK2 4110 ;--------------------------------- 4120 DEST3 .EQ $BEAF 4130 OFFS3 .EQ DEST3-* 4140 BLOCK3 ; $BEAF - $BFB5 4150 ; PRENIBBLE 13 SECT 4160 PRENIB LDX #$32 4170 LDY #$00 4180 .1 LDA ($3E),Y 4190 STA $26 4200 LSR 4210 LSR 4220 LSR 4230 STA $BB00,X 4240 INY 4250 LDA ($3E),Y 4260 STA $27 4270 LSR 4280 LSR 4290 LSR 4300 STA $BB33,X 4310 INY 4320 LDA ($3E),Y 4330 STA $2A 4340 LSR 4350 LSR 4360 LSR 4370 STA $BB66,X 4380 INY 4390 LDA ($3E),Y 4400 LSR 4410 ROL $2A 4420 LSR 4430 ROL $27 4440 LSR 4450 ROL $26 4460 STA $BB99,X 4470 INY 4480 LDA ($3E),Y 4490 LSR 4500 ROL $2A 4510 LSR 4520 ROL $27 4530 LSR 4540 STA $BBCC,X 4550 LDA $26 4560 ROL 4570 AND #$1F 4580 STA $BC00,X 4590 LDA $27 4600 AND #$1F 4610 STA $BC33,X 4620 LDA $2A 4630 AND #$1F 4640 STA $BC66,X 4650 INY 4660 DEX 4670 BPL .1 4680 LDA ($3E),Y 4690 TAX 4700 AND #$07 4710 STA $BC99 4720 TXA 4730 LSR 4740 LSR 4750 LSR 4760 STA $BBFF 4770 RTS 4780 ;--------------------------------- 4790 ; SECTOR INTERLEAVING, 13 SECTORS 4800 INT13 .EQ *+OFFS3 ; $BF19 4810 .HS 0001020304050607 4820 .HS 08090A0B0C0C0C0C 4830 ; 4840 ;--------------------------------- 4850 WRTB13 .EQ *+OFFS3 ; $BF49 4860 .HS ABADAEAFB5B6B7BABBBDBEBFD6D7DADB 4870 .HS DDDEDFEAEBEDEEEFF5F6F7FAFBFDFEFF 4880 ;--------------------------------- 4890 ; SECTOR INTERLEAVING, 16 SECTORS 4900 INT16 .EQ *+OFFS3 4910 .HS 000D0B0907050301 4920 .HS 0E0C0A080604020F 4930 ;--------------------------------- 4940 ; POSTNIBBLE 13 SECT 4950 PSTNIB LDX #$32 4960 LDY #$00 4970 .1 LDA $BC00,X 4980 LSR 4990 LSR 5000 LSR 5010 STA $27 5020 LSR 5030 STA $26 5040 LSR 5050 ORA $BB00,X 5060 STA ($3E),Y 5070 INY 5080 LDA $BC33,X 5090 LSR 5100 LSR 5110 LSR 5120 LSR 5130 ROL $27 5140 LSR 5150 ROL $26 5160 ORA $BB33,X 5170 STA ($3E),Y 5180 INY 5190 LDA $BC66,X 5200 LSR 5210 LSR 5220 LSR 5230 LSR 5240 ROL $27 5250 LSR 5260 ROL $26 5270 ORA $BB66,X 5280 STA ($3E),Y 5290 INY 5300 LDA $26 5310 AND #$07 5320 ORA $BB99,X 5330 STA ($3E),Y 5340 INY 5350 LDA $27 5360 AND #$07 5370 ORA $BBCC,X 5380 STA ($3E),Y 5390 INY 5400 DEX 5410 BPL .1 5420 LDA $BC99 5430 LSR 5440 LSR 5450 LSR 5460 ORA $BBFF 5470 STA ($3E),Y 5480 RTS 5490 END.BLK3 5500 ;--------------------------------- SAVE DUBBELDOS.SRC =========================================================== -- ---------------------------------------------------------------- Paul Schlyter, Swedish Amateur Astronomer's Society (SAAF) Grev Turegatan 40, S-114 38 Stockholm, SWEDEN e-mail: pausch at saaf dot se or paul.schlyter at ausys dot se WWW: http://hotel04.ausys.se/pausch http://welcome.to/pausch