Rev 961 | Details | Compare with Previous | Last modification | View Log
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 837 | alone | 1 | DEVICE ZXSPECTRUM128 |
| 352 | alone | 2 | include "../../_sdk/sys_h.asm" |
| 3 | |||
| 835 | alone | 4 | BINADDR=0x4000 |
| 5 | |||
| 352 | alone | 6 | scrbase=0x4000 |
| 7 | sprmaxwid=32 |
||
| 8 | sprmaxhgt=32 |
||
| 9 | scrwid=160 ;double pixels |
||
| 10 | scrhgt=200 |
||
| 11 | clswid=40 ;*8 |
||
| 12 | clshgt=200 |
||
| 13 | |||
| 14 | STACK=0x4000 |
||
| 15 | tempsp=0x3f06 ;6 bytes for prspr |
||
| 16 | INTSTACK=0x3f00 |
||
| 17 | |||
| 949 | alone | 18 | SND_PAGE=0;(0^INVMASK) |
| 19 | SPTBL_PAGE=1;(6^INVMASK) |
||
| 20 | PAL_PAGE=2;(4^INVMASK) |
||
| 352 | alone | 21 | |
| 949 | alone | 22 | SPBUF_PAGE0=3;(8^INVMASK) |
| 23 | SPBUF_PAGE1=4;(9^INVMASK) |
||
| 24 | SPBUF_PAGE2=5;(10^INVMASK) |
||
| 25 | SPBUF_PAGE3=6;(11^INVMASK) |
||
| 352 | alone | 26 | |
| 949 | alone | 27 | CC_PAGE1=7;(13^INVMASK) |
| 28 | CC_PAGE2=8;(14^INVMASK) |
||
| 29 | CC_PAGE3=9;(12^INVMASK) |
||
| 352 | alone | 30 | |
| 949 | alone | 31 | GFX_PAGE=10;(16^INVMASK) ; |
| 352 | alone | 32 | |
| 33 | IMG_LIST =0xd000;#1000 |
||
| 34 | |||
| 35 | ;ᬥ饭 SND_PAGE |
||
| 36 | |||
| 37 | AFX_INIT =#4000 |
||
| 38 | AFX_PLAY =#4003 |
||
| 39 | AFX_FRAME=#4006 |
||
| 40 | PT3_INIT =#4009 |
||
| 41 | PT3_FRAME=#400c |
||
| 42 | PT3_MUTE =#400f ;NEW for TFM |
||
| 43 | TURBOFMON=#4012 ;NEW for TFM |
||
| 44 | |||
| 45 | MUS_COUNT=#49fe |
||
| 46 | SMP_COUNT=#49ff |
||
| 47 | SFX_COUNT=#5000 |
||
| 48 | |||
| 49 | MUS_LIST =#4a00 |
||
| 50 | SMP_LIST =#4d00 |
||
| 51 | SFX_DATA =#5100 |
||
| 52 | |||
| 53 | macro MDebug color |
||
| 54 | push af |
||
| 55 | ld a,color |
||
| 56 | out (#fe),a |
||
| 57 | pop af |
||
| 58 | endm |
||
| 59 | |||
| 60 | macro MSetShadowScreen |
||
| 1029 | alone | 61 | call setpgsscr40008000 |
| 352 | alone | 62 | endm |
| 63 | |||
| 64 | macro MRestoreMemMap012 |
||
| 939 | alone | 65 | ;TODO । (pgmain4000) .. (ᥩ ⮬ ⠡) |
| 352 | alone | 66 | ld a,CC_PAGE3 |
| 870 | alone | 67 | call setpgc000;SETPG32KHIGH |
| 352 | alone | 68 | ld a,CC_PAGE1 |
| 870 | alone | 69 | call setpg4000;SETPG16K |
| 352 | alone | 70 | ld a,CC_PAGE2 |
| 870 | alone | 71 | call setpg8000;SETPG32KLOW |
| 352 | alone | 72 | endm |
| 73 | |||
| 74 | macro MRestoreMemMap12 |
||
| 75 | ld a,CC_PAGE1 |
||
| 870 | alone | 76 | call setpg4000;SETPG16K |
| 352 | alone | 77 | ld a,CC_PAGE2 |
| 870 | alone | 78 | call setpg8000;SETPG32KLOW |
| 352 | alone | 79 | endm |
| 80 | |||
| 81 | org PROGSTART |
||
| 82 | begin |
||
| 83 | ld sp,STACK |
||
| 583 | alone | 84 | OS_HIDEFROMPARENT |
| 352 | alone | 85 | |
| 583 | alone | 86 | ; ld b,25 |
| 87 | ;waitcls0 |
||
| 88 | ; push bc |
||
| 89 | ; YIELD |
||
| 90 | ; pop bc |
||
| 91 | ; djnz waitcls0 ;⮡ nv 墠⨫ 䮪 맮 १ ப |
||
| 352 | alone | 92 | |
| 872 | alone | 93 | ld e,0+128 ;+128=keep |
| 352 | alone | 94 | OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode) |
| 95 | ld e,0 |
||
| 96 | OS_SETSCREEN |
||
| 97 | ld e,0 ;color byte |
||
| 98 | OS_CLS |
||
| 99 | ld e,1 |
||
| 100 | OS_SETSCREEN |
||
| 101 | ld e,0 ;color byte |
||
| 102 | OS_CLS |
||
| 103 | |||
| 104 | OS_GETMAINPAGES |
||
| 105 | ;dehl= ࠭ 0000,4000,8000,c000 |
||
| 106 | ld a,e |
||
| 107 | LD (pgmain4000),A |
||
| 944 | alone | 108 | ld (tpages+CC_PAGE1),a |
| 352 | alone | 109 | ld a,h |
| 110 | LD (pgmain8000),A |
||
| 944 | alone | 111 | ld (tpages+CC_PAGE2),a |
| 870 | alone | 112 | ld a,l |
| 944 | alone | 113 | ld (tpages+CC_PAGE3),a |
| 352 | alone | 114 | call setpgsmain40008000 ; curpg... |
| 115 | |||
| 116 | ld de,res_path |
||
| 117 | OS_CHDIR |
||
| 118 | |||
| 835 | alone | 119 | ld de,fnaddr |
| 120 | OS_OPENHANDLE |
||
| 121 | push bc |
||
| 122 | ld de,jpaddr ;addr |
||
| 123 | ld hl,2 ;size |
||
| 124 | OS_READHANDLE |
||
| 125 | pop bc |
||
| 126 | OS_CLOSEHANDLE |
||
| 127 | |||
| 873 | alone | 128 | ld hl,sndfilename |
| 129 | call loadpage ;CY=error |
||
| 130 | ld (tpages+0),a |
||
| 131 | ld hl,sprtblfilename |
||
| 132 | call loadpage ;CY=error |
||
| 133 | ld (tpages+1),a |
||
| 134 | ld hl,palfilename |
||
| 135 | call loadpage ;CY=error |
||
| 136 | ld (tpages+2),a |
||
| 137 | |||
| 138 | ld de,tpages+GFX_PAGE |
||
| 139 | |||
| 871 | alone | 140 | ;ld b,NUMBER_OF_PAGES |
| 352 | alone | 141 | loadloop0 |
| 871 | alone | 142 | ;push bc |
| 352 | alone | 143 | push de |
| 144 | ld hl,texfilename |
||
| 871 | alone | 145 | call loadpage ;CY=error |
| 352 | alone | 146 | pop de |
| 871 | alone | 147 | jr c,loadloop0q |
| 352 | alone | 148 | ld (de),a |
| 149 | inc e |
||
| 150 | ld hl,texfilename_pgnumend |
||
| 151 | loadloop_nextdigit0 |
||
| 152 | dec hl |
||
| 153 | ld a,(hl) |
||
| 154 | inc a |
||
| 155 | cp "0"+10 |
||
| 156 | ld (hl),"0" |
||
| 157 | jr z,loadloop_nextdigit0 |
||
| 158 | ld (hl),a |
||
| 871 | alone | 159 | jr loadloop0 |
| 160 | ;pop bc |
||
| 161 | ;djnz loadloop0 |
||
| 162 | loadloop0q |
||
| 352 | alone | 163 | |
| 944 | alone | 164 | ld hl,tpages+SPBUF_PAGE0 |
| 165 | ld b,4 |
||
| 949 | alone | 166 | mkpages0 |
| 944 | alone | 167 | push bc |
| 168 | push hl |
||
| 169 | OS_NEWPAGE |
||
| 170 | pop hl |
||
| 171 | ld (hl),e |
||
| 949 | alone | 172 | inc l |
| 944 | alone | 173 | pop bc |
| 949 | alone | 174 | djnz mkpages0 |
| 175 | |||
| 961 | alone | 176 | call initsfx |
| 177 | |||
| 1029 | alone | 178 | call swapimer |
| 179 | |||
| 352 | alone | 180 | call setpgsmain40008000 |
| 949 | alone | 181 | call RestoreMemMap3 |
| 182 | ld de,fnbin |
||
| 183 | ld hl,0x4000 |
||
| 184 | call loadbinpg |
||
| 185 | ld de,fnbin2 |
||
| 186 | ld hl,0x8000 |
||
| 187 | call loadbinpg |
||
| 188 | ld de,fnbin3 |
||
| 189 | ld hl,0xc000 |
||
| 190 | call loadbinpg |
||
| 352 | alone | 191 | |
| 871 | alone | 192 | ld de,CURPAL |
| 352 | alone | 193 | OS_SETPAL |
| 194 | |||
| 353 | alone | 195 | call _swap_screen |
| 835 | alone | 196 | jpaddr=$+1 |
| 961 | alone | 197 | call 0 |
| 949 | alone | 198 | |
| 199 | quit ;TODO |
||
| 352 | alone | 200 | call swapimer |
| 201 | pgmusic=$+1 |
||
| 202 | ld a,0 |
||
| 944 | alone | 203 | SETPG4000 |
| 352 | alone | 204 | ld hl,0x4008 ;stop |
| 205 | OS_SETMUSIC |
||
| 206 | halt |
||
| 207 | QUIT |
||
| 208 | |||
| 209 | ds 0x0200-$ |
||
| 210 | tpages |
||
| 211 | ds 256 ;pages |
||
| 212 | |||
| 873 | alone | 213 | loadbinpg |
| 214 | push hl |
||
| 215 | OS_OPENHANDLE |
||
| 216 | pop de ;addr |
||
| 217 | push bc |
||
| 218 | ld hl,-BINADDR ;size |
||
| 219 | OS_READHANDLE |
||
| 220 | pop bc |
||
| 221 | OS_CLOSEHANDLE |
||
| 222 | ret |
||
| 223 | |||
| 352 | alone | 224 | loadpage |
| 225 | ;뢠 ࠭ 㧨 㤠 䠩 ( 䠩 hl) |
||
| 226 | ;out: hl= 䠩, a=pg |
||
| 871 | alone | 227 | ;or else CY |
| 352 | alone | 228 | push hl |
| 871 | alone | 229 | ex de,hl |
| 230 | OS_OPENHANDLE |
||
| 231 | pop hl |
||
| 232 | or a |
||
| 233 | scf |
||
| 234 | ret nz |
||
| 235 | push hl |
||
| 236 | push bc |
||
| 352 | alone | 237 | OS_NEWPAGE |
| 871 | alone | 238 | pop bc |
| 352 | alone | 239 | pop hl |
| 240 | ld a,e |
||
| 241 | push af ;pg |
||
| 871 | alone | 242 | push bc |
| 944 | alone | 243 | SETPGC000 |
| 871 | alone | 244 | pop bc |
| 352 | alone | 245 | push hl |
| 246 | ex de,hl |
||
| 871 | alone | 247 | ;OS_OPENHANDLE |
| 352 | alone | 248 | push bc |
| 249 | ld de,0xc000 ;addr |
||
| 250 | ld hl,0x4000 ;size |
||
| 251 | OS_READHANDLE |
||
| 252 | pop bc |
||
| 253 | OS_CLOSEHANDLE |
||
| 254 | pop hl |
||
| 255 | ld b,1 |
||
| 256 | xor a |
||
| 257 | cpir ;after 0 |
||
| 258 | pop af ;pg |
||
| 871 | alone | 259 | or a ;CY=0 |
| 352 | alone | 260 | ret |
| 261 | |||
| 871 | alone | 262 | CURPAL |
| 352 | alone | 263 | ;DDp palette: %grbG11RB(low),%grbG11RB(high), |
| 1029 | alone | 264 | STANDARDPAL |
| 352 | alone | 265 | |
| 873 | alone | 266 | sndfilename |
| 267 | db "page_0.bin",0 |
||
| 268 | sprtblfilename |
||
| 269 | db "page_1.bin",0 |
||
| 270 | palfilename |
||
| 271 | db "page_2.bin",0 |
||
| 352 | alone | 272 | |
| 273 | texfilename |
||
| 873 | alone | 274 | texfilename_pgnumend=$+7;8 |
| 275 | db "page_10.bin",0 |
||
| 352 | alone | 276 | |
| 277 | |||
| 873 | alone | 278 | |
| 279 | |||
| 352 | alone | 280 | setpgsmain40008000 |
| 281 | pgmain4000=$+1 |
||
| 282 | ld a,0 |
||
| 944 | alone | 283 | SETPG4000 |
| 352 | alone | 284 | pgmain8000=$+1 |
| 285 | ld a,0 |
||
| 944 | alone | 286 | SETPG8000 |
| 352 | alone | 287 | ret |
| 288 | |||
| 289 | setpgsscr40008000_current |
||
| 528 | alone | 290 | call getuser_scr_low_cur |
| 944 | alone | 291 | SETPG4000 |
| 528 | alone | 292 | call getuser_scr_high_cur |
| 944 | alone | 293 | SETPG8000 |
| 528 | alone | 294 | ret |
| 295 | |||
| 352 | alone | 296 | setpgsscr40008000 |
| 528 | alone | 297 | call getuser_scr_low |
| 944 | alone | 298 | SETPG4000 |
| 528 | alone | 299 | call getuser_scr_high |
| 944 | alone | 300 | SETPG8000 |
| 352 | alone | 301 | ret |
| 528 | alone | 302 | |
| 352 | alone | 303 | setpgscrlow4000 |
| 528 | alone | 304 | call getuser_scr_low |
| 944 | alone | 305 | SETPG4000 |
| 352 | alone | 306 | ret |
| 528 | alone | 307 | |
| 352 | alone | 308 | setpgscrhigh4000 |
| 528 | alone | 309 | call getuser_scr_high |
| 944 | alone | 310 | SETPG4000 |
| 352 | alone | 311 | ret |
| 312 | |||
| 528 | alone | 313 | getuser_scr_low |
| 314 | getuser_scr_low_patch=$+1 |
||
| 315 | getuser_scr_low_patchN=0xff&(user_scr0_low^user_scr1_low) |
||
| 555 | alone | 316 | ld a,(user_scr1_low) ;ok |
| 528 | alone | 317 | ret |
| 318 | |||
| 319 | getuser_scr_high |
||
| 320 | getuser_scr_high_patch=$+1 |
||
| 321 | getuser_scr_high_patchN=0xff&(user_scr0_high^user_scr1_high) |
||
| 555 | alone | 322 | ld a,(user_scr1_high) ;ok |
| 528 | alone | 323 | ret |
| 324 | |||
| 325 | getuser_scr_low_cur |
||
| 326 | getuser_scr_low_cur_patch=$+1 |
||
| 327 | getuser_scr_low_cur_patchN=0xff&(user_scr0_low^user_scr1_low) |
||
| 555 | alone | 328 | ld a,(user_scr0_low) ;ok |
| 528 | alone | 329 | ret |
| 330 | |||
| 331 | getuser_scr_high_cur |
||
| 332 | getuser_scr_high_cur_patch=$+1 |
||
| 333 | getuser_scr_high_cur_patchN=0xff&(user_scr0_high^user_scr1_high) |
||
| 555 | alone | 334 | ld a,(user_scr0_high) ;ok |
| 528 | alone | 335 | ret |
| 336 | |||
| 352 | alone | 337 | changescrpg_current |
| 528 | alone | 338 | ld hl,getuser_scr_low_patch |
| 339 | ld a,(hl) |
||
| 340 | xor getuser_scr_low_patchN |
||
| 341 | ld (hl),a |
||
| 342 | ld hl,getuser_scr_high_patch |
||
| 343 | ld a,(hl) |
||
| 344 | xor getuser_scr_high_patchN |
||
| 345 | ld (hl),a |
||
| 346 | ld hl,getuser_scr_low_cur_patch |
||
| 347 | ld a,(hl) |
||
| 348 | xor getuser_scr_low_cur_patchN |
||
| 349 | ld (hl),a |
||
| 350 | ld hl,getuser_scr_high_cur_patch |
||
| 351 | ld a,(hl) |
||
| 352 | xor getuser_scr_high_cur_patchN |
||
| 353 | ld (hl),a |
||
| 354 | |||
| 352 | alone | 355 | ld a,1 |
| 356 | curscrnum=$+1 |
||
| 357 | xor 0 |
||
| 358 | ld ($-1),a |
||
| 359 | ret |
||
| 528 | alone | 360 | |
| 352 | alone | 361 | changescrpg |
| 528 | alone | 362 | ;TODO |
| 352 | alone | 363 | call changescrpg_current |
| 364 | ld e,a |
||
| 365 | OS_SETSCREEN |
||
| 366 | ret |
||
| 367 | |||
| 870 | alone | 368 | setpg4000 |
| 939 | alone | 369 | ld b,tpages/256 |
| 370 | ld c,a |
||
| 371 | ld a,(bc) |
||
| 870 | alone | 372 | SETPG16K |
| 373 | ret |
||
| 353 | alone | 374 | |
| 870 | alone | 375 | setpg8000 |
| 939 | alone | 376 | ld b,tpages/256 |
| 377 | ld c,a |
||
| 378 | ld a,(bc) |
||
| 870 | alone | 379 | SETPG32KLOW |
| 380 | ret |
||
| 353 | alone | 381 | |
| 870 | alone | 382 | setpgc000 |
| 939 | alone | 383 | ld b,tpages/256 |
| 384 | ld c,a |
||
| 385 | ld a,(bc) |
||
| 870 | alone | 386 | SETPG32KHIGH |
| 387 | ret |
||
| 388 | |||
| 352 | alone | 389 | setShadowScreen |
| 390 | MSetShadowScreen |
||
| 391 | ret |
||
| 392 | |||
| 353 | alone | 393 | _clear_screen |
| 394 | and 15 |
||
| 395 | ld l,a |
||
| 396 | ld h,high colorMaskTable |
||
| 397 | ld e,(hl) |
||
| 398 | call setShadowScreen |
||
| 399 | ld hl,#4000 |
||
| 400 | ld (hl),e |
||
| 401 | ld de,#4001 |
||
| 402 | ld bc,#7fff |
||
| 403 | call _fast_ldir |
||
| 404 | RestoreMemMap12 |
||
| 405 | MRestoreMemMap12 |
||
| 406 | ret |
||
| 352 | alone | 407 | |
| 353 | alone | 408 | _swap_screen |
| 409 | push ix |
||
| 961 | alone | 410 | ;push iy |
| 352 | alone | 411 | |
| 353 | alone | 412 | ld a,(spritesActive) |
| 413 | or a |
||
| 414 | push af |
||
| 415 | jr z,.noSpr0 |
||
| 416 | call setShadowScreen |
||
| 417 | call updateTilesToBuffer |
||
| 418 | call prspr |
||
| 419 | .noSpr0 |
||
| 420 | |||
| 421 | halt |
||
| 422 | |||
| 942 | alone | 423 | ld a,(_screenActive) |
| 424 | xor 2 |
||
| 425 | ld (_screenActive),a ;for select sprqueue |
||
| 1029 | alone | 426 | call changescrpg |
| 353 | alone | 427 | |
| 428 | pop af |
||
| 429 | jr z,.noSpr1 |
||
| 430 | |||
| 431 | call setShadowScreen |
||
| 432 | call respr |
||
| 433 | call updateTilesFromBuffer |
||
| 434 | call RestoreMemMap3;0 |
||
| 435 | call RestoreMemMap12 |
||
| 436 | .noSpr1 |
||
| 961 | alone | 437 | ;pop iy |
| 353 | alone | 438 | pop ix |
| 439 | ret |
||
| 440 | |||
| 441 | pal_get_address |
||
| 442 | ld h,0 |
||
| 443 | ld l,a |
||
| 444 | add hl,hl |
||
| 445 | add hl,hl |
||
| 446 | add hl,hl |
||
| 447 | add hl,hl |
||
| 448 | set 7,h |
||
| 449 | set 6,h |
||
| 450 | |||
| 451 | ld a,PAL_PAGE |
||
| 1029 | alone | 452 | jp setpgc000;SETPG32KHIGH |
| 353 | alone | 453 | |
| 454 | |||
| 455 | _pal_select |
||
| 456 | call pal_get_address |
||
| 457 | |||
| 458 | ld de,_palette |
||
| 459 | ld bc,16 |
||
| 460 | ldir |
||
| 461 | |||
| 462 | ld a,d |
||
| 463 | ld (_palChange),a |
||
| 464 | RestoreMemMap3;0 |
||
| 465 | ld a,CC_PAGE3;0 |
||
| 1029 | alone | 466 | jp setpgc000;SETPG32KHIGH |
| 353 | alone | 467 | |
| 468 | |||
| 469 | |||
| 470 | _pal_bright |
||
| 471 | cp 7 |
||
| 472 | jr c,.l1 |
||
| 473 | ld a,6 |
||
| 474 | .l1 |
||
| 475 | ld h,a |
||
| 476 | ld l,0 |
||
| 477 | srl h |
||
| 478 | rr l |
||
| 479 | srl h |
||
| 480 | rr l |
||
| 481 | ld (_palBright),hl |
||
| 482 | ld a,1 |
||
| 483 | ld (_palChange),a |
||
| 484 | ret |
||
| 485 | |||
| 486 | |||
| 487 | |||
| 488 | _pal_copy |
||
| 489 | push de |
||
| 490 | call pal_get_address |
||
| 491 | |||
| 492 | ld de,palTemp |
||
| 493 | ld bc,16 |
||
| 494 | ldir |
||
| 495 | |||
| 496 | ld a,CC_PAGE3;0 |
||
| 870 | alone | 497 | call setpgc000;SETPG32KHIGH |
| 353 | alone | 498 | |
| 499 | pop de |
||
| 500 | ld hl,palTemp |
||
| 501 | ld bc,16 |
||
| 502 | ldir |
||
| 503 | ret |
||
| 504 | |||
| 505 | |||
| 506 | |||
| 352 | alone | 507 | ; ldir, 䥪⨢ bc>12 |
| 508 | ; MSX Assembly Page |
||
| 509 | ; ⫨稥 ଠ쭮 ldir A 䫠 |
||
| 510 | _fast_ldir |
||
| 511 | xor a |
||
| 512 | sub c |
||
| 513 | and 63 |
||
| 514 | add a,a |
||
| 515 | ld (.jump),a |
||
| 516 | .jump=$+1 |
||
| 517 | jr nz,.loop |
||
| 518 | .loop |
||
| 519 | dup 64 |
||
| 520 | ldi |
||
| 521 | edup |
||
| 522 | jp pe,.loop |
||
| 523 | ret |
||
| 524 | |||
| 525 | align 256 ;#nn00 |
||
| 526 | tileUpdateXTable |
||
| 527 | dup 8 |
||
| 528 | db #01,#02,#04,#08,#10,#20,#40,#80 |
||
| 529 | edup |
||
| 530 | .x=0 |
||
| 531 | dup 64 |
||
| 532 | db .x>>3 |
||
| 533 | .x=.x+1 |
||
| 534 | edup |
||
| 535 | |||
| 536 | |||
| 537 | align 256 ;#nn00 |
||
| 538 | colorMaskTable |
||
| 539 | db #00,#09,#12,#1b,#24,#2d,#36,#3f ; ᥫ |
||
| 540 | db #c0,#c9,#d2,#db,#e4,#ed,#f6,#ff |
||
| 541 | db #00,#01,#02,#03,#04,#05,#06,#07 ; ink |
||
| 542 | db #40,#41,#42,#43,#44,#45,#46,#47 |
||
| 543 | ds 16,0 |
||
| 544 | db #00,#08,#10,#18,#20,#28,#30,#38 ; paper |
||
| 545 | db #80,#88,#90,#98,#a0,#a8,#b0,#b8 |
||
| 546 | |||
| 547 | |||
| 548 | align 256 |
||
| 549 | _sprqueue |
||
| 550 | _sprqueue0 ;ଠ 4 ࠩ, idh,idl,y,x (idh=255 ᯨ᪠) |
||
| 551 | ds 256,255 |
||
| 552 | _sprqueue1 |
||
| 553 | ds 256,255 |
||
| 554 | |||
| 871 | alone | 555 | align 256 |
| 556 | palBrightTable |
||
| 557 | db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff ;bright 0 |
||
| 558 | db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff |
||
| 559 | db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff |
||
| 560 | db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff |
||
| 561 | db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f ;bright 1 |
||
| 562 | db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f |
||
| 563 | db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f |
||
| 564 | db #df,#df,#df,#9f,#df,#df,#df,#9f,#df,#df,#df,#9f,#5f,#5f,#5f,#1f |
||
| 565 | db #ff,#ff,#bf,#fd,#ff,#ff,#bf,#fd,#7f,#7f,#3f,#7d,#ef,#ef,#af,#ed ;bright 2 |
||
| 566 | db #ff,#ff,#bf,#fd,#ff,#ff,#bf,#fd,#7f,#7f,#3f,#7d,#ef,#ef,#af,#ed |
||
| 567 | db #df,#df,#9f,#dd,#df,#df,#9f,#dd,#5f,#5f,#1f,#5d,#cf,#cf,#8f,#cd |
||
| 568 | db #fe,#fe,#be,#fc,#fe,#fe,#be,#fc,#7e,#7e,#3e,#7c,#ee,#ee,#ae,#ec |
||
| 569 | db #ff,#bf,#fd,#bd,#7f,#3f,#7d,#3d,#ef,#af,#ed,#ad,#6f,#2f,#6d,#2d ;bright 3 |
||
| 570 | db #df,#9f,#dd,#9d,#5f,#1f,#5d,#1d,#cf,#8f,#cd,#8d,#4f,#0f,#4d,#0d |
||
| 571 | db #fe,#be,#fc,#bc,#7e,#3e,#7c,#3c,#ee,#ae,#ec,#ac,#6e,#2e,#6c,#2c |
||
| 572 | db #de,#9e,#dc,#9c,#5e,#1e,#5c,#1c,#ce,#8e,#cc,#8c,#4e,#0e,#4c,#0c |
||
| 573 | db #1f,#5d,#1d,#1d,#8f,#cd,#8d,#8d,#0f,#4d,#0d,#0d,#0f,#4d,#0d,#0d ;bright 4 |
||
| 574 | db #3e,#7c,#3c,#3c,#ae,#ec,#ac,#ac,#2e,#6c,#2c,#2c,#2e,#6c,#2c,#2c |
||
| 575 | db #1e,#5c,#1c,#1c,#8e,#cc,#8c,#8c,#0e,#4c,#0c,#0c,#0e,#4c,#0c,#0c |
||
| 576 | db #1e,#5c,#1c,#1c,#8e,#cc,#8c,#8c,#0e,#4c,#0c,#0c,#0e,#4c,#0c,#0c |
||
| 577 | db #ec,#ac,#ac,#ac,#6c,#2c,#2c,#2c,#6c,#2c,#2c,#2c,#6c,#2c,#2c,#2c ;bright 5 |
||
| 578 | db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c |
||
| 579 | db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c |
||
| 580 | db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c |
||
| 581 | db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c ;bright 6 |
||
| 582 | db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c |
||
| 583 | db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c |
||
| 584 | db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c |
||
| 585 | |||
| 352 | alone | 586 | align 256 ;#nn00 |
| 587 | scrTable |
||
| 588 | adr=#4000 |
||
| 589 | dup 25 |
||
| 590 | db low adr |
||
| 591 | adr=adr+(40*8) |
||
| 592 | edup |
||
| 593 | align 32 ;#nn20 |
||
| 594 | adr=#4000 |
||
| 595 | dup 25 |
||
| 596 | db high adr |
||
| 597 | adr=adr+(40*8) |
||
| 598 | edup |
||
| 599 | |||
| 946 | alone | 600 | align 256 ;#nn00 |
| 352 | alone | 601 | tileUpdateMap ;⮢ , 64x25 |
| 602 | ds 8*25,0 |
||
| 603 | |||
| 868 | alone | 604 | export _pal_select |
| 605 | export _pal_copy |
||
| 606 | export _pal_bright |
||
| 607 | export _swap_screen |
||
| 608 | export _clear_screen |
||
| 609 | export _fast_ldir |
||
| 610 | |||
| 939 | alone | 611 | include "../_sdk/lib_int.asm" |
| 612 | include "../_sdk/lib_tiles.asm" |
||
| 868 | alone | 613 | export _draw_tile |
| 614 | export _draw_image |
||
| 615 | export _select_image |
||
| 616 | export _draw_tile_key |
||
| 617 | export _color_key |
||
| 618 | |||
| 939 | alone | 619 | include "../_sdk/lib_sprites.asm" |
| 620 | export _sprites_start |
||
| 621 | export _sprites_stop |
||
| 868 | alone | 622 | |
| 939 | alone | 623 | include "../_sdk/lib_input.asm" |
| 868 | alone | 624 | export _joystick |
| 625 | export _keyboard |
||
| 626 | export _mouse_apply_clip |
||
| 627 | |||
| 1029 | alone | 628 | include "../_sdk/lib_sound.asm" |
| 872 | alone | 629 | export _music_play |
| 630 | export _music_stop |
||
| 631 | export _sample_play |
||
| 632 | export _sfx_play |
||
| 633 | export _sfx_stop |
||
| 868 | alone | 634 | |
| 352 | alone | 635 | ;६ |
| 636 | |||
| 1029 | alone | 637 | musicPage db 0 |
| 638 | tileOffset dw 0 |
||
| 352 | alone | 639 | spritesActive db 0 ;1 뢮 ࠩ⮢ ࠧ |
| 1029 | alone | 640 | tileUpdate db 0 ;1 뢮 ⠩, ⥬ 䮭 ࠩ⠬ |
| 641 | palTemp ds 16,0 |
||
| 352 | alone | 642 | keysPrevState ds 40,0 |
| 643 | ifdef TFM |
||
| 1029 | alone | 644 | ;turboFM db 0 ;!=0 TFM |
| 352 | alone | 645 | else |
| 1029 | alone | 646 | turboSound db 0 ;!=0 TS |
| 352 | alone | 647 | endif |
| 648 | |||
| 649 | ;ᯮ㥬 ६ |
||
| 650 | |||
| 651 | macro rgb222 b2,g2,r2 |
||
| 652 | db (((r2&3)<<4)|((g2&3)<<2)|(b2&3)) |
||
| 653 | endm |
||
| 654 | |||
| 655 | align 16 |
||
| 656 | _palette |
||
| 657 | rgb222(0,0,0) |
||
| 658 | rgb222(0,0,2) |
||
| 659 | rgb222(2,0,0) |
||
| 660 | rgb222(2,0,2) |
||
| 661 | rgb222(0,2,0) |
||
| 662 | rgb222(0,2,2) |
||
| 663 | rgb222(2,2,0) |
||
| 664 | rgb222(2,2,2) |
||
| 665 | rgb222(0,0,0) |
||
| 666 | rgb222(0,0,3) |
||
| 667 | rgb222(3,0,0) |
||
| 668 | rgb222(3,0,3) |
||
| 669 | rgb222(0,3,0) |
||
| 670 | rgb222(0,3,3) |
||
| 671 | rgb222(3,3,0) |
||
| 672 | rgb222(3,3,3) |
||
| 673 | |||
| 674 | _borderCol db 0 |
||
| 675 | _palBright dw 3<<6 |
||
| 676 | _palChange db 1 |
||
| 677 | _screenActive db 0 ;~1 ~3 |
||
| 678 | _mouse_dx db 0 |
||
| 679 | _mouse_dy db 0 |
||
| 680 | _mouse_x db 80 |
||
| 681 | _mouse_y db 100 |
||
| 682 | _mouse_cx1 db 0 |
||
| 683 | _mouse_cx2 db 160 |
||
| 684 | _mouse_cy1 db 0 |
||
| 685 | _mouse_cy2 db 200 |
||
| 686 | _mouse_btn db 0 |
||
| 687 | _mouse_prev_dx db 0 |
||
| 688 | _mouse_prev_dy db 0 |
||
| 689 | _time dd 0 |
||
| 690 | |||
| 872 | alone | 691 | export _borderCol |
| 692 | export _palBright |
||
| 693 | export _palChange |
||
| 694 | export _sprqueue |
||
| 695 | export _screenActive |
||
| 696 | export _mouse_dx |
||
| 697 | export _mouse_dy |
||
| 698 | export _mouse_x |
||
| 699 | export _mouse_y |
||
| 700 | export _mouse_cx1 |
||
| 701 | export _mouse_cx2 |
||
| 702 | export _mouse_cy1 |
||
| 703 | export _mouse_cy2 |
||
| 704 | export _mouse_btn |
||
| 705 | export _time |
||
| 706 | export _palette |
||
| 707 | |||
| 352 | alone | 708 | |
| 709 | res_path |
||
| 941 | alone | 710 | ; ⮬ ⭮⥫쭮 㦠 |
| 711 | ;db "nedoload" |
||
| 712 | include "_temp_/sets.asm" |
||
| 713 | db 0 |
||
| 835 | alone | 714 | fnbin |
| 873 | alone | 715 | db "page_101.bin",0 |
| 716 | fnbin2 |
||
| 717 | db "page_102.bin",0 |
||
| 718 | fnbin3 |
||
| 719 | db "page_103.bin",0 |
||
| 835 | alone | 720 | fnaddr |
| 721 | db "addr.bin",0 |
||
| 1029 | alone | 722 | end |
| 352 | alone | 723 | savebin "nedoload.com",begin,end-begin |
| 838 | alone | 724 | LABELSLIST "..\..\..\us\user.l" |