ZX Review #3-4
22 июля 1997

Studies - E. Frost. Running line.

<b>Studies</b> - E. Frost. Running line.
(C) Eugene Frost
Krasnoyarsk Territory, pp. Brazhnoe.


   I suggest a program like "running a line on the table at 
interrupt." Text of the program is given adapted to interrupt,

as I believe that it is easier to remove
"Preryvatelnye" bells and whistles than
their supply. Here is its listing:
147.

       ORG 50000
TABLE EQU 60000
SIZE EQU 8
IMOFF DI

       LD A, 63

       LD I, A

       IM 1

       EI

       RET

       ENT
IMON DI

       LD A, 9

       LD I, A

       IM 2

       LD A, # C3

       LD (65129), A

       LD HL, SCROLL

       LD (65130), HL

       EI

       RET
SCROLL PUSH AF

       PUSH HL

       PUSH DE

       PUSH BC

       CALL LINE

       POP BC

       POP DE

       POP HL

       POP AF

       JP 1956
NEXT LD HL, (TXTM)

       INC HL

       LD (TXTM), HL

       LD A, (HL)

       CP 255

       JR NZ, NEXT1

       LD HL, TXT

       LD (TXTM), HL

       LD A, (HL)
NEXT1 AND 127

       CP 1932

       JR C, NEXT3

       LD L, A

       LD H, 0

       ADD HL, HL

       ADD HL, HL

       ADD HL, HL

       LD DE, (23606)

       ADD HL, DE

       LD DE, BUF + SIZE

       LD B, 8
NEXT2 LD A, (HL)

       LD (DE), A

       INC HL

       INC D

       DJNZ NEXT2
NEXT3 LD A, 7

       JR LINE2
LINE LD A, (LINEM)

       DEC A

       JR Z, NEXT
LINE2 LD (LINEM), A

       CALL SCR

       RET
SCR LD DE, TABLE

       LD HL, BUF + SIZE

       LD C, 8
SCR1 PUSH HL

       AND A

       RL (HL)

       DEC HL

       LD B, SIZE
SCR2 PUSH BC

       RL (HL)

       PUSH AF

       CALL DEG

       DEC HL

       POP AF

       POP BC

       DJNZ SCR2

       POP HL

       INC H

       DEC C

       JR NZ, SCR1

       RET
DEG LD B, 8
DEG1 PUSH BC

       LD A, (HL)
DEG2 RLA

       DJNZ DEG2

       CALL PLOT

       POP BC

       DJNZ DEG1

       RET
PLOT PUSH HL

       EX DE, HL

       LD C, (HL)

       JR NC, PL2
PL1 LD B, C
PL2 INC HL

       LD E, (HL)

       INC HL

       LD D, (HL)

       INC HL

       EX DE, HL

       LD A, (HL)

       OR C

       XOR C

       OR B

       LD (HL), A

       POP HL

       RET
LINEM DEFB 1
TXTM DEFW TXT-1
BUF DEFS 2048
TXT DEFM "HELLO ALL HA"

       DEFM "CKERS ALL OV"

       DEFM "ER THE WORLD"

       DEFM "!!!"

       DEFS SIZE

       DEFB 255
2

   Also, give it a dump:

C350: F3 3E 3F ED 47 ED 56 FB: F5
C358: C9 F3 3E 09 ED 47 ED 5E: 9D
C360: 3E C3 32 69 FE 21 6D C3: 0E
C368: 22 6A FE FB C9 F5 E5 D5: 28
C370: C5 CD AE C3 C1 D1 E1 F1: 9A
C378: C3 38 00 2A FE C3 23 22:66
C380: FE C3 7E FE FF 20 July 1921: C7
C388: 00 CC 22 FE C3 7E E6 7F: DD
C390: FE 20 38 16 6F 26 00 29:7 D
C398: 29 29 ED 5B 36 5C 19 November: B1
C3A0: 08 C4 06 08 7E 12 23 14:04
C3A8: 10 FA 3E 18 July 2006 3A FD: 0F
C3B0: C3 3D 28 C7 32 FD C3 CD: 21
C3B8: BB C3 C9 EA 21 November 1960 8:46
C3C0: C4 0E 08 E5 A7 CB 16 2B: F5
C3C8: June 2008 C5 CB 16 F5 CD DC: DD
C3D0: C3 2B F1 C1 10 F4 E1 24:3 C
C3D8: 0D 20 E8 C9 June 2008 C5 7E: CA
C3E0: October 17 FD CD EA C3 C1 10:12
C3E8: F5 C9 E5 EB 4E 30 January 1941: F9
C3F0: 23 5E 23 56 23 EB 7E B1: EA
C3F8: A9 B0 77 E1 C9 01 FF CB: 00

C400 - CBFF - buffer area

CC00: 48 45 4C 4C 4F 20 41 4C: ED
CC08: 4C 20 48 41 43 45 52 4B: EE
CC10: 53 20 41 4C 4C 4F 20 56: ED
CC18: 45 52 20 54 48 45 20 57: F3
CC20: 4F 52 4C 44 20 21 21 21: A0
CC28: 20 00 00 00 00 00 00 00:14
CC30: 00 FF 00 00 00 00 00 00: FB


   Without any change
program interrupt takes more than 1 / 50 seconds
SOS but not too slow
strongly (to work with him at the end of the handler put JP 56 -
it can safely remove).
Table size for scroll'a and
its length depends on the variable
SIZE and SIZE * equal to 192. In the present form of the 
variable is set to eight, which means that the screen SPECCY 
will run eight quite decent form letters. If necessary, it is 
enough just to change the text on the assembler and text in 
BASIC (an editor table - at the request of the program).

