Jump to content

Recommended Posts

Does anyone know how to use GRAPHICOMP by Barrry Traver? Do you you let his program look at your whole program listing, or do you just make a file of only graphic related parts? How do you get past the 4th screen?

 

Here is a sample of some GRAPHICs I would like to speed up the drawing of in XB. I guess if it works, it makes a file and you CALL LINK to that file somehow.

 

James

 

250 GOSUB 4000! DISPLAY EARTH
4000 !DRAW EARTH 645-760,970-1010
4010 CALL COLOR(2,6,1,3,6,1,4,3,6,5,15,2)
4020 RESTORE 4060
4030 FOR I=6 TO 14 :: CALL COLOR(I,16,2) :: NEXT I
4040 FOR I=0 TO 13 :: READ E$(I) :: CALL CHAR(40+I,E$(I)) :: NEXT I
4050 FOR I=0 TO 7 :: READ E$(I) :: CALL CHAR(I+56,E$(I)) :: NEXT I
4060 DATA 0000000000000F7F,000000000000F0FE,01030F1F3F7FFFFF
4070 DATA 80C0F0F8FCFEFFFF,0001010103030303,FFFFFFFFFFFFFFFF
4080 DATA 00808080C0C0C0C0,0303030301010100,C0C0C0C080808000
4090 DATA FF7F3F3F1F0F0703,FFFEFCFCF8F0E0C0,7F0F000000000000
4100 DATA FEF0000000000000,0800667C18666810
4110 DATA E0F07F7F7FFFFFFF,0818F8F8F0F8F0F0,7F7F7F3D1C0E0201
4120 DATA F0F0908800180000,03070F0F0F070703,F0FFFFFEFCFCF8F0
4130 DATA 0303010101010101,E0C0C0C080808000
4140 DISPLAY AT(2,24):CHR$(40)&CHR$(41) :: DISPLAY AT(3,23):CHR$(42)&CHR$(56)&CHR$(57)&CHR$(43)
4150 DISPLAY AT(4,22):CHR$(44)&CHR$(45)&CHR$(58)&CHR$(59)&CHR$(45)&CHR$(46)
4160 DISPLAY AT(5,22):CHR$(47)&CHR$(45)&CHR$(60)&CHR$(61)&CHR$(45)&CHR$(48)
4170 DISPLAY AT(6,23):CHR$(49)&CHR$(62)&CHR$(63)&CHR$(50)
4180 DISPLAY AT(7,24):CHR$(51)&CHR$(52) :: RETURN

post-19460-0-63535700-1320004352_thumb.jpg

post-19460-0-33149600-1320004458_thumb.jpg

post-19460-0-56245300-1320004479_thumb.jpg

post-19460-0-51088400-1320004490_thumb.jpg

Link to comment
Share on other sites

You didn't specify a vlaid filename for the output file. Your input file (DSK1.1028N) is fine. But DSK is not a legal output filename. You need to specify the output filename. Like this:

 

DSK1.TEST

 

Or something like. Then it will create a converted version of your program (I presume) which you will find on your disk number 1 with the filename TEST

 

Hope this helps.

Link to comment
Share on other sites

I got past that point, and assembled the source code it created to Dsk2.O. I meant to call it Dsk2.S, but I couldn't figure out how to rename it. Named the assembled object file DSK2.O2, but got an error. Can't figure out why. The Micropendium issue from 1991 has the first article and .dsk of GRAPHICOMP. I believe this is only the first version, not the final one I would need to use. I will try to upload the .dsk, article, and even the .mp3 of Barry Traver talking about graphicomp if it is small enough to fit here.

 

http://pdf.textfiles.com/zines/MICROPEDIUM/mp9101.max.pdf

 

It won't attach the 9101.dsk that goes with the magazine, at least not when I just tried.

post-19460-0-88014700-1320112068_thumb.jpg

post-19460-0-18011200-1320112080_thumb.jpg

Link to comment
Share on other sites

