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 listReceived on 2017-10-26 13:00:02
Archive generated by hypermail 2.2.0.