By John Hardman, Andrew D. Hewson
Read Online or Download 40 Best Machine Code Routines for the ZX Spectrum PDF
Similar nonfiction_13 books
Berkeley 1968 1st collage of California. The Santa Casa da Misericordia of Bahia 1550-1755. eightvo. , 429pp. , illustrations, index,, hardcover. a few ink notes on margin of desk of contents. VG, no DJ.
Examines the borderline among conventional financial thought and the actual difficulties of constructing international locations. The ethics of redistribution, and the effect at the improvement strategy of the interplay among nationwide kingdom forms and overseas associations are thought of.
This booklet describes the basic building-block of many new computing device imaginative and prescient platforms: dense and strong correspondence estimation. Dense correspondence estimation recommendations are actually effectively getting used to resolve a variety of desktop imaginative and prescient difficulties, very diverse from the normal purposes such ideas have been initially constructed to resolve.
Extra info for 40 Best Machine Code Routines for the ZX Spectrum
The routine requires ten bytes per byte of data, plus five for line numbers, pointers, etc. However, the ROM routine used also uses a large workspace, so always take this into account. If there is not enough memory available, the line pointers will not be set correctly and the BASIC listing will be corrupted. 96 next byte hundreds Assembly language Numbers to be entered Id de, (23296) Id bc, (23298) Id a,b or c ret z Id hl, (23635) Id a, (hl) cp O jr nz, continue inc hl Id a, (hl) cp 1 ret z dec hl push hl push bc push de sub a call 3976 ex de,h1 Id a, 1 call 3976 ex de,hl call 3976 ex de,hl call 3976 ex de,hl Id a, 228 call 3976 ex de,h1 237 91 0 91 237 75 2 91 120 177 200 42 83 92 126 254 0 32 6 35 126 254 1 200 43 229 197 213 151 205 136 15 235 62 1 205 136 15 235 205 136 15 235 205 136 15 235 62 228 205 136 15 235 pop de Id a, (de) push de ld c,47 inc c 1d b, 100 sub b jr nc, hundreds add a,b Id b,a 209 26 213 14 47 12 6 100 144 48 250 128 71 97 121 197 205 136 15 235 193 120 14 47 12 6 10 144 48 250 128 71 121 197 205 136 15 193 235 120 198 48 205 136 15 235 62 14 66 197 205 136 15 193 235 151 16 247 209 229 43 43 43 26 119 225 19 193 11 120 177 40 10 197 213 62 44 Id a,c push be call 3976 ex de,hl pop be Id a,b Id c,47 inc c Id b,10 sub b jr nc, tens add a,b Id b,a ld a,c push be call 3976 pop be ex de,hl Id a,b add a,48 call 3976 ex de,hl Id a,14 ldb,6 push be call 3976 pop be ex de,hl sub a djnz next zero pop de push hl dec hl dec hl dec hl Id a, (de) Id (hl),a pop hl inc de pop be dec be Id a,b or c jr z, enter push be push de Ida,44 98 enter pointers end?
If this contains the value two, de points to the bottom line of the screen, an d so this is POKEd with zero. de and hl are then incremented to point to the next bytes. The counter in the b register is then decremented and if it does not hold zero the routine loops to `copy byte'. 224 is added to both the hl and de register pairs, so that they point to the next line of the display. The line counter, in the c register, is decremented. If the value in c is not a multiple of eight a jump is made to `subtract'.
X is the starting position, * are the starts of RUNS and O remain unshaded. How it works This routine plots horizontal lines of adjacent pixels called `RUNS' within areas bounded by illuminated pixels. Each RUN is remembered by `stacking' the co-ordinates of the rightmost pixel of the RUN. Starting from the specified co-ordinates, the routine fills in each RUN, noting the positions of any unfilled RUNS above or below. On completing one RUN, The routine shades the horizontal line containing the starting position and saves on the stack the positions of the starts of the RUNS in the lines immediately above and below.