Cheese / Neos Mouse projekti Päivitys 2010: [VICE] emuloi NEOS-hiirtä versiosta 2.0 lähtien. Päivitys 2005: Kuvat ovatkin 304 pikseliä korkeita ja muutakin lisätietoa on löytynyt formaatista. Päivitys 2004: Kolmen vuoden kuluttua projekti on saatu päätökseen, kun sähköpostilla tuli ratkaisu ongelmaan. Jani teki tarvittavan muutoksen, jolla Cheesepaint saatiin tottelemaan joystickohjausta. Kaupan päälle tuli vielä toinenkin versio Cheesesta. Sivun lopussa on vielä joystickrutiinin assemblylistaus, ei kaunista mutta toimivaa koodia ja se on pääasia. Lähtötilanne 2001: Tämä projekti sai alkunsa Antti Mäkysen pyynnöstä tutkia saako Cheese piirto-ohjelmalla aikoinaan tehtyjä kuvia enää millään auki. Ongelmana on se, että Cheese on tullut Neos-merkkisen hiiren kylkiäisenä, eikä mikään nykyinen kuusnelosemulaattori tunne kyseistä rottaa. Se ei ole 1350- eikä 1351-hiirien kanssa yhteensopiva. Ohjelma käynnistyy kyllä, mutta kursoria ei saa liikuteltua, jotta kuvat saisi ladattua ruudulle. Tiedostot
Cheese kuvaformaatti on 320x304 multicolor ja se rakentuu seuraavanlaisista osista:
Janin tekemä ohjelma, jolla Cheese kuvia voi katsella ja tallentaa Koalapainter muotoon:
Cheese osaa ilmeisesti tehdä myös hires kuvia, joiden katselemiseen löytyy kuusneloselle:
Cheesestä purettu Neos-hiiren lukurutiini Cheese ohjelma siirtää itsensä käynnistyksen jälkeen $3000 muistipaikkaa ylemmäksi, tästä johtuen rutiinissa osa osoitteista näyttää virheellisiltä. Assemblylistaus on tehty 64copy-ohjelmalla, joka antaa osoitteille omat nimensä. 6c00 ad 00 dc lda cia1porta 6c03 48 pha 6c04 ad 01 dc lda cia1portb 6c07 48 pha 6c08 ad 02 dc lda cia1ddr_a 6c0b 48 pha 6c0c ad 03 dc lda cia1ddr_b 6c0f 48 pha 6c10 a9 10 lda #$10 6c12 8d 02 dc sta cia1ddr_a 6c15 ad 00 dc lda cia1porta 6c18 29 ef and #$ef 6c1a 8d 00 dc sta cia1porta 6c1d a2 08 ldx #$08 6c1f 20 37 3d jsr sub_3d37 6c22 ad 00 dc lda cia1porta 6c25 0a asl a 6c26 0a asl a 6c27 0a asl a 6c28 0a asl a 6c29 85 0f sta zp_0f 6c2b ad 00 dc lda cia1porta 6c2e 09 10 ora #$10 6c30 8d 00 dc sta cia1porta 6c33 a2 05 ldx #$05 6c35 20 37 3d jsr sub_3d37 6c38 ad 00 dc lda cia1porta 6c3b 29 0f and #$0f 6c3d 05 0f ora zp_0f 6c3f 85 0f sta zp_0f 6c41 ad 00 dc lda cia1porta 6c44 29 ef and #$ef 6c46 8d 00 dc sta cia1porta 6c49 a2 05 ldx #$05 6c4b 20 37 3d jsr sub_3d37 6c4e ad 00 dc lda cia1porta 6c51 0a asl a 6c52 0a asl a 6c53 0a asl a 6c54 0a asl a 6c55 85 0e sta zp_0d+1 6c57 ad 00 dc lda cia1porta 6c5a 09 10 ora #$10 6c5c 8d 00 dc sta cia1porta 6c5f a2 05 ldx #$05 6c61 20 37 3d jsr sub_3d37 6c64 ad 00 dc lda cia1porta 6c67 29 0f and #$0f 6c69 05 0e ora zp_0d+1 6c6b 85 0e sta zp_0d+1 6c6d ad 19 d4 lda paddle_x 6c70 c9 ff cmp #$ff 6c72 f0 05 beq skip6c79 6c74 a9 00 lda #$00 6c76 4c 7b 3c jmp goto3c7b 6c79 a9 01 skip6c79 lda #$01 6c7b 85 63 sta zp_63 6c7d 68 pla 6c7e 8d 03 dc sta cia1ddr_b 6c81 68 pla 6c82 8d 02 dc sta cia1ddr_a 6c85 68 pla 6c86 8d 01 dc sta cia1portb 6c89 68 pla 6c8a 8d 00 dc sta cia1porta 6c8d 60 rts Lisäksi osoitteessa 6d37 oleva looppi, jota kutsutaan ylemmästä rutiinista osoitteella 3d37: 6d37 ea loop6d37 nop 6d38 ea nop 6d39 ea nop 6d3a ca dex 6d3b d0 fa bne loop6d37 6d3d 60 rts Uusi joystick lukurutiini Cheesepaintille / Jani ; cheesepaint - routine to replace NEOS-mouse with joy2 ; * = $39c2 ;cheese v1 * = $3c00 ;cheese v2 (Load to $6c00) ;--------------------------------------- JOYADDR = $DC00 ;Joy port 2 ;--------------------------------------- LDA JOYADDR AND #%00000001 ;UP BNE OVER01 LDA JOYY CMP #$00 ;upper limit BEQ OVER01 DEC JOYY JSR UPDT OVER01 LDA JOYADDR AND #%00000010 ;DOWN BNE OVER02 LDA JOYY CMP #$C7 ;lower limit BEQ OVER02 INC JOYY JSR UPDT OVER02 LDA JOYADDR AND #%00000100 ;LEFT BNE OVER03 LDA JOYX CMP #$00 ;left limit BEQ OVER03 DEC JOYX JSR UPDT OVER03 LDA JOYADDR AND #%00001000 ;RIGHT BNE OVER04 LDA JOYX CMP #$9f ;right limit BEQ OVER04 INC JOYX JSR UPDT OVER04 LDA JOYADDR ;FIRE AND #%00010000 BNE NOFIRE dec fdel+1 ;delay firebutton fdel lda #$04 bne nofire lda #$04 sta fdel+1 lda JOYF eor #$01 sta JOYF jsr UPDT NOFIRE RTS UPDT LDA JOYY ;update zp:s for pointer ; STA $67 ;cheese v1 STA $6c ;cheese v2 LDA JOYX ; STA $68 ;cheese v1 STA $6d ;cheese v2 LDA JOYF ; sta $5e ;cheese v1 sta $63 ;cheese v2 RTS ;--------------------------------------- JOYX .BYTE $00 JOYY .BYTE $00 JOYF .BYTE $00 ;--------------------------------------- © Niila T Rautanen 2010 [Takaisin] |