mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-06 17:29:39 +00:00
affiche_texte finished!
I am happy!
This commit is contained in:
parent
4b99dfd4a4
commit
1ed9db2a57
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -947,7 +947,16 @@ affiche_texte
|
||||||
|
|
||||||
sep #$20 ; A en 8-bits
|
sep #$20 ; A en 8-bits
|
||||||
|
|
||||||
* 1- recopie le texte entier
|
* 1- clear le texte final
|
||||||
|
|
||||||
|
ldx #0 ; on remplit de space chars
|
||||||
|
lda #texteSPACE
|
||||||
|
]lp sta texte_final,x
|
||||||
|
inx
|
||||||
|
cpx #max_colonnes*max_lignes
|
||||||
|
bcc ]lp
|
||||||
|
|
||||||
|
* 2- recopie le texte entier
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
]lp lda [dpTEXTES],y
|
]lp lda [dpTEXTES],y
|
||||||
|
@ -964,7 +973,7 @@ at_2 sep #$20
|
||||||
|
|
||||||
ldx i
|
ldx i
|
||||||
ldy #0
|
ldy #0
|
||||||
]lp lda texte,x
|
]lp lda texte,x
|
||||||
sta ligne_max,y
|
sta ligne_max,y
|
||||||
inx
|
inx
|
||||||
iny
|
iny
|
||||||
|
@ -1010,15 +1019,17 @@ at_4 stx len_max
|
||||||
inx
|
inx
|
||||||
cpx len_max
|
cpx len_max
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
beq ]lp
|
|
||||||
|
|
||||||
rep #$20
|
cpx #max_colonnes
|
||||||
lda #max_colonnes
|
bcs noSPC
|
||||||
sec
|
|
||||||
sbc len_max
|
lda #instrSPACE
|
||||||
tax
|
]lp jsr set_textefinal
|
||||||
sep #$20
|
inx
|
||||||
jsr set_space
|
cpx #max_colonnes
|
||||||
|
bcc ]lp
|
||||||
|
|
||||||
|
noSPC
|
||||||
|
|
||||||
* ADD i%,LEN(ligne_max$)
|
* ADD i%,LEN(ligne_max$)
|
||||||
|
|
||||||
|
@ -1037,20 +1048,17 @@ at_case1 ldx i ; on utilise X pour
|
||||||
inx
|
inx
|
||||||
stx i
|
stx i
|
||||||
|
|
||||||
ldx #max_colonnes
|
ldx #0
|
||||||
jsr set_space
|
lda #instrSPACE
|
||||||
bra at_8
|
]lp jsr set_textefinal
|
||||||
|
inx
|
||||||
|
cpx #max_colonnes
|
||||||
|
bcc ]lp
|
||||||
|
bcs at_8
|
||||||
|
|
||||||
* DEFAULT
|
* DEFAULT
|
||||||
|
|
||||||
* DEC return% - useless
|
at_default ldx #0 ; ligne_max$=LEFT$(return$,return%)
|
||||||
|
|
||||||
at_default
|
|
||||||
* dec return
|
|
||||||
|
|
||||||
* ligne_max$=LEFT$(return$,return%)
|
|
||||||
|
|
||||||
ldx #0
|
|
||||||
]lp lda ligne_max,x
|
]lp lda ligne_max,x
|
||||||
jsr set_textefinal
|
jsr set_textefinal
|
||||||
inx
|
inx
|
||||||
|
@ -1059,13 +1067,16 @@ at_default
|
||||||
|
|
||||||
* b$=b$+ligne_max$+SPACE$(max_colonnes|-return%)
|
* b$=b$+ligne_max$+SPACE$(max_colonnes|-return%)
|
||||||
|
|
||||||
rep #$20
|
cpx #max_colonnes
|
||||||
lda #max_colonnes
|
bcs noSPC2
|
||||||
sec
|
|
||||||
sbc return
|
lda #instrSPACE
|
||||||
tax
|
]lp jsr set_textefinal
|
||||||
sep #$20
|
inx
|
||||||
jsr set_space
|
cpx #max_colonnes
|
||||||
|
bcc ]lp
|
||||||
|
|
||||||
|
noSPC2
|
||||||
|
|
||||||
* ADD i%,return%+1
|
* ADD i%,return%+1
|
||||||
|
|
||||||
|
@ -1079,8 +1090,7 @@ at_default
|
||||||
|
|
||||||
* UNTIL i%>=longueur_texte%
|
* UNTIL i%>=longueur_texte%
|
||||||
|
|
||||||
at_8
|
at_8 rep #$20
|
||||||
rep #$20
|
|
||||||
lda dpTO
|
lda dpTO
|
||||||
dec
|
dec
|
||||||
sta dpTO
|
sta dpTO
|
||||||
|
@ -1091,42 +1101,18 @@ at_8
|
||||||
bcs at_9
|
bcs at_9
|
||||||
brl at_2 ; we loop
|
brl at_2 ; we loop
|
||||||
|
|
||||||
* on comble de lignes blanches
|
at_9
|
||||||
|
mx %00
|
||||||
at_9 ldx #0 ; on remplit de space chars
|
|
||||||
lda #texteSPACE
|
|
||||||
]lp sta texte,x
|
|
||||||
inx
|
|
||||||
cpx #max_colonnes*max_lignes
|
|
||||||
bcc ]lp
|
|
||||||
|
|
||||||
rep #$20 ; la longueur du texte final
|
|
||||||
lda dpTO
|
|
||||||
sec
|
|
||||||
sbc #texte_final
|
|
||||||
sta return
|
|
||||||
sep #$20
|
|
||||||
|
|
||||||
ldx #0
|
|
||||||
]lp lda texte_final,x
|
|
||||||
sta texte+max_colonnes,x
|
|
||||||
inx
|
|
||||||
cpx return
|
|
||||||
bcc ]lp
|
|
||||||
|
|
||||||
* on imprime le texte (enfin)
|
* on imprime le texte (enfin)
|
||||||
|
|
||||||
modeForeCopy = $0004 ; QDII Table 16-10
|
modeForeCopy = $0004 ; QDII Table 16-10
|
||||||
|
|
||||||
mx %00
|
|
||||||
|
|
||||||
rep #$20
|
rep #$20
|
||||||
|
|
||||||
jsr switch_640 ; switch to 640
|
jsr switch_640 ; switch to 640
|
||||||
|
bra skipME
|
||||||
|
|
||||||
* on s'occupe des couleurs d'index 5 et A
|
* on s'occupe des couleurs d'index 5 et A
|
||||||
|
|
||||||
bra skipME
|
|
||||||
|
|
||||||
lda ptrFOND
|
lda ptrFOND
|
||||||
sta dpFROM
|
sta dpFROM
|
||||||
|
@ -1183,7 +1169,7 @@ skipME
|
||||||
PushWord #modeForeCopy
|
PushWord #modeForeCopy
|
||||||
_SetTextMode
|
_SetTextMode
|
||||||
|
|
||||||
PushLong #texte
|
PushLong #texte_final
|
||||||
PushWord #1
|
PushWord #1
|
||||||
PushWord #1
|
PushWord #1
|
||||||
PushWord #0 ; c'est normalement le modeForeCopy
|
PushWord #0 ; c'est normalement le modeForeCopy
|
||||||
|
@ -1193,18 +1179,10 @@ skipME
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*--- output X space char dans texte final
|
*--- output dans texte final
|
||||||
|
|
||||||
mx %10
|
mx %10
|
||||||
|
|
||||||
set_space lda #instrSPACE
|
|
||||||
]lp jsr set_textefinal
|
|
||||||
dex
|
|
||||||
bne ]lp
|
|
||||||
rts
|
|
||||||
|
|
||||||
*--- output dans texte final
|
|
||||||
|
|
||||||
set_textefinal
|
set_textefinal
|
||||||
sta (dpTO)
|
sta (dpTO)
|
||||||
inc dpTO
|
inc dpTO
|
||||||
|
@ -1462,6 +1440,23 @@ tblATARI hex 000102030405060708090A0B0C0D0E0F
|
||||||
hex E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
|
hex E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
|
||||||
hex F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
|
hex F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
|
||||||
|
|
||||||
|
tblUPPER hex 000102030405060708090A0B0C0D0E0F
|
||||||
|
hex 101112131415161718191A1B1C1D1E1F
|
||||||
|
hex 202122232425262728292A2B2C2D2E2F
|
||||||
|
hex 303132333435363738393A3B3C3D3E3F
|
||||||
|
hex 404142434445464748494A4B4C4D4E4F
|
||||||
|
hex 505152535455565758595A5B5C5D5E5F
|
||||||
|
hex 604142434445464748494A4B4C4D4E4F ; a-z => A-Z
|
||||||
|
hex 505152535455565758595A7B7C7D7E7F
|
||||||
|
hex 808182838485868788898A8B8C8D8E8F
|
||||||
|
hex 909192939495969798999A9B9C9D9E9F
|
||||||
|
hex A0A1A2A3A4A5A6A7A8A9AAABACADAEAF
|
||||||
|
hex B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
|
||||||
|
hex C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
|
||||||
|
hex D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
|
||||||
|
hex E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
|
||||||
|
hex F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
|
||||||
|
|
||||||
*-----------------------
|
*-----------------------
|
||||||
* CPRINT - OK
|
* CPRINT - OK
|
||||||
*-----------------------
|
*-----------------------
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user