Changeset c59409e in buchla-68k


Ignore:
Timestamp:
08/19/2017 09:20:16 AM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
ad89950
Parents:
197ff76
Message:

Volatile hardware accesses.

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • include/hwdefs.h

    r197ff76 rc59409e  
    1212/* hardware addresses */
    1313
    14 extern  uint16_t        io_fpu[];       /* 0x180000 */
    15 extern  uint8_t         io_time[];      /* 0x3a0001 */
    16 extern  uint8_t         io_lcd;         /* 0x3a4001 */
    17 extern  uint8_t         io_ser;         /* 0x3a8001 */
    18 extern  uint8_t         io_midi;        /* 0x3ac001 */
    19 extern  uint8_t         io_disk;        /* 0x3b0001 */
    20 extern  uint8_t         io_tone;        /* 0x3b4001 */
    21 extern  uint8_t         io_leds;        /* 0x3b8001 */
    22 extern  uint8_t         io_kbrd;        /* 0x3bc001 */
    23 extern  uint8_t         lcd_a0;         /* io_lcd + 0 */
    24 extern  uint8_t         lcd_a1;         /* io_lcd + 2 */
     14extern  volatile uint16_t       io_fpu[];       /* 0x180000 */
     15extern  volatile uint8_t        io_time[];      /* 0x3a0001 */
     16extern  volatile uint8_t        io_lcd;         /* 0x3a4001 */
     17extern  volatile uint8_t        io_ser;         /* 0x3a8001 */
     18extern  volatile uint8_t        io_midi;        /* 0x3ac001 */
     19extern  volatile uint8_t        io_disk;        /* 0x3b0001 */
     20extern  volatile uint8_t        io_tone;        /* 0x3b4001 */
     21extern  volatile uint8_t        io_leds;        /* 0x3b8001 */
     22extern  volatile uint8_t        io_kbrd;        /* 0x3bc001 */
     23extern  volatile uint8_t        lcd_a0;         /* io_lcd + 0 */
     24extern  volatile uint8_t        lcd_a1;         /* io_lcd + 2 */
    2525
    26 extern  uint16_t        io_vreg[];      /* 0x200000 Video registers after setup */
    27 extern  uint16_t        io_vraw[];      /* 0x200400 Video registers after reset */
    28 extern  uint16_t        io_vram[];      /* 0x200000 Video RAM */
     26extern  volatile uint16_t       io_vreg[];      /* 0x200000 Video registers after setup */
     27extern  volatile uint16_t       io_vraw[];      /* 0x200400 Video registers after reset */
     28extern  volatile uint16_t       io_vram[];      /* 0x200000 Video RAM */
    2929
    3030/* video memory allocations, bank 0 */
    3131
    32 extern  uint16_t        v_regs[];       /* 0x200000 Video registers */
    33 extern  uint16_t        v_odtab[][4];   /* 0x200080 Object Descriptor Table */
    34 extern  uint16_t        v_actab[];      /* 0x200100 Access Table */
    35 extern  uint16_t        v_ct0[];        /* 0x200400 */
    36 extern  uint16_t        v_gt1[];        /* 0x200518 */
    37 extern  uint16_t        v_score[];      /* 0x202000 Score */
    38 extern  uint16_t        v_cgtab[];      /* 0x21e000 Character Generator */
     32extern  volatile uint16_t       v_regs[];       /* 0x200000 Video registers */
     33extern  volatile uint16_t       v_odtab[][4];   /* 0x200080 Object Descriptor Table */
     34extern  volatile uint16_t       v_actab[];      /* 0x200100 Access Table */
     35extern  volatile uint16_t       v_ct0[];        /* 0x200400 */
     36extern  volatile uint16_t       v_gt1[];        /* 0x200518 */
     37extern  volatile uint16_t       v_score[];      /* 0x202000 Score */
     38extern  volatile uint16_t       v_cgtab[];      /* 0x21e000 Character Generator */
    3939
    4040/* video memory allocations, bank 1 */
    4141
    42 extern  uint16_t        v_curs0[];      /* 0x200400 ULE cursor */
    43 extern  uint16_t        v_curs1[];      /* 0x200480 ULO cursor */
    44 extern  uint16_t        v_curs2[];      /* 0x200500 URE cursor */
    45 extern  uint16_t        v_curs3[];      /* 0x200580 URO cursor */
    46 extern  uint16_t        v_curs4[];      /* 0x200600 LLE cursor */
    47 extern  uint16_t        v_curs5[];      /* 0x200680 LLO cursor */
    48 extern  uint16_t        v_curs6[];      /* 0x200700 LRE cursor */
    49 extern  uint16_t        v_curs7[];      /* 0x200780 LRO cursor */
    50 extern  uint16_t        v_tcur[];       /* 0x200800 Typewriter */
    51 extern  uint16_t        v_kbobj[];      /* 0x200b40 Keyboard */
    52 extern  uint16_t        v_lnobj[];      /* 0x201240 Line */
    53 extern  uint16_t        v_cur[];        /* 0x201940 Underline cursor */
    54 extern  uint16_t        v_win0[];       /* 0x204000 Window 0 */
     42extern  volatile uint16_t       v_curs0[];      /* 0x200400 ULE cursor */
     43extern  volatile uint16_t       v_curs1[];      /* 0x200480 ULO cursor */
     44extern  volatile uint16_t       v_curs2[];      /* 0x200500 URE cursor */
     45extern  volatile uint16_t       v_curs3[];      /* 0x200580 URO cursor */
     46extern  volatile uint16_t       v_curs4[];      /* 0x200600 LLE cursor */
     47extern  volatile uint16_t       v_curs5[];      /* 0x200680 LLO cursor */
     48extern  volatile uint16_t       v_curs6[];      /* 0x200700 LRE cursor */
     49extern  volatile uint16_t       v_curs7[];      /* 0x200780 LRO cursor */
     50extern  volatile uint16_t       v_tcur[];       /* 0x200800 Typewriter */
     51extern  volatile uint16_t       v_kbobj[];      /* 0x200b40 Keyboard */
     52extern  volatile uint16_t       v_lnobj[];      /* 0x201240 Line */
     53extern  volatile uint16_t       v_cur[];        /* 0x201940 Underline cursor */
     54extern  volatile uint16_t       v_win0[];       /* 0x204000 Window 0 */
    5555
    5656/* stuff in the depths of the bios */
  • libsm/memcpyw.c

    r197ff76 rc59409e  
    1111#include "ram.h"
    1212
    13 void *memcpyw(void *vp1, void *vp2, int16_t n)
     13volatile void *memcpyw(volatile void *vp1, volatile void *vp2, int16_t n)
    1414{
    15         int16_t *sp1 = vp1;
    16         int16_t *sp2 = vp2;
     15        volatile int16_t *sp1 = vp1;
     16        volatile int16_t *sp2 = vp2;
    1717
    1818        while (--n >= 0)
  • libsm/memcpyw.x

    r197ff76 rc59409e  
    1515*/
    1616
    17 extern  void            *memcpyw(void *vp1, void *vp2, int16_t n);
     17extern  volatile void   *memcpyw(volatile void *vp1, volatile void *vp2, int16_t n);
  • libsm/memsetw.c

    r197ff76 rc59409e  
    1111#include "ram.h"
    1212
    13 void *memsetw(void *vp, uint16_t s, int16_t n)
     13volatile void *memsetw(volatile void *vp, uint16_t s, int16_t n)
    1414{
    15         uint16_t *sp = vp;
     15        volatile uint16_t *sp = vp;
    1616
    1717        while (--n >= 0)
  • libsm/memsetw.x

    r197ff76 rc59409e  
    1515*/
    1616
    17 extern  void            *memsetw(void *vp, uint16_t s, int16_t n);
     17extern  volatile void   *memsetw(volatile void *vp, uint16_t s, int16_t n);
  • rom/romp.c

    r197ff76 rc59409e  
    18991899int16_t cx_vreg(void)
    19001900{
    1901         register int16_t        i, j, k, l;
    1902         register uint16_t *rp;
     1901        int16_t i, j, k, l;
     1902        volatile uint16_t *rp;
    19031903
    19041904        rp = &v_regs[0];
  • vlib/vsetpal.c

    r197ff76 rc59409e  
    88#include "ram.h"
    99
    10 #define PALETTE         ((uint16_t *)0x280000L)
     10#define PALETTE         ((volatile uint16_t *)0x280000L)
    1111
    1212int16_t dfltpal[16][3] = {
     
    4545void vsetpal(int16_t slot, int16_t red, int16_t grn, int16_t blu)
    4646{
    47         register int16_t palval;
    48         uint16_t *pal;
     47        int16_t palval;
     48        volatile uint16_t *pal;
    4949
    5050        pal = PALETTE;
Note: See TracChangeset for help on using the changeset viewer.