18.07.2013 Views

Nintendo Entertainment System

Nintendo Entertainment System

Nintendo Entertainment System

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.3. EKSEMPEL 3: INPUT FRA KONTROLLENE<br />

forteller om knappen er trykket inn eller ikke. De andre bitene kan være både 1 og 0, så det<br />

er viktig at vi fjerner disse fra registeret ved å ANDe med 1. La oss se på hvordan vi leser fra<br />

kontroll 1 og reagerer på tastetrykkene:<br />

; Klargjør kontrollen for å hente data :<br />

LDA #1<br />

STA $4016<br />

LDA #0<br />

STA $4016<br />

; Les tastetrykk :<br />

LDA $4016 ; A<br />

LDA $4016 ; B<br />

LDA $4016 ; Start<br />

LDA $4016 ; Select<br />

LDA $4016 ; Opp<br />

AND #1 ; Fjern alt utenom den laveste biten<br />

BEQ @SjekkNed ; Hvis biten er 0, gå til neste knapp<br />

; ... her er kode som kjører når Opp er trykket inn ...<br />

@SjekkNed :<br />

LDA $4016<br />

AND #1<br />

BEQ @SjekkVenstre<br />

; ... her er kode som kjører når Ned er trykket inn ...<br />

@SjekkVenstre :<br />

LDA $4016<br />

AND #1<br />

BEQ @SjekkHoyre<br />

; ... her er kode som kjører når Venstre er trykket inn ...<br />

@SjekkHoyre :<br />

LDA $4016<br />

AND #1<br />

BEQ @Slutt<br />

; ... her er kode som kjører når Høyre er trykket inn ...<br />

@Slutt :<br />

Merk at vi ikke trenger å sammenligne med 0 før hver BNE-instruksjon. Z-flagget settes etter<br />

hver instruksjon der resultatet er 0. Det vil si at BNE vil hoppe dersom forrige instruksjon var<br />

forskjellig fra 0 (Z-flagget er 0).<br />

Eksempel 3 finner du her: http://home.no/johan-af/nesguide/eksempel3.<br />

Den eneste forandringen vi har gjort her er å bytte ut den konstante økningen av x_posisjon<br />

med en kodesnutt som sjekker piltastene og flytter spriten basert på det.<br />

5.3.1 Oppgaver<br />

1. Få spriten til å stoppe når den kommer til en av kantene av skjermen<br />

2. Legg inn en ny sprite som kan styres av kontroll 2<br />

3. Gjør det mulig å bytte bakgrunnsfarge ved å trykke på A (neste) eller B (forrige)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!