★ AMSTRAD CPC ★ 3D CONSTRUCTION KIT (TEXT BUGFIX) ★

3D Construction Kit3D Construction Kit (text bugfix)

I think I can see the bug now.

In the text writing code it does this:

ld a,(hl) ; 7e
inc hl ; 23
ld h,(hl) ; 66
add a,e ; 83
add a,e ; 83
ld l,a ; 6f
ld a,h ; 7c
adc a,0 ; ce 00
ld h,a ; 67

The first add a,e is ok, but if it overflows (goes greater than 255) the second add a,e will update the low byte only of the address. The effect is that the text moves to a different position. The result is as you see.

Code needs to be changed so that full 16-bits are updated. Address will be calculated correct now.:

ld a,(hl) ;7e
inc hl ;23
ld h,(hl) ;66
ld l,a ;6f
ld d,0 ;16 00
add hl,de ;19
add hl,de ;19
nop ;00
nop ;00

this will work I think.

Your snapshot is in the middle of drawing I think so already some text is displayed wrong, but if you have an earlier snapshot from when text begins to write then I think we will see correct result.

Try these pokes:

These bytes:

6F,16,00,19,19,00,00

put these bytes at these addresses: 4111, 41b2 and 4233.
I see three places where similar code is being used, so I guessed that all of these need to be changed.

I hope this should work.

http://www.cpcwiki.eu/forum/applications/3d-construction-kit-bug/msg87055/#msg87055

★ AUTHOR (BUGFIX): Kevin THACKER
★ ANNÉE: 2014

★ AMSTRAD CPC ★ DOWNLOAD ★

File:
» 3D  Construction  Kit    (Writing  text  bugfixed)DATE: 2014-10-05
DL: 485
TYPE: ZIP
SiZE: 91Ko
NOTE: Extended DSK/43 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Info » Tennis
» Info » Rad
» Info » L.A.T.I.S
» Info » Missing Listings : CPC Infos
» Info » Amstrad Mania (Editorial Cometa)
» Info » Pso And Co
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop
Page créée en 274 millisecondes et consultée 1489 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.