-
Notifications
You must be signed in to change notification settings - Fork 58
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9d8497c
commit 0439fe7
Showing
9 changed files
with
348 additions
and
30 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
// Copyright 2023 LLVM-MOS Project | ||
// Licensed under the Apache License, Version 2.0 with LLVM Exceptions. | ||
// See /~https://github.com/llvm-mos/llvm-mos-sdk/blob/main/LICENSE for license | ||
// information. | ||
|
||
// Originally from cc65. | ||
|
||
// clang-format off | ||
|
||
/*****************************************************************************/ | ||
/* */ | ||
/* _6551.h */ | ||
/* */ | ||
/* Internal include file, do not use directly */ | ||
/* */ | ||
/* */ | ||
/* */ | ||
/* (C) 1998-2000 Ullrich von Bassewitz */ | ||
/* Wacholderweg 14 */ | ||
/* D-70597 Stuttgart */ | ||
/* EMail: uz@musoftware.de */ | ||
/* */ | ||
/* */ | ||
/* This software is provided 'as-is', without any expressed or implied */ | ||
/* warranty. In no event will the authors be held liable for any damages */ | ||
/* arising from the use of this software. */ | ||
/* */ | ||
/* Permission is granted to anyone to use this software for any purpose, */ | ||
/* including commercial applications, and to alter it and redistribute it */ | ||
/* freely, subject to the following restrictions: */ | ||
/* */ | ||
/* 1. The origin of this software must not be misrepresented; you must not */ | ||
/* claim that you wrote the original software. If you use this software */ | ||
/* in a product, an acknowledgment in the product documentation would be */ | ||
/* appreciated but is not required. */ | ||
/* 2. Altered source versions must be plainly marked as such, and must not */ | ||
/* be misrepresented as being the original software. */ | ||
/* 3. This notice may not be removed or altered from any source */ | ||
/* distribution. */ | ||
/* */ | ||
/*****************************************************************************/ | ||
|
||
|
||
|
||
#ifndef __6551_H | ||
#define __6551_H | ||
|
||
|
||
|
||
/* Define a structure with the 6551 register offsets */ | ||
struct __6551 { | ||
unsigned char data; /* Data register */ | ||
unsigned char status; /* Status register */ | ||
unsigned char cmd; /* Command register */ | ||
unsigned char ctrl; /* Control register */ | ||
}; | ||
|
||
|
||
|
||
/* End of _6551.h */ | ||
#endif | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
// Copyright 2023 LLVM-MOS Project | ||
// Licensed under the Apache License, Version 2.0 with LLVM Exceptions. | ||
// See /~https://github.com/llvm-mos/llvm-mos-sdk/blob/main/LICENSE for license | ||
// information. | ||
|
||
// Originally from cc65. | ||
|
||
// clang-format off | ||
|
||
/*****************************************************************************/ | ||
/* */ | ||
/* _pia.h */ | ||
/* */ | ||
/* Internal include file, do not use directly */ | ||
/* */ | ||
/* The Peripheral Interface Adapter (PIA) chip (a 6520 or 6820) provides */ | ||
/* parallel I/O interfacing; it was used in Atari 400/800 and Commodore PET */ | ||
/* family of computers, for joystick and some interrupts. */ | ||
/* Sources; various + Wikpedia article on "Peripheral Interface Adapter". */ | ||
/* */ | ||
/* */ | ||
/* (C) 2000 Freddy Offenga <taf_offenga@yahoo.com> */ | ||
/* */ | ||
/* */ | ||
/* This software is provided 'as-is', without any expressed or implied */ | ||
/* warranty. In no event will the authors be held liable for any damages */ | ||
/* arising from the use of this software. */ | ||
/* */ | ||
/* Permission is granted to anyone to use this software for any purpose, */ | ||
/* including commercial applications, and to alter it and redistribute it */ | ||
/* freely, subject to the following restrictions: */ | ||
/* */ | ||
/* 1. The origin of this software must not be misrepresented; you must not */ | ||
/* claim that you wrote the original software. If you use this software */ | ||
/* in a product, an acknowledgment in the product documentation would be */ | ||
/* appreciated but is not required. */ | ||
/* 2. Altered source versions must be plainly marked as such, and must not */ | ||
/* be misrepresented as being the original software. */ | ||
/* 3. This notice may not be removed or altered from any source */ | ||
/* distribution. */ | ||
/* */ | ||
/*****************************************************************************/ | ||
|
||
|
||
|
||
#ifndef __PIA_H | ||
#define __PIA_H | ||
|
||
|
||
/* Define a structure with the PIA register offsets */ | ||
struct __pia { | ||
unsigned char porta; /* port A data r/w */ | ||
unsigned char portb; /* port B data r/w */ | ||
unsigned char pactl; /* port A control */ | ||
unsigned char pbctl; /* port B control */ | ||
}; | ||
|
||
/* (Some specific register values for Atari defined in atari.h) */ | ||
|
||
/* End of _pia.h */ | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
// Copyright 2023 LLVM-MOS Project | ||
// Licensed under the Apache License, Version 2.0 with LLVM Exceptions. | ||
// See /~https://github.com/llvm-mos/llvm-mos-sdk/blob/main/LICENSE for license | ||
// information. | ||
|
||
// Originally from cc65. Modified from original version. | ||
|
||
// clang-format off | ||
|
||
/*****************************************************************************/ | ||
/* */ | ||
/* pet.h */ | ||
/* */ | ||
/* PET system specific definitions */ | ||
/* */ | ||
/* */ | ||
/* */ | ||
/* (C) 1998-2005 Ullrich von Bassewitz */ | ||
/* Roemerstrasse 52 */ | ||
/* D-70794 Filderstadt */ | ||
/* EMail: uz@cc65.org */ | ||
/* */ | ||
/* */ | ||
/* This software is provided 'as-is', without any expressed or implied */ | ||
/* warranty. In no event will the authors be held liable for any damages */ | ||
/* arising from the use of this software. */ | ||
/* */ | ||
/* Permission is granted to anyone to use this software for any purpose, */ | ||
/* including commercial applications, and to alter it and redistribute it */ | ||
/* freely, subject to the following restrictions: */ | ||
/* */ | ||
/* 1. The origin of this software must not be misrepresented; you must not */ | ||
/* claim that you wrote the original software. If you use this software */ | ||
/* in a product, an acknowledgment in the product documentation would be */ | ||
/* appreciated but is not required. */ | ||
/* 2. Altered source versions must be plainly marked as such, and must not */ | ||
/* be misrepresented as being the original software. */ | ||
/* 3. This notice may not be removed or altered from any source */ | ||
/* distribution. */ | ||
/* */ | ||
/*****************************************************************************/ | ||
|
||
|
||
|
||
#ifndef _PET_H | ||
#define _PET_H | ||
|
||
|
||
|
||
/* Check for errors */ | ||
#if !defined(__PET__) | ||
# error This module may only be used when compiling for the CBM PET! | ||
#endif | ||
|
||
|
||
|
||
/*****************************************************************************/ | ||
/* Data */ | ||
/*****************************************************************************/ | ||
|
||
|
||
|
||
/* Color defines */ | ||
#define COLOR_BLACK 0x00 | ||
#define COLOR_WHITE 0x01 | ||
|
||
/* Masks for joy_read */ | ||
#define JOY_UP_MASK 0x01 | ||
#define JOY_DOWN_MASK 0x02 | ||
#define JOY_LEFT_MASK 0x04 | ||
#define JOY_RIGHT_MASK 0x08 | ||
#define JOY_BTN_1_MASK 0x10 | ||
|
||
/* Define hardware */ | ||
#include <_pia.h> | ||
#define PIA1 (*(struct __pia*)0xE810) | ||
#define PIA2 (*(struct __pia*)0xE820) | ||
|
||
#include <_6522.h> | ||
#define VIA (*(struct __6522*)0xE840) | ||
|
||
/* All models from 40xx and above */ | ||
#include <_6545.h> | ||
#define CRTC (*(struct __6545)0xE880) | ||
|
||
/* SuperPET only */ | ||
#include <_6551.h> | ||
#define ACIA (*(struct __6551*)0xEFF0) | ||
|
||
|
||
|
||
/* End of pet.h */ | ||
#endif |
Oops, something went wrong.