The following warnings occurred:
Warning [2] Undefined array key 0 - Line: 1677 - File: showthread.php PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/showthread.php 1677 errorHandler->error_callback
/showthread.php 916 buildtree




Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
BritLion's Putchars
#9
It seems cut the sprites on screen thirds.
Code:
SUB putChars(x as uByte,y as uByte,height as uByte,width as uByte,dataAddress as uInteger) DIM columns as uByte REM Let's put our variables into our code: POKE @BLPutCharWidth+1,width POKE @BLPutCharHeight+1,height POKE @BLPutCharX+1, x POKE @BLPutCharY+1, y POKE uInteger @BLPutCharData+1,dataAddress asm call BLPutChar end asm return BLPutCharX: asm BLPutChar: LD a,1 AND 31 ld l,a end asm BLPutCharY: asm ld a,2 ; Y value ld d,a AND 24 add a,64 ld h,a ld a,d AND 7 rrca rrca rrca OR l ld l,a PUSH HL ; save our address. end asm BLPutCharData: asm LD DE,16384 ; Marker - This will be poked for the data address by the subroutine end asm BLPutCharWidth: asm LD B,3 ; Marker - this will be poked for the width PUSH BC ; save our column count. BLPutCharColumnLoop: end asm BLPutCharHeight: asm LD B,1 ; Marker - this will be poked for the height by the subroutine. BLPutCharInColumnLoop: call BLPutBytes DEC B JR Z,BLPutCharNextColumn ;The following code calculates the address of the next line down below current HL address. PUSH DE ; save DE ld a,l and 224 cp 224 jp z,BLPutCharSameThird BLPutCharNextThird: ld de,-1760 ;and a add hl,de POP DE ; get our data point back. jp BLPutCharInColumnLoop BLPutCharSameThird: ld de,32 ;and a POP DE ; get our data point back. add hl,de JP BLPutCharInColumnLoop BLPutCharNextColumn: POP BC POP HL DEC B RET Z INC HL PUSH HL PUSH BC JP BLPutCharColumnLoop end asm asm BLPutBytes: ; gets screen address in HL, and bytes address in DE. Copies the 8 bytes to the screen. ld a,(DE) LD (HL),a INC DE INC H ld a,(DE) LD (HL),a INC DE INC H ld a,(DE) LD (HL),a INC DE INC H ld a,(DE) LD (HL),a INC DE INC H ld a,(DE) LD (HL),a INC DE INC H ld a,(DE) LD (HL),a INC DE INC H ld a,(DE) LD (HL),a INC DE INC H ld a,(DE) LD (HL),a INC DE ret end asm END SUB goto start datapoint: asm defb 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32 defb 33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64 end asm start: cls putChars(0,0,2,2,@datapoint) putChars(0,7,2,2,@datapoint) putChars(0,15,2,2,@datapoint) print at 19,0;"error when line=7 or line=15"
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)