AA+ είπε:
Δεν μαζευόμαστε οι προγραμματιστές να φτιάξουμε κανά retro game? Πάντα ήθελα να φτιάξω ένα game που να συνδιάζει δίαφορους χαρακτήρες από άλλα games ενα αχταρμά!
Και μάλιστα native. Ωρίστε και η πρώτη ρουτίνα για Ελληνικό κείμενο:
section printtext,code_c
move.l 4.w,a6
lea gfxlib(pc),a1
jsr -408(a6)
move.l d0,gfxbase
move.l #bitplane,d0
move.w d0,bplptr+6
swap d0
move.w d0,bplptr+2
move.l #cop,$dff080
move.l #text,a0
move.l #0,d0
move.l #90,d1
bsr.w print
exit1: btst #6,$bfe001
bne.b exit1
move.l gfxbase(pc),a1
move.l 38(a1),$dff080
jsr -414(a6)
moveq #0,d0
rts
outtext: move.b (a0)+,d3
cmp.b #1,d3
bne.b notfound
moveq #0,d0
addq.l #8,d1
bra.b outtext
notfound: tst.b d3
beq.b later
lea chartab(pc),a1
moveq #0,d2
search: cmp.b (a1,d2),d3
beq.b foundit
addq.l #1,d2
bra.b search
foundit:lsl.l #3,d2
lea chars(pc),a3
add.l d2,a3
lea bitplane(pc),a2
move.l d1,d2
muls.w #40,d2
add.l d0,d2
add.l d2,a2
moveq #8-1,d2
copy: move.b (a3)+,(a2)
add.l #40,a2
dbf d2,copy
addq.l #1,d0
bra.b outtext
later: rts
cop: dc.w $0106,$0000,$01fc,$0000
dc.w $008e,$1a64,$0090,$ffc4
dc.w $0092,$0038,$0094,$00d0
dc.w $0102,$0000,$0104,$0000
dc.w $0106,$0000,$0108,$0000
dc.w $0120,$0000,$0122,$0000
dc.w $0124,$0000,$0126,$0000
dc.w $0128,$0000,$012a,$0000
dc.w $012c,$0000,$012e,$0000
dc.w $0130,$0000,$0132,$0000
dc.w $0134,$0000,$0136,$0000
dc.w $0138,$0000,$013a,$0000
dc.w $013c,$0000,$013e,$0000
dc.w $0100,$1200
bplptr: dc.w $00e0,$0000
dc.w $00e2,$0000
dc.w $0180,$0000
dc.w $0182,$0fae
dc.w $ffff,$fffe
text: dc.b " ellhniko keimeno ",1
dc.b 0
chartab:dc.b "abcdefghijklmnopqrstuvwxyz "
chars: dc.b %00000000 ;0
dc.b %00000001 ;1
dc.b %00000011 ;2
dc.b %00000101 ;3
dc.b %00001001 ;4
dc.b %00010001 ;5
dc.b %00111111 ;6
dc.b %11000001 ;7
dc.b %11111100 ;0
dc.b %11000110 ;1
dc.b %11000011 ;2
dc.b %11111110 ;3
dc.b %11000110 ;4
dc.b %11000011 ;5
dc.b %11000110 ;6
dc.b %11111100 ;7
dc.b %11000011 ;0
dc.b %11011011 ;1
dc.b %11011011 ;2
dc.b %11011011 ;3
dc.b %01111110 ;4
dc.b %00011000 ;5
dc.b %00011000 ;6
dc.b %00111100 ;7
dc.b %00000000 ;0
dc.b %00000011 ;1
dc.b %00000101 ;2
dc.b %00001001 ;3
dc.b %00010001 ;4
dc.b %00100001 ;5
dc.b %01000001 ;6
dc.b %11111111 ;7
dc.b %00000000 ;0
dc.b %11111111 ;1
dc.b %11000001 ;2
dc.b %11000000 ;3
dc.b %11111000 ;4
dc.b %11000000 ;5
dc.b %11000001 ;6
dc.b %11111111 ;7
dc.b %00011000 ;0
dc.b %00111100 ;1
dc.b %01011010 ;2
dc.b %10011001 ;3
dc.b %01011010 ;4
dc.b %00111100 ;5
dc.b %00011000 ;6
dc.b %00111100 ;7
dc.b %11111111 ;0
dc.b %11000001 ;1
dc.b %11000000 ;2
dc.b %11000000 ;3
dc.b %11000000 ;4
dc.b %11000000 ;5
dc.b %11000000 ;6
dc.b %11110000 ;7
dc.b $00
dc.b %11100111 ;1
dc.b %11000011 ;2
dc.b %11000011 ;3
dc.b %11111111 ;4
dc.b %11000011 ;5
dc.b %11000011 ;6
dc.b %11100111 ;7
dc.b $00 ;0
dc.b %01111110 ;1
dc.b %00011000 ;2
dc.b %00011000 ;3
dc.b %00011000 ;4
dc.b %00011000 ;5
dc.b %00011000 ;6
dc.b %01111110 ;7
dc.b $0
dc.b %11111111 ;1
dc.b %10000001 ;2
dc.b %00000000 ;3
dc.b %01111110 ;4
dc.b %00000000 ;5
dc.b %10000001 ;6
dc.b %11111111 ;7
dc.b %11000011 ;0
dc.b %11000110 ;1
dc.b %11001100 ;2
dc.b %11011000 ;3
dc.b %11111000 ;4
dc.b %11011000 ;5
dc.b %11001100 ;6
dc.b %11000110 ;7
dc.b $0
dc.b %00011000 ;1
dc.b %00111100 ;2
dc.b %01100110 ;3
dc.b %11000011 ;4
dc.b %11000011 ;5
dc.b %11000011 ;6
dc.b %11000011 ;7
dc.b $00
dc.b %11000011 ;1
dc.b %11100111 ;2
dc.b %11011011 ;3
dc.b %11011011 ;4
dc.b %11011011 ;5
dc.b %11000011 ;6
dc.b %11100111 ;7
dc.b $00 ;0
dc.b %11000011 ;1
dc.b %11000111 ;2
dc.b %11001111 ;3
dc.b %11011011 ;4
dc.b %11110011 ;5
dc.b %11100011 ;6
dc.b %11000011 ;7
dc.b %00111100 ;0
dc.b %01111110 ;1
dc.b %11000011 ;2
dc.b %11000011 ;3
dc.b %11000011 ;4
dc.b %11000011 ;5
dc.b %01111110 ;6
dc.b %00111100 ;7
dc.b $00 ;0
dc.b %01111110 ;1
dc.b %01111110 ;2
dc.b %01100110 ;3
dc.b %01100110 ;4
dc.b %01100110 ;5
dc.b %01100110 ;6
dc.b %11100111 ;7
dc.b $00
dc.b $00
dc.b %00000011 ;2
dc.b %00000110 ;3
dc.b %00001100 ;4
dc.b %10011000 ;5
dc.b %11110000 ;6
dc.b %01100000 ;7
dc.b %11111100 ;0
dc.b %11000110 ;1
dc.b %11000011 ;2
dc.b %11000110 ;3
dc.b %11111100 ;4
dc.b %11000000 ;5
dc.b %11000000 ;6
dc.b %11000000 ;7
dc.b $00 ;0
dc.b %11111111 ;1
dc.b %11000001 ;2
dc.b %01100000 ;3
dc.b %00110000 ;4
dc.b %01100000 ;5
dc.b %11000001 ;6
dc.b %11111111 ;7
dc.b %11111111 ;0
dc.b %11111111 ;1
dc.b %10011001 ;2
dc.b %00011000 ;3
dc.b %00011000 ;4
dc.b %00011000 ;5
dc.b %00011000 ;6
dc.b %00111100 ;7
dc.b $00 ;0
dc.b %00111100 ;1
dc.b %01100110 ;2
dc.b %11000011 ;3
dc.b %11111111 ;4
dc.b %11000011 ;5
dc.b %01100110 ;6
dc.b %00111100 ;7
dc.b %00111100 ;0
dc.b %01100110 ;1
dc.b %11000011 ;2
dc.b %01100110 ;3
dc.b %00111100 ;4
dc.b $00 ;5
dc.b $ff ;6
dc.b $ff
dc.b %01111110 ;w=g
dc.b %11000011 ;1
dc.b %11000000 ;2
dc.b %11000000 ;3
dc.b %11001111 ;4
dc.b %11000011 ;5
dc.b %11000011 ;6
dc.b %01111110 ;7
dc.b $00
dc.b %11000011 ;0
dc.b %01100110 ;1
dc.b %00111100 ;2
dc.b %00011000 ;3
dc.b %00111100 ;4
dc.b %01100110 ;5
dc.b %11000011 ;6
dc.b $00
dc.b %11000011 ;0
dc.b %01100110 ;1
dc.b %00111100 ;2
dc.b %00011000 ;3
dc.b %00011000 ;4
dc.b %00011000 ;5
dc.b %00111100 ;6
dc.b %11111111 ;0
dc.b %10000110 ;1
dc.b %00001100 ;2
dc.b %00011000 ;3
dc.b %00110000 ;4
dc.b %01100001 ;5
dc.b %11111111 ;6
dc.b %11111111 ;7
dc.b $00,$00,$00,$00,$00,$00,$00,$00 ;' '
bitplane: blk.b 10240,0
gfxlib: dc.b "graphics.library",0
gfxbase:dc.l 0
Αν θέλετε έχω μια graphics library κάπου για απλά πράγματα.