(ASM2)
Code: Select all
@CURSEUR=8F5
@CLEAR=A2A
@CHAINE=B6B
CALL CLEAR ; CLS
LD BC,0707
CALL CURSEUR ; AT 7,7
LD BC,000A
LD DE,TEXT1
CALL CHAINE ; PRINT CHAIN LEN=BC;@TEXT1
@TEXT1
DEFM "HELLO WORLD"
Code: Select all
@CURSEUR=8F5
@CLEAR=A2A
@CHAINE=B6B
CALL CLEAR ; CLS
LD BC,0707
CALL CURSEUR ; AT 7,7
LD BC,000A
LD DE,TEXT1
CALL CHAINE ; PRINT CHAIN LEN=BC;@TEXT1
@TEXT1
DEFM "HELLO WORLD"
Works! Thanks a lot!olofsen wrote:Does the attached slightly modified version work, with just RUN and normal sz81 settings?
Code: Select all
@CURSEUR=8F5
LD BC,0808 ; PRINT AT VALUE
LD HL,TEXT1 ; TEXT OFFSET
CALL GDISP; Go to Display proc. VVVV
RET ; EXIT TO BASIC.
;------------------------------
@GDISP
PUSH HL ; SAVE ACTUAL VALUE (TEXT1 offset)
CALL CURSEUR ; AT 8,8; move cursor to...(HL changed!!!)
POP HL ; RELOAD VALUE (TEXT1 offset)
DEC HL
@SPRINT
INC HL
LD A,(HL)
CP FF
RET Z ; IF AF flag is 1 'Equal' ;;;; EXIT THE CALL PROC. AAAA
RST 10 ; PUT A TO THE SCREEN (and jump to next line)
JR SPRINT ; NOT A CALL COMMAND !!! 1 CALL= 1 RET
@TEXT1
DEFM "HELLO WORLD"
DEFB FF
Code: Select all
@CURSEUR=8F5
LD BC,0808
LD HL,TEXT1
CALL GDISP
RET
@GDISP
PUSH HL
CALL CURSEUR
POP HL
DEC HL
@SPRINT
INC HL
LD A,(HL)
CP FF
RET Z
RST 10
JR SPRINT
@TEXT1
DEFB "HELLO WORLD"
DEFB FF
Code: Select all
20 REM ** TYPE RUN **
Code: Select all
10 RAND VAL "USR 16514"
10 RAND USR VAL "16514"
Code: Select all
SPRINT POP HL
LD A,(HL)
INC HL
PUSH HL
CP $FF
RET Z
RST 10H
JR SPRINT
Code: Select all
;------- TASM ASM mnemonics. -------
; Compile this file using:
; Set TASMOPTS = -b
; tasm -80 ThisCode.tas MyBinary.BIN
;-----------------------------------
; Zx81 Program name: VB81 XuR [helloworld.p] :
; REM line name: D=16514/16543 : H=4082/409F
#define ORG .org ; TASM cross-assembler definitions
#define equ .equ
;-----------------------------------
;- ZX81 CARACTERS CODES ------------
;-----------------------------------
_ .equ $00
D .equ $29
E .equ $2A
H .equ $2D
L .equ $31
O .equ $34
R .equ $37
W .equ $3C
;-----------------------------------
;------------------------------------
;-Basic sub-routine entry. -
;+----------------------------------+
; Lb4082 ; <- USR Basic Enty.
;+----------------------------------+
ORG $4082 ; [@16514/@h4082]
Lb4082: ; <- USR Basic Enty.
CALL Lb4096 ; [16534]
.db H,E,L,L,O,$FF,$CD,$96; ZX-TEXT
.db $40,_,W,O,R,L,D,$FF; ZX-TEXT
RET ; ==========================
Lb4096:
POP HL
LD A,(HL)
INC HL
PUSH HL
CP $FF ; [255]
RET Z
RST 10H ; Display= A reg.
JR Lb4096 ; [$4096:16534]
.end