Jump to content
sup8pdct

Superdos Ramdisk routine

Recommended Posts

After much frustration and head sctatching, I finally managed to workout how to print from Syn Assembler a Listing of the code entered ,and into a text editor on the PC.

I have seperated out the ramdisk routine from Superdos for others to look at as I haven't seen any other ramdisk routine from any other dos to campare with.

What speed improvements (if any) can be done? Supports 5 types of ramdisk including AXLON and compatiables.

 

James

P.S I do have the full source for superdos 5.1

Got it many years ago from a co writer.

 

 

 

02660 BUFSET LDA DBUFLO

02670 STA BUFRLO

02680 LDA DBUFHI

02690 STA BUFRHI

02700 RTS

 

02840 ONOFF64 JSR ONOFFX

02850 ONOFFAX LDA #0

02860 AXBK1 .EQ *-1

02870 PHA

02880 LDA #0

02890 AXBK2 .EQ *-1

02900 STA AXBK1

02910 PLA

02920 STA AXBK2

02930 STA AXLON *$CFFF

02940 RTS

02950 ONOY STY CHKSUM

02960 ONOFFX LDA PORTB

02970 EOR CHKSUM

02980 STA PORTB

02990 RTS

03000 D1MAX .HS 01D101D101

03010 D2MAX .HS 0202040204

03020 MMSK .HS 40C060

 

03030 RAMDRIVE JSR BUFSET *RAMDISK entry**

03040 LDY #0

03050 RDCURS .EQ *-1

03060 BEQ .14

03070 TYA

03080 LDX DCOMND

03090 CPX #'S

03100 BEQ .15

03110 LDA D1MAX-1,Y

03120 CMP DAUX1

03130 LDA D2MAX-1,Y

03140 SBC DAUX2

03150 BCC .14

03160 LDX DAUX2

03170 LDY DAUX1

03180 DEY

03190 CPY #$FF

03200 BNE .1

03210 DEX

03220 BPL .1

03230 .14 LDA #$8B *SECTOR ERROR

03240 .15 JMP R13

03250 .1 STY BFENHI

03260 STY CHKSUM

03270 LDA #0

03280 LDY DBYTHI

03290 STY TSTAT

03300 BNE .2

03310 LSR BFENHI

03320 ROR

03330 .2 STA BFENLO

03340 TXA

03350 .4 ASL CHKSUM

03360 ROL

03370 LSR TSTAT

03380 BCS .4

03390 TAX

03400 INX

03410 INX

03420 STX AXBK1

03430 CMP #8

03440 BCC NW7

03450 ORA #0

03460 NEWELL .EQ *-1

03470 NW7 CLC

03480 ADC #0

03490 FIRST64 .EQ *-1

03500 ASL

03510 ASL

03520 PHA

03530 AND #$0C

03540 STA CHKSUM

03550 PLA

03560 ASL

03570 LDX #$0

03580 ALIEN .EQ *-1

03590 CPX #1

03600 BEQ .16

03610 ASL

03620 .16 INX

03630 AND MMSK,X

03640 ORA CHKSUM

03650 EOR #$FF

03660 AND PORTB

03670 SEI

03680 PHA

03690 JSR HARDOFF * turn off hardware interupts

03700 PLA

03710 STA PORTB

03720 LDA #$10

03730 STA CHKSUM

03740 LDA BFENHI

03750 AND #$3F

03760 ORA #$40

03770 STA BFENHI

03780 BIT DSTATS

03790 BMI .3

03800 LDX #1

03810 .9 LDA BUFRLO,X

03820 LDY BFENLO,X

03830 STY BUFRLO,X

03840 STA BFENLO,X

03850 DEX

03860 BPL .9

03870 JSR ONOFF64

03880 .3 LDY #$00

03890 .6 LDA (BUFRLO),Y

03900 PHA

03910 JSR ONOFF64

03920 PLA

03930 STA (BFENLO),Y

03940 JSR ONOFF64

03950 INY

03960 CPY DBYTLO

03970 BNE .6

03980 JSR HARDON

03990 CLI

04000 LDA BRKKEY

04010 AND #$80

04020 EOR #$80

04030 R13 STA DSTATS

04040 TAY

04050 JMP TURNON

 

 

 

02060 TURNON LDA PORTB

02070 ORA #$FD *ENSURE 64KRAM

02080 STA PORTB

02090 RT1 LDA #0

02100 STA AXLON

02110 STA AXBK2

02120 HARDON LDX #$40

02130 LDA POKMSK

02140 HARDSW STX NMIEN

02150 STA IRQEN

02160 RSS RTS

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...