10 GOTO 60
20 DIM A$(100),B$(100)
30 AA$,AB,AB$,AC,AC$,AD,AF,AF$,AG,AG$,AH,AI,AJ,AO,AP,AQ,AR,BD,D,E,E$,EP$,G,H,J,K,O,P,P$,Q,Q$,R,R$,S,S$,T$,V$,W$,Z$
40 CALL ACCKEY :: CALL CLS :: CALL DECHEX :: CALL DELAY :: CALL END :: CALL EQWS :: CALL FB :: CALL GS :: CALL HDG :: CALL PAUSE :: CALL PN
50 CALL SCREEN :: CALL START :: CALL WTSU
60 !@P-
100 ! GRAPHICOMP COPYRIGHT (C) 1991 by Barry Traver, 835 Green Valley Drive, Philadelphia, PA 19128 (phone: 215/483-1379)
110 CALL FB(2,12) :: DISPLAY AT(1,10):"GRAPHICOMP": :"	    Version 1.4a": :"	  for MICROpendium"
120 DISPLAY AT(7,6):"Copyright (C) 1991":"	 by Barry A. Traver":"    All Rights Reserved!": : :"GRAPHICOMP is a limited XB"
130 DISPLAY AT(13,1):"graphics compiler to help   beginners to learn assembly language.  Limitations:  Usesimple graphics statements"
140 DISPLAY AT(17,1):"with only constants (numericand string) as parameters.  Use an XB LISTing as your   input file." :: CALL PAUSE
170 CALL FB(16,14) :: DISPLAY AT(1,5)ERASE ALL:"Here are the XB commands": :"GRAPHICOMP 1.4a can handle:": : :" CALL CLEAR"
190 DISPLAY AT(8,1):" CALL HCHAR(A,B,C[,D])": :" CALL VCHAR(A,B,C[,D])": :" DISPLAY AT(A,B)):C$[;]": :" DISPLAY AT(A,B)ERASE ALL:C$"
210 DISPLAY AT(17,1):"More commands will be added": :"in GRAPHICOMP 1.4b in next": :"month's MICROpendium." :: CALL PAUSE
220 D,K,AR,BD=0 :: CALL FB(2,4) :: DISPLAY AT(2,1)ERASE ALL:"Here are your choices:"
230 DISPLAY AT(5,1):"1. Many output files, many	 entry points (one file	  for each line number,	   one entry point for"
240 DISPLAY AT(9,4):"each file)": : :"2. One output file, many	   entry points (again,	    one entry point for"
250 DISPLAY AT(15,4):"each line number)": : :"3. One output file, one	    entry point (i.e., one	  CALL LINK does it all!)"
260 DISPLAY AT(23,1)BEEP:"What is your choice?" :: CALL ACCKEY(23,22,"13",E) :: CALL FB(2,12)
270 DISPLAY AT(7,1):"Input (LISTing) File?": :" DSK" :: IF E=1 THEN DISPLAY AT(15,1):"Output Drive (1-9)? "
280 IF E<>1 THEN DISPLAY AT(13,1):"Output File? ": :" DSK" :: IF E=3 THEN DISPLAY AT(19,1):"Entry Point?":"":" START"
290 ACCEPT AT(9,2)SIZE(-27)$ :: ON ERROR 300 :: OPEN #2:P$,INPUT :: ON ERROR STOP :: CALL SCREEN(12) :: DISPLAY AT(24,1):"" :: GOTO 320
300 ON ERROR 310 :: CLOSE #2
310 CALL SCREEN(10) :: DISPLAY AT(24,3):"Disk Error - Try Again!" :: RETURN 290
320 IF E=1 THEN 380 ELSE ACCEPT AT(15,2)SIZE(-27)$ :: ON ERROR 360 :: OPEN #1:P$,OUTPUT :: ON ERROR STOP
330 CALL SCREEN(12) :: DISPLAY AT(24,1):"" :: CALL HDG :: IF E=2 THEN 390
340 ACCEPT AT(21,2)VALIDATE(UALPHA)SIZE(-6):EP$ :: PRINT #1:"* ACCESSED BY":"* CALL LINK(""&EP$&"")":"" :: GOTO 390
360 ON ERROR 370 :: CLOSE #1
370 CALL SCREEN(10) :: DISPLAY AT(24,3):"Disk Error - Try Again!" :: RETURN 320
380 CALL ACCKEY(15,21,"19",AB)
390 CALL FB(2, :: PRINT "EXTENDED BASIC CODE:": :
400 IF EOF(2)THEN PRINT "EMPTY FILE!" :: STOP ELSE LINPUT #2:T$ :: IF T$="" THEN 400 ELSE 450
440 IF EOF(2)THEN 670 ELSE LINPUT #2:T$
450 IF LEN(T$)=80 THEN LINPUT #2:P$ :: T$=T$&P$! DV80 BAND-AID
480 PRINT T$ :: D=D+1 :: A$(D)=T$ :: B$(D-1)="L"&SEG$(T$,1,POS(T$," ",1)-1) :: IF POS(T$,"GOTO",1)<>0 THEN 440
490 AD=POS(T$," ",1) :: IF SEG$(T$,AD+1,1)="!" OR SEG$(T$,AD+1,3)="REM" THEN 440
530 IF E=1 THEN 440
550 IF POS(T$,"CALL CLEAR",1)<>0 OR POS(T$,"DISPLAY AT",1)<>0 THEN BD=(BD OR 2) :: GOTO 440
590 IF POS(T$,"CALL HCHAR",1)<>0 OR POS(T$,"CALL VCHAR",1)<>0 THEN BD=(BD OR 2) :: GOTO 440
660 GOTO 15000! ERROR
670 CALL DELAY(100) :: CALL FB(2,16) :: DISPLAY AT(11,11)ERASE ALL:"ENTERING": :TAB(10);"CONVERSION": :TAB(11);"SECTION!" :: CALL DELAY(100)
680 IF E>1 THEN DISPLAY ERASE ALL :: CALL FB(16,5) :: PRINT "ASSEMBLY CODE:":"" :: CALL GS(BD,AR)
690 IF E<>3 THEN 710
700 FOR R=0 TO 1 :: PRINT #R:"* DEFINE ENTRY POINT": :"	   DEF  "&EP$: :EP$;TAB(;"LWPI WS":"	   B    @"&B$(0):"" :: NEXT R
710 FOR Q=1 TO D :: T$=A$(Q) :: AD=POS(T$," ",1) :: S$=SEG$(T$,1,AD-1) :: Q$=S$&RPT$(" ",6-LEN(S$)) :: CALL FB(2,
720 DISPLAY AT(11,1):"EXTENDED BASIC LINE:": :T$ :: CALL DELAY(100) :: IF POS(T$,"GOTO",1)<>0 THEN GOSUB 14000 :: GOTO 915
740 AD=POS(T$," ",1) :: IF SEG$(T$,AD+1,1)="!" THEN GOSUB 14000 :: GOTO 915
750 AD=POS(T$," ",1) :: IF SEG$(T$,AD+1,3)="REM" THEN GOSUB 14000 :: GOTO 915
770 IF POS(T$,"CALL CLEAR",1)<>0 THEN GOSUB 2000 :: GOTO 910
810 IF POS(T$,"DISPLAY AT",1)<>0 THEN GOSUB 6000 :: GOTO 910
820 IF POS(T$,"CALL HCHAR",1)<>0 THEN AF$="H" :: AG$="INC  R0" :: GOSUB 7000 :: GOTO 910
890 IF POS(T$,"CALL VCHAR",1)<>0 THEN AF$="V" :: AG$="AI   R0,32" :: GOSUB 7000 :: GOTO 910
900 GOTO 15000! ERROR
910 Z$=""
915 IF E<>3 THEN 930 ELSE IF Q=D THEN CALL END(5,Z$) :: GOTO 930
920 FOR R=0 TO 1 :: PRINT #R:"* BRANCH TO NEXT SECTION":"":Z$;TAB(;"B    @"&B$(Q):"" :: NEXT R
930 NEXT Q :: IF E=1 THEN 980 ELSE CALL FB(2, :: DISPLAY AT(12,10):"End-Of-File": :TAB(;"FOR INPUT FILE" :: CALL DELAY(100)
940 DISPLAY ERASE ALL :: CALL FB(16,5) :: PRINT "ASSEMBLY SOURCE CODE:": :
960 FOR R=0 TO 1 :: PRINT #R:"* GENERAL WRAPUP":"" :: NEXT R :: CALL END(3,"") :: IF K THEN CALL WTSU
970 CALL END(24,"")
980 CLOSE #2 :: DISPLAY ERASE ALL :: CALL SCREEN(4) :: DISPLAY AT(11,11):"FINISHED!" :: DISPLAY AT(13,1)BEEP:"    Another file (Y/N)?"
990 CALL ACCKEY(13,25,"YN",S) :: IF S THEN 220 ELSE DISPLAY ERASE ALL :: STOP
2000 ! CLEAR
2010 CALL START(E,AB,S$,T$) :: IF E=1 THEN CALL EQWS(10)
2020 CALL PN(E,S$,Z$) :: CALL CLS(E,S$) :: IF E=1 THEN CALL END(27,"")ELSE IF E=2 THEN CALL END(5,"")
2030 RETURN
6000 ! DISPLAY AT
6010 G=0 :: K=1 :: AD=POS(T$,"ERASE ALL",1) :: IF AD<>0 THEN G=1
6020 AF=POS(T$,"DISPLAY AT(",1)+10 :: AG=POS(T$,",",AF+1) :: AH=POS(T$,")",AG+1) :: AI=POS(T$,""",AH+1) :: AJ=POS(T$,""",AI+1)
6030 AP=VAL(SEG$(T$,AF+1,AG-AF-1)) :: H=VAL(SEG$(T$,AG+1,AH-AG-1)) :: AO=32*(AP-1)+(H-1)+2 :: V$=SEG$(T$,AI+1,AJ-AI-1)
6040 IF SEG$(T$,AJ+1,1)<>";" THEN V$=V$&RPT$(" ",28-(H+LEN(V$))+1)
6050 R$=STR$(LEN(V$)) :: W$="'"&V$&"'" :: CALL START(E,AB,S$,T$) :: IF E=1 THEN CALL EQWS(10)ELSE R=1 :: GOTO 6130
6060 FOR R=0 TO 1 :: PRINT #R:"* TEXT FOR MESSAGE": :"T"&Q$&"TEXT "&W$:"	   EVEN":"" :: NEXT R
6070 CALL PN(E,S$,Z$) :: IF G THEN CALL CLS(E,S$) :: IF AD<>0 THEN Z$=""
6080 FOR R=0 TO 1
6090 PRINT #R:"* DISPLAY MESSAGE": :Z$;TAB(;"LI   R0,"&STR$(AO):"	   LI   R1,"&"T"&S$:"	   LI   R2,"&R$:"	   BLWP @VMBWS":""
6100 NEXT R :: IF E=1 THEN CALL END(3,"")ELSE IF E=2 THEN CALL END(5,"")
6110 IF E=1 THEN CALL WTSU :: CALL END(8,"") :: CLOSE #1
6120 RETURN
6130 J=ASC(SEG$(V$,R,1)) :: IF J<32 OR J=39 OR J>127 THEN 6140 :: R=R+1 :: IF R>LEN(V$)THEN 6060 ELSE 6130
6140 FOR R=0 TO 1 :: PRINT #R:"* DATA FOR DISPLAY":"":"T"&Q$ :: NEXT R :: AC$="	   BYTE " :: FOR P=1 TO LEN(V$) :: O=ASC(SEG$(V$,P,1))
6150 IF O<30 THEN O=O+128
6160 AC$=AC$&STR$(O)&","
6170 IF P/8=INT(P/8)OR P=LEN(V$)THEN AC$=SEG$(AC$,1,LEN(AC$)-1) :: FOR R=0 TO 1 :: PRINT #R:AC$ :: NEXT R :: AC$="	   BYTE "
6180 NEXT P :: FOR R=0 TO 1 :: PRINT #R:"	   EVEN":"" :: NEXT R :: GOTO 6070
7000 ! HCHAR AND VCHAR
7010 AF=POS(T$,"CALL "&AF$&"CHAR"&"(",1)+10 :: AG=POS(T$,",",AF+1) :: AH=POS(T$,",",AG+1) :: AI=POS(T$,",",AH+1)
7020 IF AI<>0 THEN AQ=1 ELSE AI=POS(T$,")",AH+1) :: AQ=0 :: GOTO 7040
7030 AJ=POS(T$,")",AI+1)
7040 AP=VAL(SEG$(T$,AF+1,AG-AF-1)) :: H=VAL(SEG$(T$,AG+1,AH-AG-1)) :: E$=STR$(VAL(SEG$(T$,AH+1,AI-AH-1))+96) :: CALL DECHEX(E$,2)
7050 AA$=STR$(32*(AP-1)+(H-1)) :: IF AQ=1 THEN AB$=SEG$(T$,AI+1,AJ-AI-1)ELSE AB$="1"
7060 CALL START(E,AB,S$,T$) :: IF AF$="H" THEN AC=(32*(AP-1)+(H-1)+VAL(AB$)>768)ELSE AC=(AP+VAL(AB$)>24)
7070 IF E=1 THEN CALL EQWS(10)
7080 CALL PN(E,S$,Z$) :: FOR R=0 TO 1 :: PRINT #R:"* WRITE "&AF$&"CHAR": :Z$;TAB(;"LI   R0,"&AA$:"	   LI   R1,>"&E$&"00"
7090 PRINT #R:"	   LI   R2,"&AB$:AF$&Q$&"BLWP @VSBW":"	   "&AG$
7100 IF AC THEN PRINT #R:"	   CI   R0,768":"	   JLT  C"&S$:"	   AI   R0,-"&STR$(767-(AF$="H")):"C"&S$;
7110 PRINT #R:TAB(;"DEC  R2":"	   JGT  "&AF$&Q$:"" :: NEXT R :: IF E=1 THEN CALL END(27,"")ELSE IF E=2 THEN CALL END(5,"")
7120 RETURN
14000 ! REM AND ! (AND GOTO)
14010 CALL START(E,AB,S$,T$) :: IF E=1 THEN CALL EQWS(
14020 CALL PN(E,S$,Z$) :: T$="* "&T$ :: FOR R=0 TO 1 :: PRINT #R:SEG$(T$,1,80) :: IF LEN(T$)>80 THEN PRINT #R:"* "&SEG$(T$,81,LEN(T$)-80)
14030 IF POS(T$,"GOTO",1)<>0 THEN PRINT #R:"* NOT IMPLEMENTED!"
14040 PRINT #R:"" :: NEXT R :: IF E=1 THEN CALL END(27,"")ELSE IF E=2 THEN CALL END(5,"")
14050 RETURN
15000 ! ERROR
15010 CALL SCREEN(10) :: PRINT: :"E R R O R !": : :"An error in processing has  occurred.  Please check the"
15020 PRINT "input file at point where   the problem occurred." :: CALL DELAY(300) :: STOP
29999 !@P+
30000 SUB DECHEX(A$,A) :: IF SEG$(A$,1,1)="-" AND VAL(A$)>-129 THEN A$=STR$(256-VAL(SEG$(A$,2,LEN(A$)-1)))
30010 B=0 :: C=LEN(A$) :: FOR D=1 TO C :: B=B+(POS("0123456789ABCDEF",SEG$(A$,D,1),1)-1)*10^(C-D) :: NEXT D :: A$=""
30020 E=INT(B/16) :: A$=SEG$("0123456789ABCDEF",B-16*E+1,1)&A$ :: IF E<>0 THEN B=E :: GOTO 30020
30030 IF A<>0 THEN IF LEN(A$)<A THEN A$="0"&A$ :: GOTO 30030
30040 SUBEND
30050 SUB DELAY(A) :: FOR B=1 TO A :: NEXT B :: SUBEND
30300 SUB FB(A,B) :: DISPLAY ERASE ALL :: FOR C=0 TO 14 :: CALL COLOR(C,A,1) :: NEXT C :: CALL SCREEN(B) :: SUBEND
30310 SUB START(A,B,A$,B$) :: CALL FB(16,5) :: PRINT "ASSEMBLY SOURCE CODE:": : :
30320 IF A=1 THEN OPEN #1:"DSK"&STR$(B)&".L"&A$&"/S",OUTPUT :: CALL HDG
30330 FOR C=0 TO 1 :: PRINT #C:"* ASSEMBLY EQUIVALENT OF" :: IF LEN(B$)<79 THEN PRINT #C:"* "&B$ :: GOTO 30350
30340 C$="* "&SEG$(B$,1,78) :: D$="* "&SEG$(B$,79,LEN(B$)-78) :: PRINT #C:C$$
30350 IF A=3 THEN 30380
30360 PRINT #C:"* ACCESSED BY":"* "&A$&" CALL LINK("L"&A$&"")":"":"* DEFINE ENTRY POINT": :"	   DEF  L"&A$
30380 PRINT #C:"" :: NEXT C :: SUBEND
30400 SUB PN(A,A$,B$) :: B$="L"&A$&RPT$(" ",5-LEN(A$)) :: IF A=3 THEN SUBEXIT
30410 FOR B=0 TO 1 :: PRINT #B:"* PROGRAM START": :B$&" LWPI WS":"" :: NEXT B :: B$="" :: SUBEND
30430 SUB END(A,B$) :: FOR B=0 TO 1 :: IF(A AND 1)THEN PRINT #B:"* RETURN TO XB":""
30440 IF(A AND 2)THEN PRINT #B:"RETURN LWPI GPLWS":"	   B    @BASIC":""
30450 IF(A AND 4)THEN PRINT #B:B$;TAB(;"B    @RETURN":""
30460 IF(A AND 8)THEN PRINT #B:"	   END":""
30470 NEXT B :: IF(A AND 16)THEN CLOSE #1
30480 SUBEND
30490 SUB CLS(E,B$) :: IF E=3 THEN L$="L"&B$ ELSE L$=""
30495 FOR A=0 TO 1 :: PRINT #A:"* CLEAR THE SCREEN": :L$;TAB(;"CLR  R0":"	   LI   R1,>8000":"	   LI   R2,768"
30500 PRINT #A:"C"&B$;TAB(;"BLWP @VSBW":"	   INC  R0":"	   DEC  R2":"	   JGT  C"&B$:""
30510 NEXT A :: SUBEND
30520 SUB EQWS(A) :: FOR B=0 TO 1
30530 PRINT #B:"* XB EQUATES":"":"BASIC  EQU  >006A":"GPLWS  EQU  >83E0"
30550 IF(A AND 2)THEN PRINT #B:"VSBW   EQU  >2020"
30570 PRINT #B:""
30580 NEXT B :: IF(A AND 8)THEN CALL WS
30590 SUBEND
30600 SUB WTSU :: FOR A=0 TO 1
30610 PRINT #A:"* WRITE-TO-SCREEN UTILITY": :"VMBWS  DATA VWS,VPN":"VWS    BSS  32":"VPN    MOV  *R13,R0":"	   MOV  @2(R13),R2"
30620 PRINT #A:"	   MOV  @4(R13),R3":"VLP    MOVB *R2+,R1":"	   AI   R1,>6000":"	   BLWP @VSBW":"	   INC  R0":"	   DEC  R3"
30630 PRINT #A:"	   JNE  VLP":"	   RTWP":"" :: NEXT A :: SUBEND
30650 SUB GS(A,B) :: FOR C=0 TO 1 :: PRINT #C:"* GENERAL SETUP":"" :: NEXT C :: CALL EQWS(A) :: CALL WS :: SUBEND
30710 SUB PAUSE :: DISPLAY AT(24,1):"(Press any key to continue.)"
30720 CALL KEY(0,A,B) :: IF B<1 THEN 30720
30730 DISPLAY ERASE ALL :: SUBEND
30740 SUB WS :: FOR A=0 TO 1 :: PRINT #A:"* DEFINE WORKSPACE": :"WS	 BSS  32":"" :: NEXT A :: SUBEND
30770 SUB HDG :: PRINT #1:"* THIS ASSEMBLY SOURCE CODE":"*	  WAS CREATED BY":"*  GRAPHICOMP (VERS. 1.4a),":"*  AN XB GRAPHICS COMPILER"
30780 PRINT #1:"*    BY BARRY A. TRAVER":"*  835 GREEN VALLEY DRIVE":"*  PHILADELPHIA, PA 19128":"*  (PHONE:  215/483-1379)":"" :: SUBEND
30790 SUB ACCKEY(A,B,A$,C) :: CALL GCHAR(A,B+2,D) :: DISPLAY AT(A,B)BEEP:CHR$(D); :: E=0
30800 CALL KEY(0,F,G) :: E=E+1 :: IF E=5 THEN CALL HCHAR(A,B+2,30)
30810 IF E=10 THEN CALL HCHAR(A,B+2,D) :: E=0
30820 IF G<1 THEN 30800 ELSE IF F>96 THEN F=F-32
30830 IF F=13 THEN F=D
30840 IF A$<>"YN" THEN 30850
30845 IF CHR$(F)<>"Y" AND CHR$(F)<>"N" THEN 30800 ELSE CALL HCHAR(A,B+2,F) :: C=F :: IF C=89 THEN C=1 :: SUBEXIT ELSE C=0 :: SUBEXIT
30850 IF CHR$(F)<SEG$(A$,1,1)OR CHR$(F)>SEG$(A$,2,1)THEN 30800
30860 CALL HCHAR(A,B+2,F) :: IF F>64 THEN F=F-64
30870 IF F>48 THEN F=F-48
30880 C=F :: SUBEND

Link to comment
Share on other sites

I meant to call it Dsk2.S, but I couldn't figure out how to rename it. Named the assembled object file DSK2.O2, but got an error. Can't figure out why.

 

Are you using this on a real TI? Perhaps the disk is full?

 

ZIP your files before uploading, then you should be okay!

Link to comment
Share on other sites

Using Win99/4a on a mac. The mac is emulating windows, which is simulating the 4a. Ha. Using a virtual disk, have to check if it is nearly full or not. Oh, and happy 11-1-11. I wonder how the object file gets "embedded" into XB. I thought it was something simple, but perhaps it has to do with that complicated list of things you have to build in another Traver article, with "XBALBASE" I think it was called, and all that.

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...