GithubHelp home page GithubHelp logo

nicholatian / citrite Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 9.24 MB

The official source code repository for Pokémon Citrite Version, a ROM hack of Pokémon Emerald.

License: GNU General Public License v2.0

Makefile 5.77% Assembly 43.05% C 27.48% C++ 7.91% Python 15.79%

citrite's Introduction

banner

Welcome to the machine.

This is my GitHub profile. For social media, GitHub is my second-favourite site to use, after X.com.

I am a theoretical informatician and amateur software engineer from the Research Triangle. What code I write is scarce but immaculate, and I have a lot more important contributions to share in architecture instead. I discovered the notion of mechanicalism as an approach to programming, in contrast to functionalism that dominated the world before. I created C* as a variant of ANSI C and the first mechanicalist systems programming language.

For the time being, I need your help in realising this new world of computing. Even the most far-out startups I have managed to get hired at do not grok the implications of this work of mine, but I can tell you some of them right now:

  • the end of continuous maintenance of software
  • the containment of damage caused by bugs in software
  • the death of the rent-seeking financial model that dominates the industry

Furthermore, I can tell you what I am doing now to these ends:

  • Creating Sirius DOS, a research platform to bootstrap maintenance-free development. Under the umbrella name of the Byblos SDK, this includes:

Sirius DOS and Byblos will provide a beachhead from which myself and others can begin to develop the first software for Anodyne, the grand personal supercomputer project I began working on in 2022. Anodyne will bring to market several radical things in a fully productised and monetised form, including:

  • no conventional “operating system”, instead offering a static “system software”
  • the return of cooperative multitasking
  • two radical RISC and VLIW instruction set architectures
  • a mesh topology bus architecture for peripherals
  • an agnostic wire interface for addressing all kinds of memory and storage
  • a modular form factor standard that is flexible enough to fit laptops and servers alike
  • last-mile wire technology to kill USB

There are many essays I have penned over the years that try to thoroughly explain the informatics concepts at work with this. Some strong ones I can recommend include:

The first Anodyne machine will be an aluminium tablet measuring 386mm wide, 486mm tall and 32mm thick with a 19” 4:3 multitouch display panel with an active stylus and a tenkeyless mechanical keyboard built-in. Expansion of I/O will be achieved through a slide-in docking mechanism that leaves the display and top row of keys usable.

After the first Anodyne is built and shipped to early adopters and other enthusiasts, the funds will provide for Anodyne II on more competitive processor and display lithographies. At this point the company should be able to stand on its own and carry on with further product ideas I have but cannot share yet.


If you like what I do, please check out my sponsorship pitch. There are tiers friendly to all budgets and interest, and if you can’t throw in, it would still mean the world to me if you looked around, starred some projects, or even opened up an issue. I need all the encouragement I can get. Thank you!

citrite's People

Contributors

nicholatian avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

monhacks

citrite's Issues

Add “Trading Camp”

Objective: Add a “Trading Camp” map, situated west of the eastern Grand Prairie, northeast of the southwestern Grand Prairie… it’s smack-dab in the middle of the Grand Prairie.

Environment

  • Surrounded by trees and grasses
  • The city is composed of numerous dirt paths sprawling everywhere
  • Numerous houses, both open and closed

Special

  • A closed gym, in the southeastern part of town

Implement a macro system for a large-scale animated map block gamut

Objective: Write a macro system that translates into a collection of animated tiles, to be used in the sacred lake in the Nome Ruins.

Notes

  • This may require REing the assembly routines used for animating map blocks, however it won’t be much of a chore with IDA’s help.
  • All of the animations in the GIF below should be implemented, except for the clouds and the overworld objects.
  • The tiles should be downscaled to 66% their size shown in the GIF, to better match the overworld scaling of Emerald.

Tiles needing animated

Expand the palette array for overworld sprites

Objective: Expand the array of overworld palettes in Emerald’s engine to accomodate at least a byte’s worth of palette indexes.

