Changeset 4cfe69a in buchla-68k for rom


Ignore:
Timestamp:
07/16/2017 03:10:36 PM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
62340ef
Parents:
5117699
Message:

Use .ds and .dc pseudo-ops. Generate debug symbols.

Location:
rom
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • rom/bios.s

    r5117699 r4cfe69a  
    431431begin:          bra.s   biosinit                | Jump to bios init
    432432
    433 vermsg:         dc.b    VM1,VM2                 | Version number
    434 
    435                 dc.l    biosinit                | Reset address (bios init)
    436 
    437 created:        dc.l    VDATE                   | Creation date
     433vermsg:         .dc.b   VM1,VM2                 | Version number
     434
     435                .dc.l   biosinit                | Reset address (bios init)
     436
     437created:        .dc.l   VDATE                   | Creation date
    438438
    439439copyrite:       .ascii  "{Copyright 1988 by "   | Copyright message
    440440                .asciz  "D.N. Lynx Crowe}"
    441441
    442                 dc.l    0                       | Some padding
     442                .dc.l   0                       | Some padding
    443443
    444444                .page
     
    33233323| t13tab -- Trap-13 pointer table -- Primary BIOS functions
    33243324| ------    -----------------------------------------------
    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)
     3325t13tab:         .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)
    33393339
    33403340                .page
     
    33423342| t14tab -- Trap-14 pointer table -- Extended BIOS functions (Buchla 700 only)
    33433343| ------    ------------------------------------------------------------------
    3344 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
     3344t14tab:         .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
    33563356
    33573357                .endc
     
    33653365| t13tab -- Trap-13 pointer table -- Primary BIOS functions
    33663366| ------    -----------------------------------------------
    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)
     3367t13tab:         .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)
    33813381
    33823382                .page
     
    33843384| t14tab -- Trap-14 pointer table -- Extended BIOS functions (Buchla 700 only)
    33853385| ------    ------------------------------------------------------------------
    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)
     3386t14tab:         .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)
    33983398
    33993399                .endc
     
    34033403| cdt01 -- Character device dispatch table #1 -- input status
    34043404| -----    --------------------------------------------------
    3405 cdt01:          dc.l    sr1ist                  | 0 - PRT -- Printer
    3406                 dc.l    sr2ist                  | 1 - AUX -- Serial-2
    3407                 dc.l    sr2ist                  | 2 - CON -- Console
     3405cdt01:          .dc.l   sr1ist                  | 0 - PRT -- Printer
     3406                .dc.l   sr2ist                  | 1 - AUX -- Serial-2
     3407                .dc.l   sr2ist                  | 2 - CON -- Console
    34083408
    34093409                .ifne   BUCHLA
    34103410
    3411                 dc.l    mc1ist                  | 3 - MC1 -- MIDI-1
    3412                 dc.l    mc2ist                  | 4 - MC2 -- MIDI-2
     3411                .dc.l   mc1ist                  | 3 - MC1 -- MIDI-1
     3412                .dc.l   mc2ist                  | 4 - MC2 -- MIDI-2
    34133413
    34143414                .endc
     
    34163416| cdt02 -- Character device dispatch table #2 -- input
    34173417| -----    -------------------------------------------
    3418 cdt02:          dc.l    sr1inp                  | 0 - PRT -- Printer
    3419                 dc.l    sr2inp                  | 1 - AUX -- Serial-2
    3420                 dc.l    sr2inp                  | 2 - CON -- Console
     3418cdt02:          .dc.l   sr1inp                  | 0 - PRT -- Printer
     3419                .dc.l   sr2inp                  | 1 - AUX -- Serial-2
     3420                .dc.l   sr2inp                  | 2 - CON -- Console
    34213421
    34223422                .ifne   BUCHLA
    34233423
    3424                 dc.l    mc1inp                  | 3 - MC1 -- MIDI-1
    3425                 dc.l    mc2inp                  | 4 - MC2 -- MIDI-2
     3424                .dc.l   mc1inp                  | 3 - MC1 -- MIDI-1
     3425                .dc.l   mc2inp                  | 4 - MC2 -- MIDI-2
    34263426
    34273427                .endc
     
    34293429| cdt03 -- Character device dispatch table #3 -- output
    34303430| -----    --------------------------------------------
    3431 cdt03:          dc.l    sr1out                  | 0 - PRT -- Printer
    3432                 dc.l    sr2out                  | 1 - AUX -- Serial-2
    3433                 dc.l    sr2out                  | 2 - CON -- Console
     3431cdt03:          .dc.l   sr1out                  | 0 - PRT -- Printer
     3432                .dc.l   sr2out                  | 1 - AUX -- Serial-2
     3433                .dc.l   sr2out                  | 2 - CON -- Console
    34343434                .ifne   BUCHLA
    34353435
    3436                 dc.l    mc1out                  | 3 - MC1 -- MIDI-1
    3437                 dc.l    mc2out                  | 4 - MC2 -- MIDI-2
     3436                .dc.l   mc1out                  | 3 - MC1 -- MIDI-1
     3437                .dc.l   mc2out                  | 4 - MC2 -- MIDI-2
    34383438
    34393439                .endc
     
    34413441| cdt04 -- Character device dispatch table #4 -- output status
    34423442| -----    ---------------------------------------------------
    3443 cdt04:          dc.l    sr1ost                  | 0 - PRT -- Printer
    3444                 dc.l    sr2ost                  | 1 - AUX -- Serial-2
    3445                 dc.l    sr2ost                  | 2 - CON -- Console
     3443cdt04:          .dc.l   sr1ost                  | 0 - PRT -- Printer
     3444                .dc.l   sr2ost                  | 1 - AUX -- Serial-2
     3445                .dc.l   sr2ost                  | 2 - CON -- Console
    34463446                .ifne   BUCHLA
    34473447
    3448                 dc.l    mc1ost                  | 3 - MC1 -- MIDI-1
    3449                 dc.l    mc2ost                  | 4 - MC2 -- MIDI-2
     3448                .dc.l   mc1ost                  | 3 - MC1 -- MIDI-1
     3449                .dc.l   mc2ost                  | 4 - MC2 -- MIDI-2
    34503450
    34513451                .endc
     
    34573457| Serial-1:
    34583458| ---------
    3459 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
     3459sr1dflt:        .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
    34743474
    34753475| Serial-2:
    34763476| ---------
    3477 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
     3477sr2dflt:        .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
    34923492
    34933493                .page
     
    34973497| MIDI-1:
    34983498| -------
    3499 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
     3499mc1dflt:        .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
    35143514
    35153515| MIDI-2:
    35163516| -------
    3517 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
     3517mc2dflt:        .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
    35323532
    35333533                .endc
     
    35373537| brtable -- Baud rate setup table
    35383538| -------    ---------------------
    3539 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
     3539brtable:        .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
    35493549
    35503550| iortab -- iorec pointer table
    35513551| ------    -------------------
    3552 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
     3552iortab:         .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
    35553555
    35563556                .ifne   BUCHLA
    35573557
    3558                 dc.l    mc1iorec        | 3 - MC1 MIDI-1   MIDI port #1
    3559                 dc.l    mc2iorec        | 4 - MC2 MIDI-2   MIDI port #2
     3558                .dc.l   mc1iorec        | 3 - MC1 MIDI-1   MIDI port #1
     3559                .dc.l   mc2iorec        | 4 - MC2 MIDI-2   MIDI port #2
    35603560
    35613561                .endc
     
    35633563| aciatab -- iorec and ACIA pointer table
    35643564| -------    ----------------------------
    3565 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
     3565aciatab:        .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
    35683568
    35693569                .ifne   BUCHLA
    35703570
    3571                 dc.l    mc1iorec,MC1ACIA        | 3 - MC1 MIDI-1
    3572                 dc.l    mc2iorec,MC2ACIA        | 4 - MC2 MIDI-2
     3571                .dc.l   mc1iorec,MC1ACIA        | 3 - MC1 MIDI-1
     3572                .dc.l   mc2iorec,MC2ACIA        | 4 - MC2 MIDI-2
    35733573
    35743574                .endc
     
    35833583| 0 -- 40 tracks, single sided (180K)
    35843584
    3585 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
     3585pbpbtab:        .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
    35883588
    35893589| 1 -- 40 tracks, double sided (360K)
    35903590
    3591                 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
     3591                .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
    35943594
    35953595| 2 -- 80 tracks, single sided (360K)
    35963596
    3597                 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
     3597                .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
    36003600
    36013601| 3 -- 80 tracks, double sided (720K)
    36023602
    3603                 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
     3603                .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
    36063606
    36073607| VSDD initialization table
     
    36093609                .even
    36103610
    3611 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
     3611vsddtab:        .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
     3629vsddit01:       .dc.w   0x8253          | R0 with UCF = 1, DEN = 0
     3630vsddit02:       .dc.w   0x825B          | R0 with UCF = 1, DEN = 1
    36313631
    36323632                .page
     
    36343634| analog processor input state table
    36353635
    3636 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
     3636api_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
    36493649
    36503650                .even
     
    36523652| analog processor state transfer vector
    36533653
    3654 api_tv:         dc.l    api_s0,api_s1,api_s2,api_s3
    3655                 dc.l    api_s4,api_s5,api_s6
     3654api_tv:         .dc.l   api_s0,api_s1,api_s2,api_s3
     3655                .dc.l   api_s4,api_s5,api_s6
    36563656
    36573657                .endc
     
    36763676| hwdefs.s so beware of changing them.
    36773677
    3678 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
     3678timevec:        .ds.l   1               | System timer trap vector
     3679critvec:        .ds.l   1               | Critical error handler vector
     3680termvec:        .ds.l   1               | Process terminate hook vector
     3681resvec3:        .ds.l   1               | Reserved vector 3
     3682resvec4:        .ds.l   1               | Reserved vector 4
     3683resvec5:        .ds.l   1               | Reserved vector 5
     3684resvec6:        .ds.l   1               | Reserved vector 6
     3685resvec7:        .ds.l   1               | Reserved vector 7
     3686
     3687fc_sw:          .ds.w   1               | Frame clock switch (<0=dn, 0=off, >0=up)
     3688fc_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
    36983698
    36993699| The area from biosram to SSTACK-1 is cleared on reset.
     
    37033703                .ifne   BUCHLA
    37043704
    3705 _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
     3705_hz_1k:         .ds.l   1               | 1000 Hz clock
     3706_hz_200:        .ds.l   1               | 200 Hz clock
     3707frclock:        .ds.l   1               | 50 Hz clock
     3708t1count:        .ds.w   1               | Timer 1 count
     3709t2count:        .ds.w   1               | Timer 2 count
     3710t3count:        .ds.w   1               | Timer 3 count
     3711
     3712seekrate:       .ds.w   1               | Seek rate
     3713cdev:           .ds.w   1               | Current drive
     3714ctrack:         .ds.w   1               | Current track
     3715csect:          .ds.w   1               | Current sector
     3716cside:          .ds.w   1               | Current side
     3717ccount:         .ds.w   1               | Current sector count
     3718spt:            .ds.w   1               | Sectors per track
     3719interlv:        .ds.w   1               | Sector interleave count
     3720virgin:         .ds.w   1               | Initial formatting data
     3721deferr:         .ds.w   1               | Default error number
     3722curerr:         .ds.w   1               | Current error number
     3723
     3724cdma:           .ds.l   1               | Current DMA address
     3725edma:           .ds.l   1               | Ending DMA address
     3726tmpdma:         .ds.l   1               | Temporary DMA address
     3727
     3728                .endc
     3729
     3730rseed:          .ds.l   1               | Random number seed
     3731
     3732savptr:         .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)
     3736rsarea:         .ds.l   1               | Dummy long word at top of save area
    37373737
    37383738| ||||| end of the permanently assigned bios variables |||||
     
    37423742                .ifne   BUCHLA
    37433743
    3744 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
     3744acctim:         .ds.l   2               | Accumulated disk time table
     3745maxactim:       .ds.l   1               | Maximum acctim value
     3746hdv_init:       .ds.l   1               | Disk init vector
     3747hdv_bpb:        .ds.l   1               | Disk get bpb vector
     3748hdv_rw:         .ds.l   1               | Disk r/w vector
     3749hdv_boot:       .ds.l   1               | Disk boot vector
     3750hdv_mchg:       .ds.l   1               | Disk media change vector
     3751drvbits:        .ds.l   1               | Drive map bits
     3752dskbufp:        .ds.l   1               | Disk buffer pointer
     3753                .page
     3754nflops:         .ds.w   1               | Number of drives
     3755disknum:        .ds.w   1               | Current disk number
     3756booted:         .ds.w   1               | Most recent boot device or -1
     3757flock:          .ds.w   1               | Floppy semaphore
     3758fverify:        .ds.w   1               | Floppy verify flag
     3759
     3760tdiv1:          .ds.w   1               | Timer divider 1  (divides _hz_1k)
     3761tdiv2:          .ds.w   1               | Timer divider 2  (divides _hz_200)
     3762
     3763retrycnt:       .ds.w   1               | Re-try count
     3764wpstatus:       .ds.w   1               | Write protect status table
     3765wplatch:        .ds.w   1               | Write protect latch table
     3766bootdev:        .ds.w   1               | Boot device number
     3767
     3768motoron:        .ds.w   1               | Motor-on flag
     3769deslflag:       .ds.w   1               | Drive deselect flag
     3770
     3771                .endc
     3772
     3773flpsrsv:        .ds.w   1               | Status register save area
     3774flpregs:        .ds.l   16              | Register save area
    37753775
    37763776                .ifne   BUCHLA
    37773777
    3778 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
     3778dsb0:           .ds.l   1               | Drive A DSB
     3779dsb1:           .ds.l   1               | Drive B DSB
     3780
     3781dskmode:        .ds.b   2               | Disk change mode table
     3782dskerrs:        .ds.w   2               | Disk error code table
     3783drvbpbs:        .ds.w   16|2            | Disk BPB save area
     3784
     3785                .endc
     3786
     3787                .page
     3788
     3789sr1iorec:       .ds.b   IORECLN         | Serial-1 iorec structure
     3790sr2iorec:       .ds.b   IORECLN         | Serial-2 iorec structure
    37913791
    37923792                .ifne   BUCHLA
    37933793
    3794 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
     3794mc1iorec:       .ds.b   IORECLN         | MIDI-1 iorec structure
     3795mc2iorec:       .ds.b   IORECLN         | MIDI-2 iorec structure
     3796
     3797                .endc
     3798
     3799sr1ibuf:        .ds.b   SR1IBS          | Serial-1 input buffer
     3800sr1obuf:        .ds.b   SR1OBS          | Serial-1 output buffer
     3801sr2ibuf:        .ds.b   SR2IBS          | Serial-2 input buffer
     3802sr2obuf:        .ds.b   SR2OBS          | Serial-2 output buffer
    38033803
    38043804                .ifne   BUCHLA
    38053805
    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"
     3806mc1ibuf:        .ds.b   MC1IBS          | MIDI-1 input buffer
     3807mc1obuf:        .ds.b   MC1OBS          | MIDI-1 output buffer
     3808mc2ibuf:        .ds.b   MC2IBS          | MIDI-2 input buffer
     3809mc2obuf:        .ds.b   MC2OBS          | MIDI-2 output buffer
     3810
     3811api_inp:        .ds.b   1               | Analog processor input byte
     3812api_bug:        .ds.b   1               | Analog processor signal # "bug trap"
     3813api_sv:         .ds.b   1               | Analog processor state
     3814api_svb:        .ds.b   1               | Analog processor state "bug trap"
    38153815
    38163816                .even
    38173817
    3818 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
     3818api_sig:        .ds.b   1               | Analog signal number
     3819api_val:        .ds.b   1               | Analog value
     3820
     3821api_fi:         .ds.l   1               | Analog processor FIFO input pointer
     3822api_fo:         .ds.l   1               | Analog processor FIFO output pointer
     3823api_fum:        .ds.w   APISIZE         | Analog processor FIFO
    38243824api_fe:                                 | End of analog processor FIFO
    38253825
     
    38283828                .even
    38293829
    3830 basepage:       ds.l    64              | Pseudo base page
    3831 
    3832 buffer:         ds.b    1024            | Default disk buffer
     3830basepage:       .ds.l   64              | Pseudo base page
     3831
     3832buffer:         .ds.b   1024            | Default disk buffer
    38333833
    38343834biostop:                                | End of BIOS RAM
  • rom/lowram.s

    r5117699 r4cfe69a  
    129129| This MUST live in the 'text' segment for things to work.
    130130
    131 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
     131p_lowtpa:       .dc.l   0                       | low address of TPA
     132p_hitpa:        .dc.l   0                       | high address + 1 of TPA
     133p_tbase:        .dc.l   0                       | low address of text segment
     134p_tlen:         .dc.l   0                       | length of text segment
     135p_dbase:        .dc.l   0                       | low address of data segment
     136p_dlen:         .dc.l   0                       | length of data segment
     137p_bbase:        .dc.l   0                       | low address of BSS segment
     138p_blen:         .dc.l   0                       | length of BSS segment
     139p_dta:          .dc.l   0                       | pointer to DTA
     140p_parent:       .dc.l   0                       | pointet to parent basepage
     141                .dc.l   0
     142p_env:          .dc.l   0                       | pointer to environment string
     143                .ds.l   20
     144p_cmdlin:       .dc.b   0                       | command line tail image
     145                .ds.b   127
    146146
    147147current:
     
    165165                .even
    166166
    167 basebss:        ds.l    1                               | start of BSS
     167basebss:        .ds.l   1                               | start of BSS
    168168
    169169                .end
Note: See TracChangeset for help on using the changeset viewer.