Hi Ruud, I think !HARD is meant to output a hardcopy on a printer, what brings up the question for which printer type it was made. If I get you right, it also could be used to print the harcopy to a file, since the the I/O channel has to opened first. If it works, the contents of the resulting file should make it possible to find out, for which printer the harcopy routine was meant. Hopefully, this will tell what's behind the table. I will try to write a harcopy to a file ... Christian Am 26.10.2017 um 14:35 schrieb Baltissen, GJPAA (Ruud): > Hallo allemaal, > > > Some time ago I asked the question how it was possible to mix text with graphics. I ran into something that I cannot explain. I know what is going seen from a technical point of view but not what it does. If I am correct, it is part of the command !HARD but I have no idea what this command means and does. I only can tell that it seems it has to be followed by a '#', a byte tells what the I/O channel should be, and, not mandatory a comma and a zero ore a one. > > This routine first copies 8 bytes from the graphical RAM onto memory. > > > Then next part is repeated 8 times: > > Then it reads bit 7 of each of these 8 bytes in memory by shifting it into Carry and shifting the Carry into register A. > > ; Shift bit 7 of eight successive locations into register A > A_AD5B: ; [AD5B] > ldx #$08 > A_AD5D: ; [AD5D] > asl LoresYpos4,X ; shift bit7 into Carry > rol A ; shift Carry into register A > > dex > bne A_AD5D > > In a next step A can be inverted. Then A is copied into X and X is used on its turn as index for the following table: > > D_AF00: ; [AF00] > .by $00, $01, $02, $03, $04, $05, $06, $07 ; ........ $AF00 > .by $08, $09, $0A, $0B, $0C, $0D, $0E, $0F ; ........ $AF08 > .by $10, $11, $12, $13, $14, $15, $16, $17 ; ........ $AF10 > .by $18, $19, $1A, $1B, $1C, $1D, $1E, $1F ; ........ $AF18 > .by $20, $21, $22, $23, $24, $25, $26, $27 ; !"#$%&' $AF20 > .by $28, $29, $2A, $2B, $2C, $2D, $2E, $2F ; ()*+,-./ $AF28 > .by $30, $31, $32, $33, $34, $35, $36, $37 ; 01234567 $AF30 > .by $38, $39, $3A, $3B, $3C, $3D, $3E, $3F ; 89:;<=>? $AF38 > .by $40, $C1, $C2, $C3, $C4, $C5, $C6, $C7 ; @....... $AF40 > .by $C8, $C9, $CA, $CB, $CC, $CD, $CE, $CF ; ........ $AF48 > .by $D0, $D1, $D2, $D3, $D4, $D5, $D6, $D7 ; ........ $AF50 > .by $D8, $D9, $DA, $DB, $DC, $DD, $DE, $5F ; ......._ $AF58 > .by $60, $41, $42, $43, $44, $45, $46, $47 ; `ABCDEFG $AF60 > .by $48, $49, $4A, $4B, $4C, $4D, $4E, $4F ; HIJKLMNO $AF68 > .by $50, $51, $52, $53, $54, $55, $56, $57 ; PQRSTUVW $AF70 > .by $58, $59, $5A, $5B, $5C, $5D, $5E, $7F ; XYZ[\]^. $AF78 > .by $80, $81, $82, $83, $84, $85, $86, $87 ; ........ $AF80 > .by $88, $89, $8A, $8B, $8C, $8D, $8E, $8F ; ........ $AF88 > .by $90, $91, $92, $93, $94, $95, $96, $97 ; ........ $AF90 > .by $98, $99, $9A, $9B, $9C, $9D, $9E, $9F ; ........ $AF98 > .by $A0, $A1, $A2, $A3, $A4, $A5, $A6, $A7 ; ........ $AFA0 > .by $A8, $A9, $AA, $AB, $AC, $AD, $AE, $AF ; ........ $AFA8 > .by $B0, $B1, $B2, $B3, $B4, $B5, $B6, $B7 ; ........ $AFB0 > .by $B8, $B9, $BA, $BB, $BC, $BD, $BE, $BF ; ........ $AFB8 > .by $C0, $61, $62, $63, $64, $65, $66, $67 ; .abcdefg $AFC0 > .by $68, $69, $6A, $6B, $6C, $6D, $6E, $6F ; hijklmno $AFC8 > .by $70, $71, $72, $73, $74, $75, $76, $77 ; pqrstuvw $AFD0 > .by $78, $79, $7A, $7B, $7C, $7D, $7E, $DF ; xyz{|}~. $AFD8 > .by $E0, $E1, $E2, $E3, $E4, $E5, $E6, $E7 ; ........ $AFE0 > .by $E8, $E9, $EA, $EB, $EC, $ED, $EE, $EF ; ........ $AFE8 > .by $F0, $F1, $F2, $F3, $F4, $F5, $F6, $F7 ; ........ $AFF0 > .by $F8, $F9, $FA, $FB, $FC, $FD, $FE, $FF ; ........ $AFF8 > > The resulting byte is sent to the current channel at $FFD2. > End of the part to be repeated 8 times. > > What intrigues me is the table itself, that is, the order of the various groups of bytes. Does that ring a bell with someone? > > If it is sent to the screen, could it be the function I'm looking for? If not, a HARDcopy to a printer ??? > Just FYI: there are routines to save data to disk so I don't think this routine does that as well. (but you never know) > > Many thanks! > > > Met vriendelijke groet / With kind regards, Ruud Baltissen > > www.Baltissen.org > > > > > De informatie in dit e-mailbericht is vertrouwelijk en uitsluitend bestemd voor de > geadresseerde. Wanneer u dit bericht per abuis ontvangt, verzoeken wij u contact op te > nemen met de afzender per kerende e-mail. Verder verzoeken wij u in dat geval dit > e-mailbericht te vernietigen en de inhoud ervan aan niemand openbaar te maken. > Wij aanvaarden geen aansprakelijkheid voor onjuiste, onvolledige dan wel ontijdige > overbrenging van de inhoud van een verzonden e-mailbericht, noch voor daarbij > overgebrachte virussen. > > APG Groep N.V. is gevestigd te Heerlen en is ingeschreven in het > handelsregister van de Kamer van Koophandel Limburg onder nummer 14099617 > > > The information contained in this e-mail is confidential and may be privileged. > It may be read, copied and used only by the intended recipient. > If you have received it in error, please contact the sender immediately by > return e-mail; please delete in this case the e-mail and do not disclose its > contents to any person. We don't accept liability for any errors, omissions, > delays of receipt or viruses in the contents of this message which arise as a > result of e-mail transmission. > > APG Groep N.V. is registered in the trade register of the Chamber > of Commerce Limburg, The Netherlands, registration number: 14099617 > > > Message was sent through the cbm-hackers mailing list > -- Christian Dirks Toast_r@Idealine.info Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.2.0.