[Coco] Proposed change on coVDG (level1)

Luis Antoniosi (CoCoDemus) retrocanada76 at gmail.com
Fri Jan 30 10:57:29 EST 2015


But that is intended :). $60 is acute accent.

The old code replaced $60 to $67 (apostrophe). I think it should be $27
(reverse apostrophe) to make the distinction between apostrophe and acute
accent symbol. What do you think ? How do you know you typed apostrophe or
acute accent if they look the same ???

Luis Felipe Antoniosi



On Fri, Jan 30, 2015 at 10:50 AM, Robert Gault <robert.gault at att.net> wrote:

> Louis,
>
> There may be an algorithm that would fit your code but as is, it doesn't
> work. For example your code converts $60 to $27 (old code $67).
>
> Any chance of a typo in your new code?
>
> Robert
>
>
> Luis Antoniosi (CoCoDemus) wrote:
>
>> hey,
>>
>> One thing that drives me crazy on level1 is the velocity, or lack of, to
>> output on screen.
>> I've checked the CoVDG Write and I found a bit awkward code.
>> If you examine it you will see it priorizes the wrong stuff, first comes
>> graphic blocks, then several characters
>> replacements and at the very end of the compare chains you get the text.
>>
>> I propose this one instead, very short and text oriented. it seems to work
>> good. the commented code is the old one. I do a direct
>> mapping of the characters except by '`' that becomes reverse apostrophe
>> (good for spotting the differnce).
>>
>> Other good change is that this mapping is automatically applied:
>>
>> | = up arrow
>> ^ = reverse up arrow
>> { = reverse [
>> | = reverse \
>> } = reverse ]
>> ~ = reverse left arrow
>> _ = left arrow
>>
>> What do you think ? Any reason for that old code ?
>>
>> Write
>> * new code
>> cmpa #$1F
>> bls Dispatch
>> ldb <V.CFlag,u
>> cmpa #$40 numbers ?
>> bcc L0001
>> adda #$40
>> bra L00D0
>> L0001 cmpa #$60 lowercase ?
>> beq L0003 '`'
>> ble L00D0 uppercase
>> L0002 tsta
>> bmi L00D0 graphic blocks
>> suba #$60
>> bra L00D0 lowercase
>> L0003 lda #$27
>> bra L00D0
>>
>> * old code
>> *  tsta
>> *         bmi   L00D0
>> *  cmpa  #$1F byte $1F?
>> *         bls   Dispatch branch if lower or same
>> *         ldb   <V.CFlag,u
>> *  beq   L00B0
>> *         cmpa  #$5E '^' ?
>> *         bne   L00A0
>> *         lda   #$00
>> *         bra   L00D0
>> *L00A0    cmpa  #$5F '_' ?
>> *         bne   L00A8
>> *         lda   #$1F
>> *         bra   L00D0
>> *L00A8    cmpa  #$60 '`' ?
>> *         bne   L00C0
>> *         lda   #$67
>> *         bra   L00D0
>> *L00B0    cmpa  #$7C '|' ?
>> *         bne   L00B8
>> *         lda   #$21
>> *         bra   L00D0
>> *L00B8    cmpa  #$7E '~' ?
>> *         bne   L00C0
>> *         lda   #$2D
>> *         bra   L00D0
>> *L00C0    cmpa  #$60 lowercase ?
>> *         bcs   L00C8
>> *         suba  #$60
>> *         bra   L00D0
>> *L00C8    cmpa  #$40 uppercase ?
>> *         bcs   L00CE
>> *         suba  #$40
>> *L00CE    eora  #$40
>>
>> L00D0    ldx   <V.CrsrA,u get cursor address in X
>>           sta   ,x+ store character at address
>>           stx   <V.CrsrA,u update cursor address
>>           cmpx  <V.ScrnE,u end of screen?
>>           bcs   L00DF branch if not
>>           bsr   SScrl else if at end of screen, scroll it
>> L00DF    bsr   ShowCrsr ends with a CLRB/RTS anyhow
>>
>>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>


More information about the Coco mailing list