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=1'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 &H1052,D2/256 ' SET START VALUE
554 POKE &H1053,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 MS =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
800 ' MACHINE CODE IN HEX
810 ' LDD $1052
820 DATA FC,10,52
1030 ' JSR $8C37 ; ADD D TO FPA0
1040 DATA BD,8C,37
1050 ' LDX $4F
1060 DATA 9E,4F
1070 ' STX $704F
1080 DATA BF,70,4F
1090 ' LDX $51
1100 DATA 9E,51
1110 ' STX $7051
1120 DATA BF,70,51
1130 ' LDX $53
1140 DATA 9E,53
1150 ' STX $7053
1160 DATA BF,70,53
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