LOCATE in GRAPHICS 0

1, 2

Re: LOCATE in GRAPHICS 0

von Sleepy » Mo 12. Jan 2015, 20:11
Das deckt sich ja mit den Beobachtungen hier; Ich selbst hab´s in Turbo-BASIC und ATARI-BASIC probiert, Cash in Action!, bei allen drei Sprachen das selbe Ergebnis - da liegt die Vermutung von slx nahe dass es am OS liegt. ;-)

Es ist ja auch nicht wirklich tragisch, man muss es halt nur wissen um nicht in einem umfangreichen Programm wie blöd einen vermeidlichen Programmfehler zu suchen. ;-):mrgreen:

Sleeπ

Re: LOCATE in GRAPHICS 0

von synthpopalooza » Mi 18. Feb 2015, 16:57
There is a way to get rid of that cursor when in graphics 0 ... do POKE 752,1. This turns off the cursor when printing, and it won't leave those squares lying around the screen when you print. To set the cursor back to normal, do POKE 752,0.

Re: LOCATE in GRAPHICS 0

von Sleepy » Mi 18. Feb 2015, 18:16
Yes, a good hint.

My real problem is that the LOCATE-command deletes the character it reads. In the example found in the first contribution, I´ll LOCATE the "B" standing between the "A" and "C" - "B" is read and deleted...
I have to print a new "B" to the position I read.

Sleeπ

Re: LOCATE in GRAPHICS 0

von Jac » Fr 20. Feb 2015, 01:17
Hi,

der Grund ist wohl, dass es nur in Graphics 0 einen Cursor gibt. Das Zeichen wird von LOCATE in dem Sinne auch nicht "gelöscht", sondern durch das Zeichen setzt, was zuletzt unter dem Cursor verschwunden ist. Der Grund ist, dass die Implementierung von LOCATE wohl die Routine von PRINT wiederverwendet.

** ROD - Restore Old Data under Cursor
*
* ENTRY JSR ROD
*
* MODS
* Original Author Unknown
* 1. Bring closer to Coding Standard (object unchanged).
* R. K. Nordin 11/01/83
ROD = * ;entry F718:
LDY #0
LDA OLDADR+1
BEQ ROD1 ;if page zero

LDA OLDCHR ;old data
STA (OLDADR),Y

ROD1 RTS ;return

Re: LOCATE in GRAPHICS 0

von Sleepy » Fr 20. Feb 2015, 07:30
Jac hat geschrieben:sondern durch das Zeichen setzt, was zuletzt unter dem Cursor verschwunden ist.


Hm, das könnte ja bedeuten dass das Zeichen wieder auftaucht wenn man LOCATE ausführt, den gelesenen Werte rettet und dann nochmals LOCATE an der selben Stelle ausführt.

Das probiere ich heute Abend mal aus.

Sleepy

Re: LOCATE in GRAPHICS 0

von FlorianD » Di 3. Okt 2017, 13:21
ist ein altes Topic, ich weiss, aber ich habe noch was dazu gefunden.
Im MAPPING THE ATARI steht unter Speicherzelle 85,86 auch noch was dazu.
1, 2