From d5075e1055d87d58c2cfb72d1a93c2a6c7686ad8 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sat, 15 Apr 2023 00:57:22 -0400 Subject: [PATCH] dhgr: move some stuff around --- graphics/dhgr/c64/Makefile | 51 +++ graphics/dhgr/c64/c64.bmp | Bin 0 -> 53882 bytes graphics/dhgr/c64/decompress_fast_v2.s | 370 ++++++++++++++++++++++ graphics/dhgr/c64/hardware.inc | 103 ++++++ graphics/dhgr/{ => c64}/hello.bas | 0 graphics/dhgr/{ => raster}/Makefile | 43 +-- graphics/dhgr/{ => raster}/README | 0 graphics/dhgr/{ => raster}/bits.s | 0 graphics/dhgr/{ => raster}/dhgr.dsk | Bin graphics/dhgr/{ => raster}/encode6.c | 0 graphics/dhgr/raster/hello.bas | 2 + graphics/dhgr/{ => raster}/loader.s | 0 graphics/dhgr/{ => raster}/lots.s | 0 graphics/dhgr/{ => raster}/raster.s | 0 graphics/dhgr/{ => raster}/raster2.s | 0 graphics/dhgr/{ => raster}/raster3.s | 0 graphics/dhgr/{ => raster}/raster4.s | 0 graphics/dhgr/{ => raster}/raster4_good.s | 0 graphics/dhgr/{ => raster}/raster5.s | 0 19 files changed, 543 insertions(+), 26 deletions(-) create mode 100644 graphics/dhgr/c64/Makefile create mode 100644 graphics/dhgr/c64/c64.bmp create mode 100644 graphics/dhgr/c64/decompress_fast_v2.s create mode 100644 graphics/dhgr/c64/hardware.inc rename graphics/dhgr/{ => c64}/hello.bas (100%) rename graphics/dhgr/{ => raster}/Makefile (57%) rename graphics/dhgr/{ => raster}/README (100%) rename graphics/dhgr/{ => raster}/bits.s (100%) rename graphics/dhgr/{ => raster}/dhgr.dsk (100%) rename graphics/dhgr/{ => raster}/encode6.c (100%) create mode 100644 graphics/dhgr/raster/hello.bas rename graphics/dhgr/{ => raster}/loader.s (100%) rename graphics/dhgr/{ => raster}/lots.s (100%) rename graphics/dhgr/{ => raster}/raster.s (100%) rename graphics/dhgr/{ => raster}/raster2.s (100%) rename graphics/dhgr/{ => raster}/raster3.s (100%) rename graphics/dhgr/{ => raster}/raster4.s (100%) rename graphics/dhgr/{ => raster}/raster4_good.s (100%) rename graphics/dhgr/{ => raster}/raster5.s (100%) diff --git a/graphics/dhgr/c64/Makefile b/graphics/dhgr/c64/Makefile new file mode 100644 index 00000000..04f4df00 --- /dev/null +++ b/graphics/dhgr/c64/Makefile @@ -0,0 +1,51 @@ +include ../../../Makefile.inc + +DOS33 = ../../../utils/dos33fs-utils/dos33 +TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft +B2D = ../../../utils/bmp2dhr/b2d +LZSA = ~/research/lzsa/lzsa/lzsa +LINKER_SCRIPTS = ../../../linker_scripts/ + +EMPTY_DISK = ../../../empty_disk/empty.dsk + +all: c64.dsk + + +c64.dsk: HELLO DHR_LOAD + cp $(EMPTY_DISK) c64.dsk + $(DOS33) -y c64.dsk SAVE A HELLO + $(DOS33) -y c64.dsk BSAVE -a 0x1000 DHR_LOAD + +### + +HELLO: hello.bas + $(TOKENIZE) < hello.bas > HELLO + + +### + +C64.AUX.lzsa: C64.AUX + $(LZSA) -r -f2 C64.AUX C64.AUX.lzsa + +C64.BIN.lzsa: C64.BIN + $(LZSA) -r -f2 C64.BIN C64.BIN.lzsa + +### + +C64.AUX: c64.bmp + $(B2D) c64.bmp A + + +### + +DHR_LOAD: dhr_load.o + ld65 -o DHR_LOAD dhr_load.o -C $(LINKER_SCRIPTS)/apple2_1000.inc + +dhr_load.o: dhr_load.s C64.AUX.lzsa C64.BIN.lzsa + ca65 -o dhr_load.o dhr_load.s -l dhr_load.lst + + +#### + +clean: + rm -f *~ *.o *.lst HELLO DHR_LOAD diff --git a/graphics/dhgr/c64/c64.bmp b/graphics/dhgr/c64/c64.bmp new file mode 100644 index 0000000000000000000000000000000000000000..faa255f2b6462ff3f31257f77046590c58df75ed GIT binary patch literal 53882 zcmeH~J&qPf5Qdv|u$CMl2pkdn5JZ+!IK##cH{3h;2D=iH&w*sg2k^={5oaJoA6-9h zcTLlaj0lXreMXw8uBx}HtDl_@4Zps+`M3FX)1SZe`{yUE{nhQ0_G5qctLLBn6!+8a z+HKd>i}&sA>#O$hw^O_Nv$fmX+xGFF=k4_Oef#11s=fUE)b8%?+WnhTd->sc`{Uhx zyFXpG)9K{(7hDj400bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U< z00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z z1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV= z5P-mUOW-oE?{>idX)w6#!NUbEdjk6??+aY^1olzh7r5*R5dA6wmzNh8aobNyYqRFr zwc3cD`?H_g4_;4iYsDWgmmsp?l5dJK=l+Hq&u70E`@y7fYXRLOaV$G~Pv>_y&Sx@N zb7v2u9PqQVkN3x4nfcz7n#Zs-4Ei0#JEN!U{FnDJ@ZgLPfB*y_009U<00L)5AisC* zRQ83dTc?y?ZTt@*6{Fr1{aSo;RlBW=bg7HJSvKccb@D^*+iC!HFzbEvL7&=)hojk~ zn>JWT+jV)sQRn`w@A0BgT)~~M-n%;KWnjxoT}4 zoD7OG-hB9>$=!~UWrE{GlDd@>t-a1d3d?G4VPl9@fIsDx2D>A9M7D;#n4fESq!1 z9MzAy6lO!^XLSB8tg+?$rF8Co)I?Hq$vf6rH2NKFsE;w})Je6{%9pP09P8+}>eo8? zvRUiL?Q6C2Hs*LBX_&}`p54zM4eHZ$|Ftd}TeWu>`=%dJf5r|+{irKCQ_T3(*SLDg z_JXq9)hiz|e~t>@aD;L(j4iBv*c>j#ibM?N`Z|Zg@m5B9KUL=+rk0gnwp1vcJCDq_EVTbaR=sz58{XowsZq#tMWR-2Q#;m5D!$qvRd~$; zlg1p1rN8#5ev$5%;{TA%D&KtBPdsGnzH=Rws@D)T-?vs+EQhs3?NFp%qdqAbeY&r* zy`9S4%BsI~jT+6PIlA?irPy(nqVe(K?`hF_`KH~KR+$;Ml?$>kOgfU+`kL}KUwDlA z2N$`$AHYPbpM~1gY}~%9%lj&0%I$5PLH*{2k)8c#kC} +; +; in: +; * LZSA_SRC_LO and LZSA_SRC_HI contain the compressed raw block address +; * LZSA_DST_LO and LZSA_DST_HI contain the destination buffer address +; +; out: +; * LZSA_DST_LO and LZSA_DST_HI contain the last decompressed byte address, +1 +; +; ----------------------------------------------------------------------------- +; Backward decompression is also supported, use lzsa -r -b -f2 +; To use it, also define BACKWARD_DECOMPRESS=1 before including this code! +; +; in: +; * LZSA_SRC_LO/LZSA_SRC_HI must contain the address of the last byte of compressed data +; * LZSA_DST_LO/LZSA_DST_HI must contain the address of the last byte of the destination buffer +; +; out: +; * LZSA_DST_LO/LZSA_DST_HI contain the last decompressed byte address, -1 +; +; ----------------------------------------------------------------------------- +; +; Copyright (C) 2019 Emmanuel Marty, Peter Ferrie +; +; This software is provided 'as-is', without any express or implied +; warranty. In no event will the authors be held liable for any damages +; arising from the use of this software. +; +; Permission is granted to anyone to use this software for any purpose, +; including commercial applications, and to alter it and redistribute it +; freely, subject to the following restrictions: +; +; 1. The origin of this software must not be misrepresented; you must not +; claim that you wrote the original software. If you use this software +; in a product, an acknowledgment in the product documentation would be +; appreciated but is not required. +; 2. Altered source versions must be plainly marked as such, and must not be +; misrepresented as being the original software. +; 3. This notice may not be removed or altered from any source distribution. +; ----------------------------------------------------------------------------- + +;NIBCOUNT = $FC ; zero-page location for temp offset + +decompress_lzsa2_fast: + + sta LZSA_DST_HI + + ldy #$00 + sty LZSA_DST_LO + sty NIBCOUNT + +decode_token: + jsr getsrc ; read token byte: XYZ|LL|MMM + pha ; preserve token on stack + + and #$18 ; isolate literals count (LL) + beq no_literals ; skip if no literals to copy + cmp #$18 ; LITERALS_RUN_LEN_V2? + bcc prepare_copy_literals ; if less, count is directly embedded in token + + jsr getnibble ; get extra literals length nibble + ; add nibble to len from token + adc #$02 ; (LITERALS_RUN_LEN_V2) minus carry + cmp #$12 ; LITERALS_RUN_LEN_V2 + 15 ? + bcc prepare_copy_literals_direct ; if less, literals count is complete + + jsr getsrc ; get extra byte of variable literals count + ; the carry is always set by the CMP above + ; GETSRC doesn't change it + sbc #$EE ; overflow? + jmp prepare_copy_literals_direct + +prepare_copy_literals_large: + ; handle 16 bits literals count + ; literals count = directly these 16 bits + jsr getlargesrc ; grab low 8 bits in X, high 8 bits in A + tay ; put high 8 bits in Y + bcs prepare_copy_literals_high ; (*same as JMP PREPARE_COPY_LITERALS_HIGH but shorter) + +prepare_copy_literals: + lsr ; shift literals count into place + lsr + lsr + +prepare_copy_literals_direct: + tax + bcs prepare_copy_literals_large ; if so, literals count is large + +prepare_copy_literals_high: + txa + beq copy_literals + iny + +copy_literals: + jsr getput ; copy one byte of literals + dex + bne copy_literals + dey + bne copy_literals + +no_literals: + pla ; retrieve token from stack + pha ; preserve token again + asl + bcs repmatch_or_large_offset ; 1YZ: rep-match or 13/16 bit offset + + asl ; 0YZ: 5 or 9 bit offset + bcs offset_9_bit + + ; 00Z: 5 bit offset + + ldx #$FF ; set offset bits 15-8 to 1 + + jsr getcombinedbits ; rotate Z bit into bit 0, read nibble for bits 4-1 + ora #$E0 ; set bits 7-5 to 1 + bne got_offset_lo ; go store low byte of match offset and prepare match + +offset_9_bit: ; 01Z: 9 bit offset + ;;asl ; shift Z (offset bit 8) in place + rol + rol + and #$01 + eor #$FF ; set offset bits 15-9 to 1 + bne got_offset_hi ; go store high byte, read low byte of match offset and prepare match + ; (*same as JMP GOT_OFFSET_HI but shorter) + +repmatch_or_large_offset: + asl ; 13 bit offset? + bcs repmatch_or_16bit ; handle rep-match or 16-bit offset if not + + ; 10Z: 13 bit offset + + jsr getcombinedbits ; rotate Z bit into bit 8, read nibble for bits 12-9 + adc #$DE ; set bits 15-13 to 1 and substract 2 (to substract 512) + bne got_offset_hi ; go store high byte, read low byte of match offset and prepare match + ; (*same as JMP GOT_OFFSET_HI but shorter) + +repmatch_or_16bit: ; rep-match or 16 bit offset + ;;ASL ; XYZ=111? + bmi rep_match ; reuse previous offset if so (rep-match) + + ; 110: handle 16 bit offset + jsr getsrc ; grab high 8 bits +got_offset_hi: + tax + jsr getsrc ; grab low 8 bits +got_offset_lo: + sta OFFSLO ; store low byte of match offset + stx OFFSHI ; store high byte of match offset + +rep_match: +.ifdef BACKWARD_DECOMPRESS + + ; Backward decompression - substract match offset + + sec ; add dest + match offset + lda putdst+1 ; low 8 bits +OFFSLO = *+1 + sbc #$AA + sta copy_match_loop+1 ; store back reference address + lda putdst+2 +OFFSHI = *+1 + sbc #$AA ; high 8 bits + sta copy_match_loop+2 ; store high 8 bits of address + sec + +.else + + ; Forward decompression - add match offset + + clc ; add dest + match offset + lda putdst+1 ; low 8 bits +OFFSLO = *+1 + adc #$AA + sta copy_match_loop+1 ; store back reference address +OFFSHI = *+1 + lda #$AA ; high 8 bits + adc putdst+2 + sta copy_match_loop+2 ; store high 8 bits of address +.endif + + pla ; retrieve token from stack again + and #$07 ; isolate match len (MMM) + adc #$01 ; add MIN_MATCH_SIZE_V2 and carry + cmp #$09 ; MIN_MATCH_SIZE_V2 + MATCH_RUN_LEN_V2? + bcc prepare_copy_match ; if less, length is directly embedded in token + + jsr getnibble ; get extra match length nibble + ; add nibble to len from token + adc #$08 ; (MIN_MATCH_SIZE_V2 + MATCH_RUN_LEN_V2) minus carry + cmp #$18 ; MIN_MATCH_SIZE_V2 + MATCH_RUN_LEN_V2 + 15? + bcc prepare_copy_match ; if less, match length is complete + + jsr getsrc ; get extra byte of variable match length + ; the carry is always set by the CMP above + ; GETSRC doesn't change it + sbc #$E8 ; overflow? + +prepare_copy_match: + tax + bcc prepare_copy_match_y ; if not, the match length is complete + beq decompression_done ; if EOD code, bail + + ; Handle 16 bits match length + jsr getlargesrc ; grab low 8 bits in X, high 8 bits in A + tay ; put high 8 bits in Y + +prepare_copy_match_y: + txa + beq copy_match_loop + iny + +copy_match_loop: + lda $AAAA ; get one byte of backreference + jsr putdst ; copy to destination + +.ifdef BACKWARD_DECOMPRESS + + ; Backward decompression -- put backreference bytes backward + + lda copy_match_loop+1 + beq getmatch_adj_hi +getmatch_done: + dec copy_match_loop+1 + +.else + + ; Forward decompression -- put backreference bytes forward + + inc copy_match_loop+1 + beq getmatch_adj_hi +getmatch_done: + +.endif + + dex + bne copy_match_loop + dey + bne copy_match_loop + jmp decode_token + +.ifdef BACKWARD_DECOMPRESS + +getmatch_adj_hi: + dec copy_match_loop+2 + jmp getmatch_done + +.else + +getmatch_adj_hi: + inc copy_match_loop+2 + jmp getmatch_done +.endif + +getcombinedbits: + eor #$80 + asl + php + + jsr getnibble ; get nibble into bits 0-3 (for offset bits 1-4) + plp ; merge Z bit as the carry bit (for offset bit 0) +combinedbitz: + rol ; nibble -> bits 1-4; carry(!Z bit) -> bit 0 ; carry cleared +decompression_done: + rts + +getnibble: +NIBBLES = *+1 + lda #$AA + lsr NIBCOUNT + bcc need_nibbles + and #$0F ; isolate low 4 bits of nibble + rts + +need_nibbles: + inc NIBCOUNT + jsr getsrc ; get 2 nibbles + sta NIBBLES + lsr + lsr + lsr + lsr + sec + rts + +.ifdef BACKWARD_DECOMPRESS + + ; Backward decompression -- get and put bytes backward + +getput: + jsr getsrc +putdst: +LZSA_DST_LO = *+1 +LZSA_DST_HI = *+2 + sta $AAAA + lda putdst+1 + beq putdst_adj_hi + dec putdst+1 + rts + +putdst_adj_hi: + dec putdst+2 + dec putdst+1 + rts + +getlargesrc: + jsr getsrc ; grab low 8 bits + tax ; move to X + ; fall through grab high 8 bits + +getsrc: +LZSA_SRC_LO = *+1 +LZSA_SRC_HI = *+2 + lda $AAAA + pha + lda getsrc+1 + beq getsrc_adj_hi + dec getsrc+1 + pla + rts + +getsrc_adj_hi: + dec getsrc+2 + dec getsrc+1 + pla + rts + +.else + + ; Forward decompression -- get and put bytes forward + +getput: + jsr getsrc +putdst: +LZSA_DST_LO = *+1 +LZSA_DST_HI = *+2 + sta $AAAA + inc putdst+1 + beq putdst_adj_hi + rts + +putdst_adj_hi: + inc putdst+2 + rts + +getlargesrc: + jsr getsrc ; grab low 8 bits + tax ; move to X + ; fall through grab high 8 bits + +getsrc: +getsrc_smc: +LZSA_SRC_LO = *+1 +LZSA_SRC_HI = *+2 + lda $AAAA + inc getsrc+1 + beq getsrc_adj_hi + rts + +getsrc_adj_hi: + inc getsrc+2 + rts +.endif + diff --git a/graphics/dhgr/c64/hardware.inc b/graphics/dhgr/c64/hardware.inc new file mode 100644 index 00000000..0634562c --- /dev/null +++ b/graphics/dhgr/c64/hardware.inc @@ -0,0 +1,103 @@ +;; HARDWARE LOCATIONS + +KEYPRESS = $C000 +KEYRESET = $C010 + +;; SOFT SWITCHES +CLR80COL = $C000 ; PAGE0/PAGE1 normal +SET80COL = $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead +EIGHTYCOLOFF = $C00C +EIGHTYCOLON = $C00D +TBCOLOR = $C022 ; IIgs text foreground / background colors +NEWVIDEO = $C029 ; IIgs graphics modes +SPEAKER = $C030 +CLOCKCTL = $C034 ; bits 0-3 are IIgs border color +SET_GR = $C050 +SET_TEXT = $C051 +FULLGR = $C052 +TEXTGR = $C053 +PAGE0 = $C054 +PAGE1 = $C055 +LORES = $C056 ; Enable LORES graphics +HIRES = $C057 ; Enable HIRES graphics +AN3 = $C05E ; Annunciator 3 + + + + + + + +PADDLE_BUTTON0 = $C061 +PADDLE_BUTTON1 = $C062 +PADDL0 = $C064 +PTRIG = $C070 + +;; BASIC ROUTINES + +NORMAL = $F273 + +;; MONITOR ROUTINES + +PLOT = $F800 ;; PLOT AT Y,A +PLOT1 = $F80E ;; PLOT at (GBASL),Y (need MASK to be $0f or $f0) +HLINE = $F819 ;; HLINE Y,$2C at A +VLINE = $F828 ;; VLINE A,$2D at Y +CLRSCR = $F832 ;; Clear low-res screen +CLRTOP = $F836 ;; clear only top of low-res screen +GBASCALC= $F847 ;; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear) +SETCOL = $F864 ;; COLOR=A +ROM_TEXT2COPY = $F962 ;; iigs +SETTXT = $FB36 +SETGR = $FB40 +TABV = $FB5B ;; VTAB to A +ROM_MACHINEID = $FBB3 ;; iigs +BELL = $FBDD ;; ring the bell +BASCALC = $FBC1 ;; +VTAB = $FC22 ;; VTAB to CV +HOME = $FC58 ;; Clear the text screen +WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us +CROUT1 = $FD8B +SETINV = $FE80 ;; INVERSE +SETNORM = $FE84 ;; NORMAL +COUT = $FDED ;; output A to screen +COUT1 = $FDF0 ;; output A to screen + + + + + + + +COLOR_BLACK = 0 +COLOR_RED = 1 +COLOR_DARKBLUE = 2 +COLOR_PURPLE = 3 +COLOR_DARKGREEN = 4 +COLOR_GREY = 5 +COLOR_MEDIUMBLUE = 6 +COLOR_LIGHTBLUE = 7 +COLOR_BROWN = 8 +COLOR_ORANGE = 9 +COLOR_GREY2 = 10 +COLOR_PINK = 11 +COLOR_LIGHTGREEN = 12 +COLOR_YELLOW = 13 +COLOR_AQUA = 14 +COLOR_WHITE = 15 + +COLOR_BOTH_BLACK = $00 +COLOR_BOTH_RED = $11 +COLOR_BOTH_DARKBLUE = $22 +COLOR_BOTH_DARKGREEN = $44 +COLOR_BOTH_GREY = $55 +COLOR_BOTH_MEDIUMBLUE = $66 +COLOR_BOTH_LIGHTBLUE = $77 +COLOR_BOTH_BROWN = $88 +COLOR_BOTH_ORANGE = $99 +COLOR_BOTH_PINK = $BB +COLOR_BOTH_LIGHTGREEN = $CC +COLOR_BOTH_YELLOW = $DD +COLOR_BOTH_AQUA = $EE +COLOR_BOTH_WHITE = $FF + diff --git a/graphics/dhgr/hello.bas b/graphics/dhgr/c64/hello.bas similarity index 100% rename from graphics/dhgr/hello.bas rename to graphics/dhgr/c64/hello.bas diff --git a/graphics/dhgr/Makefile b/graphics/dhgr/raster/Makefile similarity index 57% rename from graphics/dhgr/Makefile rename to graphics/dhgr/raster/Makefile index cee84f15..2e1198b4 100644 --- a/graphics/dhgr/Makefile +++ b/graphics/dhgr/raster/Makefile @@ -1,16 +1,17 @@ -include ../../Makefile.inc +include ../../../Makefile.inc -DOS33 = ../../utils/dos33fs-utils/dos33 -TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft -B2D = ../../utils/bmp2dhr/b2d +DOS33 = ../../../utils/dos33fs-utils/dos33 +TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft +B2D = ../../../utils/bmp2dhr/b2d LZSA = ~/research/lzsa/lzsa/lzsa +LINKER_SCRIPTS = ../../../linker_scripts/ -EMPTY_DISK = ../../empty_disk/empty.dsk +EMPTY_DISK = ../../../empty_disk/empty.dsk all: dhgr.dsk -dhgr.dsk: HELLO RASTER RASTER2 RASTER3 RASTER4 RASTER4_GOOD BITS LOTS DHR_LOAD +dhgr.dsk: HELLO RASTER RASTER2 RASTER3 RASTER4 RASTER4_GOOD BITS LOTS cp $(EMPTY_DISK) dhgr.dsk $(DOS33) -y dhgr.dsk SAVE A HELLO $(DOS33) -y dhgr.dsk BSAVE -a 0x0300 RASTER @@ -18,7 +19,6 @@ dhgr.dsk: HELLO RASTER RASTER2 RASTER3 RASTER4 RASTER4_GOOD BITS LOTS DHR_LOAD $(DOS33) -y dhgr.dsk BSAVE -a 0x0300 RASTER3 $(DOS33) -y dhgr.dsk BSAVE -a 0x0300 RASTER4 $(DOS33) -y dhgr.dsk BSAVE -a 0x0300 RASTER4_GOOD - $(DOS33) -y dhgr.dsk BSAVE -a 0x1000 DHR_LOAD $(DOS33) -y dhgr.dsk BSAVE -a 0x0300 BITS $(DOS33) -y dhgr.dsk BSAVE -a 0x0300 LOTS @@ -44,7 +44,7 @@ C64.AUX: c64.bmp ### RASTER: raster.o - ld65 -o RASTER raster.o -C ../../linker_scripts/apple2_300.inc + ld65 -o RASTER raster.o -C $(LINKER_SCRIPTS)/apple2_300.inc raster.o: raster.s ca65 -o raster.o raster.s -l raster.lst @@ -53,7 +53,7 @@ raster.o: raster.s ### RASTER2: raster2.o - ld65 -o RASTER2 raster2.o -C ../../linker_scripts/apple2_300.inc + ld65 -o RASTER2 raster2.o -C $(LINKER_SCRIPTS)/apple2_300.inc raster2.o: raster2.s ca65 -o raster2.o raster2.s -l raster2.lst @@ -62,7 +62,7 @@ raster2.o: raster2.s ### RASTER3: raster3.o - ld65 -o RASTER3 raster3.o -C ../../linker_scripts/apple2_300.inc + ld65 -o RASTER3 raster3.o -C $(LINKER_SCRIPTS)/apple2_300.inc raster3.o: raster3.s ca65 -o raster3.o raster3.s -l raster3.lst @@ -70,34 +70,25 @@ raster3.o: raster3.s ### RASTER4: raster4.o - ld65 -o RASTER4 raster4.o -C ../../linker_scripts/apple2_300.inc + ld65 -o RASTER4 raster4.o -C $(LINKER_SCRIPTS)/apple2_300.inc raster4.o: raster4.s ca65 -o raster4.o raster4.s -l raster4.lst ### -RASTER4_GOOD: raster4.o - ld65 -o RASTER4_GOOD raster4.o -C ../../linker_scripts/apple2_300.inc +RASTER4_GOOD: raster4_good.o + ld65 -o RASTER4_GOOD raster4_good.o -C $(LINKER_SCRIPTS)/apple2_300.inc -raster4.o: raster4.s - ca65 -o raster4.o raster4.s -l raster4.lst - - -### - -DHR_LOAD: dhr_load.o - ld65 -o DHR_LOAD dhr_load.o -C ../../linker_scripts/apple2_1000.inc - -dhr_load.o: dhr_load.s C64.AUX.lzsa C64.BIN.lzsa - ca65 -o dhr_load.o dhr_load.s -l dhr_load.lst +raster4_good.o: raster4_good.s + ca65 -o raster4_good.o raster4_good.s -l raster4_good.lst ### LOTS: lots.o - ld65 -o LOTS lots.o -C ../../linker_scripts/apple2_300.inc + ld65 -o LOTS lots.o -C $(LINKER_SCRIPTS)/apple2_300.inc lots.o: lots.s ca65 -o lots.o lots.s -l lots.lst @@ -106,7 +97,7 @@ lots.o: lots.s ### BITS: bits.o - ld65 -o BITS bits.o -C ../../linker_scripts/apple2_300.inc + ld65 -o BITS bits.o -C $(LINKER_SCRIPTS)/apple2_300.inc bits.o: bits.s ca65 -o bits.o bits.s -l bits.lst diff --git a/graphics/dhgr/README b/graphics/dhgr/raster/README similarity index 100% rename from graphics/dhgr/README rename to graphics/dhgr/raster/README diff --git a/graphics/dhgr/bits.s b/graphics/dhgr/raster/bits.s similarity index 100% rename from graphics/dhgr/bits.s rename to graphics/dhgr/raster/bits.s diff --git a/graphics/dhgr/dhgr.dsk b/graphics/dhgr/raster/dhgr.dsk similarity index 100% rename from graphics/dhgr/dhgr.dsk rename to graphics/dhgr/raster/dhgr.dsk diff --git a/graphics/dhgr/encode6.c b/graphics/dhgr/raster/encode6.c similarity index 100% rename from graphics/dhgr/encode6.c rename to graphics/dhgr/raster/encode6.c diff --git a/graphics/dhgr/raster/hello.bas b/graphics/dhgr/raster/hello.bas new file mode 100644 index 00000000..133a44bb --- /dev/null +++ b/graphics/dhgr/raster/hello.bas @@ -0,0 +1,2 @@ +5 HOME +10 PRINT CHR$(4);"CATALOG" diff --git a/graphics/dhgr/loader.s b/graphics/dhgr/raster/loader.s similarity index 100% rename from graphics/dhgr/loader.s rename to graphics/dhgr/raster/loader.s diff --git a/graphics/dhgr/lots.s b/graphics/dhgr/raster/lots.s similarity index 100% rename from graphics/dhgr/lots.s rename to graphics/dhgr/raster/lots.s diff --git a/graphics/dhgr/raster.s b/graphics/dhgr/raster/raster.s similarity index 100% rename from graphics/dhgr/raster.s rename to graphics/dhgr/raster/raster.s diff --git a/graphics/dhgr/raster2.s b/graphics/dhgr/raster/raster2.s similarity index 100% rename from graphics/dhgr/raster2.s rename to graphics/dhgr/raster/raster2.s diff --git a/graphics/dhgr/raster3.s b/graphics/dhgr/raster/raster3.s similarity index 100% rename from graphics/dhgr/raster3.s rename to graphics/dhgr/raster/raster3.s diff --git a/graphics/dhgr/raster4.s b/graphics/dhgr/raster/raster4.s similarity index 100% rename from graphics/dhgr/raster4.s rename to graphics/dhgr/raster/raster4.s diff --git a/graphics/dhgr/raster4_good.s b/graphics/dhgr/raster/raster4_good.s similarity index 100% rename from graphics/dhgr/raster4_good.s rename to graphics/dhgr/raster/raster4_good.s diff --git a/graphics/dhgr/raster5.s b/graphics/dhgr/raster/raster5.s similarity index 100% rename from graphics/dhgr/raster5.s rename to graphics/dhgr/raster/raster5.s