home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / eme / xr4mnj.xr4 < prev    next >
Text File  |  2006-10-19  |  5KB  |  102 lines

  1. 5 MAXFILES=1:DEFINTA-Z
  2. 10 E$=CHR$(27):VL$=E$+"V":VU$=E$+"W":VR$=E$+"p":VN$=E$+"q":EK$=E$+"K":CN$=E$+"Q":CY$=E$+"P"
  3. 15 IPL:GOSUB80:IFBN<0THEN900ELSEIFSS=42THEN310ELSEIFSS=75THEN510
  4. 20 GOSUB54:GOSUB51
  5. 25 GOSUB70:OUT128,(BN*8)+32
  6. 30 POKE65450,0:GOTO30
  7. 50 CLS:N=40-LEN(S$):M=N/2:N=N-M:PRINTVR$SPACE$(M)S$SPACE$(N)VN$;:RETURN
  8. 51 PRINT@280,VR$VL$"Bank Load Save Name Kill .... XR4* Menu "VN$CN$;
  9. 52 ONKEYGOSUB100,200,300,400,500,600,700,800:KEYON:PRINT@40,;:CALL910'?
  10. 53 RETURN
  11. 54 S$="XR4MNUe (c) 1992 EME Systems":GOSUB50:RETURN
  12. 60 S$="file not found":L=7
  13. 61 BEEP:CLOSE:PRINT@(L-1)*40,S$EK$;:FORJ=1TO700:NEXT:RETURN
  14. 70 OUT128,BN*8:XR=0:XP=32239:CALL910':
  15. 71 RETURN
  16. 80 XP=31280:GOSUB85:IFXR!<>35405THEN81ELSEXP=64:GOSUB85:IFXR!=21080THEN82
  17. 81 BN=-1:BB=ABS(PEEK(63850)-48)MOD16:RETURN
  18. 82 XP=69:XR$=SPACE$(4):CALL910'[
  19. 83 BB=VAL(MID$(XR$,2)):BN=BB-1:BA=BN*8:POKE63850,BB+48:NB=VAL(RIGHT$(XR$,1)):SS=ASC(XR$):RETURN
  20. 85 GOSUB86:CALL64712,,XP:XR=PEEK(64722):CALL64712,,XP+1:XR!=XR+256*PEEK(64722):RETURN
  21. 86 RESTORE87:ONERRORGOTO0:CS=0:FORAD!=64704TO64733:READD:POKEAD!,D:CS=CS+D:NEXTAD!:IFCS<>5489THENBEEP:PRINT"typo";CS:ENDELSERETURN
  22. 87 DATA 71,205,211,252,112,195,217,252,205,211
  23. 88 DATA 252,126,50,210,252,195,217,252,0,243
  24. 89 DATA 62,1,211,224,201,175,211,224,251,201
  25. 100 BN=(BN+1)MODNB:OUT128,BN*8+32:RUN
  26. 200 KEYOFF:PRINT@240,"File to load"EK$;:A$="":INPUTA$:XR$=A$:IFA$=""THENRUNELSEXP=0:CALL910'=
  27. 205 IFXP=0THENGOSUB60:GOTO200
  28. 210 IFINSTR(A$,".D")ORINSTR(A$,".d")THEN225
  29. 215 CLS:PRINT"Wait..":CALL910'+
  30. 220 IFXR=0THENRUNELSEIFXR=1THENGOSUB60:RUNELSECALL910';;
  31. 221 PRINT@280,"Clear";65536+XR;"for "A$"? (Y/N)"CY$;
  32. 222 R$=INKEY$:IFR$=""THEN222ELSEPRINTR$CN$;:R=ASC(R$)OR32:IFR=121THENCLEARFRE(""),65536+XR:RUNELSEIFR=110THENRUNELSE221
  33. 225 CLS:S$="RAM files:":GOSUB50:FILES:B$=A$:PRINT@280,"load as"EK$VU$;:INPUTB$
  34. 230 ONERRORGOTO250:OPENB$FOROUTPUTAS1:ONERRORGOTO255
  35. 235 CLS:PRINT"loading..":CALL910'+1
  36. 240 ONERRORGOTO0:CLOSE:GOSUB50:GOSUB51:GOTO200
  37. 250 S$="Bad fileSpec":L=7:GOSUB61:RESUME225
  38. 255 L=8:S$="failed!":GOSUB61:RUN
  39. 300 KEYOFF:GOSUB745:XP=69:XR=42:CALL910':
  40. 305 IPL:CALL910'*
  41. 310 KEYSTOP:S$="RAM files":GOSUB50:GOSUB51:PRINT@240,"File to save"EK$;:A$="":INPUTA$:XR$=A$:IFA$=""THEN350ELSEXP=0:CALL910'=
  42. 315 IFXP=0THENGOSUB60:RUN
  43. 320 IFINSTR(A$,".D")ORINSTR(A$,".d")THEN325ELSEPRINT@240,".DO files only!"EK$;:GOTO340
  44. 325 CLS:S$="XR files:":GOSUB50:FILES:B$=A$:PRINT@280,"save as"EK$VU$;:INPUTB$
  45. 330 ONERRORGOTO360:OPENB$FOROUTPUTAS1:ONERRORGOTO365
  46. 335 CLS:PRINT"Saving..";:CALL910'+1
  47. 340 RUN
  48. 350 IPL:GOSUB745:XP=69:XR=95:CALL910':
  49. 351 CALL910'*
  50. 360 S$="Bad fileSpec":L=7:GOSUB61:RESUME325
  51. 365 PRINT@280,"failed!"EK$;:RESUME340
  52. 400 KEYOFF:A$="":PRINT@240,"File to rename"EK$;:INPUTA$:IFA$=""THENRUNELSEXR$=A$:XP=0:XR=0:CALL910'=
  53. 405 IFXR=0THENBEEP:RUN
  54. 410 B$="":PRINT@240,"as"EK$;:INPUTB$:IFB$=""THENRUN
  55. 415 IFINSTR(B$,".")THENB$=LEFT$(B$,INSTR(B$,".")-1)
  56. 420 B$=LEFT$(B$,6):B=LEN(B$):B$=B$+SPACE$(6-B)
  57. 425 FORJ=1TOB:A=ASC(MID$(B$,J,1)):IFA>96ANDA<123THENA=A-32:MID$(B$,J,1)=CHR$(A):NEXTELSENEXT
  58. 430 A=ASC(B$):IFA<65ORA>122THENBEEP:GOTO410
  59. 435 XR$=B$+".DO":XN=XR+3:XP=0:CALL910'=
  60. 440 IFXRTHENBEEP:RUN
  61. 445 XR$=B$:XP=XN:OUT128,BN*8:CALL910']
  62. 450 RUN
  63. 500 KEYOFF:GOSUB745:XP=69:XR=75:CALL910':
  64. 505 IPL:CALL910'*
  65. 510 CLS:S$="XR files":GOSUB50:FILES:PRINT@280,"File to kill"EK$;:A$="":INPUTA$:IFA$=""THEN520
  66. 515 ONERRORGOTO530:KILLA$:RUN
  67. 520 IPL:GOSUB745:XP=69:XR=95:CALL910':
  68. 525 CALL910'*
  69. 530 L=8:S$="Bad fileSpec":GOSUB61:RESUME510
  70. 600 RETURN
  71. 700 KEYOFF:CLS:GOSUB54:PRINT" 0) Exit to previous screen":PRINT" n) Switch to bank n (n=1 to 4)":PRINT" *) Swap RAM with XR4":PRINT" $) Save RAM to XR4"
  72. 705 PRINT" !) Load XR4 to RAM":PRINT@280," Choice (0,1->4,*,$,!)"CY$;
  73. 710 A$=INKEY$:IFA$=""THEN710
  74. 715 PRINTA$CN$;:A=VAL(A$):IFATHEN720ELSEIFA$="*"THEN725ELSEIFA$="$"THEN730ELSEIFA$="!"THEN740ELSERUN
  75. 720 A=(A-1)MOD4:OUT128,A*8+32:POKE63850,A+49:RUN
  76. 725 GOSUB745:CALL910'*
  77. 730 A$="!RAM overwrite XR bank"+STR$(BB)+" (Y/N)?":GOSUB743:GOSUB745:CALL910'$
  78. 735 RUN
  79. 740 A$="!XR bank"+STR$(BB)+" overwrite RAM (Y/N)?":GOSUB743:GOSUB745:CALL910'!
  80. 743 PRINT@280,EK$A$CY$;
  81. 744 R$=INKEY$:IFR$=""THEN744ELSEPRINTR$CN$;:R=ASC(R$)OR32:IFR=121THENRETURNELSEIFR=110THENRUNELSE743
  82. 745 CLS:PRINT"wait..";
  83. 750 OUT128,BN*8:XR$="XR4MNJ.BA"+CHR$(13)+CHR$(0):XP=32239:CALL910']
  84. 755 RETURN
  85. 800 MENU
  86. 900 CLS:GOSUB1000:X$=X$(BB):GOSUB54
  87. 905 PRINT" Current bank"BB" is "X$:PRINT" 0) exit to menu":PRINT" n) n=1 to 4--switch to bank n":PRINT" 8) deactivate "X$:PRINT" 9) activate "X$:PRINT@280," choice (0,1->4,8,9)"CY$;
  88. 910 A$=INKEY$:IFA$=""THEN910ELSEPRINTA$CN$;:A=VAL(A$)
  89. 915 ONAGOTO920,920,920,920,,,,925,930:MENU
  90. 920 GOSUB940:OUT128,(A-1)*8+32:POKE63850,A+48:RUN
  91. 925 GOSUB940:RUN
  92. 930 GOSUB940:CALL63012:RUN
  93. 940 PRINT" OK..";:CALL32454:FORK=0TO36:POKE62981+K,PEEK(879+K):NEXT
  94. 941 FORI=-1639TO-1441STEP11:IFPEEK(I)=240THENPOKEI,0
  95. 942 NEXT:POKE65006,0:POKE65450,0:FORK=0TO7:CALL64712,,64+K:POKE64164+K,PEEK(64722):NEXT:RETURN
  96. 1000 'rom names
  97. 1001 X$(1)="??
  98. 1002 X$(2)="??
  99. 1003 X$(3)="??
  100. 1004 X$(4)="??
  101. 1005 RETURN
  102.