The editor is mashinokodovaya
insert - the text:
147.

       ORG [PROG +7]; so
; Can not write, count
; This value.


       LD A, (PROG +5)

       AND # 18

       RRCA

       RRCA

       RRCA

       OR # 58

       LD B, A

       LD A, (PROG +6)

       AND # 07

       RRCA

       RRCA

       RRCA

       ADD A, D

       LD C, A

       RET
2

   This text should be in line otassemblirovat REM, leaving two
bytes of variables. Value
PROG take from the editor, she
depends on the availability BETA-DISK and
INTERFACE-1. Reduced version
editor written per
taped version of the computer
(I drive is not burdened).
Happy as their owners can easily add the necessary
USR 15619. He is rather clumsy,
but in general, cope with their
work, setting the trajectory of scrolling, using the "wavy" 
graphics sinus (can cosine).


   Also, no problem you can
instead "volnovodstva"
insert an elementary survey of the keyboard and create their 
own unique and inimitable table. Your attention is drawn to the 
label BUF, which reserves a memory space large enough to store 
32 letters, the storage format that matches the format 
sinklerovskogo screen (this explains so a considerable amount 
of buffer), so that when you install the BUF in the screen you 
will have another very ordinary traveling line needed to

scan.

   Tag TAB determines the starting address table and must 
conform to the input value of request BASIC editor.



  0 REM this should be mashinokodovaya procedure.
 10 PAPER 0: INK 7: BORDER 0: CLEAR 24999
 20 INPUT "TAB"; r; REM start address of the location of the 
table.  30 INPUT "SIZE"; d; REM and its size (in chars)

 40 LET q = PEEK 23636 * 256 + PEEK 23635
100 FOR m = 88 TO 57 STEP -32 / d
110 FOR n = 255 TO 0 STEP -32 / d
120 LET x = n
130 LET y = INT (m + n / 5 * SIN (n/25))
140 PLOT x, y
150 GO SUB 300
160 NEXT n
170 NEXT m
180 STOP
300 REM * CREATING TABLE *
310 LET c = INT (x / 8): LET u = INT (y / 8)
320 POKE q +5,21-u: POKE q +6, c
330 LET s = USR (q +7) + ABS (7 - (yu * 8)) * 256: PRINT # 0; 
AT 1,0; 

    "SCREEN $" s
340 LET b = 2 ^ (ABS (xc * 8-7)): PRINT # 0; AT 1,23; "BIN"; b; 
"" 350 PRINT # 0; AT 0,23; "TAB"; r

360 POKE r, b
370 POKE r +2, INT (s/256): POKE r +1, (s-INT (s/256) * 256)
380 LET r = r +3
390 RETURN

********************************






Other articles:

TR-DOS for beginners - Part 1.

Authoring - General Sound - Multimedia for the ZX Spectrum!

Business Card - Introducing the new electronic journal "Major Wares" (c) Codebusters & VMG

Computer novella - Knight Lore "legends of chivalry times."

New Programs - I. Roshchin. HELP_Z80. Davydov. Catalog's Base v1.8.

description of the shell of the journal "ZX-REVIEW"

Crossing Dragon - Aavlon, Castle of Dreams, Erik the Viking.

Crossing Dragon - Eureka!, Eye of Bain, Kentilla.

Crossing - Sherlock, Apollo, Shadows of Mordor, Rigels Revenge, Temple of Terror, ID, That's the Spirit, Return to Ithaka.

Retro - Dzh.Hardman, E. Hyuzon. Top 40 procedures.

Expert Tips - Castle Master.

Expert Tips - Firelord.

Expert Tips - Stonkers.

Forum Games - Insult Megademo, Catch 23, Livingstone, Rock Star ate my Hampster, UFO-2: Devils of the Abyss, Terminator 2, Venturama, The Spririts, Nipper, Sweewo'S World, King's Bounti -2, Hacker 2, Black Magic, Satcom, Star Heritage.

Forum - A. Gura. Code programmer.

Forum - A. Strelnikov. Prospects of development of ZX Spectrum.

Forum - Davydov. According to materials published in the ZX-REVIEW: Some issues related to autostart BASIC programs. Redefine Keys. How to print 42 characters per line. The procedure of multiplication HL = B * C. Refinement cloning downloaders. Mini-driver disk.

Forum - With 'Light'. Music processor ZX-Speccy.

Forum - Dmitry Fyodorov: Print images with a mask with pixel precision. Algorithm for calculating the address coordinates to within a pixel.

Forum - I. Roshchin. Sharing ZX ASM 3.0 and STS 5.1.

Forum - M. Bekarev. The calculation of the address display area of familiarity, and vice versa.

Forum - VP Fedin. Refinement Profi for conflict-free peripheral connectivity.

Forum - S. Astrov. Pseudorandom number generator.

reader-reader - V. Sirotkin. Protection program (look at the problem).

reader-reader - I. Roshchin. Display driver for the computer, "Pentagon-128.

Studies - A. Savinov: The procedure for displaying a double-height characters. Procedure "dissolution" of characters.

Studies - A. Urzha. The procedure for drawing a circle.

Studies - V. Sirotkin. Program checksum.

Studies - E. Volchkov. Improvement routines address calculation system on display file.

Studies - E. Frost. Running line.

Studies - I. Komandin. The program display screen.

Studies - I. Roshchin. Two graphic effect.

Studies - M. Lazutov: The modernization program font. Program encode / decode block codes. The effect of the attributes.

Studies - O. Smolyankin: Procedures for cleaning the screen. Output of text messages on the screen.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Toys - on the shelves: Carrier Command.
brand new - Groove - as I had a Speccy.
about different - Spectrum die and we blame ourselves?
Entry - navigation.

В этот день...   23 November