mirror of
https://github.com/rigreco/UniDisk.git
synced 2025-04-08 00:37:10 +00:00
New procedure
This commit is contained in:
parent
d93062a70c
commit
9d96acb2d0
BIN
AppleII/FP converter/BtoFAC
Normal file
BIN
AppleII/FP converter/BtoFAC
Normal file
Binary file not shown.
48
AppleII/FP converter/BtoFAC.asm
Normal file
48
AppleII/FP converter/BtoFAC.asm
Normal file
@ -0,0 +1,48 @@
|
||||
* @com.wudsn.ide.asm.hardware=APPLE2
|
||||
************************************
|
||||
* BASIC TO FAC TO FP1 *
|
||||
* Y=NUMBER *
|
||||
* CALL 2048,Y *
|
||||
************************************
|
||||
org $800
|
||||
|
||||
CHKCOM equ $DEBE
|
||||
FRMNUM equ $DD67
|
||||
|
||||
** Woz FP Accumulator 4 Byte + 1 Byte Extra + 1 Byte SIGN**
|
||||
FP1 equ $FA ;Translate F8 --> FA
|
||||
E equ $FE ;Translate FC --> FE
|
||||
SIGN equ $EB
|
||||
|
||||
** Applesoft FP Accumulator 5 Byte + 1 Byte Sign **
|
||||
FAC equ $9D
|
||||
|
||||
***************************
|
||||
|
||||
ENTRY jsr CHKCOM
|
||||
jsr FRMNUM ;VARIABLE->FAC
|
||||
|
||||
** FP1 to FAC conversion (conversion not yet) **
|
||||
|
||||
lda FAC
|
||||
dec A
|
||||
sta FP1
|
||||
|
||||
lda FAC+1
|
||||
eor #$80
|
||||
lsr
|
||||
sta FP1+1
|
||||
|
||||
lda FAC+2
|
||||
sta FP1+2
|
||||
|
||||
lda FAC+3
|
||||
sta FP1+3
|
||||
|
||||
lda FAC+3
|
||||
sta E
|
||||
|
||||
lda FAC+4
|
||||
sta SIGN
|
||||
|
||||
brk
|
52
AppleII/FP converter/BtoFAC_Output.txt
Normal file
52
AppleII/FP converter/BtoFAC_Output.txt
Normal file
@ -0,0 +1,52 @@
|
||||
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
||||
Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code
|
||||
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
||||
1 | 1 BtoFAC.asm 1 | Comment | 11 | | 0 | 00/8000 | * @com.wudsn.ide.asm.hardware=APPLE2
|
||||
2 | 1 BtoFAC.asm 2 | Comment | 11 | | 0 | 00/8000 | ************************************
|
||||
3 | 1 BtoFAC.asm 3 | Comment | 11 | | 0 | 00/8000 | * BASIC TO FAC TO FP1 *
|
||||
4 | 1 BtoFAC.asm 4 | Comment | 11 | | 0 | 00/8000 | * Y=NUMBER *
|
||||
5 | 1 BtoFAC.asm 5 | Comment | 11 | | 0 | 00/8000 | * CALL 2048,Y *
|
||||
6 | 1 BtoFAC.asm 6 | Comment | 11 | | 0 | 00/8000 | ************************************
|
||||
7 | 1 BtoFAC.asm 7 | Directive | 11 | | 0 | 00/8000 | org $800
|
||||
8 | 1 BtoFAC.asm 8 | Empty | 11 | | 0 | 00/0800 |
|
||||
9 | 1 BtoFAC.asm 9 | Equivalence | 11 | | 0 | 00/0800 | CHKCOM equ $DEBE
|
||||
10 | 1 BtoFAC.asm 10 | Equivalence | 11 | | 0 | 00/0800 | FRMNUM equ $DD67
|
||||
11 | 1 BtoFAC.asm 11 | Empty | 11 | | 0 | 00/0800 |
|
||||
12 | 1 BtoFAC.asm 12 | Comment | 11 | | 0 | 00/0800 | ** Woz FP Accumulator 4 Byte + 1 Byte Extra + 1 Byte SIGN**
|
||||
13 | 1 BtoFAC.asm 13 | Equivalence | 11 | | 0 | 00/0800 | FP1 equ $FA ;Translate F8 --> FA
|
||||
14 | 1 BtoFAC.asm 14 | Equivalence | 11 | | 0 | 00/0800 | E equ $FE ;Translate FC --> FE
|
||||
15 | 1 BtoFAC.asm 15 | Equivalence | 11 | | 0 | 00/0800 | SIGN equ $EB
|
||||
16 | 1 BtoFAC.asm 16 | Empty | 11 | | 0 | 00/0800 |
|
||||
17 | 1 BtoFAC.asm 17 | Comment | 11 | | 0 | 00/0800 | ** Applesoft FP Accumulator 5 Byte + 1 Byte Sign **
|
||||
18 | 1 BtoFAC.asm 18 | Equivalence | 11 | | 0 | 00/0800 | FAC equ $9D
|
||||
19 | 1 BtoFAC.asm 19 | Empty | 11 | | 0 | 00/0800 |
|
||||
20 | 1 BtoFAC.asm 20 | Comment | 11 | | 0 | 00/0800 | ***************************
|
||||
21 | 1 BtoFAC.asm 21 | Empty | 11 | | 0 | 00/0800 |
|
||||
22 | 1 BtoFAC.asm 22 | Code | 11 | | 3 | 00/0800 : 20 BE DE | ENTRY jsr {$DEBE}
|
||||
23 | 1 BtoFAC.asm 23 | Code | 11 | | 3 | 00/0803 : 20 67 DD | jsr {$DD67} ;VARIABLE->FAC
|
||||
24 | 1 BtoFAC.asm 24 | Empty | 11 | | 0 | 00/0806 |
|
||||
25 | 1 BtoFAC.asm 25 | Comment | 11 | | 0 | 00/0806 | ** FP1 to FAC conversion (conversion not yet) **
|
||||
26 | 1 BtoFAC.asm 26 | Empty | 11 | | 0 | 00/0806 |
|
||||
27 | 1 BtoFAC.asm 27 | Code | 11 | | 2 | 00/0806 : A5 9D | lda {$9D}
|
||||
28 | 1 BtoFAC.asm 28 | Code | 11 | | 1 | 00/0808 : 3A | dec A
|
||||
29 | 1 BtoFAC.asm 29 | Code | 11 | | 2 | 00/0809 : 85 FA | sta {$FA}
|
||||
30 | 1 BtoFAC.asm 30 | Empty | 11 | | 0 | 00/080B |
|
||||
31 | 1 BtoFAC.asm 31 | Code | 11 | | 2 | 00/080B : A5 9E | lda {$9D}+1
|
||||
32 | 1 BtoFAC.asm 32 | Code | 11 | | 2 | 00/080D : 49 80 | eor #$80
|
||||
33 | 1 BtoFAC.asm 33 | Code | 11 | | 1 | 00/080F : 4A | lsr
|
||||
34 | 1 BtoFAC.asm 34 | Code | 11 | | 2 | 00/0810 : 85 FB | sta {$FA}+1
|
||||
35 | 1 BtoFAC.asm 35 | Empty | 11 | | 0 | 00/0812 |
|
||||
36 | 1 BtoFAC.asm 36 | Code | 11 | | 2 | 00/0812 : A5 9F | lda {$9D}+2
|
||||
37 | 1 BtoFAC.asm 37 | Code | 11 | | 2 | 00/0814 : 85 FC | sta {$FA}+2
|
||||
38 | 1 BtoFAC.asm 38 | Empty | 11 | | 0 | 00/0816 |
|
||||
39 | 1 BtoFAC.asm 39 | Code | 11 | | 2 | 00/0816 : A5 A0 | lda {$9D}+3
|
||||
40 | 1 BtoFAC.asm 40 | Code | 11 | | 2 | 00/0818 : 85 FD | sta {$FA}+3
|
||||
41 | 1 BtoFAC.asm 41 | Empty | 11 | | 0 | 00/081A |
|
||||
42 | 1 BtoFAC.asm 42 | Code | 11 | | 2 | 00/081A : A5 A0 | lda {$9D}+3
|
||||
43 | 1 BtoFAC.asm 43 | Code | 11 | | 2 | 00/081C : 85 FE | sta {$FE}
|
||||
44 | 1 BtoFAC.asm 44 | Empty | 11 | | 0 | 00/081E |
|
||||
45 | 1 BtoFAC.asm 45 | Code | 11 | | 2 | 00/081E : A5 A1 | lda {$9D}+4
|
||||
46 | 1 BtoFAC.asm 46 | Code | 11 | | 2 | 00/0820 : 85 EB | sta {$EB}
|
||||
47 | 1 BtoFAC.asm 47 | Empty | 11 | | 0 | 00/0822 |
|
||||
48 | 1 BtoFAC.asm 48 | Code | 11 | | 1 | 00/0822 : 00 | brk
|
||||
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
2
AppleII/FP converter/FACtoB
Normal file
2
AppleII/FP converter/FACtoB
Normal file
@ -0,0 +1,2 @@
|
||||
¥ú<1A>€€¥û
|
||||
I€<EFBFBD><EFBFBD>€¥ü<EFBFBD>‚€¥ý<EFBFBD>ƒ€¥þ<EFBFBD>„€ €©€ ùê ¾Þ ãߪ +ë`
|
53
AppleII/FP converter/FACtoB.asm
Normal file
53
AppleII/FP converter/FACtoB.asm
Normal file
@ -0,0 +1,53 @@
|
||||
* @com.wudsn.ide.asm.hardware=APPLE2
|
||||
************************************
|
||||
* FP1 TO FAC TO BASIC *
|
||||
* CALL 32768,X *
|
||||
* PRINT X *
|
||||
************************************
|
||||
org $8000
|
||||
|
||||
CHKCOM equ $DEBE
|
||||
PTRGET equ $DFE3
|
||||
MOVMF equ $EB2B
|
||||
MOVFM equ $EAF9
|
||||
|
||||
** Woz FP Accumulator 4 Byte + 1 Byte Extra + 1 Byte SIGN**
|
||||
FP1 equ $FA ;Translate F8 --> FA
|
||||
E equ $FE ;Translate FC --> FE
|
||||
SIGN equ $EB ;Translate F3 --> EB
|
||||
|
||||
MEM equ $8080
|
||||
*
|
||||
** FP1 to MEM to FAC conversion FAC 5 Bytes **
|
||||
*
|
||||
ENTRY lda FP1 ; X1 1 Byte --> 9D FAC
|
||||
inc A ; 2^(FP1+1)
|
||||
sta MEM
|
||||
|
||||
lda FP1+1 ; M1 Hi 2 Byte --> 9E FAC
|
||||
asl
|
||||
eor #$80 ; Not Hi Bit Mantissa (change Sign)
|
||||
sta MEM+1
|
||||
|
||||
lda FP1+2 ; M1 3 Byte --> 9F FAC
|
||||
sta MEM+2
|
||||
|
||||
lda FP1+3 ; M1 Lo 4 Byte --> A0 FAC
|
||||
sta MEM+3
|
||||
|
||||
lda E ; Extra 00 5 Byte --> A1 FAC
|
||||
sta MEM+4
|
||||
|
||||
* lda $EB ; SIGN (F3 to EB) 6 Byte --> A2 FAC
|
||||
* sta MEM+5
|
||||
***************************
|
||||
*
|
||||
ldy #$80 ;Hi Byte MEM
|
||||
lda #$80 ;Lo Byte MEM
|
||||
jsr MOVFM ;MEM->FAC (9D to A2)
|
||||
*
|
||||
jsr CHKCOM
|
||||
jsr PTRGET
|
||||
tax
|
||||
jsr MOVMF ;FAC->VARIABLE
|
||||
DONE rts
|
57
AppleII/FP converter/FACtoB_Output.txt
Normal file
57
AppleII/FP converter/FACtoB_Output.txt
Normal file
@ -0,0 +1,57 @@
|
||||
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
||||
Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code
|
||||
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
||||
1 | 1 FACtoB.asm 1 | Comment | 11 | | 0 | 00/8000 | * @com.wudsn.ide.asm.hardware=APPLE2
|
||||
2 | 1 FACtoB.asm 2 | Comment | 11 | | 0 | 00/8000 | ************************************
|
||||
3 | 1 FACtoB.asm 3 | Comment | 11 | | 0 | 00/8000 | * FP1 TO FAC TO BASIC *
|
||||
4 | 1 FACtoB.asm 4 | Comment | 11 | | 0 | 00/8000 | * CALL 32768,X *
|
||||
5 | 1 FACtoB.asm 5 | Comment | 11 | | 0 | 00/8000 | * PRINT X *
|
||||
6 | 1 FACtoB.asm 6 | Comment | 11 | | 0 | 00/8000 | ************************************
|
||||
7 | 1 FACtoB.asm 7 | Directive | 11 | | 0 | 00/8000 | org $8000
|
||||
8 | 1 FACtoB.asm 8 | Empty | 11 | | 0 | 00/8000 |
|
||||
9 | 1 FACtoB.asm 9 | Equivalence | 11 | | 0 | 00/8000 | CHKCOM equ $DEBE
|
||||
10 | 1 FACtoB.asm 10 | Equivalence | 11 | | 0 | 00/8000 | PTRGET equ $DFE3
|
||||
11 | 1 FACtoB.asm 11 | Equivalence | 11 | | 0 | 00/8000 | MOVMF equ $EB2B
|
||||
12 | 1 FACtoB.asm 12 | Equivalence | 11 | | 0 | 00/8000 | MOVFM equ $EAF9
|
||||
13 | 1 FACtoB.asm 13 | Empty | 11 | | 0 | 00/8000 |
|
||||
14 | 1 FACtoB.asm 14 | Comment | 11 | | 0 | 00/8000 | ** Woz FP Accumulator 4 Byte + 1 Byte Extra + 1 Byte SIGN**
|
||||
15 | 1 FACtoB.asm 15 | Equivalence | 11 | | 0 | 00/8000 | FP1 equ $FA ;Translate F8 --> FA
|
||||
16 | 1 FACtoB.asm 16 | Equivalence | 11 | | 0 | 00/8000 | E equ $FE ;Translate FC --> FE
|
||||
17 | 1 FACtoB.asm 17 | Equivalence | 11 | | 0 | 00/8000 | SIGN equ $EB ;Translate F3 --> EB
|
||||
18 | 1 FACtoB.asm 18 | Empty | 11 | | 0 | 00/8000 |
|
||||
19 | 1 FACtoB.asm 19 | Equivalence | 11 | | 0 | 00/8000 | MEM equ $8080
|
||||
20 | 1 FACtoB.asm 20 | Comment | 11 | | 0 | 00/8000 | *
|
||||
21 | 1 FACtoB.asm 21 | Comment | 11 | | 0 | 00/8000 | ** FP1 to MEM to FAC conversion FAC 5 Bytes **
|
||||
22 | 1 FACtoB.asm 22 | Comment | 11 | | 0 | 00/8000 | *
|
||||
23 | 1 FACtoB.asm 23 | Code | 11 | | 2 | 00/8000 : A5 FA | ENTRY lda {$FA} ; X1 1 Byte --> 9D FAC
|
||||
24 | 1 FACtoB.asm 24 | Code | 11 | | 1 | 00/8002 : 1A | inc A ; 2^(FP1+1)
|
||||
25 | 1 FACtoB.asm 25 | Code | 11 | | 3 | 00/8003 : 8D 80 80 | sta {$8080}
|
||||
26 | 1 FACtoB.asm 26 | Empty | 11 | | 0 | 00/8006 |
|
||||
27 | 1 FACtoB.asm 27 | Code | 11 | | 2 | 00/8006 : A5 FB | lda {$FA}+1 ; M1 Hi 2 Byte --> 9E FAC
|
||||
28 | 1 FACtoB.asm 28 | Code | 11 | | 1 | 00/8008 : 0A | asl
|
||||
29 | 1 FACtoB.asm 29 | Code | 11 | | 2 | 00/8009 : 49 80 | eor #$80 ; Not Hi Bit Mantissa (change Sign)
|
||||
30 | 1 FACtoB.asm 30 | Code | 11 | | 3 | 00/800B : 8D 81 80 | sta {$8080}+1
|
||||
31 | 1 FACtoB.asm 31 | Empty | 11 | | 0 | 00/800E |
|
||||
32 | 1 FACtoB.asm 32 | Code | 11 | | 2 | 00/800E : A5 FC | lda {$FA}+2 ; M1 3 Byte --> 9F FAC
|
||||
33 | 1 FACtoB.asm 33 | Code | 11 | | 3 | 00/8010 : 8D 82 80 | sta {$8080}+2
|
||||
34 | 1 FACtoB.asm 34 | Empty | 11 | | 0 | 00/8013 |
|
||||
35 | 1 FACtoB.asm 35 | Code | 11 | | 2 | 00/8013 : A5 FD | lda {$FA}+3 ; M1 Lo 4 Byte --> A0 FAC
|
||||
36 | 1 FACtoB.asm 36 | Code | 11 | | 3 | 00/8015 : 8D 83 80 | sta {$8080}+3
|
||||
37 | 1 FACtoB.asm 37 | Empty | 11 | | 0 | 00/8018 |
|
||||
38 | 1 FACtoB.asm 38 | Code | 11 | | 2 | 00/8018 : A5 FE | lda {$FE} ; Extra 00 5 Byte --> A1 FAC
|
||||
39 | 1 FACtoB.asm 39 | Code | 11 | | 3 | 00/801A : 8D 84 80 | sta {$8080}+4
|
||||
40 | 1 FACtoB.asm 40 | Empty | 11 | | 0 | 00/801D |
|
||||
41 | 1 FACtoB.asm 41 | Comment | 11 | | 0 | 00/801D | * lda $EB ; SIGN (F3 to EB) 6 Byte --> A2 FAC
|
||||
42 | 1 FACtoB.asm 42 | Comment | 11 | | 0 | 00/801D | * sta MEM+5
|
||||
43 | 1 FACtoB.asm 43 | Comment | 11 | | 0 | 00/801D | ***************************
|
||||
44 | 1 FACtoB.asm 44 | Comment | 11 | | 0 | 00/801D | *
|
||||
45 | 1 FACtoB.asm 45 | Code | 11 | | 2 | 00/801D : A0 80 | ldy #$80 ;Hi Byte MEM
|
||||
46 | 1 FACtoB.asm 46 | Code | 11 | | 2 | 00/801F : A9 80 | lda #$80 ;Lo Byte MEM
|
||||
47 | 1 FACtoB.asm 47 | Code | 11 | | 3 | 00/8021 : 20 F9 EA | jsr {$EAF9} ;MEM->FAC (9D to A2)
|
||||
48 | 1 FACtoB.asm 48 | Comment | 11 | | 0 | 00/8024 | *
|
||||
49 | 1 FACtoB.asm 49 | Code | 11 | | 3 | 00/8024 : 20 BE DE | jsr {$DEBE}
|
||||
50 | 1 FACtoB.asm 50 | Code | 11 | | 3 | 00/8027 : 20 E3 DF | jsr {$DFE3}
|
||||
51 | 1 FACtoB.asm 51 | Code | 11 | | 1 | 00/802A : AA | tax
|
||||
52 | 1 FACtoB.asm 52 | Code | 11 | | 3 | 00/802B : 20 2B EB | jsr {$EB2B} ;FAC->VARIABLE
|
||||
53 | 1 FACtoB.asm 53 | Code | 11 | | 1 | 00/802E : 60 | DONE rts
|
||||
------+----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
|
Loading…
x
Reference in New Issue
Block a user