antoine-source/picknpile/SOURCES.IIGS/GAMESYS.SRC

1 line
47 KiB
Plaintext
Raw Normal View History

************************************************************************ * * * GAME SYSTEM * * ----------- * * * * (c) Atreid Concept SA Version 0.5 22/12/90 * ************************************************************************ ************************************************************************ GSInit anop ;Temp2= ptr image font jsr Nombre16Init jsr Random ; jsr SoundInit rts GSTemp1 ds 4 GSTemp2 ds 4 GSTemp3 ds 4 GSTemp4 ds 4 GSTemp5 ds 4 ;-------------------------- ;init de 'Nombre16' Nombre16Init anop ldx #0 ;on construit une routine pour txy ;faire la copie de l'image stz Temp ;source vers l'ecran Nb16CopyLoop anop lda #$bf ; LDA >$bbnnnn,x sta Nb16doCopy,x lda Temp2+1 ; bb sta Nb16doCopy+2,x lda Temp2 ; nnnn clc adc Temp sta Nb16doCopy+1,x inx inx inx inx lda #$99 ; STA nnnn,y sta Nb16doCopy,x lda #$2000 ; nnnn clc adc Temp sta Nb16doCopy+1,x inx inx inx inc Temp inc Temp iny cpy #4 bne Nb16CopyLoop ldy #0 lda Temp clc adc #160-8 sta Temp cmp #2560 bne Nb16CopyLoop rts ;-------------------------- ;init de 'Sound' SoundInit anop sei sep #$20 longa off lda >$e100ca ;acces aux registres and #$0f sta >$e0c03c lda #$e1 ;registre $e1 sta >$e0c03e ;SoundAdrL lda #$40 ;32 oscillateurs * 2 sta >$e0c03d ;SoundData rep #$30 longa on cli rts ************************************************************************ PaintRect anop ;GSTemp1 = coor. x anop ;GSTemp1+2= coor. y anop ;GSTemp2 = dep relatif x anop ;GSTemp2+2= dep relatif y anop ;GSTemp3 = couleur lda GSTemp2 lsr a ;un octect = 2 pts sta GSTemp2 lda GSTemp1 lsr a ;un octect = 2 pts ldy GSTemp1+2 PRLoop anop cpy #0 beq PR2 dey clc adc #160 bra PRLoop PR2 anop clc adc #$2000 sta PR4+1 ldx #0 txy PR3 anop lda GSTemp3 PR4 sta >$e12000,x inx inx cpx GSTemp2 blt PR3 lda PR4+1 clc adc #160 sta PR4+1 ldx #0 iny cpy GSTemp2+2 blt PR3 rts ************************************************************************ ErrTexte8 anop ;a= C string ptr anop