Odyssey Magazine #02
14 июля 1997

Mail - The procedure for proportional printing.

<b>Mail</b> - The procedure for proportional printing.

   So, the last issue I will
- Proportional printing.
It was made very long and not quite
fast, accurate, not fast, but
Still ahead of print in the ZX-Review. (although
it is quite less good comparison.
There, she emulates the RST # 10)
 Printing is up to the pixel
so if it is tied to the rows of Y,
printing will be considerably quicken. More
one option: the use of the stack.

The first byte character generator is proportional to print 
contains the character width. Except addition, the character in 
the character generator is pressed to right boundary to 
minimize the number rotations in print. Font taken from the 
procedure proportional to the press, published in

ZX-Revue, maybe 1994, I do not remember exactly.

; Procedure for proportional printing
, Version 5.13
; RELEASE DATE 21.09.1996
;


        ORG 35000

        CALL INIT; generation table

        CALL PROBE; test print

        RET


INIT PUSH IX

        LD IX, TABST; top of the table

        LD B, 192; 192 line screen
INID LD E, B

        LD A, 192; calculation of address (0, Y)

        SUB E; per-pixel

        LD E, A

        AND A

        RRA

        SCF

        RRA

        AND A

        RRA

        XOR E

        AND # F8

        XOR E

        LD H, A

        LD A, 0

        RLCA

        RLCA

        RLCA

        XOR E

        AND # C7

        XOR E

        RLCA

        RLCA

        LD L, A

        LD (IX), L; address in HL-

        INC IX; stored in a table

        LD (IX), H

        INC IX

        DJNZ INID

        POP IX

        RET


PROBE EXX; test print

        PUSH HL

        EXX

        LD A, 32
POWTOR PUSH AF

        CALL PROC

        POP AF

        INC A

        CP 128

        JR C, POWTOR

        EXX

        POP HL

        EXX

        RET


;------ Search address in a set of code ----- PROC LD L, A

        XOR A

        LD H, A

        LD DE, FONTST-256

        ADD HL, HL

        ADD HL, HL

        ADD HL, HL

        ADD HL, DE

        LD B, (HL); width

        INC HL; hl-pointer at the font

        LD C, 7; character height


;------ Control output abroad -------

        LD A, (XPOS)
ADDIT LD E, A; E-flowing postures. Pec.

        ADD A, B; not coming out for the pre

        JR NC, DAL1; limits for the press?

        LD A, (YPOS); newline

        ADD A, C

        LD (YPOS), A

        XOR A

        JR ADDIT
DAL1 LD (XPOS), A; koord.X-for mark.

        LD A, (YPOS); Print

        CP 192-6; there a way for

        JR C, DAL2; downhill?

        XOR A; there! take action!

        LD (YPOS), A; Eg: Print with 0.0


The calculation of the index table ;------ -------- DAL2 EXX

        LD DE, TABST

        LD L, A; L-Y coordinate

        XOR A

        LD H, A; cleaned H

        ADD HL, HL; multiplied coord.

        ADD HL, DE; 2

        EX DE, HL; DE-pointer

        EXX; address printing in the table


; Calculation addresses familiarity and position it

        LD A, E; Restore A tek.koord

        SRL A; divide by 8 residues

        SRL A

        SRL A

        EXX

        LD C, A; number of familiar. in C '

        EXX

        LD A, E

        AND C; position to sign.

        LD E, A; in the registers E and A

        LD D, 8


;---------- How to print will ?----------
        ADD A, B; amount of width

        CP D; D = 8

        JR C, BYT1;>-pech.v first sign.

        JR Z, NENADO; do not twist

                     ; Have
;--------- Printing in 2 bytes ----------- BYT2 LD A, D

        SUB E; 8-position

        LD D, A

        LD A, B; boot. width

        SUB D; A: = width .- (8-Pos.)

        LD D, A; how to twist

                     ; In the C-byte count
CUC LD A, D

        LD B, A

        XOR A

        LD E, (HL)

        INC HL
RROT RR E; rotate with the transfer

        RRA; from E to A

        DJNZ RROT

        EXX

        LD B, A; 2 nd floors. Save. B '

        EXX

        LD A, E; 1 st print

        EXX

        EX AF, AF '; bytes until needed

        LD A, (DE); MB ADRs sign (Y, 0)

        ADD A, C; arr. familiarity

        LD L, A; MB ADRs Print

        INC DE

        LD A, (DE)

        LD H, A; address on the screen

        INC DE

        EX AF, AF '; printable bytes

        OR (HL)

        LD (HL), A; print by 'OR'

        INC HL; trace and 2 nd floors

        LD A, B; incubation symbol on

        OR (HL); screen

        LD (HL), A

        EXX; 1 line character

        DEC C; ready

        JR NZ, CUC; repeat?

        RET; printing completed


;----- Print within a single byte-BYT1 LD A, D; A = 8

        SUB E

        SUB B; in the A-number of rotations

        LD B, A; B - //-//-//-
                     ; In the C-counter
PRINT LD D, B; save

        LD A, (HL); read Byte oven

        INC HL; sign
ROTOR SLA A

        DJNZ ROTOR; twist

        LD B, D

        EXX; A-B in print

        EX AF, AF '; further process

        LD A, (DE); similar to print

        ADD A, C; in 2 bytes

        LD L, A

        INC DE

        LD A, (DE)

        LD H, A

        INC DE

        EX AF, AF '

        OR (HL)

        LD (HL), A

        EXX

        DEC C

        JR NZ, PRINT

        RET; printing completed


;------------ Printing without rotation ------- NENADO LD A, C

        LD B, A
ROT1 LD A, (HL); read bytes

        INC HL

        EXX; and print it

        EX AF, AF '

        LD A, (DE)

        ADD A, C

        LD L, A

        INC DE

        LD A, (DE)

        LD H, A

        INC DE

        EX AF, AF '

        OR (HL)

        LD (HL), A

        EXX

        DJNZ ROT1

        RET; printing completed


XPOS DEFB 0
YPOS DEFB 0
FONTST INCBIN NEWFONT
TABST NOP; Here is a table.



      At that allow complete.

   Text written in ZxIbm Editor v.1.5

       Formatted in IS-Dos Editor.

            E2 Soft 26.04.1997

__________________________________________





Other articles:

Entry - What will be the third issue?

Entry - on the envelope

Assembler - Is it possible to throw a screen (6144 bytes) per tick.

Assembler - Slight to scroll the text up to the window 15x24 familiarity.

Discussion - AMIGA VS PC view readers (VVG).

Presentation - VIRTUAL VISION GROUP from Voronezh.

a rest - Rock Encyclopedia: MEGADEATH ...

IS-DOS - Problems and Solutions: macros.

IS-DOS - How to use macros.

Mail - Scrolling to row up and down.

Mail - Print Line 32-character font.

Mail - The procedure for proportional printing.

a rest - Short Story "Cheburashka".

System - The format PSX.

System - Description of program: Y-COMMANDER & MS COMPILER v1.08.

Review - System Software: XAS 7.1

Review - System software: PRO TRACKER 2,1, PRO TRACKER 3,0 d

Review - System Software: ZASM

Demolition - Game Review on "futbolny Management: Review on" futbolny management ": THE DOUBLE, MSMANAGER, MANCHESTER UNITED, KENNY, SOCCER RIVALS, 1-ST DIVISION MANA- GER, SUPER LEAGUE, SOCCER BOSS, PROFFESIONAL SOCCER FOOTBALL, MANAGER 2, ADVANCED SOCCER SIMULATOR.

Interview - An Interview with FIKUS / Flash Inc.

a rest - Once in a lecture.

History - Hackers - art "it" - about the history of the emergence of hacking. p.2

System - Prospects Group Assept Corp: APS v2.0.

System - Multicolor Studio Compiler

Demolition - Description of the game: SOCCER RIVALS.

Advertising - Advertising and announcements.

News - Ferris Wheel.

Mail - about letters

Mail - Competition for best golovolmku (first 2 puzzles).

Review - New Games: TIME COP, UFO III, MORTAL COMBAT, MINELAYER, SEX REVERSY, THE MAGIC OF LOGIC, FEUDAL WARS, CUP AVILLIADY, CHOPPER DUEL, BACK TO SCHOLL, LCP, 750 CC GRANDPRX, INTERNA- TIONAL KIKBOXING, TAG TEAM WRESTLING, CAPTAIN PLANET, DOC THE DESTRUE DUX, OLE, TORO!.

Presentation - The history of AURYN.

Gift - On application to the magazine.

Demorynok - Hit Parade music dem.

System - description: BRIEF DESCRIPTION OF THE TEAMS Y-COMMANDER.

authors - The authors of the journal


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

Similar articles:
Advertising - advertising and announcements from spektrumistov.
Amiga - Answers to frequently asked questions about the Amiga soft'e.
Technology sprites - Part 9: Printing sprites (coordinates given in pixels).
Advertising - Advertising and announcements.

В этот день...   29 April