Jansaw wrote:Man... I'd love to have an Arduinoboy.
Too bad I don't have the modding skill or the money.you can always buy one
from where?
chipmusic.org is an online community in respect and relation to chip music, art and its parallels.
You are not logged in. Please login or register.
ChipMusic.org / Forums / Posts by nickmaynard
Jansaw wrote:Man... I'd love to have an Arduinoboy.
Too bad I don't have the modding skill or the money.you can always buy one
from where?
nickmaynard wrote:radio shack definitely has the stuff.
all the "kit" has is just a single 1/8" stereo jack, right?
http://www.radioshack.com/product/index Id=2103452
this, wire, solder, and something to drill a hole in a gameboy.
Yes, i can find the female jack, but i need the ribbon cable that's compatible.
you don't need a ribbon cable. any kind of wire works just as fine. they have it at radioshack.
I went to radio shack, they dont have them, they told me to buy a head phone spliter and take the jack out of that -_-.
radio shack definitely has the stuff.
all the "kit" has is just a single 1/8" stereo jack, right?
http://www.radioshack.com/product/index Id=2103452
this, wire, solder, and something to drill a hole in a gameboy.
i'm not going to argue with your friend by proxy. tell him to register here to talk about it himself.
the manuals and the game shark are SOLD. added the roland mc303!
would i be able to sync piggy to my gameboy with that gp2x?
nickmaynard wrote:tell me which sites you've already checked out so i don't send you something you've already seen.
None yet, and thanks for your interest.
oh, well i would just recommend googling this stuff then. it would be a lot faster. then, if you have a specific question on something that still isn't clear, you should come back here with it.
tell me which sites you've already checked out so i don't send you something you've already seen.
but there are different mappers that would allow for more frames, yeah.
Le wow! That was fast. I'm away from my pc for a bit but when I get back on in a few days I will open yychr and have a play!
Is it possible to use more than ten .nam "frames"?
yeah, you're only limited by the mapper you use, i think. with a basic nrom mapper, you get either 16k or 32k to work with and each nametable is 960 bytes.
this documentation is awesome though. great job on that.
i'm sure it could have been done better but hey, it works.
with logones, pressing select stops the screen from scrolling, if it is. it still does that but now, if you HOLD SELECT and then TAP START, the screens will start animating. it goes through each screen and then starts back over at the beginning. to turn the animation off, hold select and tap start again. pretty easy.
scroll down through the code until you see "NMI:". a few lines down from that you should see a little note i made that says "change this number to change the speed of the animation". the number right now is "#$20". that's hexadecimal so change that to whatever number you want between 00 and FF to change the speed at which it animates. smaller numbers are faster. change it to #$01 for hyperspeed.
just copy this quote into a text file and save it in the logones folder as logones.asm, replacing the one that's already there.
; ----------------------------------------------------
; logoNES - version 0.1
; Copyright 2010 Don Miller
; For more information, visit: http://www.no-carrier.com; This program is free software: you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation, either version 3 of the License, or
; (at your option) any later version.; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.; You should have received a copy of the GNU General Public License
; along with this program. If not, see <http://www.gnu.org/licenses/>.; ----------------------------------------------------
NewButtons = $41
OldButtons = $42
JustPressed = $43
ScreenNumber = $44
OldScreen = $45
PaletteNumber = $46scroll_h = $c0
scroll_v = $c4scroll_dir = $d0
cc_toggle = $d1
PalNumber = $d2
PalCounter =$d3
Color0 = $d4
Color1 = $d5
Color2 = $d6
Color3 = $d7animation_timer = $d8
animation_on_off = $d9; ----------------------------------------------------
.ORG $7ff0
Header: ; 16 byte .NES header (iNES format)
.DB "NES", $1a
.DB $02 ; size of PRG ROM in 16kb units
.DB $01 ; size of CHR ROM in 8kb units
.DB #%00000000 ; mapper 0
.DB #%00000000 ; mapper 0
.DB $00
.DB $00
.DB $00
.DB $00
.DB $00
.DB $00
.DB $00
.DB $00.ORG $8000
; ----------------------------------------------------
Reset: ; reset routine
SEI
CLD
LDX #$00
STX $2000
STX $2001
DEX
TXS
LDX #0
TXA
ClearMemory:
STA 0, X
STA $100, X
STA $200, X
STA $300, X
STA $400, X
STA $500, X
STA $600, X
STA $700, X
STA $800, X
STA $900, X
INX
BNE ClearMemory; ----------------------------------------------------
LDA #$00 ; setting up variables
STA ScreenNumber
STA PaletteNumber
sta scroll_h
sta scroll_v
sta scroll_dir
sta cc_toggleLDA #$FF
sta animation_timerLDA #$00
sta animation_on_offlda #6 ; lower this number to increase
sta PalNumber ; the speed of the color cycle
sta PalCounterlda #$01 ; these are the 4 colors
sta Color0 ; that will cycle when you
lda #$11 ; hit the "start" button
sta Color1
lda #$21
sta Color2
lda #$31
sta Color3; ----------------------------------------------------
LDX #$02 ; warm up
WarmUp:
BIT $2002
BPL WarmUp
DEX
BNE WarmUpLDA #$3F
STA $2006
LDA #$00
STA $2006
TAX
LoadPal: ; load palette
LDA palette, x
STA $2007
INX
CPX #$10
BNE LoadPalLDA #$20
STA $2006
LDA #$00
STA $2006LDY #$04 ; clear nametables
ClearName:
LDX #$00
LDA #$00
PPULoop:
STA $2007
DEX
BNE PPULoopDEY
BNE ClearName; ----------------------------------------------------
LDA #<pic0 ; load low byte of first picture
STA $10LDA #>pic0 ; load high byte of first picture
STA $11; ----------------------------------------------------
JSR DrawScreen ; draw initial nametable
JSR LoadScreen
JSR DrawScreen2 ; draw initial nametable
JSR Vblank ; turn on screen; ----------------------------------------------------
InfLoop: ; loop forever, program now controlled by NMI routine
JMP InfLoop
; ----------------------------------------------------
LoadNewPalette:
LDX PaletteNumber ; load palette lookup value
LDY #$00
LDA #$3F
STA $2006
LDA #$00
STA $2006
LoadNewPal: ; load palette
LDA palette, x
STA $2007
INX
INY
CPY #$10
BNE LoadNewPal
RTS; ----------------------------------------------------
DrawScreen:
LDA #$20 ; set to beginning of first nametable
STA $2006
LDA #$00
STA $2006LDY #$00
LDX #$04NameLoop: ; loop to draw entire nametable
LDA ($10),y
STA $2007
INY
BNE NameLoop
INC $11
DEX
BNE NameLoopRTS
; ----------------------------------------------------
DrawScreen2:
LDA #$28 ; set to beginning of first nametable
STA $2006
LDA #$00
STA $2006LDY #$00
LDX #$04NameLoop2: ; loop to draw entire nametable
LDA ($10),y
STA $2007
INY
BNE NameLoop2
INC $11
DEX
BNE NameLoop2RTS
; ----------------------------------------------------
Vblank: ; turn on the screen and start the party
BIT $2002
BPL VblankLDX scroll_h
STX $2005
LDX scroll_v
STX $2005LDA #%10001000
STA $2000
LDA #%00001110
STA $2001RTS
; ----------------------------------------------------
LoadScreen:
LDA #%00000000 ; disable NMI's and screen display
STA $2000
LDA #%00000000
STA $2001LDA ScreenNumber
Test0:
CMP #0 ; compare ScreenNumber to find out which picture / palette to load
BNE Test1
LDA #<pic0 ; load low byte of picture
STA $10
LDA #>pic0 ; load high byte of picture
STA $11
LDA #$00
STA PaletteNumber ; set palette lookup location
RTSTest1:
CMP #1
BNE Test2
LDA #<pic1
STA $10
LDA #>pic1
STA $11
LDA #$10
STA PaletteNumber
RTSTest2:
CMP #2
BNE Test3
LDA #<pic2
STA $10
LDA #>pic2
STA $11
LDA #$20
STA PaletteNumber
RTSTest3:
CMP #3
BNE Test4
LDA #<pic3
STA $10
LDA #>pic3
STA $11
LDA #$30
STA PaletteNumber
RTSTest4:
CMP #4
BNE Test5
LDA #<pic4
STA $10
LDA #>pic4
STA $11
LDA #$40
STA PaletteNumber
RTSTest5:
CMP #5
BNE Test6
LDA #<pic5
STA $10
LDA #>pic5
STA $11
LDA #$50
STA PaletteNumber
RTSTest6:
CMP #6
BNE Test7
LDA #<pic6
STA $10
LDA #>pic6
STA $11
LDA #$60
STA PaletteNumber
RTSTest7:
CMP #7
BNE Test8
LDA #<pic7
STA $10
LDA #>pic7
STA $11
LDA #$70
STA PaletteNumber
RTSTest8:
CMP #8
BNE Test9
LDA #<pic8
STA $10
LDA #>pic8
STA $11
LDA #$80
STA PaletteNumber
RTSTest9:
LDA #<pic9
STA $10
LDA #>pic9
STA $11
LDA #$90
STA PaletteNumber
RTS; ----------------------------------------------------
ControllerTest:
LDA NewButtons
STA OldButtonsLDX #$00
LDA #$01 ; strobe joypad
STA $4016
LDA #$00
STA $4016
ConLoop:
LDA $4016 ; check the state of each button
LSR
ROR NewButtons
INX
CPX #$08
bne ConLoopLDA OldButtons ; invert bits
EOR #$FF
AND NewButtons
STA JustPressed;button ( 0 0 0 0 0 0 0 0 )
;layout ( R L D U St Sl B A )CheckSelect:
LDA #%00000100
AND OldButtons
BEQ CheckStartlda #$00
sta scroll_dir ; stops scrollingLDA #%00001000
AND JustPressed
BEQ CheckLeftlda animation_on_off
eor #$01
sta animation_on_off ; toggles animation
jmp CheckLeftCheckStart:
LDA #%00001000
AND JustPressed
BEQ CheckLeftlda cc_toggle
eor #$01
sta cc_toggle ; toggles color cyclingCheckLeft:
LDA #%01000000
AND JustPressed
BEQ CheckRightlda #3
sta scroll_dir ; scrolls leftCheckRight:
LDA #%10000000
AND JustPressed
BEQ CheckDownlda #4
sta scroll_dir ; scrolls rightCheckDown:
LDA #%00100000
AND JustPressed
BEQ CheckUplda #2
sta scroll_dir ; scrolls downCheckUp:
LDA #%00010000
AND JustPressed
BEQ CheckBlda #1
sta scroll_dir ; scrolls upCheckB:
LDA #%00000010
AND JustPressed
BEQ CheckADEC ScreenNumber ; decrement screen number here
BPL CheckA
LDA #9 ; equal to total # of screens, starting from 0
STA ScreenNumberCheckA:
LDA #%00000001
AND JustPressed
BEQ EndDrawChkINC ScreenNumber ; increment screen number here
LDA ScreenNumber
CMP #10 ; equal to total # of screens +1, starting from 0
BNE EndDrawChk
LDA #0
STA ScreenNumberEndDrawChk:
LDA ScreenNumber ; has screen number changed? if not, skip redraw
CMP OldScreen
BEQ CheckOverJSR LoadScreen ; turn off and load new screen data
JSR LoadNewPalette ; load new palette
JSR DrawScreen ; draw new screen
JSR LoadScreen ; turn off and load new screen data
JSR DrawScreen2 ; draw new screen
JSR Vblank ; turn the screen back onCheckOver:
RTS
; ----------------------------------------------------
ScrollCheck:
LDA scroll_dir
ScrollUp:
CMP #1
BNE ScrollDown
INC scroll_v
lda scroll_v
cmp #240
bne ScrollOver
lda #0
sta scroll_v
JMP ScrollOver
ScrollDown:
CMP #2
BNE ScrollLeft
DEC scroll_v
LDA scroll_v
cmp #255
bne ScrollOver
lda #239
sta scroll_v
JMP ScrollOver
ScrollLeft:
CMP #3
BNE ScrollRight
INC scroll_h
JMP ScrollOver
ScrollRight:
DEC scroll_h
ScrollOver:
JMP Scroll_Done; ----------------------------------------------------
color_cycle:
DEC PalCounter ; decrement counter, skip if not 0
BNE NoCyclingLDA Color3 ; rotate the color values
LDX Color0
STA Color0
LDA Color1
STX Color1
LDX Color2
STA Color2
STX Color3LDA #$3F ; point to palette, the last three values of
STA $2006 ; the fourth background palette - does not
LDA #$0d ; overwrite color zero (see readme.txt)
STA $2006LDA Color1 ; write the rotated palette to the PPU
STA $2007
LDA Color2
STA $2007
LDA Color3
STA $2007LDA PalNumber
STA PalCounterNoCycling:
jmp cc_over; ----------------------------------------------------
NMI:
LDA ScreenNumber ; save old screen number for later compare
STA OldScreenlda animation_on_off
cmp #$00
beq more_nmi_stuffinc animation_timer
lda animation_timer
cmp #$20 ; change this number to change the speed of the animation
bne more_nmi_stuff
lda #0
sta animation_timer
inc ScreenNumber
lda ScreenNumber
cmp #10
bne more_nmi_stuff
lda #0
sta ScreenNumbermore_nmi_stuff:
JSR ControllerTest ; check for user input
lda cc_toggle
beq no_cc
jmp color_cycle
no_cc:
JSR LoadNewPalette
cc_over:
LDA scroll_dir
cmp #$00
BEQ Scroll_Donejmp ScrollCheck
Scroll_Done:
lda scroll_h
sta $2005
lda scroll_v
sta $2005RTI
IRQ:
RTI; ----------------------------------------------------
palette: ; palette data
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$01,$11,$21 ; palette 0 - aligns with pic0.nam below
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 1 - alings with pic1.nam below
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 2 - aligns with you know what below...
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 3
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 4
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 5
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 6
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 7
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 8
.byte $0F,$00,$10,$30,$0F,$05,$26,$30,$0F,$13,$23,$33,$0F,$1C,$2B,$39 ; palette 9; ----------------------------------------------------
; include picture data
pic0:
.INCBIN "pic0.nam" ; logoNES 0.1 splash screen by enso, 2009 - http://enso.tumblr.com
pic1:
.INCBIN "pic1.nam"
pic2:
.INCBIN "pic2.nam"
pic3:
.INCBIN "pic3.nam"
pic4:
.INCBIN "pic4.nam"
pic5:
.INCBIN "pic5.nam"
pic6:
.INCBIN "pic6.nam"
pic7:
.INCBIN "pic7.nam"
pic8:
.INCBIN "pic8.nam"
pic9:
.INCBIN "pic9.nam"; ----------------------------------------------------
.ORG $fffa ; vectors
.DW NMI
.DW Reset
.DW IRQ
yeah this would be really easy to do actually. one second.
HEY NICK I NEVER GOT ANNOUNCED HERE
:-(
better late than never?
DMG in box? How much? Is the box opened and what's the condition of the box?
just took these pictures for you - http://imgur.com/a/bQoft
would you be interested in a larger trade? like, a bunch of my miscellaneous gameboy for some modded gear?
How much for Duck Tales?
What about $5? PM me.
ChipMusic.org / Forums / Posts by nickmaynard