Notes

  • You can get an easy lead by following cross-references to an existing OW palette.
  • GoGoJJTech says that expansion is easy, though we’ve yet to find that out, obviously!

Import all maps from the Alpha 1.1 ROM

Objective: Using Advance Map, export all of the maps in the Alpha 1.1 ROM into files processable by a compilation script.

Notes

  • For these maps to be usable, a script must be written to process them. See Issue #3.

Add “Timothy”

Add a “Timothy” map, situated to the west of the Clandestine Desert and to the east-by-northeast of the Massive Steppes.

Environment

  • Sandy and what would normally be arid and dry, however it is raining constantly instead. This is due to weather distortion caused by radioactive clouds surrounding Ground Zero.
  • To the north leads an entrance to the Massive Caverns inside the Rampardos Range.

Points of Interest

  • A local gym; affiliated with the region’s League, officially.

Implement spooky scripts in Ground Zero

Thought of this while running through alpha 1.1 on my DSTWO.

Objective: Write some scripts that do some things around Ground Zero that are 3spooky5me.

Examples

  • A script that forces the player to walk an extra tile, preventing them from viewing a thing on the wall.
  • A script that plays the Curse sound effect occasionally upon entering any of the houses.
  • More things I haven’t thought of yet

Write a script to handle exported maps from Advance Map

To facilitate a normal map creation process, maps exported from Advance Map must be processed by the compilation entorage and incorporated into the game.

Objective: RE the map export format used by Advance Map, and write a script to convert files in that format into the format understood by Emerald’s engine.

Notes

  • AFAIK the map export format used by A-Map should be dead simple, and will require little (if any) parsing.

Import all scripts from the alpha 1.1 ROM

Objective: See title

Notes

  • Scripts should be written using the macro-based assembly for PokéScript
  • Converting PKSV code to this format shouldn’t be too difficult.

Add eastern “Grand Prairie”

Objective: Add the “Grand Prairie” map, situated between the Massive Steppes and the Trading Camp.

Environment

  • Lush, tall green grass everywhere, and Pokémon aplenty.
  • Tall mountains—the beginning of the Rampardos Range—are reachable the further east one goes.
  • Initially, access to the innards of the Rampardos Range should be unavailable until a later event occurs in a later release.

Add custom battle backgrounds for the essential environments

Objective: Add images to be implemented as battle backgrounds for the most common battle types (grass, sand, water, etc.)

Notes

  • This does not include special battle backgrounds, such as those for gym leaders, the Elite Four, the League Champ, etc..
  • These images should be original work made to order. No public resources!

Custom background image for options menu

Objective: Enable the placement of any 4-bit 240×160 image in the main menu, and ensure it shows up behind the already present rbox construct

Bonus: Enable the placement of any 8-bit 240×160 image, as described above.

Notes:

  • Since the rbox data is uploaded to VRAM:06004000 by default, rearrangement chores will need to be done to fit the required number of tiles (601) into VRAM.
  • If the rbox tiles are moved to VRAM:06008000, there will be a 512-tile limit on 8-bit images.
  • It may be possible to rearrange the VRAM to have the main menu rbox/text tileset at VRAM:0600C000, though I don’t know if there would still be space for the tilemap after that.

Add southwestern “Grand Prairie”

Objective: Add a “Grand Prairie” map situated to the southwest of the Trading Camp, and to the east of the Amalthea Jungle.

Environment

  • Lush green meadows filled with flowers, interpolated with thickets of trees and tall grass.
  • To the northwest is a huge unknown lake.

Special

  • A modest homestead farm is located in the middle of the map.

Custom background image for main menu

Objective: Enable the placement of any 4-bit 240×160 image in the main menu, and ensure it shows up behind the already present rbox construct

Bonus: Enable the placement of any 8-bit 240×160 image, as described above.

Notes:

  • No VRAM offsets should need to be changed to make this workable.
  • That said, there will be a 512-tile limit on 8-bit images.
  • It may be possible to rearrange the VRAM to have the main menu rbox/text tileset at VRAM:0600C000, though I don’t know if there would still be space for the tilemap after that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.