Commodore 64 -=Grey=- demo version 4

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__;
}