Hier meine TFORTH-Geschichte mit HRG-GRAFIK....

ZX-Team Forum
Antworten
funkheld
User
Beiträge: 193
Registriert: 16.11.2010, 18:20

Hier meine TFORTH-Geschichte mit HRG-GRAFIK....

Beitrag von funkheld » 25.11.2017, 14:05

Hallo, guten Tag.
Jetzt läuft mein TForth mit der HRG-Grafik.

Die umgesetzten Befehle (HRG.PDF lesen) :
------------------------------------------
HROFF
HRON
HRBANK : Seite HRBANK

HRPIX : x y HRPIX
HRUNPIX
HRXPIX

HRLINE : x y x1 y1 HRLINE
HRUNLINE
HRXLINE

HRLINETO : x y HRLINETO
HRUNLINETO
HRXLINETO

HRCIRCLE : x y r HRCIRCLE
HRUNCIRCLE
HRXCIRCLE

HRBOX : x y x1 y1 HRBOX
HRUNBOX
HRXBOX

HRINVERT

HRHCOPY

HRCLR
----------------------------------------------

Habe jetzt das zx81.rom mit der hrg64.p zusammengebracht wie es hier im Forum gezeigt wurde.
HRGROM.ROM.

In der Datei hrgfth.fth befinden sich alle obengenannten HRG-Befehle als Inline-Code.
Bei EightyOne wie üblich unter "Load Memory Block" mit Adresse 32768 laden und einlesen
(nachdem TFORTH gestartet ist) mit "32768 LOAD" wer nicht das fertige HRGTFORTH.P
nutzen möchte.

Ich mache das so:
- HRGROM.ROM einsetzen im EightyOne
- Starten
- SHIFT+S Taste , dann erscheint auf den Screen HRG und dann Return ,
anschließend Space und NEW (A-Taste auf dem PC), so wird die HRG gestartet.
- HRGTFORTH.P starten
und schon geht es los mit den Grafikbefehlen.

Hier noch einen Routine in TFORTH mit Sinus/Cosinus um einen Stern zu zeichnen.
Wie üblich die Datei GRAFIK.FTH in TFORTH einladen (siehe oben).

Starten unter TFORTH mit : 4 HRBANK HRON HRCLR STERN und Return
Mit HRG64.p kann man die Bank 4-7 nutzen.

Gruss

Code: Alles auswählen

DECIMAL

CREATE SINTAB 
0000 ,  0175 ,  0349 ,  0523 ,  0698 ,  0872 ,  
1045 ,  1219 ,  1392 ,  1564 ,  1736 ,  1908 , 
2079 ,  2250 ,  2419 ,  2588 ,  2756 ,  2924 ,  
3090 ,  3256 ,  3420 ,  3584 ,  3746 ,  3907 ,  
4067 ,  4226 ,  4384 ,  4540 ,  4695 ,  4848 ,  
5000 ,  5150 ,  5299 ,  5446 ,  5592 ,  5736 ,  
5878 ,  6018 ,  6157 ,  6293 ,  6428 ,  6561 ,  
6691 ,  6820 ,  6947 ,  7071 ,  7193 ,  7314 ,  
7431 ,  7547 ,  7660 ,  7771 ,  7880 ,  7986 ,  
8090 ,  8192 ,  8290 ,  8387 ,  8480 ,  8572 ,  
8660 ,  8746 ,  8829 ,  8910 ,  8988 ,  9063 ,  
9135 ,  9205 ,  9272 ,  9336 ,  9397 ,  9455 ,  
9511 ,  9563 ,  9613 ,  9659 ,  9703 ,  9744 , 
9781 ,  9816 ,  9848 ,  9877 ,  9903 ,  9925 ,  
9945 ,  9962 ,  9976 ,  9986 ,  9994 ,  9998 ,  
10000 , 

: NIP  ( x1 x2 -- x2)            
  SWAP DROP ;
  
: REVEAL  ( -- )
   LATEST DUP C@ 127 AND SWAP C!
;

: MOD  ( N1 N2 -- N3 )
   /MOD DROP
;

: */MOD  ( N1 N2 N3 -- N4 N5 )
   ROT >R R@ ABS ROT DUP R> XOR >R ABS UM* 
   BRANCH [ ' /MOD 15 + ,          
   REVEAL                         

: */  ( N1 N2 N3 -- N4 )
   */MOD NIP
;

: SINUS@        2 * SINTAB + @ ;
: SIN       
                DUP 0< >R ABS
                360 MOD 
                DUP 180 > 
				IF 180 - 1 >R 
				ELSE 0 >R THEN 
                DUP  90 > 
				IF 180 SWAP - THEN  
                SINUS@  
                R> IF NEGATE THEN 
                R> IF NEGATE THEN ;
: COS           90 + SIN ;

: STERN 360 0 DO 128 100 HRPIX I SIN 50 10000 */
  128 + I COS 50 10000 */ 100 + HRLINETO LOOP  ;
Dateianhänge
alleprogramme.zip
(18.14 KiB) 3-mal heruntergeladen

Antworten