Deja Vu #09
13 ноября 1999

Coding - Bystrai printing 64 characters per line.

<b>Coding</b> - Bystrai printing 64 characters per line.
(C) Morozov Ilya / Death Moroz
__________________________________________



             Hello!


   Today "talk" about the rapid withdrawal
rows with 64 characters. The whole secret of the following 
methods in a pair of tables, additional fonts and custom 
printing: characters are displayed as soon as 2 (in one of 
familiarity), which together with Stack scrolling gives The 
outstanding results. 

; (C) All work in Xas by D.M0R0Zz


font2 EQU # 6000; address of the second font (created below)
t2 EQU font2 +2048; address tables
t1 EQU t2 +512; with the addresses of symbols


              ORG t1 +512; ship the base font (must be
font1 EQU $; shifted upward (when only 6 bytes)

              LCODE "F4.1"

              ORG font1 +2048; beginning of the program

              ENT

              CALL creat; create everything we need ...

              LD de, text; in DE address of text

              CALL print; print ...
oprs CALL 8020, when pressing "backspace" - out ...

              JR c, oprs

              RET


print LD hl, # 4000; from start to print

              LD (t_poz +1), hl

              LD a, 0, number of that line

              LD (n_lin +1), a

              DI

              LD (sp_ +1), sp; preserved

              LD hl, p1; initial installation

              LD bc, # 2120


p1 LD a, (DE); have a character code

              INC de; increased

              CP b; if the code is> 32 (space)

              JP nc, p1_1; then go to print

              CP c; if it is not blank,

              JP nz, p1_3; then go to p1_3

              EXX

              LD de, 32 * 8 + font1; in DE 'address space

              EXX

              JP p2; the transition to the second half of 
familiarity 

p1_3 CP # 0d; sign of the end of the line?

              JP z, n_lin; if so, crawling on the trail.

              CP 3, the end of the text?

              JP z, sp_; if so, the output

p1_1 EXX; take the address of the symbol from the table

              LD l, A; and store it in DE '

              LD h, t1 '& amph; taken byte

              LD e, (HL)

              INC h

              LD d, (HL)

              EXX


p2 LD a, (DE); took sleduyuschgo symbol

              INC de

              CP b; if> 32 then print

              JP nc, p2_2

              CP c

              JP nz, p2_3

              EXX; the SP address space in the second Fonte

              LD sp, 32 * 8 + font2

              JP t_poz
p2_3 CP # 0d; if the end of the line, then go to

              JP z, n_lin_; print the first half

              CP 3

              JP z, sp_


p2_2 EXX; take the address in Fonte

              LD l, A

              LD h, t2 '& amph

              LD a, (HL)

              INC h

              LD h, (HL)

              LD l, A

              LD sp, HL; shoved in SP

t_poz LD bc, sh4000, and the address on the screen

              ! ASSM 2, repeat the piece before! Cont 2 times
, (Replaced by 3, if you want to display the characters in full)

              POP hl; take 2 bytes from the second font

              LD a, (DE); and one of the first ...

              OR l; merged

              LD (bc), A; printed

              INC e; moved to the second byte of the first font

              INC b; and on down the line

              LD a, (DE)

              OR h

              LD (bc), A

              INC b

              INC e

              ! CONT

              POP hl; dopechatali residues

              LD a, (DE)

              OR l

              LD (bc), A

              INC b

              INC e

              LD a, (DE)

              OR h

              LD (bc), A



              LD hl, t_poz +1; increased position

              INC (hl)

              EXX

              JP (hl); repeat
n_lin_ EXX; output only the first halves of familiarity

              LD l, E

              LD h, D

              LD sp, HL

              LD hl, (t_poz +1)

              ! ASSM 2

              POP de

              LD (hl), E

              INC h

              LD (hl), D

              INC h

              ! CONT

              POP de

              LD (hl), E

              INC h

              LD (hl), D

              EXX


n_lin LD a, 0; transition to sled.liniyu

              CP 23, or exit if the end of the screen

              JP z, sp_
n_lin1 EXX

              LD l, A

              INC a

              LD (n_lin +1), a

              LD b, A

              AND # 18

              ADD a, # 40

              LD h, A

              LD a, B

              AND 7

              RRCA

              RRCA

              RRCA

              LD l, A

              LD (t_poz +1), hl

              LD bc, t1

              EXX

              JP (hl)
sp_ LD sp, 0, output

              EI

              RET


creat

              LD bc, 2048, creating the second, pre-

              LD de, font1; shifted font

              LD hl, font2
cr2 LD a, (DE)

              RRCA

              RRCA

              RRCA

              RRCA

              LD (hl), A

              INC de

              INC hl

              DEC bc

              LD a, B

              OR c

              JR nz, cr2



              LD b, 0; creating tables

              LD de, 8

              LD hl, font1

              LD ix, t1

              LD iy, t2

              EXX

              LD hl, font2

              LD de, 8

              EXX
cr1 LD (ix), l; for quick access, the first part of

              INC hx; mladyuy stores, and the second part of 
the table 

              LD (ix), h; byte address

              DEC hx

              INC ix

              ADD hl, DE

              EXX

              LD (iy), l

              INC hy

              LD (iy), h

              DEC hy

              INC iy

              ADD hl, DE

              EXX

              DJNZ cr1

              RET

              ORG $
text EQU $; ship text

              LCODE "TEXT"






Other articles:

Apperativchik - the entry of the authors.

Apperativchik - On the control of Deja Vu.

Apperativchik - Freebie number 2: pirates and hacked versions of the magazine.

Apperativchik - Dejavu Info: How to buy the magazine Deja Vu.

Topic - Swap: "From letters to parcels" as found in the city Spektrumistov.

Topic - Tusovka: CSP'99 - interview with Slack Den.

Topic - Tusovka: CSP'99 - an interview with the main coder'om young Novosibirsk group AREASoft

Topic - Tusovka: CSP'99 - interview with one of the publishers 'electronic journal Deja Vu' Daniel / Playgear Co. / Binary Dimension.

Topic - Tusovka: CSP'99 - interview with one of Rybinsk of Cav / Auryn.

Topic - Tusovka: CSP'99 - an interview with the father of Playgear cool uncle Ze Pagan.

Topic - Tusovka: CSP'99 - an interview with the main coder'om Flash and concurrently one of the founders of the group - Alex Rider.

Topic - Tusovka: CSP'99 - poll as the party was held in a nutshell, the general impression.

Topic - Tusovka: Legend of the way passed Crazy Siberian Party 1999.

drop of solder - HD discs: Finalization of the drive controller to work with HD-disks.

drop of solder - The decision PROBLEMS 1.2MB drive.

drop of solder - increase the amount of RAM up to 1024K on SPECCY option Taganrog 128K!

drop of solder - circuit programmer for chip-only memory (ROM).

drop of solder - a dot-matrix printers.

drop of solder - ISA-Spectrum: card inserted into the ISA slot is IBM, which is part or a complete computer ZX-Spectrum.

Software - demoscene: Obzor'ing demozov: 63 bit III, Jam, Anamnesis, 7 Up, 63 bit IV, DemoDyin, Napalm, Crapmo 2, Bunch of Arce, Devotion, WorkStop, Energy , Yes.

Software - Game Review: MIST: Monstrland Part Two, Bomb Lakes, Marbles, KluXer, 4x4 Puzzle, Soldiers, Boats.

Software - Gun Commander: User's Guide.

Coding - coding for Dummies: civilized way in TR-DOS.

Coding - coding for Dummies: More about one of the ways to survey the keyboard.

Coding - coding for Dummies: How does the "Boot" from the inside.

Coding - coding for Dummies: refine MINI BOOT V3.0.

Coding - how to print 42 characters per line (with trabutami), the procedure is quick print sprites with pixel precision.

Coding - Bystrai printing 64 characters per line.

Coding - Conversion of numbers from the stack calculator in the character string.

Coding - fast print 2x2 sprite familiarity, up to familiarity.

Coding - Hrust Library svobodnopasppostpanyaemaya library window procedure by means of eccentricity can be packaged and paspakovyvat VARIOUS data.

Coding - Error Handling TR-DOS when working through # 3D13.

Coding - a set of procedures for constructing the user interface.

Coding - pishim virus invisible to TR-DOS.

Another world - The illusion of safety: Terrifying tales of Windows security and the Internet (Part One).

Hall of Fame - 3 methods to distinguish pealny ZX Spectrum from emulyatopov.

Hall of Fame - the charter of the National Fund of the Spectrum (HFSP).

Hall of Fame - Reserves: an attempt to present the perfect ZX Spectrum.

Hall of Fame - boiling: "And there still alive Speccy, sympathy Boxing?" Reflections in hearing.

Hall of Fame - schA say number 1: optimization of procedures, the announcement of the magazine and the new arcade toy.

Hall of Fame - schA say number 1: disassembly and Serg'a Playgear, hacking calling card, the announcement Crazy Siberian Party '2000.

Hall of Fame - A brief history of the Kemerovo group Digital Life Group.

Seven and 1 / 2 - Student mythology.

Seven and 1 / 2 - April Fools' Day 2 (end).

Seven and 1 / 2 - fairy tales for children.

Seven and 1 / 2 - Features a national ruleza or pure Siberian project (the story of Crazy Siberian Party 1999).

Samples pen - memory: story of the game "Black Crow".

Samples pen - story, "Elixir of the Beast."

Samples pen - "Last Warrior".

Advertising - text ads and announcements.

Advertising - a graphical advertising and announcements.


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

Similar articles:
ZXNet - Гейтование mail with a new network of SuperNet.
Entry - did not take long to the new number of our newspaper:).

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