diff --git a/res/DEMO/SHORT.CIRCUIT b/res/DEMO/SHORT.CIRCUIT new file mode 100644 index 000000000..cf81a21da Binary files /dev/null and b/res/DEMO/SHORT.CIRCUIT differ diff --git a/res/DEMO/_FileInformation.txt b/res/DEMO/_FileInformation.txt index 7df43a6f8..aa5343686 100644 --- a/res/DEMO/_FileInformation.txt +++ b/res/DEMO/_FileInformation.txt @@ -114,6 +114,7 @@ SAMMY.5=Type(F1),AuxType(0000),Access(C3) SAMMY.Z=Type(F1),AuxType(0000),Access(C3) SERPENTINE=Type(06),AuxType(0300),Access(C3) SERPENTINE.1=Type(F1),AuxType(0000),Access(C3) +SHORT.CIRCUIT=Type(06),AuxType(0210),Access(C3) SNAKE.BYTE=Type(06),AuxType(0300),Access(C3) SNAKE.BYTE.1=Type(F1),AuxType(0000),Access(C3) SNEAKERS=Type(06),AuxType(0300),Access(C3) diff --git a/res/notes/demos/short-circuit.txt b/res/notes/demos/short-circuit.txt new file mode 100644 index 000000000..20305c948 --- /dev/null +++ b/res/notes/demos/short-circuit.txt @@ -0,0 +1,14 @@ +A654: C0 -> D0 to disable sound +A665: C0 -> D0 to disable sound +9494: C0 -> D0 to disable sound +ABD9: C0 -> D0 to disable sound +1F36: C0 -> D0 to disable sound +1F3E: C0 -> D0 to disable sound +9998: C0 -> D0 to disable sound + + +A7B4 jmp a686 - end of demo cycle + + +a253 jmp 100 to exit on keypress + diff --git a/src/demo/short.circuit.a b/src/demo/short.circuit.a new file mode 100644 index 000000000..0ecc47508 --- /dev/null +++ b/src/demo/short.circuit.a @@ -0,0 +1,61 @@ +;license:MIT +;(c) 2021 by Frank M. + +!cpu 6502 +!to "res/DEMO/SHORT.CIRCUIT",plain +*=$210 + + !source "src/constants.a" ; no code in these + !source "src/macros.a" + + +READ_RAM2_WRITE_RAM2 + jsr EnableAccelerator + +;+LOAD_FILE_KEEP_DIR + ldx #0 ; read to main memory + stx ldrhi + stx ldrlo + +LDADDR title + jsr iLoadFileDirect + + ldx #16-1 ; we also need to copy the length byte +- lda newpath,x + sta $BFD0,x + dex + bpl - + + lda #$60 + sta $207C + jsr $2000 ; decompress + + lda #0 + sta $A253+1 + sta $A7B4+1 + lda #1 + sta $A253+2 ; set exit on keypress + sta $A7B4+2 ; set exit at end of demo cycle + + lda #$D0 + sta $A654 + sta $A665 + sta $9494 + sta $ABD9 + sta $1F36 + sta $1F3E + sta $9998 ; disable sound + + +DISABLE_ACCEL + + jmp $A100 + +newpath + !byte 15 + !text "X/SHORT.CIRCUIT" + +title !byte x_e-x_b +x_b !text "X/SHORT.CIRCUIT/SHORT.CIRCUIT" +x_e + +!if * > $300 { + !error "code is too large, ends at ", * +}