ZX Review #11-12
26 ноября 1997 |
|
Forum - Conversion of Spectrum color images at IBM. Conversion of B / W images from IBM's ZX Spectrum.
* HELLO!!! Write to you Max 'Alex from "CYBERAX Software" (Kemerovo). After a long break, we have 3-4 issues ZX-REVIEW. Admittedly, we are not very happy electronic format of the journal, although We do not own cluster Spectrum: the printed version is much easier to read (you can even sensitive vshrapnut, covered his face with your favorite magazine ...) and much more easier to type out her listings programs (by the way, once you have moved to electronic form, then why do not you make a Journal of procedures from text files of articles in popular formats assemblers, for example, MASM, ZEUS, XAS, and others??) During his absence from the magazine We have accumulated a large number of procedures, of which we would like to share with readers the ZX-REVIEW. The first procedure is designed to convert color images Spectrum at IBM. The result of her work is 16tsvetnaya image 256 * 192 points in as BMP, which can then be transferred to the MS-DOS to any relevant copiers (ISDOS Copy, IBMCOPY, etc.) The resulting image can be loaded into any image editor for IBM, print (eg, a color printer) convert, etc. Now, the procedure itself: 140. ORG 35000 LD HL, HEADER LD DE, PIC LD BC, 120 LDIR LD HL, PIC +24566 LD (LINE), HL LD A, 192 LD (YS), A LD HL, 16384 LD (SCADR), HL MAIN LD B, 32 CYCLE LD HL, (SCADR) LD C, (HL) LD A, H SRL A SRL A SRL A OR 88 LD H, A LD A, (HL) LD (ATR), A LD D, 4 LOOP SLA C PUSH DE CALL PSET POP DE LD E, A SLA E SLA E SLA E SLA E SLA C PUSH DE CALL PSET POP DE OR E LD HL, (LINE) LD (HL), A INC HL LD (LINE), HL DEC D JR NZ, LOOP LD HL, (SCADR) INC HL LD (SCADR), HL DJNZ CYCLE LD HL, (LINE) LD DE, 256 OR A SBC HL, DE LD (LINE), HL LD HL, (SCADR) LD DE, 32 OR A SBC HL, DE INC H LD A, H AND 7 JR NZ, DCONT LD A, L ADD A, 32 LD L, A JR C, DCONT LD A, H SUB 8 LD H, A DCONT LD (SCADR), HL LD A, (YS) DEC A LD (YS), A JP NZ, MAIN RET PSET JR NC, PAPER LD A, (ATR) LD E, A AND 7 LD D, A LD A, E AND 64 RRCA RRCA RRCA OR D LD H, 0 LD L, A LD DE, TABLE ADD HL, DE LD A, (HL) RET PAPER LD A, (ATR) AND 120 RRCA RRCA RRCA LD H, 0 LD L, A LD DE, TABLE ADD HL, DE LD A, (HL) RET LINE DW 0 SCADR DW 0 YS DB 0 ATR DB 0 TABLE DB 0,4,1,5,2,6,3,7,0 DB 12,9,14,10,14,11,15 PIC EQU 40704 HEADER DW # 4D42, # 6076, # 0000, # 0000 DW # 0000, # 0076, # 0000, # 0028 DW # 0000, # 0100, # 0000, # 00C0 DW # 0000, # 0001, # 0004, # 0000 DW # 0000, # 6000, # 0000, # 0ECE DW # 0000, # 0EC4, # 0000, # 0000 DW # 0000, # 0000, # 0000, # 0000 DW # 0000, # 0000, # 0080, # 8000 DW # 0000, # 8000, # 0080, # 0080 DW # 0000, # 0080, # 0080, # 8080 DW # 0000, # C0C0, # 00C0, # 8080 DW # 0080, # 0000, # 00FF, # FF00 DW # 0000, # FF00, # 00FF, # 00FF DW # 0000, # 00FF, # 00FF, # FFFF DW # 0000, # FFFF, # 00FF, # 0000 2 Now about how to use the procedure: assembliruete it Spectrum upload the picture on the screen with the address 16384 and start the procedure. After that, the memory address 40704 contains a block length 24694 bytes which will need to copy in MS-DOS with the extension BMP. The second procedure performs inverse problem - to convert black and white picture with IBM on SPECTRUM (256 * 192 points, the length of 6,206 bytes, the extension BMP), of course, previously migrated to the TR-DOS. Here is its listing: 140. ORG 40000 LD C, 192 LD HL, PIC +6174 LD DE, 16384 LP1 PUSH HL PUSH DE LD B, 32 LP2 LD A, (HL) LD (DE), A INC HL INC DE DJNZ LP2 POP DE POP HL LD A, L SUB 32 LD L, A LD A, H SBC A, 0 LD H, A INC D LD A, D AND 7 JR NZ, C1 LD A, E ADD A, 32 LD E, A JR C, C1 LD A, D SUB 8 LD D, A C1 DEC C JR NZ, LP1 RET PIC EQU 45000 2 Assembliruete it, ship the original image at address 45000, start the procedure and get on the screen converted image in the Spectrum (Alas, no attributes ...)
Other articles:
Similar articles:
В этот день... 21 November