* * Pgm to display all displayable chars and all display attributes * ftestscrdf cf e workstn d hexvals ds d l0 16a d l1 16a d l2 16a d l3 16a d l4 16a d l5 16a d l6 16a d l7 16a d l8 16a d l9 16a d la 16a d lb 16a d lc 16a d ld 16a d le 16a d lf 16a d hex 1a dim(256) overlay(hexvals) d datr2x ds d datr20 18a inz('20 GRN ') d datr21 18a inz('21 GRN RI') d datr22 18a inz('22 WHT HI ') d datr23 18a inz('23 WHT HI RI') d datr24 18a inz('24 GRN UL ') d datr25 18a inz('25 GRN UL RI') d datr26 18a inz('26 WHT UL HI ') d datr27 18a inz('27 ND UL HI RI') d datr28 18a inz('28 RED BL ') d datr29 18a inz('29 RED BL RI') d datr2a 18a inz('2A RED BL HI ') d datr2b 18a inz('2B RED BL HI RI') d datr2c 18a inz('2C RED BL UL ') d datr2d 18a inz('2D RED BL UL RI') d datr2e 18a inz('2E RED BL UL HI ') d datr2f 18a inz('2F ND BL UL HI RI') d datr2 1a dim(288) overlay(datr2x) d datr3x ds d datr30 21a inz('30 TRQ CS ') d datr31 21a inz('31 TRQ CS RI') d datr32 21a inz('32 YLW CS HI ') d datr33 21a inz('33 YLW CS HI RI') d datr34 21a inz('34 TRQ CS UL ') d datr35 21a inz('35 TRQ CS UL RI') d datr36 21a inz('36 YLW CS UL HI ') d datr37 21a inz('37 ND CS UL HI RI') d datr38 21a inz('38 PNK CS BL ') d datr39 21a inz('39 PNK CS BL RI') d datr3a 21a inz('3A BLU CS BL HI ') d datr3b 21a inz('3B BLU CS BL HI RI') d datr3c 21a inz('3C PNK CS BL UL ') d datr3d 21a inz('3D PNK CS BL UL RI') d datr3e 21a inz('3E BLU CS BL UL HI ') d datr3 1a dim(315) overlay(datr3x) d ds d d 1 4i 0 d dchr 4 4a d x s 10i 0 d y s 10i 0 d ix s 10i 0 /free // generate displayable data bytes d = 0; for x = 0 to 15 by 1; for y = 0 to 240 by 16; ix = x + y + 1; if dchr < x'40'; if dchr = x'1C' or dchr = x'1E' or dchr = x'1F'; hex(ix) = dchr; else; hex(ix) = x'40'; endif; else; hex(ix) = dchr; endif; d = d + 1; endfor; endfor; // insert display attribute bytes ix = 3; for d = 32 to 47 by 1; datr2(ix) = dchr; ix = ix + 18; endfor; ix = 3; for d = 48 to 62 by 1; datr3(ix) = dchr; ix = ix + 21; endfor; // write the screen exfmt testrec; *inlr = *on; /end-free