1
Mercadillo / Re:Mini-tirada EasyFlash 3
« en: Abril 11, 2018, 17:40:01 »¿Al final lo publicaste en algún sitio? Me interesa...
Todavia no, pero lo tengo en la lista de TODO , en cuanto saque un rato para hacerlo lo comento por aquí
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
¿Al final lo publicaste en algún sitio? Me interesa...
Yo lo estoy haciendo según el orden de: http://skoe.de/easyflash/doku.php?id=ef3update, es decir enchufar TODOS los cables antes de encender el C64:
1. C64 apagado
2. Enchufar EF3 al C64
3. Enchufar EF3 al PC
4. Encender C64
USB->MiniUSB
Jejeje, soldadura por arrastre XD. Cuando le pillas el truco es muy eficiente.
Genial, fuerza para tu proyecto.
while(RASTER_LINE_LOCATION == 0xF8);
while (RASTER_LINE_LOCATION != 0xF8);
WaitFrame
lda $d012
cmp #$F8
beq WaitFrame
;wait for the raster to reach line $f8 (should be closer to the start of this line this way)
.WaitStep2
lda $d012
cmp #$F8
bne .WaitStep2
rts
De nada @HyLian
Eso de la basura es fácil de explicar, es que en las posiciones $1000 a $2000 el VIC-II mira a la rom de caracteres y no a la ram.
Eso es porque no está llenando la memória vacía con ceros antes de meter los demás datos. Ahora saber porqué ya que el "fill" no ha funcionado...
FEATURES {
STARTADDRESS: default = $0801;
}
SYMBOLS {
__LOADADDR__: type = import;
__EXEHDR__: type = import;
__STACKSIZE__: type = weak, value = $0800; # 2k stack
__HIMEM__: type = weak, value = $D000;
}
MEMORY {
ZP: file = "", define = yes, start = $0002, size = $001A;
LOADADDR: file = %O, start = %S - 2, size = $0002;
HEADER: file = %O, define = yes, start = %S, size = $000D;
MAIN: file = %O, define = yes, start = __HEADER_LAST__, size = __HIMEM__ - __HEADER_LAST__;
SPRITES: file = %O, start = $2000, size = $1000, fill = yes, type = ro;
BSS: file = "", start = __ONCE_RUN__, size = __HIMEM__ - __STACKSIZE__ - __ONCE_RUN__;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp;
LOADADDR: load = LOADADDR, type = ro;
EXEHDR: load = HEADER, type = ro;
STARTUP: load = MAIN, type = ro;
LOWCODE: load = MAIN, type = ro, optional = yes;
CODE: load = MAIN, type = ro;
RODATA: load = MAIN, type = ro;
DATA: load = MAIN, type = rw;
INIT: load = MAIN, type = rw;
ONCE: load = MAIN, type = ro, define = yes;
BSS: load = BSS, type = bss, define = yes;
SPRITES: load = SPRITES, type = ro;
}
FEATURES {
CONDES: type = constructor,
label = __CONSTRUCTOR_TABLE__,
count = __CONSTRUCTOR_COUNT__,
segment = ONCE;
CONDES: type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__,
segment = RODATA;
CONDES: type = interruptor,
label = __INTERRUPTOR_TABLE__,
count = __INTERRUPTOR_COUNT__,
segment = RODATA,
import = __CALLIRQ__;
}