update ArduboyFX library, add programmers.txt
Update ArduboyFX to v 1.0.10 Add programmers.txt for Arduino IDE 2.x support
This commit is contained in:
parent
f343c67507
commit
cf5067fe3a
|
@ -1,5 +1,5 @@
|
|||
name=ArduboyFX
|
||||
version=1.0.9
|
||||
version=1.0.10
|
||||
author=Mr.Blinky
|
||||
maintainer=mstr.blinky@gmail.com
|
||||
sentence=The Arduboy FX library.
|
||||
|
|
|
@ -250,6 +250,7 @@ void FX::seekData(uint24_t address)
|
|||
void FX::seekDataArray(uint24_t address, uint8_t index, uint8_t offset, uint8_t elementSize)
|
||||
{
|
||||
#ifdef ARDUINO_ARCH_AVR
|
||||
register uint24_t addr asm("r22") = address;
|
||||
asm volatile
|
||||
(
|
||||
" mul %[index], %[size] \n"
|
||||
|
@ -258,21 +259,20 @@ void FX::seekDataArray(uint24_t address, uint8_t index, uint8_t offset, uint8_t
|
|||
" clr r21 \n" //use as alternative zero reg
|
||||
" add r0, %[offset] \n"
|
||||
" adc r1, r21 \n"
|
||||
" add %A[address], r0 \n"
|
||||
" adc %B[address], r1 \n"
|
||||
" adc %C[address], r21 \n"
|
||||
" add %A[addr], r0 \n"
|
||||
" adc %B[addr], r1 \n"
|
||||
" adc %C[addr], r21 \n"
|
||||
" clr r1 \n"
|
||||
" jmp %x4 \n" //seekData
|
||||
:
|
||||
: [addr] "+r" (addr)
|
||||
: [index] "r" (index),
|
||||
[offset] "r" (offset),
|
||||
[size] "r" (elementSize),
|
||||
[address] "r" (address),
|
||||
"" (seekData)
|
||||
: "r21"
|
||||
);
|
||||
#else
|
||||
address += size ? index * size + offset : index * 256 + offset;
|
||||
address += elementSize ? index * elementSize + offset : index * 256 + offset;
|
||||
seekData(address);
|
||||
#endif
|
||||
}
|
||||
|
@ -648,7 +648,7 @@ void FX::saveGameState(const uint8_t* gameState, size_t size) // ~152 bytes loca
|
|||
"ld r24, z+ \n" //saveState
|
||||
"call %x7 \n" //writeByte
|
||||
"asr r23 \n" //shiftstate >>= 1
|
||||
"brcc .+4 \n" //if (shiftstate == -1) size--
|
||||
"brcc .+6 \n" //if (shiftstate == -1) size--
|
||||
"subi r18, 1 \n"
|
||||
"sbci r19, 0 \n"
|
||||
"breq 6f \n" //size == 0
|
||||
|
@ -1141,10 +1141,10 @@ uint24_t FX::drawFrame(uint24_t address) //~94 bytes
|
|||
);
|
||||
return address;
|
||||
#else
|
||||
seekData(address);
|
||||
address += sizeof(f);
|
||||
for(;;)
|
||||
{
|
||||
seekData(address);
|
||||
address += sizeof(f);
|
||||
f.x = readPendingUInt16();
|
||||
f.y = readPendingUInt16();
|
||||
f.bmp = readPendingUInt24();
|
||||
|
|
|
@ -0,0 +1,130 @@
|
|||
avrisp.name=AVR ISP
|
||||
avrisp.communication=serial
|
||||
avrisp.protocol=stk500v1
|
||||
avrisp.program.protocol=stk500v1
|
||||
avrisp.program.tool=avrdude
|
||||
avrisp.program.tool.default=avrdude
|
||||
avrisp.program.extra_params=-P{serial.port}
|
||||
|
||||
avrispmkii.name=AVRISP mkII
|
||||
avrispmkii.communication=usb
|
||||
avrispmkii.protocol=stk500v2
|
||||
avrispmkii.program.protocol=stk500v2
|
||||
avrispmkii.program.tool=avrdude
|
||||
avrispmkii.program.tool.default=avrdude
|
||||
avrispmkii.program.extra_params=-Pusb
|
||||
|
||||
usbtinyisp.name=USBtinyISP
|
||||
usbtinyisp.protocol=usbtiny
|
||||
usbtinyisp.program.tool=avrdude
|
||||
usbtinyisp.program.tool.default=avrdude
|
||||
usbtinyisp.program.extra_params=
|
||||
|
||||
arduinoisp.name=ArduinoISP
|
||||
arduinoisp.protocol=arduinoisp
|
||||
arduinoisp.program.tool=avrdude
|
||||
arduinoisp.program.tool.default=avrdude
|
||||
arduinoisp.program.extra_params=
|
||||
|
||||
arduinoisporg.name=ArduinoISP.org
|
||||
arduinoisporg.protocol=arduinoisporg
|
||||
arduinoisporg.program.tool=avrdude
|
||||
arduinoisporg.program.tool.default=avrdude
|
||||
arduinoisporg.program.extra_params=
|
||||
|
||||
usbasp.name=USBasp
|
||||
usbasp.communication=usb
|
||||
usbasp.protocol=usbasp
|
||||
usbasp.program.protocol=usbasp
|
||||
usbasp.program.tool=avrdude
|
||||
usbasp.program.tool.default=avrdude
|
||||
usbasp.program.extra_params=-Pusb
|
||||
|
||||
parallel.name=Parallel Programmer
|
||||
parallel.protocol=dapa
|
||||
parallel.force=true
|
||||
# parallel.delay=200
|
||||
parallel.program.tool=avrdude
|
||||
parallel.program.tool.default=avrdude
|
||||
parallel.program.extra_params=-F
|
||||
|
||||
arduinoasisp.name=Arduino as ISP
|
||||
arduinoasisp.communication=serial
|
||||
arduinoasisp.protocol=stk500v1
|
||||
arduinoasisp.speed=19200
|
||||
arduinoasisp.program.protocol=stk500v1
|
||||
arduinoasisp.program.speed=19200
|
||||
arduinoasisp.program.tool=avrdude
|
||||
arduinoasisp.program.tool.default=avrdude
|
||||
arduinoasisp.program.extra_params=-P{serial.port} -b{program.speed}
|
||||
|
||||
arduinoasispatmega32u4.name=Arduino as ISP (ATmega32U4)
|
||||
arduinoasispatmega32u4.communication=serial
|
||||
arduinoasispatmega32u4.protocol=arduino
|
||||
arduinoasispatmega32u4.speed=19200
|
||||
arduinoasispatmega32u4.program.protocol=arduino
|
||||
arduinoasispatmega32u4.program.speed=19200
|
||||
arduinoasispatmega32u4.program.tool=avrdude
|
||||
arduinoasispatmega32u4.program.tool.default=avrdude
|
||||
arduinoasispatmega32u4.program.extra_params=-P{serial.port} -b{program.speed}
|
||||
|
||||
usbGemma.name=Arduino Gemma
|
||||
usbGemma.protocol=arduinogemma
|
||||
usbGemma.program.tool=avrdude
|
||||
usbGemma.program.tool.default=avrdude
|
||||
usbGemma.program.extra_params=
|
||||
usbGemma.config.path={runtime.platform.path}/bootloaders/gemma/avrdude.conf
|
||||
|
||||
## Notes about Dangerous Prototypes Bus Pirate as ISP
|
||||
## Bus Pirate V3 need Firmware v5.10 or later
|
||||
## Bus Pirate V4 need Firmware v6.3-r2151 or later
|
||||
## Could happen that BP does not have enough current to power an Arduino board
|
||||
## through the ICSP connector. In this case disconnect the +Vcc from ICSP connector
|
||||
## and power Arduino board in the normal way.
|
||||
buspirate.name=BusPirate as ISP
|
||||
buspirate.communication=serial
|
||||
buspirate.protocol=buspirate
|
||||
buspirate.program.protocol=buspirate
|
||||
buspirate.program.tool=avrdude
|
||||
buspirate.program.tool.default=avrdude
|
||||
buspirate.program.extra_params=-P{serial.port}
|
||||
|
||||
# STK500 firmware version v1 and v2 use different serial protocols.
|
||||
# Using the 'stk500' protocol tells avrdude to try and autodetect the
|
||||
# firmware version. If this leads to problems, we might need to add
|
||||
# stk500v1 and stk500v2 entries to allow explicitly selecting the
|
||||
# firmware version.
|
||||
stk500.name=Atmel STK500 development board
|
||||
stk500.communication=serial
|
||||
stk500.protocol=stk500
|
||||
stk500.program.protocol=stk500
|
||||
stk500.program.tool=avrdude
|
||||
stk500.program.tool.default=avrdude
|
||||
stk500.program.extra_params=-P{serial.port}
|
||||
|
||||
jtag3isp.name=Atmel JTAGICE3 (ISP mode)
|
||||
jtag3isp.communication=usb
|
||||
jtag3isp.protocol=jtag3isp
|
||||
jtag3isp.program.protocol=jtag3isp
|
||||
jtag3isp.program.tool=avrdude
|
||||
jtag3isp.program.tool.default=avrdude
|
||||
jtag3isp.program.extra_params=
|
||||
|
||||
jtag3.name=Atmel JTAGICE3 (JTAG mode)
|
||||
jtag3.communication=usb
|
||||
jtag3.protocol=jtag3
|
||||
jtag3.program.protocol=jtag3
|
||||
jtag3.program.tool=avrdude
|
||||
jtag3.program.tool.default=avrdude
|
||||
# Set a bitclock of 0.1us (the fastest supported value). This should
|
||||
# work regardless of the crystal used, since JTAG doesn't use the MCU
|
||||
# clock but dictates its own clock.
|
||||
jtag3.program.extra_params=-B0.1
|
||||
|
||||
atmel_ice.name=Atmel-ICE (AVR)
|
||||
atmel_ice.communication=usb
|
||||
atmel_ice.protocol=atmelice_isp
|
||||
atmel_ice.program.protocol=atmelice_isp
|
||||
atmel_ice.program.tool=avrdude
|
||||
atmel_ice.program.tool.default=avrdude
|
||||
atmel_ice.program.extra_params=-Pusb
|
Loading…
Reference in New Issue