Game Engine for Loc Game Engine for Location-Based Services Based

Total Page:16

File Type:pdf, Size:1020Kb

Game Engine for Loc Game Engine for Location-Based Services Based FACULDADEDE ENGENHARIADA UNIVERSIDADEDO PORTO GameEngineforLocation -Based Services TiagoPintoFernandes MasterinInformaticsandComputingE ngineering Supervisor: AntónioCoelho(AuxiliarProfessor) June2010 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 ©TiagoPintoFernandes,2010 2 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 GameEngineforLocationBasedServices TiagoFernandes MasterinInformaticsAndComputingEngineering AprovadoemprovaspúblicaspeloJúri: Presidente:NomedoPresidente(Título) VogalExterno:NomedoArguente(Título) Orientador:NomedoOrientador(Título) ____________________________________________________ 3 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 30deJunhode2010 Resumo O objectivo do presente projecto consiste em introduzir uma nova dimensão ao conceito de motor de jogo, através da implementação do conceito de Location-Based Services numa Frameworkdecriaçãodejogos.Hojeemdia,existe umgrandenúmerodemotoresdejogo, comerciaisougratuitos,disponíveisnomercado.Porém,poucoscontemplamapossibilidadede tirar partido das capacidades e conceitos relativos aos serviços de localização geográfica existentes. Os que procuram utilizar estes conceitos, normalmente estão muito longe do que habitualmenteéconsideradoummotordejogo,devidoaofactodenãoconseguiremfornecer umabasedeprogramaçãoestávelouumaplataformadedesenvolvimentoflexívelparaacriação dejogos,tendousualmenteporbaseplataformasWebnasquaisosutilizadoresdevemactualizar oseuestadosemprequejogamumdestesjogos. Assim,omotordejogo Punkman ,descritonestadissertação,procuraapresentarumanovae inovadoraformadeabordarestaproblemáticaefornecerumaplataformaestáveleexpansível paraodesenvolvimentodejogosquepossamutilizarascapacidadesdosserviçosdebaseados em localização. O principal objectivo deste projecto consiste então em apresentar uma arquitecturaquesejacapazdesuportarummotordejogoquepossaserutilizadoemdiferentes plataformas de hardware e software, que seja expansível e capaz de utilizar a informação geográficaedeposicionamentoexistente,taiscomomapasoupontosdeinteresse,nacriaçãode jogos. Porém, alguma parte da implementação é ainda descrita, assim como alguns algoritmos e comparações com outras implementações. Todos os pontos de expansão do motor foram testadoseimplementadospelomenosumavez,demodoagarantirqueomotoréexpansívele simplesdeutilizar.Opresentedocumentoapresentaosdetalhesdestasimplementações. 4 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 30th,June2010 Abstract Theobjectiveofthepresentprojectistogiveanewdimensiontotheconceptofgameengine, byintroducinglocation-awarenesstoagamecreationframework.Nowadays,thereareagreat number of game engines available in the market, both commercial and non-commercial. However,fewarethosethatcontemplateandtakeadvantageoftheconceptoflocation-based services.Thosewhouseitcanbarelybeconsideredrealgameengines,duetothefactthatthey donotusuallyprovideastableprogrammingordevelopingplatformforthecreationofgames. Rather,theyconsistmoreofweb-basedplatformsinwhichtheusersmustupdatetheirstatus andnotnecessarilybasedonspecifichardwareplatforms. The PunkMan engine, explained in this thesis, attempts to present a new and innovative approachtothisthemeandprovideastableandexpansibleplatformforthedevelopmentof gamesthatmayusethecapabilitiesoflocation-basedservices.Themaingoalofthisthesisisto presentasuitablearchitectureforthegameenginethatcanbeusedindifferenthardwareand softwareplatforms,isextensibleandisableofusingthegeographiclocation,andunderlying geographical information present, such as maps, points of interest, etc. to create games. However, the actual implementation of some concepts is also described, as well as the algorithmsusedandsomebenchmarkingcomparisons.Alloftheengineexpansionpointswere testedandatleastoneconcreteimplementationwascreatedinordertoverifythattheengineis expansibleandeasytouse.Thecurrentdocumentpresentsthedetailsontheseimplementations. 5 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 Acknowledgments Inthefirstplace,Iwouldliketopresentmythanks to prof. António Coelho for the supportduringthepresentprojectandforthehelpgivenwhentheworkandtimetodevelopthis thesiswasinseriousrisk.Iowemyveryspecialthankstoprof.A.AugustodeSousaandprof. Fernando Nunes Ferreira for guiding me all of these years and for all the support and for introducingmetothisamazingworldofComputerGraphicsandImagery.Also,Iwanttothank tomyparentswhohavealwaysgivenmeeverythingIneeded(andmore)toreachthispointand havealwaysbeenpresentwhenIneeded.Finally,butnotleastimportant,Iwanttopresentmy very special thanks to Mariana Teixeira, to whom this work is dedicated, for basically everything,butespeciallyforbeingbymysideineveryoccasionandhelpingmetofaceallof theproblemsthatappearedalongthislongway. TiagoFernandes 6 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 Contents 1.Introduction .................................................................................................. 12 1.1 Motivation .......................................................................................... 13 1.2 Problemstatement ................................................................................. 13 1.3 Objectives .......................................................................................... 14 1.4Expectedresults ......................................................................................... 15 1.5Documentstructure ..................................................................................... 15 2Stateoftheart ................................................................................................ 17 2.1Historyofvideo-games ................................................................................. 17 2.2Evolutionofhardware .................................................................................. 20 2.3Psychologyofgaming .................................................................................. 26 2.4Anoverviewofgameengines .......................................................................... 31 2.5LocationBasedServices ................................................................................ 37 2.6MobileGaming .......................................................................................... 40 2.7LocationBasedGaming ................................................................................ 44 3.AgameengineforLBS ..................................................................................... 47 3.1Enginerequirements .................................................................................... 47 3.2Methodologyandenginephilosophy .................................................................. 50 3.3Architecture ............................................................................................. 52 4.CoreComponentsLayer .................................................................................... 62 4.1.DataStructures ......................................................................................... 62 4.1.1.Integertypes ....................................................................................... 63 4.1.2.Floatingvsfixedpointarithmetics ............................................................... 63 4.1.3.Strings .............................................................................................. 65 4.1.4.Arrays .............................................................................................. 65 4.1.5.HashMaps ......................................................................................... 67 4.1.6.MathLibrary ....................................................................................... 68 4.1.7.Pseudo-ReflectionSystem ........................................................................ 69 4.1.8.Serializationsystem ............................................................................... 71 7 Game Engine for Location Based Services – Tiago Fernandes – MIEIC / FEUP – 2009/2010 4.1.9.GraphLibrary ...................................................................................... 73 4.2.EventSystem ........................................................................................... 74 4.3.FileSystemAccess ..................................................................................... 75 4.4.Networking ............................................................................................. 76 4.5.ThreadManagement ................................................................................... 77 4.6.Otherfeatures ........................................................................................... 79 5.TheRendererLayer ......................................................................................... 80 5.1.WindowManagers ..................................................................................... 81 5.2.Renderers ............................................................................................... 82 5.3.2Dsystem ............................................................................................... 85 5.4.Transformations ........................................................................................ 86 5.5.Animations .............................................................................................. 88 5.6.Geometry ..............................................................................................
Recommended publications
  • Advanced-Game-Design-With-Html5
    www.allitebooks.com For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. www.allitebooks.com Contents at a Glance About the Author .....................................................................................................xv About the Technical Reviewers .............................................................................xvii Acknowledgments ..................................................................................................xix Introduction ............................................................................................................xxi ■ Chapter 1: Level Up! .............................................................................................. 1 ■ Chapter 2: The Canvas Drawing API .................................................................... 59 ■ Chapter 3: Working with Game Assets ................................................................ 93 ■ Chapter 4: Making Sprites and a Scene Graph .................................................. 111 ■ Chapter 5: Making Things Move ........................................................................ 165 ■ Chapter 6: Interactivity ...................................................................................... 189 ■ Chapter 7: Collision Detection ........................................................................... 239 ■ Chapter 8: Juice It Up .......................................................................................
    [Show full text]
  • Foundations for Music-Based Games
    Die approbierte Originalversion dieser Diplom-/Masterarbeit ist an der Hauptbibliothek der Technischen Universität Wien aufgestellt (http://www.ub.tuwien.ac.at). The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology (http://www.ub.tuwien.ac.at/englweb/). MASTERARBEIT Foundations for Music-Based Games Ausgeführt am Institut für Gestaltungs- und Wirkungsforschung der Technischen Universität Wien unter der Anleitung von Ao.Univ.Prof. Dipl.-Ing. Dr.techn. Peter Purgathofer und Univ.Ass. Dipl.-Ing. Dr.techn. Martin Pichlmair durch Marc-Oliver Marschner Arndtstrasse 60/5a, A-1120 WIEN 01.02.2008 Abstract The goal of this document is to establish a foundation for the creation of music-based computer and video games. The first part is intended to give an overview of sound in video and computer games. It starts with a summary of the history of game sound, beginning with the arguably first documented game, Tennis for Two, and leading up to current developments in the field. Next I present a short introduction to audio, including descriptions of the basic properties of sound waves, as well as of the special characteristics of digital audio. I continue with a presentation of the possibilities of storing digital audio and a summary of the methods used to play back sound with an emphasis on the recreation of realistic environments and the positioning of sound sources in three dimensional space. The chapter is concluded with an overview of possible categorizations of game audio including a method to differentiate between music-based games.
    [Show full text]
  • Hitachi Unified Storage File Module File Services Administration Guide
    Hitachi Unified Storage File Module File Services Administration Guide Release 12.5 MK-92HUSF004-09 December 2015 © 2011-2015 Hitachi, Ltd. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, or stored in a database or retrieval system for any purpose without the express written permission of Hitachi, Ltd. Hitachi, Ltd., reserves the right to make changes to this document at any time without notice and assumes no responsibility for its use. This document contains the most current information available at the time of publication. When new or revised information becomes available, this entire document will be updated and distributed to all registered users. Some of the features described in this document might not be currently available. Refer to the most recent product announcement for information about feature and product availability, or contact Hitachi Data Systems Corporation at https://portal.hds.com. Notice: Hitachi, Ltd., products and services can be ordered only under the terms and conditions of the applicable Hitachi Data Systems Corporation agreements. The use of Hitachi, Ltd., products is governed by the terms of your agreements with Hitachi Data Systems Corporation. 2 Hitachi Unified Storage File Module File Services Administration Guide Hitachi Data Systems products and services can be ordered only under the terms and conditions of Hitachi Data Systems’ applicable agreements. The use of Hitachi Data Systems products is governed by the terms of your agreements with Hitachi Data Systems. By using this software, you agree that you are responsible for: a) Acquiring the relevant consents as may be required under local privacy laws or otherwise from employees and other individuals to access relevant data; and b) Verifying that data continues to be held, retrieved, deleted, or otherwise processed in accordance with relevant laws.
    [Show full text]
  • Files I Have Known
    FILES I HAVE KNOWN FOREWORD The data reminiscences that follow are probably an unrewarding read. Published reminiscences stand as monuments to the ego of their authors. However, the true purpose of this text is to experimentally substitute digital files with written memories of those files, prompted by metadata. Can the original essence of a data file be recreated purely by words? Many of the files chosen here are obscure and not necessarily available online. It’s likely that the files themselves are of little interest if discovered without their context, forming only fragments of nonsensicality in the wider noise of online data. These reminiscences too may appear as yet further noise flung onto an internet already overpopulated with noise vying for visibility. But by intimately analysing one’s own files in terms of their emotional impact, the reader may come to appreciate that every file has a story. In our daily dealings with data, we partake in the creation of such stories, and the stories also create us. FILES I HAVE KNOWN CHAPTER I “dontryathome.zip” Size: 345KB (345,410 bytes) Created: 31 December 2004 13:53 Format: ZIP Archive “dontryathome.zip” was a compressed archive containing images randomly taken from the web. It’s a file I no longer possess, so all that exists of it now is the above scrap of metadata, the text of the email it was attached to, and the memory. This may well be the eventual fate of all data – future generations might only be left with metadata and memories to reminiscence over if either (a) the pace of technology outstrips the means to preserve and open obsolete file formats, or (b) a sudden cataclysmic environmental or economic global disaster annuls electronic technologies.
    [Show full text]
  • Lmod Documentation Release 8.5.16
    Lmod Documentation Release 8.5.16 Robert McLay Sep 24, 2021 Contents 1 PURPOSE 1 2 OVERVIEW 3 3 Lmod Web Sites 5 4 Introduction to Lmod 7 5 Installing Lmod 27 6 Advanced Topics 55 7 Topics yet to be written 119 8 Indices and tables 121 i ii CHAPTER 1 PURPOSE Lmod is a Lua based module system that easily handles the MODULEPATH Hierarchical problem. Environment Modules provide a convenient way to dynamically change the users’ environment through modulefiles. This includes easily adding or removing directories to the PATH environment variable. Modulefiles for Library packages provide environment variables that specify where the library and header files can be found. 1 Lmod Documentation, Release 8.5.16 2 Chapter 1. PURPOSE CHAPTER 2 OVERVIEW This guide is written to explain what Environment Modules are and why they are very useful for both users and system administrators. Lmod is an implementation of Environment Modules, much of what is said here is true for any environment modules system but there are many features which are unique to Lmod. Environment Modules provide a convenient way to dynamically change the users’ environment through modulefiles. This includes easily adding or removing directories to the PATH environment variable. A modulefile contains the necessary information to allow a user to run a particular application or provide access to a particular library. All of this can be done dynamically without logging out and back in. Modulefiles for applications modify the user’s path to make access easy. Modulefiles for Library packages provide environment variables that specify where the library and header files can be found.
    [Show full text]
  • Measuring the Development of a Common Scientific Lexicon In
    J Nanopart Res (2014) 16:2194 DOI 10.1007/s11051-013-2194-0 PERSPECTIVES Measuring the development of a common scientific lexicon in nanotechnology Sanjay K. Arora • Jan Youtie • Stephen Carley • Alan L. Porter • Philip Shapira Received: 26 June 2013 / Accepted: 5 December 2013 / Published online: 24 December 2013 Ó Springer Science+Business Media Dordrecht 2013 Abstract Over the last two decades, nanotechnology of nano-prefixed terms in response to broader policy or has not only grown considerably but also evolved in its societal influences, they do suggest that there are use of scientific terminology. This paper examines the intellectual and scientific underpinnings to the growth growth in nano-prefixed terms in a corpus of nano- of a collectively shared vocabulary. We consider technology scholarly publications over a 21-year time whether our findings signify the maturation of a period. The percentage of publications using a nano- scientific field and the extent to which this denotes the prefixed term has increased from \10 % in the early emergence of a shared scientific understanding regard- 1990s to nearly 80 % by 2010. A co-word analysis of ing nanotechnology. nano-prefixed terms indicates that the network of these terms has moved from being densely organized around Keywords Scientific lexicon Á Bibliometrics Á a few common nano-prefixed terms such as ‘‘nano- Science and technology policy structure’’ in 2000 to becoming less dense and more differentiated in using additional nano-prefixed terms while continuing to coalesce around the common nano-prefixed terms by 2010. We further observe that the share of nanotechnology papers oriented toward Introduction biomedical and clinical medicine applications has risen from just over 5 % to more than 11 %.
    [Show full text]
  • The Selinux Notebook - the Foundations
    The SELinux Notebook - The Foundations The SELinux Notebook The Foundations Page 1 The SELinux Notebook - The Foundations 0. Notebook Information 0.1 Copyright Information Copyright © 2009 Richard Haines. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNUFree Documentation License”. The scripts and source code in this Notebook are covered by the GNU General Public License. The scripts and code are free source: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. These are distributed in the hope that they will be useful in researching SELinux, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with scripts and source code. If not, see <http://www.gnu.org/licenses/>. 0.2 Revision History Version Date Description of Change Changed By 1.0 20th Nov ‘09 First release. Richard Haines 0.3 Acknowledgements Logo designed by Máirín Duffy 0.4 Abbreviations Term Definition apol Policy analysis tool AV Access Vector AVC Access Vector Cache BLP Bell-La Padula CC Common Criteria CMW Compartmented Mode Workstation DAC Discretionary Access Control Page 2 The SELinux Notebook - The Foundations Term Definition F-10 Fedora 10 FLASK Flux Advanced Security Kernel - A security-enhanced version of the Fluke kernel and OS developed by the Utah Flux team and the US Department of Defence.
    [Show full text]
  • Getting Started with Xillinux for Zynq-7000 V2.0
    Getting started with Xillinux for Zynq-7000 v2.0 Xillybus Ltd. www.xillybus.com Version 3.6 1 Introduction4 1.1 The Xillinux distribution...........................4 1.2 The Xillybus IP core.............................5 2 Prerequisites7 2.1 Hardware...................................7 2.2 Downloading the distribution........................8 2.3 Development software............................9 2.4 Experience with FPGA design........................ 10 3 Building Xillinux 11 3.1 Overview................................... 11 3.2 Unzipping the boot partition kit....................... 12 3.3 Generating the bitstream file........................ 13 3.3.1 Introduction.............................. 13 3.3.2 Selecting the Zynq part to target (Z-Turn Lite only)........ 13 3.3.3 Preparing xillydemo.vhd (VHDL project only)........... 14 3.3.4 Generating the Vivado project.................... 14 3.3.5 Implementing the project...................... 15 Xillybus Ltd. www.xillybus.com 3.4 Loading the (Micro)SD with the image................... 16 3.4.1 General................................ 16 3.4.2 Loading the image (Windows).................... 17 3.4.3 Loading the image (Linux)...................... 18 3.4.4 Using the Zynq board for loading the image............ 19 3.5 Copying the files into the boot partition................... 20 3.6 The files in the boot partition........................ 21 4 Booting up 22 4.1 Jumper settings................................ 22 4.1.1 Zedboard............................... 22 4.1.2 MicroZed............................... 24 4.1.3 Zybo.................................. 24 4.1.4 Z-Turn Lite.............................. 24 4.2 Attaching peripherals............................. 26 4.3 Powering up the board............................ 27 4.3.1 Initial diagnostics........................... 27 4.3.2 When boot completes........................ 28 4.3.3 U-boot environment variables.................... 28 4.3.4 Setting a custom Ethernet MAC address.............
    [Show full text]
  • The Python Book 2Nd Edition
    NEW OVER 2 HOURS PythonThe OF VIDEO TUTORIALS The ultimate guide to coding with Python Over 20 incredible projects Learn to use Python t1SPHSBNHBNFTt(FUDSFBUJWFXJUI1J Welcome to PythonThe Python is an incredibly versatile, expansive language which, due to its similarity to everyday language, is surprisingly easy to learn even for inexperienced programmers. It has seen a huge increase in popularity since the release and rise of the Raspberry Pi, for which Python is the officially recognised programming language. In this new edition of The Python Book, you’ll find plenty of creative projects to help you get to grips with the combination of your Raspberry Pi and Python’s powerful functionality, plus lots of tutorials that focus on Python’s effectiveness away from the Raspberry Pi. You’ll learn all about how to code with Python from a standing start, with our comprehensive masterclass, then go on to complete tutorials that will consolidate your skills and help you to become fluent in the language. You’ll learn how to make Python work for you with tutorials on coding with Django, Flask, Pygame and even more useful third-party frameworks. Get ready to become a true Python expert with the wealth of information contained within these pages. PythonThe Imagine Publishing Ltd Richmond House 33 Richmond Hill Bournemouth Dorset BH2 6EZ +44 (0) 1202 586200 Website: www.imagine-publishing.co.uk Twitter: @Books_Imagine Facebook: www.facebook.com/ImagineBookazines Publishing Director Aaron Asadi Head of Design Ross Andrews Production Editor Alex Hoskins
    [Show full text]
  • Easybuild Documentation Release 20150610.01
    EasyBuild Documentation Release 20150610.01 Ghent University Wed, 03 Aug 2016 13:23:43 Contents 1 Introductory topics 3 1.1 What is EasyBuild?.........................................3 1.2 Concepts and terminology......................................4 1.2.1 EasyBuild framework....................................4 1.2.2 Easyblocks.........................................4 1.2.3 Toolchains..........................................5 1.2.4 Easyconfig files.......................................5 1.2.5 Extensions..........................................6 1.3 Typical workflow example: building and installing WRF......................6 1.3.1 Searching for available easyconfigs files..........................6 1.3.2 Getting an overview of planned installations........................7 1.3.3 Installing a software stack.................................7 2 Getting started 9 2.1 Installing EasyBuild.........................................9 2.1.1 Requirements........................................9 2.1.2 Bootstrapping EasyBuild..................................9 2.1.3 Advanced bootstrapping options.............................. 12 2.1.4 Dependencies........................................ 14 2.1.5 Sources........................................... 16 2.1.6 In case of installation issues.................................. 16 2.2 Configuring EasyBuild........................................ 16 2.2.1 Supported configuration types............................... 16 2.2.2 Available configuration settings.............................. 20 3 Basic usage topics 27
    [Show full text]
  • Autonomy Information Connectivity
    Technical Brief Information Connectivity Autonomy Supports Virtually Any Format, Source and Language Every enterprise has a complex mix of off-the-shelf and custom applications, databases, information technologies and file formats. Autonomy is capable of aggregating any form of structured, semi-structured and unstructured data, wherever it is located, regardless of language. Supported Data Formats Support for over 1000 formats including: Archive • Graphics Interchange Format (.gif) • UNIS Composer 669 Module • Raw Audio CD Data (.cdr) • 7-Zip (7Z) • HP Graphics Language (.hpg) (.669) • Audition Loop (.cel) • Apple Disk Image (DMG) • Joint Photographic Experts Group • Six Channel Module (.6cm) • Creative Music Format (.cmf) • BinHex(HQX) (.jpeg) • Eight Channel Module (.8cm) • Sony Ericsson Protected Content • Bzip2 Compressed Archive Format • Lotus AMIDraw Graphics (.sdw) • Amiga OctaMed Music File File (.copy) (BZIP2) • Lotus Pic (.pic) (.8med) • Cubase Project (.cpr) • GZIP (GZ) • Macintosh Raster (.pic, .pict) • Amiga 8-Bit Sound File (.8svx) • Cubase Waveform File (.csh) • ISO-9660 CD Disc Image Format • MacPaint (.pntg) • Advanced Audio Coding File (.aac) • cVideo (.cvc) (ISO) • Microsoft Document Imaging • ABC Music Notation (.abc) • Cakewalk SONAR Project (.cwp) • Java Archive (JAR) (.mdi) • Audio Codec 3 File (.ac3) • OPL2 FM Audio File (.d00) • Legato EMailXtender Archive (EMX) • Microsoft Office Drawing (.mso) • ADPCM Compressed Audio File • OPL2 FM Audio File (.d01) • MacBinary Container (BIN) • Nero Encrypted File (.nef) (.act)
    [Show full text]
  • Prog8 Documentation Release 7.0
    Prog8 Documentation Release 7.0 Irmen de Jong Sep 28, 2021 Contents of this manual: 1 What is Prog8? 3 2 Language features 5 3 Code example 7 4 Getting the compiler 9 5 Required additional tools 11 5.1 Writing and building a program..................................... 12 5.2 Programming in Prog8.......................................... 14 5.3 Syntax Reference............................................. 27 5.4 Compiler library modules........................................ 41 5.5 Target system specification........................................ 45 5.6 Technical details............................................. 47 5.7 TODO.................................................. 49 6 Index 51 Index 53 i ii Prog8 Documentation, Release 7.0 Contents of this manual: 1 Prog8 Documentation, Release 7.0 2 Contents of this manual: CHAPTER 1 What is Prog8? This is a compiled programming language targeting the 8-bit 6502/ 6510/ 65c02 microprocessors. This CPU is from the late 1970’s and early 1980’s and was used in many home computers from that era, such as the Commodore-64. The language aims to provide many conveniences over raw assembly code (even when using a macro assembler), while still being low level enough to create high performance programs. Prog8 is copyright © Irmen de Jong ([email protected]| http://www.razorvine.net). The project is on github: https://github.com/irmen/prog8.git This software is licensed under the GNU GPL 3.0, see https://www.gnu.org/licenses/gpl.html 3 Prog8 Documentation, Release 7.0 4 Chapter 1. What is Prog8? CHAPTER 2 Language features • It is a cross-compiler running on modern machines (Linux, MacOS, Windows, . ) It generates a machine code program runnable on actual 8-bit 6502 hardware.
    [Show full text]