Skip to content

Instantly share code, notes, and snippets.

@jedie
Last active August 29, 2015 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jedie/22dba94f5b7534f946f9 to your computer and use it in GitHub Desktop.
Save jedie/22dba94f5b7534f946f9 to your computer and use it in GitHub Desktop.
1 PRINT:PRINT "TEST FLOATS IN FPA0 V0.1"
2 PRINT "(GPL V3 OR ABOVE)"
3 PRINT:PRINT "COPYLEFT (C) 2014 JENS DIEMER":PRINT
11 COUNT=14
20 LA=&H4000 ' LOAD / EXECUTE ADDRESS
25 PRINT "POKE MACHINE CODE TO: $";HEX$(LA)
30 PA = LA ' START ADDRESS FOR POKE
50 READ HB$ ' HEX CONSTANTS
60 IF HB$="END" THEN 100
65 V=VAL("&H"+HB$)
70 POKE PA,V ' POKE VALUE INTO MEMORY
75 'PRINT "POKE $";HEX$(V);" AT $";HEX$(PA)
80 PA = PA + 1 ' INCREMENT POKE ADDRESS
90 GOTO 50
100 PRINT "LOADED, END ADDRESS IS: $"; HEX$(PA-1)
110 PRINT:INPUT "INPUT START VALUE (DEZ)";D$
115 IF D$="" THEN 20000 ELSE D=VAL(D$)
130 GOTO 500
140 PRINT "UP/DOWN OR ANYKEY FOR NEW VALUE";
150 I$ = INKEY$:IF I$="" THEN 150
160 IF I$=CHR$(&H5E) THEN D=D2-(COUNT*2) : GOTO 500 ' UP KEYPRESS
170 IF I$=CHR$(&H0A) THEN D=D2 : GOTO 500 ' DOWN KEYPRESS
180 GOTO 110 ' NOT UP/DOWN
500 CLS':PRINT "D=";D
550 FOR I = 0 TO COUNT
551 D2=(D+I) 'AND &HFFFF
552 'PRINT "SET D=";D2
553 POKE &H0052,D2/256 ' SET START VALUE
554 POKE &H0053,255 AND D2 ' SET START VALUE
559 'PRINT "EXEC MACHINE CODE"
560 EXEC LA
565 'PRINT "GET VALUES FROM FPA0"
570 EX =PEEK(&H704F) ' $4F FPA0 EXPONENT
580 MP =PEEK(&H7050) ' $50 FPA0 MS
580 NMS =PEEK(&H7051) ' %51 FPA0 NMS
580 NLS =PEEK(&H7052) ' $52 FPA0 NLS
580 LS =PEEK(&H7053) ' $53 FPA0 LS
580 SIGN=PEEK(&H7054) ' $54 FPA0 SIGN
690 PRINT "D=";RIGHT$(" "+STR$(D2),4);" FPA0=$"+HEX$(EX)+" $"+HEX$(MS)+" $"+HEX$(NMS)+" $"+HEX$(NLS)+" $"+HEX$(LS)+" $"+HEX$(SIGN)
700 NEXT I
710 GOTO 140
1000 ' MACHINE CODE IN HEX
1030 ' JSR $9C3E ;ASSIGN CONTENTS OF $52 / $53 TO FPA1
1040 DATA BD,9C,3E
1050 ' LDB $4F
1060 DATA D6,4F
1070 ' STB $704F
1080 DATA F7,70,4F
1090 ' LDB $50
1100 DATA D6,50
1110 ' STB $7050
1120 DATA F7,70,50
1130 ' LDB $51
1140 DATA D6,51
1150 ' STB $7051
1160 DATA F7,70,51
1170 ' LDB $52
1180 DATA D6,52
1190 ' STB $7052
1200 DATA F7,70,52
1210 ' LDB $53
1220 DATA D6,53
1230 ' STB $7053
1240 DATA F7,70,53
1250 ' LDB $54
1260 DATA D6,54
1270 ' STB $7054
1280 DATA F7,70,54
10000 ' RTS
10010 DATA 39
10020 DATA END
20000 PRINT:PRINT "BYE"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment