- Timestamp:
- 07/16/2017 03:10:36 PM (7 years ago)
- Branches:
- master
- Children:
- 62340ef
- Parents:
- 5117699
- Location:
- rom
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
rom/bios.s
r5117699 r4cfe69a 431 431 begin: bra.s biosinit | Jump to bios init 432 432 433 vermsg: dc.b VM1,VM2 | Version number434 435 dc.l biosinit | Reset address (bios init)436 437 created: dc.l VDATE | Creation date433 vermsg: .dc.b VM1,VM2 | Version number 434 435 .dc.l biosinit | Reset address (bios init) 436 437 created: .dc.l VDATE | Creation date 438 438 439 439 copyrite: .ascii "{Copyright 1988 by " | Copyright message 440 440 .asciz "D.N. Lynx Crowe}" 441 441 442 dc.l 0 | Some padding442 .dc.l 0 | Some padding 443 443 444 444 .page … … 3323 3323 | t13tab -- Trap-13 pointer table -- Primary BIOS functions 3324 3324 | ------ ----------------------------------------------- 3325 t13tab: dc.w 12 | Number of Trap-13 routines3326 3327 dc.l nullrts | 0 - (getmpb)3328 dc.l bconstat | 1 - bconstat3329 dc.l bconin | 2 - bconin3330 dc.l bconout | 3 - bconout3331 dc.l rwabs | 4 - rwabs3332 dc.l setexec | 5 - setexec3333 dc.l nullrts | 6 - (tickcal)3334 dc.l getbpb | 7 - getbpb3335 dc.l bcostat | 8 - bcostat3336 dc.l mediach | 9 - mediach3337 dc.l drvmap | 10 - drvmap3338 dc.l nullrts | 11 - (shift)3325 t13tab: .dc.w 12 | Number of Trap-13 routines 3326 3327 .dc.l nullrts | 0 - (getmpb) 3328 .dc.l bconstat | 1 - bconstat 3329 .dc.l bconin | 2 - bconin 3330 .dc.l bconout | 3 - bconout 3331 .dc.l rwabs | 4 - rwabs 3332 .dc.l setexec | 5 - setexec 3333 .dc.l nullrts | 6 - (tickcal) 3334 .dc.l getbpb | 7 - getbpb 3335 .dc.l bcostat | 8 - bcostat 3336 .dc.l mediach | 9 - mediach 3337 .dc.l drvmap | 10 - drvmap 3338 .dc.l nullrts | 11 - (shift) 3339 3339 3340 3340 .page … … 3342 3342 | t14tab -- Trap-14 pointer table -- Extended BIOS functions (Buchla 700 only) 3343 3343 | ------ ------------------------------------------------------------------ 3344 t14tab: dc.w 10 | Number of trap14 routines3345 3346 dc.l piorec | 0 - Get iorec address3347 dc.l setport | 1 - Set ACIA parameters3348 dc.l floprd | 2 - Read floppy3349 dc.l flopwr | 3 - Write floppy3350 dc.l flopfmt | 4 - Format floppy3351 dc.l flopver | 5 - Verify floppy3352 dc.l protobt | 6 - Create prototype boot sec.3353 dc.l rand | 7 - Generate random number3354 dc.l api_get | 8 - Get analog input3355 dc.l api_zap | 9 - Clear analog FIFO3344 t14tab: .dc.w 10 | Number of trap14 routines 3345 3346 .dc.l piorec | 0 - Get iorec address 3347 .dc.l setport | 1 - Set ACIA parameters 3348 .dc.l floprd | 2 - Read floppy 3349 .dc.l flopwr | 3 - Write floppy 3350 .dc.l flopfmt | 4 - Format floppy 3351 .dc.l flopver | 5 - Verify floppy 3352 .dc.l protobt | 6 - Create prototype boot sec. 3353 .dc.l rand | 7 - Generate random number 3354 .dc.l api_get | 8 - Get analog input 3355 .dc.l api_zap | 9 - Clear analog FIFO 3356 3356 3357 3357 .endc … … 3365 3365 | t13tab -- Trap-13 pointer table -- Primary BIOS functions 3366 3366 | ------ ----------------------------------------------- 3367 t13tab: dc.w 12 | Number of Trap-13 routines3368 3369 dc.l nullrts | 0 - (getmpb)3370 dc.l bconstat | 1 - bconstat3371 dc.l bconin | 2 - bconin3372 dc.l bconout | 3 - bconout3373 dc.l nullrts | 4 - (rwabs)3374 dc.l setexec | 5 - setexec3375 dc.l nullrts | 6 - (tickcal)3376 dc.l nullrts | 7 - (getbpb)3377 dc.l bcostat | 8 - bcostat3378 dc.l nullrts | 9 - (mediach)3379 dc.l nullrts | 10 - (drvmap)3380 dc.l nullrts | 11 - (shift)3367 t13tab: .dc.w 12 | Number of Trap-13 routines 3368 3369 .dc.l nullrts | 0 - (getmpb) 3370 .dc.l bconstat | 1 - bconstat 3371 .dc.l bconin | 2 - bconin 3372 .dc.l bconout | 3 - bconout 3373 .dc.l nullrts | 4 - (rwabs) 3374 .dc.l setexec | 5 - setexec 3375 .dc.l nullrts | 6 - (tickcal) 3376 .dc.l nullrts | 7 - (getbpb) 3377 .dc.l bcostat | 8 - bcostat 3378 .dc.l nullrts | 9 - (mediach) 3379 .dc.l nullrts | 10 - (drvmap) 3380 .dc.l nullrts | 11 - (shift) 3381 3381 3382 3382 .page … … 3384 3384 | t14tab -- Trap-14 pointer table -- Extended BIOS functions (Buchla 700 only) 3385 3385 | ------ ------------------------------------------------------------------ 3386 t14tab: dc.w 10 | Number of trap14 routines3387 3388 dc.l piorec | 0 - Get iorec address3389 dc.l setport | 1 - Set ACIA parameters3390 dc.l nullrts | 2 - (Read floppy)3391 dc.l nullrts | 3 - (Write floppy)3392 dc.l nullrts | 4 - (Format floppy)3393 dc.l nullrts | 5 - (Verify floppy)3394 dc.l nullrts | 6 - (Create prototype boot sec.)3395 dc.l nullrts | 7 - (Generate random number)3396 dc.l nullrts | 8 - (Get analog input)3397 dc.l nullrts | 9 - (Clear analog FIFO)3386 t14tab: .dc.w 10 | Number of trap14 routines 3387 3388 .dc.l piorec | 0 - Get iorec address 3389 .dc.l setport | 1 - Set ACIA parameters 3390 .dc.l nullrts | 2 - (Read floppy) 3391 .dc.l nullrts | 3 - (Write floppy) 3392 .dc.l nullrts | 4 - (Format floppy) 3393 .dc.l nullrts | 5 - (Verify floppy) 3394 .dc.l nullrts | 6 - (Create prototype boot sec.) 3395 .dc.l nullrts | 7 - (Generate random number) 3396 .dc.l nullrts | 8 - (Get analog input) 3397 .dc.l nullrts | 9 - (Clear analog FIFO) 3398 3398 3399 3399 .endc … … 3403 3403 | cdt01 -- Character device dispatch table #1 -- input status 3404 3404 | ----- -------------------------------------------------- 3405 cdt01: dc.l sr1ist | 0 - PRT -- Printer3406 dc.l sr2ist | 1 - AUX -- Serial-23407 dc.l sr2ist | 2 - CON -- Console3405 cdt01: .dc.l sr1ist | 0 - PRT -- Printer 3406 .dc.l sr2ist | 1 - AUX -- Serial-2 3407 .dc.l sr2ist | 2 - CON -- Console 3408 3408 3409 3409 .ifne BUCHLA 3410 3410 3411 dc.l mc1ist | 3 - MC1 -- MIDI-13412 dc.l mc2ist | 4 - MC2 -- MIDI-23411 .dc.l mc1ist | 3 - MC1 -- MIDI-1 3412 .dc.l mc2ist | 4 - MC2 -- MIDI-2 3413 3413 3414 3414 .endc … … 3416 3416 | cdt02 -- Character device dispatch table #2 -- input 3417 3417 | ----- ------------------------------------------- 3418 cdt02: dc.l sr1inp | 0 - PRT -- Printer3419 dc.l sr2inp | 1 - AUX -- Serial-23420 dc.l sr2inp | 2 - CON -- Console3418 cdt02: .dc.l sr1inp | 0 - PRT -- Printer 3419 .dc.l sr2inp | 1 - AUX -- Serial-2 3420 .dc.l sr2inp | 2 - CON -- Console 3421 3421 3422 3422 .ifne BUCHLA 3423 3423 3424 dc.l mc1inp | 3 - MC1 -- MIDI-13425 dc.l mc2inp | 4 - MC2 -- MIDI-23424 .dc.l mc1inp | 3 - MC1 -- MIDI-1 3425 .dc.l mc2inp | 4 - MC2 -- MIDI-2 3426 3426 3427 3427 .endc … … 3429 3429 | cdt03 -- Character device dispatch table #3 -- output 3430 3430 | ----- -------------------------------------------- 3431 cdt03: dc.l sr1out | 0 - PRT -- Printer3432 dc.l sr2out | 1 - AUX -- Serial-23433 dc.l sr2out | 2 - CON -- Console3431 cdt03: .dc.l sr1out | 0 - PRT -- Printer 3432 .dc.l sr2out | 1 - AUX -- Serial-2 3433 .dc.l sr2out | 2 - CON -- Console 3434 3434 .ifne BUCHLA 3435 3435 3436 dc.l mc1out | 3 - MC1 -- MIDI-13437 dc.l mc2out | 4 - MC2 -- MIDI-23436 .dc.l mc1out | 3 - MC1 -- MIDI-1 3437 .dc.l mc2out | 4 - MC2 -- MIDI-2 3438 3438 3439 3439 .endc … … 3441 3441 | cdt04 -- Character device dispatch table #4 -- output status 3442 3442 | ----- --------------------------------------------------- 3443 cdt04: dc.l sr1ost | 0 - PRT -- Printer3444 dc.l sr2ost | 1 - AUX -- Serial-23445 dc.l sr2ost | 2 - CON -- Console3443 cdt04: .dc.l sr1ost | 0 - PRT -- Printer 3444 .dc.l sr2ost | 1 - AUX -- Serial-2 3445 .dc.l sr2ost | 2 - CON -- Console 3446 3446 .ifne BUCHLA 3447 3447 3448 dc.l mc1ost | 3 - MC1 -- MIDI-13449 dc.l mc2ost | 4 - MC2 -- MIDI-23448 .dc.l mc1ost | 3 - MC1 -- MIDI-1 3449 .dc.l mc2ost | 4 - MC2 -- MIDI-2 3450 3450 3451 3451 .endc … … 3457 3457 | Serial-1: 3458 3458 | --------- 3459 sr1dflt: dc.l sr1ibuf3460 dc.w SR1IBS3461 dc.w 0,03462 dc.w SR1IBS/43463 dc.w SR1IBS-(SR1IBS/4)3464 dc.l sr1obuf3465 dc.w SR1OBS3466 dc.w 0,03467 dc.w SR1OBS/43468 dc.w SR1OBS-(SR1OBS/4)3469 dc.b SR1CFR0,SR1CFR13470 dc.b 0,03471 dc.b SR1DISC,03472 dc.b 0,03473 dc.w 0,03459 sr1dflt: .dc.l sr1ibuf 3460 .dc.w SR1IBS 3461 .dc.w 0,0 3462 .dc.w SR1IBS/4 3463 .dc.w SR1IBS-(SR1IBS/4) 3464 .dc.l sr1obuf 3465 .dc.w SR1OBS 3466 .dc.w 0,0 3467 .dc.w SR1OBS/4 3468 .dc.w SR1OBS-(SR1OBS/4) 3469 .dc.b SR1CFR0,SR1CFR1 3470 .dc.b 0,0 3471 .dc.b SR1DISC,0 3472 .dc.b 0,0 3473 .dc.w 0,0 3474 3474 3475 3475 | Serial-2: 3476 3476 | --------- 3477 sr2dflt: dc.l sr2ibuf3478 dc.w SR2IBS3479 dc.w 0,03480 dc.w SR2IBS/43481 dc.w SR2IBS-(SR2IBS/4)3482 dc.l sr2obuf3483 dc.w SR2OBS3484 dc.w 0,03485 dc.w SR2OBS/43486 dc.w SR2OBS-(SR2OBS/4)3487 dc.b SR2CFR0,SR2CFR13488 dc.b 0,03489 dc.b SR2DISC,03490 dc.b 0,03491 dc.w 0,03477 sr2dflt: .dc.l sr2ibuf 3478 .dc.w SR2IBS 3479 .dc.w 0,0 3480 .dc.w SR2IBS/4 3481 .dc.w SR2IBS-(SR2IBS/4) 3482 .dc.l sr2obuf 3483 .dc.w SR2OBS 3484 .dc.w 0,0 3485 .dc.w SR2OBS/4 3486 .dc.w SR2OBS-(SR2OBS/4) 3487 .dc.b SR2CFR0,SR2CFR1 3488 .dc.b 0,0 3489 .dc.b SR2DISC,0 3490 .dc.b 0,0 3491 .dc.w 0,0 3492 3492 3493 3493 .page … … 3497 3497 | MIDI-1: 3498 3498 | ------- 3499 mc1dflt: dc.l mc1ibuf3500 dc.w MC1IBS3501 dc.w 0,03502 dc.w MC1IBS/43503 dc.w MC1IBS-(MC1IBS/4)3504 dc.l mc1obuf3505 dc.w MC1OBS3506 dc.w 0,03507 dc.w MC1OBS/43508 dc.w MC1OBS-(MC1OBS/4)3509 dc.b MC1CFR0,MC1CFR13510 dc.b 0,03511 dc.b MC1DISC,03512 dc.b 0,03513 dc.w 0,03499 mc1dflt: .dc.l mc1ibuf 3500 .dc.w MC1IBS 3501 .dc.w 0,0 3502 .dc.w MC1IBS/4 3503 .dc.w MC1IBS-(MC1IBS/4) 3504 .dc.l mc1obuf 3505 .dc.w MC1OBS 3506 .dc.w 0,0 3507 .dc.w MC1OBS/4 3508 .dc.w MC1OBS-(MC1OBS/4) 3509 .dc.b MC1CFR0,MC1CFR1 3510 .dc.b 0,0 3511 .dc.b MC1DISC,0 3512 .dc.b 0,0 3513 .dc.w 0,0 3514 3514 3515 3515 | MIDI-2: 3516 3516 | ------- 3517 mc2dflt: dc.l mc2ibuf3518 dc.w MC2IBS3519 dc.w 0,03520 dc.w MC2IBS/43521 dc.w MC2IBS-(MC2IBS/4)3522 dc.l mc2obuf3523 dc.w MC2OBS3524 dc.w 0,03525 dc.w MC2OBS/43526 dc.w MC2OBS-(MC2OBS/4)3527 dc.b MC2CFR0,MC2CFR13528 dc.b 0,03529 dc.b MC2DISC,03530 dc.b 0,03531 dc.w 0,03517 mc2dflt: .dc.l mc2ibuf 3518 .dc.w MC2IBS 3519 .dc.w 0,0 3520 .dc.w MC2IBS/4 3521 .dc.w MC2IBS-(MC2IBS/4) 3522 .dc.l mc2obuf 3523 .dc.w MC2OBS 3524 .dc.w 0,0 3525 .dc.w MC2OBS/4 3526 .dc.w MC2OBS-(MC2OBS/4) 3527 .dc.b MC2CFR0,MC2CFR1 3528 .dc.b 0,0 3529 .dc.b MC2DISC,0 3530 .dc.b 0,0 3531 .dc.w 0,0 3532 3532 3533 3533 .endc … … 3537 3537 | brtable -- Baud rate setup table 3538 3538 | ------- --------------------- 3539 brtable: dc.b BR_19K2 | 0 - 19200 baud3540 dc.b BR_9600 | 1 - 9600 baud3541 dc.b BR_4800 | 2 - 4800 baud3542 dc.b BR_3600 | 3 - 3600 baud3543 dc.b BR_2400 | 4 - 2400 baud3544 dc.b BR_7200 | 5 - 7200 baud (2000 on Atari)3545 dc.b BR_1800 | 6 - 1800 baud3546 dc.b BR_1200 | 7 - 1200 baud3547 dc.b BR_600 | 8 - 600 baud3548 dc.b BR_300 | 9 - 300 baud3539 brtable: .dc.b BR_19K2 | 0 - 19200 baud 3540 .dc.b BR_9600 | 1 - 9600 baud 3541 .dc.b BR_4800 | 2 - 4800 baud 3542 .dc.b BR_3600 | 3 - 3600 baud 3543 .dc.b BR_2400 | 4 - 2400 baud 3544 .dc.b BR_7200 | 5 - 7200 baud (2000 on Atari) 3545 .dc.b BR_1800 | 6 - 1800 baud 3546 .dc.b BR_1200 | 7 - 1200 baud 3547 .dc.b BR_600 | 8 - 600 baud 3548 .dc.b BR_300 | 9 - 300 baud 3549 3549 3550 3550 | iortab -- iorec pointer table 3551 3551 | ------ ------------------- 3552 iortab: dc.l sr1iorec | 0 - PRT Serial-1 Printer3553 dc.l sr2iorec | 1 - AUX Serial-2 Host3554 dc.l sr2iorec | 2 - CON Serial-2 Console3552 iortab: .dc.l sr1iorec | 0 - PRT Serial-1 Printer 3553 .dc.l sr2iorec | 1 - AUX Serial-2 Host 3554 .dc.l sr2iorec | 2 - CON Serial-2 Console 3555 3555 3556 3556 .ifne BUCHLA 3557 3557 3558 dc.l mc1iorec | 3 - MC1 MIDI-1 MIDI port #13559 dc.l mc2iorec | 4 - MC2 MIDI-2 MIDI port #23558 .dc.l mc1iorec | 3 - MC1 MIDI-1 MIDI port #1 3559 .dc.l mc2iorec | 4 - MC2 MIDI-2 MIDI port #2 3560 3560 3561 3561 .endc … … 3563 3563 | aciatab -- iorec and ACIA pointer table 3564 3564 | ------- ---------------------------- 3565 aciatab: dc.l sr1iorec,SR1ACIA | 0 - PRT Serial-13566 dc.l sr2iorec,SR2ACIA | 1 - AUX Serial-23567 dc.l sr2iorec,SR2ACIA | 2 - CON Serial-23565 aciatab: .dc.l sr1iorec,SR1ACIA | 0 - PRT Serial-1 3566 .dc.l sr2iorec,SR2ACIA | 1 - AUX Serial-2 3567 .dc.l sr2iorec,SR2ACIA | 2 - CON Serial-2 3568 3568 3569 3569 .ifne BUCHLA 3570 3570 3571 dc.l mc1iorec,MC1ACIA | 3 - MC1 MIDI-13572 dc.l mc2iorec,MC2ACIA | 4 - MC2 MIDI-23571 .dc.l mc1iorec,MC1ACIA | 3 - MC1 MIDI-1 3572 .dc.l mc2iorec,MC2ACIA | 4 - MC2 MIDI-2 3573 3573 3574 3574 .endc … … 3583 3583 | 0 -- 40 tracks, single sided (180K) 3584 3584 3585 pbpbtab: dc.b 0x00,0x02,0x01,0x01,0x00,0x02,0x40,0x003586 dc.b 0x68,0x01,0xFC,0x02,0x00,0x09,0x00,0x013587 dc.b 0x00,0x00,0x003585 pbpbtab: .dc.b 0x00,0x02,0x01,0x01,0x00,0x02,0x40,0x00 3586 .dc.b 0x68,0x01,0xFC,0x02,0x00,0x09,0x00,0x01 3587 .dc.b 0x00,0x00,0x00 3588 3588 3589 3589 | 1 -- 40 tracks, double sided (360K) 3590 3590 3591 dc.b 0x00,0x02,0x02,0x01,0x00,0x02,0x70,0x003592 dc.b 0xD0,0x02,0xFD,0x02,0x00,0x09,0x00,0x023593 dc.b 0x00,0x00,0x003591 .dc.b 0x00,0x02,0x02,0x01,0x00,0x02,0x70,0x00 3592 .dc.b 0xD0,0x02,0xFD,0x02,0x00,0x09,0x00,0x02 3593 .dc.b 0x00,0x00,0x00 3594 3594 3595 3595 | 2 -- 80 tracks, single sided (360K) 3596 3596 3597 dc.b 0x00,0x02,0x02,0x01,0x00,0x02,0x70,0x003598 dc.b 0xD0,0x02,0xF8,0x05,0x00,0x09,0x00,0x013599 dc.b 0x00,0x00,0x003597 .dc.b 0x00,0x02,0x02,0x01,0x00,0x02,0x70,0x00 3598 .dc.b 0xD0,0x02,0xF8,0x05,0x00,0x09,0x00,0x01 3599 .dc.b 0x00,0x00,0x00 3600 3600 3601 3601 | 3 -- 80 tracks, double sided (720K) 3602 3602 3603 dc.b 0x00,0x02,0x02,0x01,0x00,0x02,0x70,0x003604 dc.b 0xA0,0x05,0xF9,0x05,0x00,0x09,0x00,0x023605 dc.b 0x00,0x00,0x003603 .dc.b 0x00,0x02,0x02,0x01,0x00,0x02,0x70,0x00 3604 .dc.b 0xA0,0x05,0xF9,0x05,0x00,0x09,0x00,0x02 3605 .dc.b 0x00,0x00,0x00 3606 3606 3607 3607 | VSDD initialization table … … 3609 3609 .even 3610 3610 3611 vsddtab: dc.w 0x8252 | R0 Mode word 03612 dc.w 0xE474 | R1 Mode word 13613 dc.w 0x0006 | R2 Register window base3614 dc.w 0x0100 | R3 Data window base3615 dc.w 0x0000 | R4 Data length mask3616 dc.w 0x0000 | R5 Data segment base3617 dc.w 0x0001 | R6 Priority access count3618 dc.w 0x0040 | R7 ODT base3619 dc.w 0x0080 | R8 AT base3620 dc.w 0x0010 | R9 CLT base3621 dc.w 0x0011 | R10 CG bases3622 dc.w 0x0000 | R11 AT counter (R/O)3623 3624 dc.w 0x0C08 | R12 HC0 = 3, VC0 = 83625 dc.w 0x140A | R13 HC1 = 5, VC1 = 103626 dc.w 0x9568 | R14 HC2 = 37, VC2 = 3603627 dc.w 0xA16A | R15 HC3 = 40, VC3 = 3623628 3629 vsddit01: dc.w 0x8253 | R0 with UCF = 1, DEN = 03630 vsddit02: dc.w 0x825B | R0 with UCF = 1, DEN = 13611 vsddtab: .dc.w 0x8252 | R0 Mode word 0 3612 .dc.w 0xE474 | R1 Mode word 1 3613 .dc.w 0x0006 | R2 Register window base 3614 .dc.w 0x0100 | R3 Data window base 3615 .dc.w 0x0000 | R4 Data length mask 3616 .dc.w 0x0000 | R5 Data segment base 3617 .dc.w 0x0001 | R6 Priority access count 3618 .dc.w 0x0040 | R7 ODT base 3619 .dc.w 0x0080 | R8 AT base 3620 .dc.w 0x0010 | R9 CLT base 3621 .dc.w 0x0011 | R10 CG bases 3622 .dc.w 0x0000 | R11 AT counter (R/O) 3623 3624 .dc.w 0x0C08 | R12 HC0 = 3, VC0 = 8 3625 .dc.w 0x140A | R13 HC1 = 5, VC1 = 10 3626 .dc.w 0x9568 | R14 HC2 = 37, VC2 = 360 3627 .dc.w 0xA16A | R15 HC3 = 40, VC3 = 362 3628 3629 vsddit01: .dc.w 0x8253 | R0 with UCF = 1, DEN = 0 3630 vsddit02: .dc.w 0x825B | R0 with UCF = 1, DEN = 1 3631 3631 3632 3632 .page … … 3634 3634 | analog processor input state table 3635 3635 3636 api_tab: dc.b 0,1,1,1,1,1,1,1,1,1 | 0..93637 dc.b 1,1,1,1,1,1,1,1,1,1 | 10..193638 dc.b 1,1,1,1,1 | 20..243639 dc.b 3,3,3,3,3 | 25..293640 dc.b 3,3,3,3,3,3,3,3,3 | 30..383641 dc.b 5 | 393642 dc.b 5,5,5,5,5,5,5,5,5,5 | 40..493643 dc.b 5,5,5 | 50..523644 dc.b 3,3,3,3,3,3,3 | 53..593645 dc.b 5,5,5,5,5,5,5,5,5,5 | 60..693646 dc.b 5,5,5 | 70..723647 dc.b 6,6,6,6,6,6,6 | 73..793648 dc.b 6,6,6 | 80..823636 api_tab: .dc.b 0,1,1,1,1,1,1,1,1,1 | 0..9 3637 .dc.b 1,1,1,1,1,1,1,1,1,1 | 10..19 3638 .dc.b 1,1,1,1,1 | 20..24 3639 .dc.b 3,3,3,3,3 | 25..29 3640 .dc.b 3,3,3,3,3,3,3,3,3 | 30..38 3641 .dc.b 5 | 39 3642 .dc.b 5,5,5,5,5,5,5,5,5,5 | 40..49 3643 .dc.b 5,5,5 | 50..52 3644 .dc.b 3,3,3,3,3,3,3 | 53..59 3645 .dc.b 5,5,5,5,5,5,5,5,5,5 | 60..69 3646 .dc.b 5,5,5 | 70..72 3647 .dc.b 6,6,6,6,6,6,6 | 73..79 3648 .dc.b 6,6,6 | 80..82 3649 3649 3650 3650 .even … … 3652 3652 | analog processor state transfer vector 3653 3653 3654 api_tv: dc.l api_s0,api_s1,api_s2,api_s33655 dc.l api_s4,api_s5,api_s63654 api_tv: .dc.l api_s0,api_s1,api_s2,api_s3 3655 .dc.l api_s4,api_s5,api_s6 3656 3656 3657 3657 .endc … … 3676 3676 | hwdefs.s so beware of changing them. 3677 3677 3678 timevec: ds.l 1 | System timer trap vector3679 critvec: ds.l 1 | Critical error handler vector3680 termvec: ds.l 1 | Process terminate hook vector3681 resvec3: ds.l 1 | Reserved vector 33682 resvec4: ds.l 1 | Reserved vector 43683 resvec5: ds.l 1 | Reserved vector 53684 resvec6: ds.l 1 | Reserved vector 63685 resvec7: ds.l 1 | Reserved vector 73686 3687 fc_sw: ds.w 1 | Frame clock switch (<0=dn, 0=off, >0=up)3688 fc_val: ds.l 1 | Frame clock value (0..FCMAX)3689 3690 _wzcrsh: ds.w 1 | Crash area: flag for ROMP3691 _crshsr: ds.w 1 | Crash area: SR3692 _crshpc: ds.l 1 | Crash area: PC3693 _crshsp: ds.l 1 | Crash area: SP3694 _crshus: ds.l 1 | Crash area: USP3695 _crshvc: ds.l 1 | Crash area: vector # in MS byte3696 _crshrg: ds.l 16 | Crash area: registers3697 _crshst: ds.w 16 | Crash area: top 16 words of stack3678 timevec: .ds.l 1 | System timer trap vector 3679 critvec: .ds.l 1 | Critical error handler vector 3680 termvec: .ds.l 1 | Process terminate hook vector 3681 resvec3: .ds.l 1 | Reserved vector 3 3682 resvec4: .ds.l 1 | Reserved vector 4 3683 resvec5: .ds.l 1 | Reserved vector 5 3684 resvec6: .ds.l 1 | Reserved vector 6 3685 resvec7: .ds.l 1 | Reserved vector 7 3686 3687 fc_sw: .ds.w 1 | Frame clock switch (<0=dn, 0=off, >0=up) 3688 fc_val: .ds.l 1 | Frame clock value (0..FCMAX) 3689 3690 _wzcrsh: .ds.w 1 | Crash area: flag for ROMP 3691 _crshsr: .ds.w 1 | Crash area: SR 3692 _crshpc: .ds.l 1 | Crash area: PC 3693 _crshsp: .ds.l 1 | Crash area: SP 3694 _crshus: .ds.l 1 | Crash area: USP 3695 _crshvc: .ds.l 1 | Crash area: vector # in MS byte 3696 _crshrg: .ds.l 16 | Crash area: registers 3697 _crshst: .ds.w 16 | Crash area: top 16 words of stack 3698 3698 3699 3699 | The area from biosram to SSTACK-1 is cleared on reset. … … 3703 3703 .ifne BUCHLA 3704 3704 3705 _hz_1k: ds.l 1 | 1000 Hz clock3706 _hz_200: ds.l 1 | 200 Hz clock3707 frclock: ds.l 1 | 50 Hz clock3708 t1count: ds.w 1 | Timer 1 count3709 t2count: ds.w 1 | Timer 2 count3710 t3count: ds.w 1 | Timer 3 count3711 3712 seekrate: ds.w 1 | Seek rate3713 cdev: ds.w 1 | Current drive3714 ctrack: ds.w 1 | Current track3715 csect: ds.w 1 | Current sector3716 cside: ds.w 1 | Current side3717 ccount: ds.w 1 | Current sector count3718 spt: ds.w 1 | Sectors per track3719 interlv: ds.w 1 | Sector interleave count3720 virgin: ds.w 1 | Initial formatting data3721 deferr: ds.w 1 | Default error number3722 curerr: ds.w 1 | Current error number3723 3724 cdma: ds.l 1 | Current DMA address3725 edma: ds.l 1 | Ending DMA address3726 tmpdma: ds.l 1 | Temporary DMA address3727 3728 .endc 3729 3730 rseed: ds.l 1 | Random number seed3731 3732 savptr: ds.l 1 | Pointer to register save area3733 3734 _rsflag: ds.l 1 | Register save area overflow flag3735 ds.l 18|32 | Register save area (32 levels)3736 rsarea: ds.l 1 | Dummy long word at top of save area3705 _hz_1k: .ds.l 1 | 1000 Hz clock 3706 _hz_200: .ds.l 1 | 200 Hz clock 3707 frclock: .ds.l 1 | 50 Hz clock 3708 t1count: .ds.w 1 | Timer 1 count 3709 t2count: .ds.w 1 | Timer 2 count 3710 t3count: .ds.w 1 | Timer 3 count 3711 3712 seekrate: .ds.w 1 | Seek rate 3713 cdev: .ds.w 1 | Current drive 3714 ctrack: .ds.w 1 | Current track 3715 csect: .ds.w 1 | Current sector 3716 cside: .ds.w 1 | Current side 3717 ccount: .ds.w 1 | Current sector count 3718 spt: .ds.w 1 | Sectors per track 3719 interlv: .ds.w 1 | Sector interleave count 3720 virgin: .ds.w 1 | Initial formatting data 3721 deferr: .ds.w 1 | Default error number 3722 curerr: .ds.w 1 | Current error number 3723 3724 cdma: .ds.l 1 | Current DMA address 3725 edma: .ds.l 1 | Ending DMA address 3726 tmpdma: .ds.l 1 | Temporary DMA address 3727 3728 .endc 3729 3730 rseed: .ds.l 1 | Random number seed 3731 3732 savptr: .ds.l 1 | Pointer to register save area 3733 3734 _rsflag: .ds.l 1 | Register save area overflow flag 3735 .ds.l 18|32 | Register save area (32 levels) 3736 rsarea: .ds.l 1 | Dummy long word at top of save area 3737 3737 3738 3738 | ||||| end of the permanently assigned bios variables ||||| … … 3742 3742 .ifne BUCHLA 3743 3743 3744 acctim: ds.l 2 | Accumulated disk time table3745 maxactim: ds.l 1 | Maximum acctim value3746 hdv_init: ds.l 1 | Disk init vector3747 hdv_bpb: ds.l 1 | Disk get bpb vector3748 hdv_rw: ds.l 1 | Disk r/w vector3749 hdv_boot: ds.l 1 | Disk boot vector3750 hdv_mchg: ds.l 1 | Disk media change vector3751 drvbits: ds.l 1 | Drive map bits3752 dskbufp: ds.l 1 | Disk buffer pointer3753 .page 3754 nflops: ds.w 1 | Number of drives3755 disknum: ds.w 1 | Current disk number3756 booted: ds.w 1 | Most recent boot device or -13757 flock: ds.w 1 | Floppy semaphore3758 fverify: ds.w 1 | Floppy verify flag3759 3760 tdiv1: ds.w 1 | Timer divider 1 (divides _hz_1k)3761 tdiv2: ds.w 1 | Timer divider 2 (divides _hz_200)3762 3763 retrycnt: ds.w 1 | Re-try count3764 wpstatus: ds.w 1 | Write protect status table3765 wplatch: ds.w 1 | Write protect latch table3766 bootdev: ds.w 1 | Boot device number3767 3768 motoron: ds.w 1 | Motor-on flag3769 deslflag: ds.w 1 | Drive deselect flag3770 3771 .endc 3772 3773 flpsrsv: ds.w 1 | Status register save area3774 flpregs: ds.l 16 | Register save area3744 acctim: .ds.l 2 | Accumulated disk time table 3745 maxactim: .ds.l 1 | Maximum acctim value 3746 hdv_init: .ds.l 1 | Disk init vector 3747 hdv_bpb: .ds.l 1 | Disk get bpb vector 3748 hdv_rw: .ds.l 1 | Disk r/w vector 3749 hdv_boot: .ds.l 1 | Disk boot vector 3750 hdv_mchg: .ds.l 1 | Disk media change vector 3751 drvbits: .ds.l 1 | Drive map bits 3752 dskbufp: .ds.l 1 | Disk buffer pointer 3753 .page 3754 nflops: .ds.w 1 | Number of drives 3755 disknum: .ds.w 1 | Current disk number 3756 booted: .ds.w 1 | Most recent boot device or -1 3757 flock: .ds.w 1 | Floppy semaphore 3758 fverify: .ds.w 1 | Floppy verify flag 3759 3760 tdiv1: .ds.w 1 | Timer divider 1 (divides _hz_1k) 3761 tdiv2: .ds.w 1 | Timer divider 2 (divides _hz_200) 3762 3763 retrycnt: .ds.w 1 | Re-try count 3764 wpstatus: .ds.w 1 | Write protect status table 3765 wplatch: .ds.w 1 | Write protect latch table 3766 bootdev: .ds.w 1 | Boot device number 3767 3768 motoron: .ds.w 1 | Motor-on flag 3769 deslflag: .ds.w 1 | Drive deselect flag 3770 3771 .endc 3772 3773 flpsrsv: .ds.w 1 | Status register save area 3774 flpregs: .ds.l 16 | Register save area 3775 3775 3776 3776 .ifne BUCHLA 3777 3777 3778 dsb0: ds.l 1 | Drive A DSB3779 dsb1: ds.l 1 | Drive B DSB3780 3781 dskmode: ds.b 2 | Disk change mode table3782 dskerrs: ds.w 2 | Disk error code table3783 drvbpbs: ds.w 16|2 | Disk BPB save area3784 3785 .endc 3786 3787 .page 3788 3789 sr1iorec: ds.b IORECLN | Serial-1 iorec structure3790 sr2iorec: ds.b IORECLN | Serial-2 iorec structure3778 dsb0: .ds.l 1 | Drive A DSB 3779 dsb1: .ds.l 1 | Drive B DSB 3780 3781 dskmode: .ds.b 2 | Disk change mode table 3782 dskerrs: .ds.w 2 | Disk error code table 3783 drvbpbs: .ds.w 16|2 | Disk BPB save area 3784 3785 .endc 3786 3787 .page 3788 3789 sr1iorec: .ds.b IORECLN | Serial-1 iorec structure 3790 sr2iorec: .ds.b IORECLN | Serial-2 iorec structure 3791 3791 3792 3792 .ifne BUCHLA 3793 3793 3794 mc1iorec: ds.b IORECLN | MIDI-1 iorec structure3795 mc2iorec: ds.b IORECLN | MIDI-2 iorec structure3796 3797 .endc 3798 3799 sr1ibuf: ds.b SR1IBS | Serial-1 input buffer3800 sr1obuf: ds.b SR1OBS | Serial-1 output buffer3801 sr2ibuf: ds.b SR2IBS | Serial-2 input buffer3802 sr2obuf: ds.b SR2OBS | Serial-2 output buffer3794 mc1iorec: .ds.b IORECLN | MIDI-1 iorec structure 3795 mc2iorec: .ds.b IORECLN | MIDI-2 iorec structure 3796 3797 .endc 3798 3799 sr1ibuf: .ds.b SR1IBS | Serial-1 input buffer 3800 sr1obuf: .ds.b SR1OBS | Serial-1 output buffer 3801 sr2ibuf: .ds.b SR2IBS | Serial-2 input buffer 3802 sr2obuf: .ds.b SR2OBS | Serial-2 output buffer 3803 3803 3804 3804 .ifne BUCHLA 3805 3805 3806 mc1ibuf: ds.b MC1IBS | MIDI-1 input buffer3807 mc1obuf: ds.b MC1OBS | MIDI-1 output buffer3808 mc2ibuf: ds.b MC2IBS | MIDI-2 input buffer3809 mc2obuf: ds.b MC2OBS | MIDI-2 output buffer3810 3811 api_inp: ds.b 1 | Analog processor input byte3812 api_bug: ds.b 1 | Analog processor signal # "bug trap"3813 api_sv: ds.b 1 | Analog processor state3814 api_svb: ds.b 1 | Analog processor state "bug trap"3806 mc1ibuf: .ds.b MC1IBS | MIDI-1 input buffer 3807 mc1obuf: .ds.b MC1OBS | MIDI-1 output buffer 3808 mc2ibuf: .ds.b MC2IBS | MIDI-2 input buffer 3809 mc2obuf: .ds.b MC2OBS | MIDI-2 output buffer 3810 3811 api_inp: .ds.b 1 | Analog processor input byte 3812 api_bug: .ds.b 1 | Analog processor signal # "bug trap" 3813 api_sv: .ds.b 1 | Analog processor state 3814 api_svb: .ds.b 1 | Analog processor state "bug trap" 3815 3815 3816 3816 .even 3817 3817 3818 api_sig: ds.b 1 | Analog signal number3819 api_val: ds.b 1 | Analog value3820 3821 api_fi: ds.l 1 | Analog processor FIFO input pointer3822 api_fo: ds.l 1 | Analog processor FIFO output pointer3823 api_fum: ds.w APISIZE | Analog processor FIFO3818 api_sig: .ds.b 1 | Analog signal number 3819 api_val: .ds.b 1 | Analog value 3820 3821 api_fi: .ds.l 1 | Analog processor FIFO input pointer 3822 api_fo: .ds.l 1 | Analog processor FIFO output pointer 3823 api_fum: .ds.w APISIZE | Analog processor FIFO 3824 3824 api_fe: | End of analog processor FIFO 3825 3825 … … 3828 3828 .even 3829 3829 3830 basepage: ds.l 64 | Pseudo base page3831 3832 buffer: ds.b 1024 | Default disk buffer3830 basepage: .ds.l 64 | Pseudo base page 3831 3832 buffer: .ds.b 1024 | Default disk buffer 3833 3833 3834 3834 biostop: | End of BIOS RAM -
rom/lowram.s
r5117699 r4cfe69a 129 129 | This MUST live in the 'text' segment for things to work. 130 130 131 p_lowtpa: dc.l 0 | low address of TPA132 p_hitpa: dc.l 0 | high address + 1 of TPA133 p_tbase: dc.l 0 | low address of text segment134 p_tlen: dc.l 0 | length of text segment135 p_dbase: dc.l 0 | low address of data segment136 p_dlen: dc.l 0 | length of data segment137 p_bbase: dc.l 0 | low address of BSS segment138 p_blen: dc.l 0 | length of BSS segment139 p_dta: dc.l 0 | pointer to DTA140 p_parent: dc.l 0 | pointet to parent basepage141 dc.l 0142 p_env: dc.l 0 | pointer to environment string143 ds.l 20144 p_cmdlin: dc.b 0 | command line tail image145 ds.b 127131 p_lowtpa: .dc.l 0 | low address of TPA 132 p_hitpa: .dc.l 0 | high address + 1 of TPA 133 p_tbase: .dc.l 0 | low address of text segment 134 p_tlen: .dc.l 0 | length of text segment 135 p_dbase: .dc.l 0 | low address of data segment 136 p_dlen: .dc.l 0 | length of data segment 137 p_bbase: .dc.l 0 | low address of BSS segment 138 p_blen: .dc.l 0 | length of BSS segment 139 p_dta: .dc.l 0 | pointer to DTA 140 p_parent: .dc.l 0 | pointet to parent basepage 141 .dc.l 0 142 p_env: .dc.l 0 | pointer to environment string 143 .ds.l 20 144 p_cmdlin: .dc.b 0 | command line tail image 145 .ds.b 127 146 146 147 147 current: … … 165 165 .even 166 166 167 basebss: ds.l 1 | start of BSS167 basebss: .ds.l 1 | start of BSS 168 168 169 169 .end
Note:
See TracChangeset
for help on using the changeset viewer.