Developing Software to Download & Analyze Youtube Data ...

List of New Supported Games and FAQ.

Hey guys! Here is a list of all the new supported games, you can download the Nucleus Co-Op scripts from the app now, the games listed here that are clickable link you to a guide but all are supported. You can also see all available scripts from the app now by pressing the view all option.
10 Miles to Safety
20XX
100% Orange Juice
200% Mixed Juice!
Abyssal Zone
Acceleration of SUGURI 2
Accel World VS. Sword Art Online Deluxe Edition
A Hat in Time
Air Missions: HIND
Alien Breed Impact
Alien Breed 2: Assault
Alien Breed 3: Descent
Aliens Colonial Marines
Aliens vs Predator
Alien Swarm: Reactive Drop
Among Us
Aragami: Shadow Edition
ARK: Survival Evolved
Ashen (steam version only)
Astroneer
Attack on Titan 2
ATV Drift & Tricks
Barony
Battle Grounds III
Binary Domain
BioShock 2
Bit Dungeon III
Blades of Time
Bladestorm: Nightmare
Blood and Bacon
Bob Was Hungry
Borderlands
Borderlands 2
Borderlands: The Pre-Sequel
Borderlands GOTY Enhanced
Borderlands 3
BrainBread 2
Broomstick League
Brütal Legend
Bulletstorm: Full Clip Edition
Bunch of Heroes
Call of Duty: Black Ops II
CastleMiner Z
Clandestine
Cladun Returns: This is Segoku
Chivalry: Medieval Warfare
Citadel: Forged With Fire
Code of Princess
Conan Exiles (16 june 2020 update added Funcom Live Services and now the game is online only effectively breaking the splitscreen script. You need to downgrade to the previous version.)
Contagion
Contra: Rogue Corps
Counter-Strike: Source
Craftopia
Cube World
Cyberdimension Neptunia: 4 Goddesses Online
Daemon X Machina
Damnation
Dark Souls: Prepare to Die Edition
Day of Defeat: Source
Day of Infamy
Deadfall Adventures
Dead Island
Dead Island: DE
Dead Island Riptide: DE
Dead Rising 2
Dead Rising 2: Off the Record
Dead Rising 3
Dead Rising 4
Deathtrap
Debris
Deep Rock Galactic
Desolate
Dinosaur Hunt
Divinity: Dragon Commander
Divinity: Original Sin Enhanced Edition
Divinity: Original Sin 2
Don't Starve Together
Door Kickers
Double Action: Boogaloo
Dragon Ball Xenoverse
Dragon Ball: Xenoverse 2
Dragon Marked for Death
Dragon Quest Builders 2
Drake Hollow
Dungeon of the Endless
Dungeons 3
Dungeon Siege III
Dying Light
Dystopia
Earth Defense Force 4.1
Earth Defense Force 5
Earth Defense Force: Insect Armageddon
Earth Defense Force: Iron Rain
Earthfall
Enemy Front
E.T. Armies
F1 2012
F1 2014
Fade to Silence
Factorio
Fallout 76
F.E.A.R. 3
Final Exam
Feel The Snow
Fight The Dragon
Fistful of Frags
Forge Quest
Fortified
Front Mission Evolved
Full Mojo Rampage
Garry's Mod
Gas Guzzlers Extreme
Generation Zero
Gensokyo Defenders
GOCCO OF WAR
God Eater Resurrection
God Eater 2 - Rage Burst
God Eater 3
God Mode
Golf It!
Grid 2
Grim Dawn
Ground Branch
GTFO
Guns n Zombies
Half-Life Deathmatch: Source
Half-Life 2: Deathmatch
Half-Minute Hero: The Second
Halo Custom Edition
Halo 2 LAN
Halo 2: Project Cartographer
Halo Online ElDewrito
Halo: The Master Chief Collection
Halo Wars: Definitive Edition
Hammerwatch
Hero Siege
Hoard
Hunted: The Demon’s Forge
Human: Fall Flat
I am Weapon: Revival
Insurgency
Iron Brigade
It came from space, and ate our brains
Kane & Lynch 2: Dog Days
KATANA KAMI: A Way of the Samurai Story
Killing Floor
Killing Floor 2
Killsquad
Kill to Collect
Lead and Gold: Gangs of the Wild West
Left 4 Dead 2
LEGO Worlds
Livelock
Lord of the Rings War in the North
Lost Planet 3
Magicite
McDroid
Mean Greens - Plastic Warfare
Mighty No. 9
Minecraft Java Edition
Monday Night Combat
Mordheim: City of the Damned
Morphies Law
Mothergunship
MudRunner
NanoWars
NASCAR '15 Victory Edition
Necropolis
Need For Speed Most Wanted 2005
Nioh: Complete Edition
Niffelheim
No Man's Sky
No More Room in Hell
Outbreak
Outbreak: TNN
Outland
Outward
Orcs Must Die! 2
ORION: Prelude
OVERKILL's The Walking Dead
Pacify
Paint the Town Red
PAYDAY: The Heist
PAYDAY 2
Pirates, Vikings, and Knights II
PixARK
PixelJunk Nom Nom Galaxy
Portal Knights
Prevent The Fall
Primal Carnage: Extinction
Project CARS 2
Pure
Raft
Rage
Re:Legend
Remnant: From the Ashes
Resident Evil 5
Resident Evil 6
Resident Evil Revelations
Re-Volt (RVGL)
RimWorld
Risk of Rain 2
Roguelands
Ryse: Son of Rome
Sacred 3
Saints Row The Third
Saints Row IV
Saints Row: Gat out of Hell
Sanctum
Sanctum 2
Scourge Outbreak
Secrets of Grindea
Senran Kagura: Shinovi Versus
Senran Kagura: Estival Versus
Senran Kagura: Peach Beach Splash
Serious Sam 2
Seven Days to Die
Sir, You Are Being Hunted
SkyDrift
Sniper Elite 3
Space Engineers
Space Hulk: Deathwing
Spec Ops: The Line
Spintires
Starbound
Stardew Valley
Star Wars: Battlefront 2 (Classic, 2005)
Strange Brigade
Strength of the Sword: ULTIMATE
Styx: Shards of Darkness
Super Mario 64
Super Mario 64 PC Port
Survivalist
Sven Coop
Sword Art Online Re: Hollow Fragment
Sword Art Online: Lost Song
Sword Art Online: Hollow Realization Deluxe Edition
Synergy
SYNTHETIK: Arena
SYNTHETIK: Legion Rising
Takedown: Red Sabre
Team Fortress 2
Teenage Mutant Ninja Turtles: Mutants in Manhattan
Teenage Mutant Ninja Turtles: Out of the Shadows
Terraria
TerraTech
The Blackout Club
The Darkness 2
The Forest
The Haunted: Hells Reach
theHunter: Call of the Wild
The Incredible Adventures of Van Helsing
The Incredible Adventures of Van Helsing II
The Incredible Adventures of Van Helsing III
The Incredible Adventures of Van Helsing Final Cut
The Mean Greens - Plastic Warfare
The Simple Apocalypse
The Survivalists
The Watchers
Tokyo Ghoul:re Call to Exist
Tom Clancy's Rainbow Six: Vegas 2
Tomb Raider
Torchlight II
Toukiden: Kiwami
Toukiden 2
TOXIKK
Unending Dusk
Unepic
Unloved
Unreal Tournament III
Umbrella Corps
Vagante
Warcraft III: The Frozen Throne
Warcraft III: Reign of Chaos
Warhammer 40,000: Space Marine
We Were Here Together
White Noise 2
World in Conflict: Complete Edition
Wreckfest
XCOM: Enemy Within
Zeno Clash II
Zombie Army Trilogy
Zombie Panic! Source

Frequently Asked Questions & Troubleshooting

(Under Construction, last updated: 11/08/20)
Q: What is Nucleus Co-Op?
A: https://www.youtube.com/watch?v=jbituCgu3Bc
Nucleus Co-Op is a free and open source tool for Windows that allows split-screen play on many games that do not initially support it. The app was originally created by Lucas Assis. Zerofox later took over and added a ton of new features and improvements to support a lot more games. Ilyaki later joined in and brought multiple keyboards/mice support and more great features to the table. The app is currently being developed and updated by these devs: Lucas Assis, Zerofox and Ilyaki.
R-mach too for making and supporting the website that hosts the Nucleus Co-Op scripts.
Also the further development of the app wouldn't have been possible without all the amazing contributions and hard work from the SplitScreen Dreams Discord members (which include the devs mentioned above) that made all the new Nucleus Co-Op scripts and continue to make new discoveries and scripts to support even more games, among them: Talos91, PoundlandBacon, dr. old.boi, Pizzo and many more.
Q: How does Nucleus Co-Op work?
A: Essentially Nucleus Co-Op opens multiple instances of the same game (some games require mutex killing for that, among other methods) that will only answer to one specific gamepad (we do this via Nucleus Co-Op custom xinput dlls or xinput plus dlls) and connects those instances via LAN or steamworks online multiplayer emulation (Goldberg Emulator), all while making sure all the windows have focus so they can be playable with gamepads or that the instances are playable even in the background. Nucleus then resizes, removes borders and repositions the games windows so you can have synthetic splitscreen to play locally with your friends.
Q: Which games can be splitscreened using Nucleus Co-Op?
A: There are a lot of supported games, all mentioned in the list above. A ton of games are now supported thanks to the amazing program called Goldberg Emulator, developed by Mr. Goldberg, a big thank you to him. Read the Goldberg FAQ if you want to know more.
Q: Where do I download Nucleus Co-Op?
A: You can download latest version from Github. Download the compiled .rar release, don't download the source code zip if you just want to use the app. Zerofox's mod v0.9.9.9 r4 is the latest version recent scripts are created for, please avoid other versions for now.
Q: How do I use Nucleus Co-Op?
A: Here is a quick video tutorial: https://www.youtube.com/watch?v=hWmvz59i-o0
1.- Download and exctract Nucleus Co-Op (extract using apps like 7-zip or winrar).
2.- Open NucleusCoop.exe.
3.- Click on Download Game Scripts, the script browser will open. Search for a game in the supported games list and download a script. You can also see all available scripts from the app now by pressing the view all option.
4.- Once the script has finished downloading you will get a prompt asking if you would like to add a game now, click yes if you want to add it now, if you select no proceed to step 6.
5.- Next you need to find where your game's executable is located. If you're not sure, try Googling 'where is (game) installed' and just search for the .exe in the place they tell you to look for. For Steam games this is usually something along the lines of 'C:\Program Files\Steam\steamapps\common(game)'. Some games will have their real .exe stashed away in a folder called 'bin' or 'binaries'. Once you choose the right .exe, add the game.
6.- You can also automatically add games, click 'Auto-Search' and select the drive and path you want to add games from.
7.- Once your game is added, select it in the Nucleus UI and drag the gamepad icons to the splitscreen layout, click on the top-left icon on the layout corner to change the type of splitscreen layout. You can also use multiple monitors, if you have multiple monitors connected they will show in the Nucleus UI. If you see Script Author's Notes appear at the bottom of the UI, read them carefully.
8.- Finally press > then Play (top right of the UI) and you are ready to go.
Q: Where should I place the Nucleus Co-Op folder?
A: You can place the folder wherever you like as long as you keep the following in mind:
DO NOT place it inside a folder containing files for a game you wish to play.
Avoid placing it inside a folder that has security settings applied to is, such as program files, program files (x86).
Some scripts require the Nucleus Co-Op folder to be located on the same drive as the game files.
If you are still unsure where to place the folder, the root of the drive your games are installed on is usually a safe option.
Q: How do I play with an uneven amount of players (such as 3 players) without having an empty space?
A: Right click on a section of the splitscreen layout.
Q: Nucleus Co-Op doesn't launch, how do I fix it?
A: Here are a few things you can try:
1.- Try updating your Microsoft.net framework, and install/reinstall Visual C++ 2010-2017.
2.- Make sure your antivirus program is not blocking Nucleus Co-Op or deleting any of its files.
3.- Run Nucleus Co-Op as admin.
4.- Restart your PC, and try again.
Q: Does Nucleus Co-Op have any malware?
A: Absolutely not.
Q: I wish to help out with the project, how can I get in touch?
A: Join the Nucleus Co-Op discord community or contact us here in the subreddit.
Q: When support for X game?
A: Not all games are easy to splitscreen, if you want to suggest a game make a post with the title [Request] Name of the game and provide useful information like if the game supports LAN or dedicated servers, if it is available on Steam or in other services, if it uses external servers for online, if it has gamepad support etc. Also you can contact any of our experienced Nucleus scripters here or in the Nucleus Co-Op discord and ask if a script is possible. The main scripter is the OP of this post for instance. Remember that Scripters are limited by the games they own and can test on, so if you really want support for a game to be added consider donating the game to the scripter in question.
Q: How do I know when a script gets updated?
A: Scripts updates are always announced in the Nucleus Co-Op discord server in the channel scripts updates.
Q: How do I create my own splitscreen script for Nucleus Co-Op?
A: Here is the documentation, open the .js file with notepad to read it. You can also use the other scripts you download from Nucleus as reference, they get downloaded to the Nucleus scripts folder. If you create a working script or if you have any questions about Nucleus scripting you can ask us in the Nucleus Co-Op discord or here in the subreddit, we can help you improve your script so it is fully working for sharing with the community.
Q: Does Nucleus Co-Op work on Linux/Mac?
A: Nucleus Co-Op depends on a lot of Windows functions and APIs, at the moment it only works on Windows 7 and Up. If you are interested in porting Nucleus Co-Op to other operating systems please feel free to contact any of the developers.
Q: Where can I report a bug/issue?
A: Note that Nucleus Co-Op is a tool in development and still in Alpha. Expect bugs, glitches and weird things to happen. Help other people not have these things happen by checking for a solution here and submitting a [BUG REPORT] to the reddit as a new topic or in the comments here, if no-one else has brought it up. Make sure you have read the script notes in the Nucleus UI very carefully first before submitting anything.
A good [BUG REPORT] looks like this:
Thread name: [BUG REPORT] Simon falling off horse
BUG: Simon falls off his horse.
EXPECTED: Simon should not fall off his horse, right?
CAUSE: I'm pretty sure it's because I have my computer plugged into an auto-blow.
STEPS TO REPRODUCE
1.- Open up Simon Stays On His Horse: The Interactive Video Game of the Movie.
2.- Choose Co-Op and join with another player.
3.- Simon falls off his horse!!!
TYPE: Severe! The gameplay can't continue if Simon isn't on his horse! (Alternatively, Minor if the gameplay can continue but it's just annoying)
NUCLEUS OPTIONS: I played with 2 players using the vertical splitscreen (left and right) on one tv and 2 famicom controllers. I'm using the latest version
SYSTEM: I'm on Windows 3.1 with 4MB of RAM, a 2KHz CPU and no graphics card, playing on a projector. She's a monster.
I'd really like this to get fixed please thanks magic man! -Beanboy"
Keep in mind most scripts are made and tested using the latest legit steam versions of a game, so provide information about what version of the game you have.
Also provide a debug log of the NucleusCoop error or crash, enable the debug log in Nucleus UI settings and save, the debug log will be created in Nucleus root folder where the .exe is. You can also ask for support in our discord.
Q: Why is Nucleus Co-Op resizing the game instances incorrectly/the instances look stretched?
A: Try setting your monitor scale to 100% in your monitoTV resolution settings. It is also highly recommended that you add custom resolutions to all your monitors from your AMD/Nvidia/Intel panel (For example if you are using a monitor resolution of 1920x1080 add custom resolutions like 960x540, 1920x540, 960x1080, ect.) that way most games will be able to see and use those custom resolutions and the splitscreen will not look stretched(Example). Note that not all games support custom or ultra widescreen resolutions. Also try disabling the Nucleus status window in Nucleus UI settings and save.
Q: Why is Nucleus Co-Op throwing an error message that it can not find a file when launching a script?
A: A lot of scripts edit the game's .ini or .cfg files to force windowed and to adjust the game's resolution to the window size, so make you sure you run your game at least once and change some graphic settings before running it via Nucleus Co-Op, that way you make sure the proper config files are getting generated first. If you are still getting the error after doing that, select the game in the UI, click on Game Options and select Delete UserProfile Config Path for all players. Also try disabling the Nucleus status window in Nucleus UI settings and save.
Q: Where are my Nucleus Co-Op save files located?
A: Some scripts save to the Nucleus Co-Op enviroment folder located in C:\Users\YourUser\NucleusCoop, you can access each game save file via the Nucleus Co-Op UI too, select a game, click on Game Options and select Open UserProfile Save/Config Path. Other scripts just save in the same file path your regular game saves to.
Q: Why are my in-game frames per second low/better in one instance than in the others when using Nucleus Co-Op?
A: Remember that Nucleus Co-Op opens multiple instances of a game, so depending on the game this can be quite demanding for your PC, to improve FPS and performance try reducing graphics settings like textures and shadows, limit the FPS or unfocus all the game windows so that they get equal priority and the FPS even out, you can do this by Alt-Tabbing to a different window like the Nucleus app window, the game windows will still remain on top, you can also press the windows key+b in your keyboard to unfocus all instances.
Q: My Playstation/generic PC controller isn't working/isn't being detected by Nucleus Co-Op, how do I fix it?
A: Most Nucleus Co-Op Scripts only detect Xinput gamepads. Controllers that work best are Xbox 360 game controllers for minimum hassle. There are a few scripts that also support Direct Input gamepads but Xinput gamepads are generally a lot easier to restrict to a specific game instance than Dinput gamepads.
If you are using PS4 gamepads try the app DS4windows, look in the settings for an option called "hide ds4 controller" - make sure it's ticked. To ensure it's definitely running in exclusive mode make sure ds4windows is set to load on windows startup, then turn your controllers on while windows is loading. Download the latest version here - https://ryochan7.github.io/ds4windows-site/
Read more about how to use exclusive mode here: https://github.com/Ryochan7/DS4Windows/wiki/Exclusive-Mode-(Hide-DS4-Controller-config-option)-tips-and-issues
If you are using generic dinput gamepads the app XOutput is also useful to emulate xinput gamepads.
The app X360CE version 4 that creates virtual Xbox 360 Controllers inside your Windows operating system is also very useful to emulate xinput gamepads system wide.
Remember that some games detect both dinput and xinput gamepads so even if you are emulating a xinput gamepad the input could still not be restricted correctly because the game is now responding to both the emulated xinput gamepad and to the native direct input of your gamepad, that is why some apps like DS4windows have an "exclusive mode".
Also do not place any x360ce xinput dlls inside the Nucleus Co-Op files as this might interfere with Nucleus custom xinput dlls.
Xbox One gamepads have some issues with background input in games that only support direct input gamepads and with Unity games that use Unity's default input for gamepad support.
If you are using steam controllers try this: https://www.youtube.com/watch?v=wy4F2eqTXQ4
Q: Why is my keyboard not showing in the Nucleus Co-Op UI?
A: If a script is only showing gamepads and not keyboard icons that means the script only supports gamepads and doesn't support keyboards and mice in splitscreen yet.
Q: There are many keyboards and mice icons in the UI, how do I know which ones to use?
A: If you press a key in the keyboard you will use or move the mouse their corresponding icons in the Nucleus Co-Op UI will light up yellow. The app can detect keyboard macros that is why sometimes you will get multiple keyboard icons.
Q: Can you play splitscreen+LAN in different PCs?
A: Yes, if you run the game via Nucleus Co-Op in different PCs you can connect all instances you launch via LAN, for example you can have 2 players playing vertical splitscreen in one PC via Nucleus and connect to 2 others playing Nucleus splitscreen in a different PC via LAN. If the script uses steamworks multiplayer emulation you'll have to change the instances steam ids in the other PCs you'll connect to, otherwise the instances launched by Nucleus will use the same steam ids and won't be able to connect to each other. For that you can open the game script .js file in Nucleus scripts folder in the other PCs and add for example Game.PlayerSteamIDs = [ "76561198134585131","76561198131394153","76561198011792067","76561198043762785" ]; that will change the default ids of the first four instances you open in one PC via Nucleus Co-Op.
Q: This project is Amazing where can I donate?
A: We don't have an unified donation platform yet but you can support the devs individually here: Zerofox, Ilyaki, Lucas Assis.
You can also donate to our main scripters that make the games scripts for Nucleus: Talos91/blackman9
submitted by blackman9 to nucleuscoop [link] [comments]

Step-by-Step Guide for Adding a Stack, Expanding Control Lines, and Building an Assembler

After the positive response to my first tutorial on expanding the RAM, I thought I'd continue the fun by expanding the capabilities of Ben's 8-bit CPU even further. That said, you'll need to have done the work in the previous post to be able to do this. You can get a sense for what we'll do in this Imgur gallery.
In this tutorial, we'll balance software and hardware improvements to make this a pretty capable machine:

Parts List

To only update the hardware, you'll need:
If you want to update the toolchain, you'll need:
  1. Arduino Mega 2560 (Amazon) to create the programmer.
  2. Ribbon Jumper Cables (Amazon) to connect the Arduino to the breadboard.
  3. TL866 II Plus EEPROM Programmer (Amazon) to program the ROM.
Bonus Clock Improvement: One additional thing I did is replace the 74LS04 inverter in Ben's clock circuit with a 74LS14 inverting Schmitt trigger (datasheet, Jameco). The pinouts are identical! Just drop it in, wire the existing lines, and then run the clock output through it twice (since it's inverting) to get a squeaky clean clock signal. Useful if you want to go even faster with the CPU.

Step 1: Program with an Arduino and Assembler (Image 1, Image 2)

There's a certain delight in the physical programming of a computer with switches. This is how Bill Gates and Paul Allen famously programmed the Altair 8800 and started Microsoft. But at some point, the hardware becomes limited by how effectively you can input the software. After upgrading the RAM, I quickly felt constrained by how long it took to program everything.
You can continue to program the computer physically if you want and even after upgrading that option is still available, so this step is optional. There's probably many ways to approach the programming, but this way felt simple and in the spirit of the build. We'll use an Arduino Mega 2560, like the one in Ben's 6502 build, to program the RAM. We'll start with a homemade assembler then switch to something more robust.
Preparing the Physical Interface
The first thing to do is prepare the CPU to be programmed by the Arduino. We already did the hard work on this in the RAM upgrade tutorial by using the bus to write to the RAM and disconnecting the control ROM while in program mode. Now we just need to route the appropriate lines to a convenient spot on the board to plug the Arduino into.
  1. This is optional, but I rewired all the DIP switches to have ground on one side, rather than alternating sides like Ben's build. This just makes it easier to route wires.
  2. Wire the 8 address lines from the DIP switch, connecting the side opposite to ground (the one going to the chips) to a convenient point on the board. I put them on the far left, next to the address LEDs and above the write button circuit.
  3. Wire the 8 data lines from the DIP switch, connecting the side opposite to ground (the one going to the chips) directly below the address lines. Make sure they're separated by the gutter so they're not connected.
  4. Wire a line from the write button to your input area. You want to connect the side of the button that's not connected to ground (the one going to the chip).
So now you have one convenient spot with 8 address lines, 8 data lines, and a write line. If you want to get fancy, you can wire them into some kind of connector, but I found that ribbon jumper cables work nicely and keep things tidy.
The way we'll program the RAM is to enter program mode and set all the DIP switches to the high position (e.g., 11111111). Since the switches are upside-down, this means they'll all be disconnected and not driving to ground. The address and write lines will simply be floating and the data lines will be weakly pulled up by 1k resistors. Either way, the Arduino can now drive the signals going into the chips using its outputs.
Creating the Arduino Programmer
Now that we can interface with an Arduino, we need to write some software. If you follow Ben's 6502 video, you'll have all the knowledge you need to get this working. If you want some hints and code, see below (source code):
  1. Create arrays for your data and address lines. For example: const char ADDRESS_LINES[] = {39, 41, 43, 45, 47, 49, 51, 53};. Create your write line with #define RAM_WRITE 3.
  2. Create functions to enable and disable your address and data lines. You want to enable them before writing. Make sure to disable them afterward so that you can still manually program using DIP switches without disconnecting the Arduino. The code looks like this (just change INPUT to OUTPUT accordingly): for(int n = 0; n < 8; n += 1) { pinMode(ADDRESS_LINES[n], OUTPUT); }
  3. Create a function to write to an address. It'll look like void writeData(byte writeAddress, byte writeData) and basically use two loops, one for address and one for data, followed by toggling the write.
  4. Create a char array that contains your program and data. You can use #define to create opcodes like #define LDA 0x01.
  5. In your main function, loop through the program array and send it through writeData.
With this setup, you can now load multi-line programs in a fraction of a second! This can really come in handy with debugging by stress testing your CPU with software. Make sure to test your setup with existing programs you know run reliably. Now that you have your basic setup working, you can add 8 additional lines to read the bus and expand the program to let you read memory locations or even monitor the running of your CPU.
Making an Assembler
The above will serve us well but it's missing a key feature: labels. Labels are invaluable in assembly because they're so versatile. Jumps, subroutines, variables all use labels. The problem is that labels require parsing. Parsing is a fun project on the road to a compiler but not something I wanted to delve into right now--if you're interested, you can learn about Flex and Bison. Instead, I found a custom assembler that lets you define your CPU's instruction set and it'll do everything else for you. Let's get it setup:
  1. If you're on Windows, you can use the pre-built binaries. Otherwise, you'll need to install Rust and compile via cargo build.
  2. Create a file called 8bit.cpu and define your CPU instructions (source code). For example, LDA would be lda {address} -> 0x01 @ address[7:0]. What's cool is you can also now create the instruction's immediate variant instead of having to call it LDI: lda #{value} -> 0x05 @ value[7:0].
  3. You can now write assembly by adding #include "8bit.cpu" to the top of your code. There's a lot of neat features so make sure to read the documentation!
  4. Once you've written some assembly, you can generate the machine code using ./customasm yourprogram.s -f hexc -p. This prints out a char array just like our Arduino program used!
  5. Copy the char array into your Arduino program and send it to your CPU.
At this stage, you can start creating some pretty complex programs with ease. I would definitely play around with writing some larger programs. I actually found a bug in my hardware that was hidden for a while because my programs were never very complex!

Step 2: Expand the Control Lines (Image)

Before we can expand the CPU any further, we have to address the fact we're running out of control lines. An easy way to do this is to add a 3rd 28C16 ROM and be on your way. If you want something a little more involved but satisfying, read on.
Right now the control lines are one hot encoded. This means that if you have 4 lines, you can encode 4 states. But we know that a 4-bit binary number can encode 16 states. We'll use this principle via 74LS138 decoders, just like Ben used for the step counter.
Choosing the Control Line Combinations
Everything comes with trade-offs. In the case of combining control lines, it means the two control lines we choose to combine can never be activated at the same time. We can ensure this by encoding all the inputs together in the first 74LS138 and all the outputs together in a second 74LS138. We'll keep the remaining control lines directly connected.
Rewiring the Control Lines
If your build is anything like mine, the control lines are a bit of a mess. You'll need to be careful when rewiring to ensure it all comes back together correctly. Let's get to it:
  1. Place the two 74LS138 decoders on the far right side of the breadboard with the ROMs. Connect them to power and ground.
  2. You'll likely run out of inverters, so place a 74LS04 on the breadboard above your decoders. Connect it to power and ground.
  3. Carefully take your inputs (MI, RI, II, AI, BI, J) and wire them to the outputs of the left 74LS138. Do not wire anything to O0 because that's activated by 000 which won't work for us!
  4. Carefully take your outputs (RO, CO, AO, EO) and wire them to the outputs of the right 74LS138. Remember, do not wire anything to O0!
  5. Now, the 74LS138 outputs are active low, but the ROM outputs were active high. This means you need to swap the wiring on all your existing 74LS04 inverters for the LEDs and control lines to work. Make sure you track which control lines are supposed to be active high vs. active low!
  6. Wire E3 to power and E2 to ground. Connect the E1 on both 138s together, then connect it to the same line as OE on your ROMs. This will ensure that the outputs are disabled when you're in program mode. You can actually take off the 1k pull-up resistors from the previous tutorial at this stage, because the 138s actively drive the lines going to the 74LS04 inverters rather than floating like the ROMs.
At this point, you really need to ensure that the massive rewiring job was successful. Connect 3 jumper wires to A0-A2 and test all the combinations manually. Make sure the correct LED lights up and check with a multimeteoscilloscope that you're getting the right signal at each chip. Catching mistakes at this point will save you a lot of headaches! Now that everything is working, let's finish up:
  1. Connect A0-A2 of the left 74LS138 to the left ROM's A0-A2.
  2. Connect A0-A2 of the right 74LS138 to the right ROM's A0-A2.
  3. Distribute the rest of the control signals across the two ROMs.
Changing the ROM Code
This part is easy. We just need to update all of our #define with the new addresses and program the ROMs again. For clarity that we're not using one-hot encoding anymore, I recommend using hex instead of binary. So instead of #define MI 0b0000000100000000, we can use #define MI 0x0100, #define RI 0x0200, and so on.
Testing
Expanding the control lines required physically rewiring a lot of critical stuff, so small mistakes can creep up and make mysterious errors down the road. Write a program that activates each control line at least once and make sure it works properly! With your assembler and Arduino programmer, this should be trivial.
Bonus: Adding B Register Output
With the additional control lines, don't forget you can now add a BO signal easily which lets you fully use the B register.

Step 3: Add a Stack (Image 1, Image 2)

Adding a stack significantly expands the capability of the CPU. It enables subroutines, recursion, and handling interrupts (with some additional logic). We'll create our stack with an 8-bit stack pointer hard-coded from $0100 to $01FF, just like the 6502.
Wiring up the Stack Pointer
A stack pointer is conceptually similar to a program counter. It stores an address, you can read it and write to it, and it increments. The only difference between a stack pointer and a program counter is that the stack pointer must also decrement. To create our stack pointer, we'll use two 74LS193 4-bit up/down binary counters:
  1. Place a 74LS00 NAND gate, 74LS245 transceiver, and two 74LS193 counters in a row next to your output register. Wire up power and ground.
  2. Wire the the Carry output of the right 193 to the Count Up input of the left 193. Do the same for the Borrow output and Count Down input.
  3. Connect the Clear input between the two 193s and with an active high reset line. The B register has one you can use on its 74LS173s.
  4. Connect the Load input between the two 193s and to a new active low control line called SI on your 74LS138 decoder.
  5. Connect the QA-QD outputs of the lower counter to A8-A5 and the upper counter to A4-A1. Pay special attention because the output are in a weird order (BACD) and you want to make sure the lower A is connected to A8 and the upper A is connected to A4.
  6. Connect the A-D inputs of the lower counter to B8-B5 and the upper counter to B4-B1. Again, the inputs are in a weird order and on both sides of the chip so pay special attention.
  7. Connect the B1-B8 outputs of the 74LS245 transceiver to the bus.
  8. On the 74LS245 transceiver, connect DIR to power (high) and connect OE to a new active low control line called SO on your 74LS138 decoder.
  9. Add 8 LEDs and resistors to the lower part of the 74LS245 transceiver (A1-A8) so you can see what's going on with the stack pointer.
Enabling Increment & Decrement
We've now connected everything but the Count Up and Count Down inputs. The way the 74LS193 works is that if nothing is counting, both inputs are high. If you want to increment, you keep Count Down high and pulse Count Up. To decrement, you do the opposite. We'll use a 74LS00 NAND gate for this:
  1. Take the clock from the 74LS08 AND gate and make it an input into two different NAND gates on the 74LS00.
  2. Take the output from one NAND gate and wire it to the Count Up input on the lower 74LS193 counter. Take the other output and wire it to the Count Down input.
  3. Wire up a new active high control line called SP from your ROM to the NAND gate going into Count Up.
  4. Wire up a new active high control line called SM from your ROM to the NAND gate going into Count Down.
At this point, everything should be working. Your counter should be able to reset, input a value, output a value, and increment/decrement. But the issue is it'll be writing to $0000 to $00FF in the RAM! Let's fix that.
Accessing Higher Memory Addresses
We need the stack to be in a different place in memory than our regular program. The problem is, we only have an 8-bit bus, so how do we tell the RAM we want a higher address? We'll use a special control line to do this:
  1. Wire up an active high line called SA from the 28C16 ROM to A8 on the Cypress CY7C199 RAM.
  2. Add an LED and resistor so you can see when the stack is active.
That's it! Now, whenever we need the stack we can use a combination of the control line and stack pointer to access $0100 to $01FF.
Updating the Instruction Set
All that's left now is to create some instructions that utilize the stack. We'll need to settle some conventions before we begin:
If you want to add a little personal flair to your design, you can change the convention fairly easily. Let's implement push and pop (source code):
  1. Define all your new control lines, such as #define SI 0x0700 and #define SO 0x0005.
  2. Create two new instructions: PSH (1011) and POP (1100).
  3. PSH starts the same as any other for the first two steps: MI|CO and RO|II|CE. The next step is to put the contents of the stack pointer into the address register via MI|SO|SA. Recall that SA is the special control line that tells the memory to access the $01XX bank rather than $00XX.
  4. We then take the contents of AO and write it into the RAM. We can also increment the stack pointer at this stage. All of this is done via: AO|RI|SP|SA, followed by TR.
  5. POP is pretty similar. Start off with MI|CO and RO|II|CE. We then need to take a cycle and decrement the stack pointer with SM. Like with PSH, we then set the address register with MI|SO|SA.
  6. We now just need to output the RAM into our A register with RO|AI|SA and then end the instruction with TR.
  7. Updating the assembler is easy since neither instruction has operands. For example, push is just psh -> 0x0B.
And that's it! Write some programs that take advantage of your new 256 byte stack to make sure everything works as expected.

Step 4: Add Subroutine Instructions (Image)

The last step to complete our stack is to add subroutine instructions. This allows us to write complex programs and paves the way for things like interrupt handling.
Subroutines are like a blend of push/pop instructions and a jump. Basically, when you want to call a subroutine, you save your spot in the program by pushing the program counter onto the stack, then jumping to the subroutine's location in memory. When you're done with the subroutine, you simply pop the program counter value from the stack and jump back into it.
We'll follow 6502 conventions and only save and restore the program counter for subroutines. Other CPUs may choose to save more state, but it's generally left up to the programmer to ensure they're not wiping out states in their subroutines (e.g., push the A register at the start of your subroutine if you're messing with it and restore it before you leave).
Adding an Extra Opcode Line
I've started running low on opcodes at this point. Luckily, we still have two free address lines we can use. To enable 5-bit opcodes, simply wire up the 4Q output of your upper 74LS173 register to A7 of your 28C16 ROM (this assumes your opcodes are at A3-A6).
Updating the ROM Writer
At this point, you simply need to update the Arduino writer to support 32 instructions vs. the current 16. So, for example, UCODE_TEMPLATE[16][8] becomes UCODE_TEMPLATE[32][8] and you fill in the 16 new array elements with nop. The problem is that the Arduino only has so much memory and with the way Ben's code is written to support conditional jumps, it starts to get tight.
I bet the code can be re-written to handle this, but I had a TL866II Plus EEPROM programmer handy from the 6502 build and I felt it would be easier to start using that instead. Converting to a regular C program is really simple (source code):
  1. Copy all the #define, global const arrays (don't forget to expand them from 16 to 32), and void initUCode(). Add #include and #include to the top.
  2. In your traditional int main (void) C function, after initializing with initUCode(), make two arrays: char ucode_upper[2048] and char ucode_lower[2048].
  3. Take your existing loop code that loops through all addresses: for (int address = 0; address < 2048; address++).
  4. Modify instruction to be 5-bit with int instruction = (address & 0b00011111000) >> 3;.
  5. When writing, just write to the arrays like so: ucode_lower[address] = ucode[flags][instruction][step]; and ucode_upper[address] = ucode[flags][instruction][step] >> 8;.
  6. Open a new file with FILE *f = fopen("rom_upper.hex", "wb");, write to it with fwrite(ucode_upper, sizeof(char), sizeof(ucode_upper), f); and close it with fclose(f);. Repeat this with the lower ROM too.
  7. Compile your code using gcc (you can use any C compiler), like so: gcc -Wall makerom.c -o makerom.
Running your program will spit out two binary files with the full contents of each ROM. Writing the file via the TL866II Plus requires minipro and the following command: minipro -p CAT28C16A -w rom_upper.hex.
Adding Subroutine Instructions
At this point, I cleaned up my instruction set layout a bit. I made psh and pop 1000 and 1001, respectively. I then created two new instructions: jsr and rts. These allow us to jump to a subroutine and returns from a subroutine. They're relatively simple:
  1. For jsr, the first three steps are the same as psh: MI|CO, RO|II|CE, MI|SO|SA.
  2. On the next step, instead of AO we use CO to save the program counter to the stack: CO|RI|SP|SA.
  3. We then essentially read the 2nd byte to do a jump and terminate: MI|CO, RO|J.
  4. For rts, the first four steps are the same as pop: MI|CO, RO|II|CE, SM, MI|SO|SA.
  5. On the next step, instead of AI we use J to load the program counter with the contents in stack: RO|J|SA.
  6. We're not done! If we just left this as-is, we'd jump to the 2nd byte of jsr which is not an opcode, but a memory address. All hell would break loose! We need to add a CE step to increment the program counter and then terminate.
Once you update the ROM, you should have fully functioning subroutines with 5-bit opcodes. One great way to test them is to create a recursive program to calculate something--just don't go too deep or you'll end up with a stack overflow!

Conclusion

And that's it! Another successful upgrade of your 8-bit CPU. You now have a very capable machine and toolchain. At this point I would have a bunch of fun with the software aspects. In terms of hardware, there's a number of ways to go from here:
  1. Interrupts. Interrupts are just special subroutines triggered by an external line. You can make one similar to how Ben did conditional jumps. The only added complexity is the need to load/save the flags register since an interrupt can happen at any time and you don't want to destroy the state. Given this would take more than 8 steps, you'd also need to add another line for the step counter (see below).
  2. ROM expansion. At this point, address lines on the ROM are getting tight which limits any expansion possibilities. With the new approach to ROM programming, it's trivial to switch out the 28C16 for the 28C256 that Ben uses in the 6502. These give you 4 additional address lines for flags/interrupts, opcodes, and steps.
  3. LCD output. At this point, adding a 16x2 character LCD like Ben uses in the 6502 is very possible.
  4. Segment/bank register. It's essentially a 2nd memory address register that lets you access 256-byte segments/banks of RAM using bank switching. This lets you take full advantage of the 32K of RAM in the Cypress chip.
  5. Fast increment instructions. Add these to registers by replacing 74LS173s with 74LS193s, allowing you to more quickly increment without going through the ALU. This is used to speed up loops and array operations.
submitted by MironV to beneater [link] [comments]

How To Install And Run Borderlands 2 On Linux – Proton ⁄ Fixed Marcus Introduction & Cinematics

Hi everyone.
I've recently produced a video on how I got Borderlands 2 to work through Proton, check it out below and let me know what you think.
https://www.youtube.com/watch?v=StPRBwPZE_c&feature=youtu.be
More specifically it covers how actually launch the game and fix the Marcus introduction cinematic so that it plays correctly and does not crash the game.
Alternatively for people who prefer a written guide see below:
STEP 1 – INSTALL THE GAME AND FORCE THE GAME TO LOAD WITH PROTON
Right click on the Properties of the game, tick the Force the use of a specific Steam Play compatibility tool option, click OK, and then install the game as normal.
STEP 2 – RENAME THE BORDERLANDS 2.EXE TO LAUNCHER.EXE
Right click on the game, go to Properties, LOCAL FILES, BROWSE LOCAL FILES, and in the window that appears click on the Binaries folder, and from there click on Win32.
Inside that folder rename Launcher.exe to Launcher.exe.old and Borderlands2.exe to Launcher.exe.
You will now be able to launch the game, and manually set your graphical options, so do that and exit the game once done.
STEP 3 – FIX THE CINEMATICS AND CUTSCENE VIDEOS
Download the first Media Foundation Wine Workaround script at: https://github.com/z0z0z/mf-install
Click on the green Code button, choose the Download ZIP option, extract the downloaded archive and open up a Terminal window in that folder.
In the Terminal window you want to type something similar to the following referencing where the game is installed on your system, which in my case is:
WINEPREFIX="/home/ryanj/.local/share/Steam/steamapps/compatdata/49520/pfx" ./mf-install.sh
Once done, download the second Media Foundation Wine Workaround script which can be found at: https://github.com/z0z0z/mf-installcab
Once again, click on the green Code button, choose the Download ZIP option, extract the downloaded archive and open up a Terminal window in that folder.
In the Terminal window you want to type something similar to the following referencing where the game is installed on your system, which in my case is:
WINEPREFIX="/home/ryanj/.local/share/Steam/steamapps/compatdata/49520/pfx" ./install-mf-32.sh
All you need to do at this point is copy the mfplat.dll to the game’s application folder.
The easiest method for doing that is to open up Steam, right click on the game, click on Properties, LOCAL FILES, BROWSE LOCAL FILES, and paste the dll in the window that appears.
STEP 4 – ADDITIONAL PERFORMANCE TWEAKS
Add the following to the game's custom launcher options: __GL_THREADED_OPTIMIZATIONS=1 PROTON_USE_D9VK=1 %command%
After all this is done, the game should function the same as running it on Windows.
If you found this helpful, please consider checking out all the other content on my channel and subscribing to support me.
Many Thanks
Ryan
submitted by Intelligent-Gaming to SteamPlay [link] [comments]

How To Install And Run Borderlands 2 On Linux – Proton ⁄ Fixed Marcus Introduction & Cinematics

Hi everyone.
I've recently produced a video on how I got Borderlands 2 to work through Proton, check it out below and let me know what you think.
https://www.youtube.com/watch?v=StPRBwPZE_c&feature=youtu.be
More specifically it covers how actually launch the game and fix the Marcus introduction cinematic so that it plays correctly and does not crash the game.
Alternatively for people who prefer a written guide see below:
STEP 1 – INSTALL THE GAME AND FORCE THE GAME TO LOAD WITH PROTON
Right click on the Properties of the game, tick the Force the use of a specific Steam Play compatibility tool option, click OK, and then install the game as normal.
STEP 2 – RENAME THE BORDERLANDS 2.EXE TO LAUNCHER.EXE
Right click on the game, go to Properties, LOCAL FILES, BROWSE LOCAL FILES, and in the window that appears click on the Binaries folder, and from there click on Win32.
Inside that folder rename Launcher.exe to Launcher.exe.old and Borderlands2.exe to Launcher.exe.
You will now be able to launch the game, and manually set your graphical options, so do that and exit the game once done.
STEP 3 – FIX THE CINEMATICS AND CUTSCENE VIDEOS
Download the first Media Foundation Wine Workaround script at: https://github.com/z0z0z/mf-install
Click on the green Code button, choose the Download ZIP option, extract the downloaded archive and open up a Terminal window in that folder.
In the Terminal window you want to type something similar to the following referencing where the game is installed on your system, which in my case is:
WINEPREFIX="/home/ryanj/.local/share/Steam/steamapps/compatdata/49520/pfx" ./mf-install.sh
Once done, download the second Media Foundation Wine Workaround script which can be found at: https://github.com/z0z0z/mf-installcab
Once again, click on the green Code button, choose the Download ZIP option, extract the downloaded archive and open up a Terminal window in that folder.
In the Terminal window you want to type something similar to the following referencing where the game is installed on your system, which in my case is:
WINEPREFIX="/home/ryanj/.local/share/Steam/steamapps/compatdata/49520/pfx" ./install-mf-32.sh
All you need to do at this point is copy the mfplat.dll to the game’s application folder.
The easiest method for doing that is to open up Steam, right click on the game, click on Properties, LOCAL FILES, BROWSE LOCAL FILES, and paste the dll in the window that appears.
STEP 4 – ADDITIONAL PERFORMANCE TWEAKS
Add the following to the game's custom launcher options: __GL_THREADED_OPTIMIZATIONS=1 PROTON_USE_D9VK=1 %command%
After all this is done, the game should function the same as running it on Windows.
If you found this helpful, please consider checking out all the other content on my channel and subscribing to support me.
Many Thanks
Ryan
submitted by Intelligent-Gaming to wine_gaming [link] [comments]

How To Install And Run Borderlands 2 On Linux – Proton ⁄ Fixed Marcus Introduction & Cinematics

Hi everyone.
I've recently produced a video on how I got Borderlands 2 to work through Proton, check it out below and let me know what you think.
https://www.youtube.com/watch?v=StPRBwPZE_c&feature=youtu.be
More specifically it covers how actually launch the game and fix the Marcus introduction cinematic so that it plays correctly and does not crash the game.
Alternatively for people who prefer a written guide see below:
STEP 1 – INSTALL THE GAME AND FORCE THE GAME TO LOAD WITH PROTON
Right click on the Properties of the game, tick the Force the use of a specific Steam Play compatibility tool option, click OK, and then install the game as normal.
STEP 2 – RENAME THE BORDERLANDS 2.EXE TO LAUNCHER.EXE
Right click on the game, go to Properties, LOCAL FILES, BROWSE LOCAL FILES, and in the window that appears click on the Binaries folder, and from there click on Win32.
Inside that folder rename Launcher.exe to Launcher.exe.old and Borderlands2.exe to Launcher.exe.
You will now be able to launch the game, and manually set your graphical options, so do that and exit the game once done.
STEP 3 – FIX THE CINEMATICS AND CUTSCENE VIDEOS
Download the first Media Foundation Wine Workaround script at: https://github.com/z0z0z/mf-install
Click on the green Code button, choose the Download ZIP option, extract the downloaded archive and open up a Terminal window in that folder.
In the Terminal window you want to type something similar to the following referencing where the game is installed on your system, which in my case is:
WINEPREFIX="/home/ryanj/.local/share/Steam/steamapps/compatdata/49520/pfx" ./mf-install.sh
Once done, download the second Media Foundation Wine Workaround script which can be found at: https://github.com/z0z0z/mf-installcab
Once again, click on the green Code button, choose the Download ZIP option, extract the downloaded archive and open up a Terminal window in that folder.
In the Terminal window you want to type something similar to the following referencing where the game is installed on your system, which in my case is:
WINEPREFIX="/home/ryanj/.local/share/Steam/steamapps/compatdata/49520/pfx" ./install-mf-32.sh
All you need to do at this point is copy the mfplat.dll to the game’s application folder.
The easiest method for doing that is to open up Steam, right click on the game, click on Properties, LOCAL FILES, BROWSE LOCAL FILES, and paste the dll in the window that appears.
STEP 4 – ADDITIONAL PERFORMANCE TWEAKS
Add the following to the game's custom launcher options: __GL_THREADED_OPTIMIZATIONS=1 PROTON_USE_D9VK=1 %command%
After all this is done, the game should function the same as running it on Windows.
If you found this helpful, please consider checking out all the other content on my channel and subscribing to support me.
Many Thanks
Ryan
submitted by Intelligent-Gaming to linux_gaming [link] [comments]

Success To Be [OC, M.2 DualBoot, AMD R5, RX 5700 XT, 16GB RAM, BCM94360CD]

Success To Be [OC, M.2 DualBoot, AMD R5, RX 5700 XT, 16GB RAM, BCM94360CD]
--OUT OF DATE--

OpenCore AMD DualBoot Hackintosh! This would absolutely not have been possible without this community and especially Khronokernel! Many, many thanks - this is my first Hackintosh and self-built PC!! :D
https://preview.redd.it/ciem302abff41.png?width=1920&format=png&auto=webp&s=e8d551bec88509a6ff164d27c528dde794a3070a

Components

See also: OpenCore config below!
Part Model
Motherboard MSI B450 GAMING PRO CARBON AC ATX AM4
CPU AMD Ryzen 5 3600X 3.8GHz 6C
Video Card PowerColor Radeon RX 5700 XT 8GB Red Devil
Memory G.Skill Ripjaws V 2 x 8 GB DDR4-3200C14
Storage ADATA XPG SX8200 Pro 2TB M.2-2280 NVMe SSD
Power Supply Corsair HX750 750W 80+ Platinum Certified Fully Modular ATX
CPU Cooler Noctua NH-D15S
Case Fan 2x Noctua NF-A14 PWM 140 mm
Thermal Paste Thermal Grizzly Kryonaut, 1g
Case Fractal Design Meshify C ATX Mid Tower
Monitor AOC 24G2U/BK 24" 1920x1080 144Hz
Keyboard Apple MB110LL/B Wired
Mouse Logitech G Pro Wireless Optical
Wifi/BT Card via PCIe Fenvi BCM94360CD, AliExpress (Fenvi FV-A436CD)
USB 3.0 PCIe Card Some cheap thing (no brand found?!) I had laying around, not expected to work on macOS, good on Win10
PCPartPicker Part List (without BCM94360CD) About $1600, most parts - especially the expensive ones - where bought on sale, though!
I had these goals in mind:
  • Hackintosh, of course!
  • DualBoot
  • 2K Performance (Everyday PCing to AAA Gaming) with proper heat management, unlike Apple
  • Longevity, my previous Main, a MacBookPro 13'' (Early 2011), still flourishes! :) Good boi!
  • Low noise, hence the Powercolor Graphics Card and the beefy NH-D15S (also for performance)
  • As little dust as possible (see case)
  • As small as possible - without compromising on goals
  • As little RGB as possible (sorry.), which turns out to be difficult
Max credit goes here and here!! Also, here, here, here, here and here. Totally solid work, guys! This Project was started on December, 1st 2019. Now it is February, 7th 2020!

Features

  • Vanilla Hackintosh
  • OpenCore 0.5.5
  • DualBoot on one 2TB M.2 SSD with Win10
  • AMD Ryzen 5 Processor with RX 5700 XT (Navi 10) and 16GB RAM on MSI B450
  • Wifi and BT via BCM94360CD over PCIe (Windows compatible)
  • Sleep/wake works
  • Fixed iServices, even though I probably won't use them...
  • I consider my goals met.
  • Mapped USB ports, see below.

Known issues

  • Bluetooth is always "on", but not working. Probably USB Mapping; Resolved here.
  • Internal drives shown as externals (yellow-orange). Solved..
  • Black screen when setting resolution to 1080i instead of 1080p in system preferences. Minor issue.
  • Cannot boot into Recovery mode. Solved.
  • Won't sleep after set time (system prefs). "HibernateMode" set to "Auto" in config & port mapping KEXTs, see below.
  • Cannot adjust volume of built-in-monitor speaker (DisplayPort)~~~~. Solved with software.
  • Some Motherboard RGB issues - Solved by USB Mapping.
  • Choosing to boot into Windows via Bios (F11) - I don't consider this much of an issue.
I will try to solve these issues in separate threads and update this one, but any help much appreciated! Any comments - e.g. on Kexts; do I need them all?! - are welcome too...

Not tested yet

  • Microphone jack on case.
  • FileVault - don't need that, probably won't test

Advice for interested people


  • -- PLEASE BE ADISED THAT THERE ARE NEWER VERSIONS OF OPENCORE AND THAT THE PATH BELOW (ESPECIALLY THE CONFIG CHANGES) MIGHT NOT WORK WITH OC VERSIONS AFTER 0.5.5!! -- For a working EFI folder for OC 0.5.6 see in the comments.

My Hackintosh configuration

  • OpenCore 0.5.5
  • macOS Catalina 10.15.3
  • The following EFI is on my OpenCore stick. There is also the latest macOS on there. If you go for DualBoot, keep this stick around & updated as Windows seems to be able to mess around with your EFI... With this stick you'll always be able to boot your Hackintosh and repair its EFI partition.
  • FULL EFI FOLDER: See in comments ("PlatformInfo" has to be populated in config.plist - see below... You can copy over the info from your current config. Also, my changes in DeviceProperties/Add might be a problem for your storage setup.)
  • OpenCore EFI files:
  • Config.plist: http://www.filedropper.com/configreddit EDIT: See comments (only use if exactly same components as me; see below. Change according to OpenCore Guide!! [PlatformInfo removed; Populate this yourself like this!] I'd advice you to make your own config.plist.) Changed with ProperTree strictly according to the OpenCore Guide. Differences to sample.plist:
    • Probably outdated: All of the following modifications are for OC 0.5.5. If you are on a later version of OC it is likely that these have changed!
    • 5 initial Warnings removed.
    • DeviceProperties/Add: Removed "PciRoot(0x0)/Pci(0x1b,0x0)" and "PciRoot(0x0)/Pci(0x2,0x0)" as well as their children
      • Added Key "PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)" as child of "Add" with Type "Directory". Added child beneath the just made child with name "built-in", type "Data" and value "01000000". To address drive issue above, see here.
    • Populated this config.plist with OC snapshot function of ProperTree (CMD/CTRL+R, point to EFI/OC/) . Adds KEXTs and SSDT.
    • Kernel/Emulate: Removed "CpuidMask" and "CpuidData" (were blank anyway).
    • Kernel/Patch: Ryzen/Threadripper(17h) Patch applied.
    • Kernel/Quirks:
      • "DummyPowerManagement" set to True
      • "ExternalDiskIcons" set to True
      • "PanicNoKextDump" set to True
      • "PowerTimeoutKernelPanic" set to True
      • "XhciPortLimit" set to True (set to False after USB mapping in step F)
    • Misc/Boot:
      • "HibernateMode" set "Auto" after USB mapping
    • Misc/Debug: Nothing changed.
    • Misc/Security:
      • "AllowNvramReset" set to True
      • "AllowSetDefault" set to True
      • "AuthRestart" left False
      • "RequireSignature" set to False
      • "RequireVault" set to False
      • "ScanPolicy" set to 0
    • Misc/Tools: Shell.efi added by the OC snapshot function.
    • NVRAM/7C436110-AB2A-4BBB-A880-FE41995C9F82:
      • "boot-args" set to "-v keepsyms=1 debug=0x100 agdpmod=pikera alcid=1"
      • "nvda_drv" set to <>
      • "prev-lang:kbd" set to my preferences. (Use "656E2D55 533A30" = HEX for keyboard layout "en-US:0"; find your own with a TEXT to HEX converter and this.
    • NVRAM/"WriteFlash" set to True,
    • PlatformInfo: Populated with info according to the Guide with GenSMBIOS. Went with a "iMacPro1,1". Found "Purchase Date not Validated" numbers after about 3 (x10) times.
    • UEFI/Drivers: Drivers auto-added by the OC snapshot function.
    • UEFI/Input:
      • "PointerSupport" changed to "Data" and set to <>
      • "PointerSupportMode" changed to "Data" and set to <>
    • UEFI/Protocols/"ConsoleControl" set to True
    • UEFI/Quirks:
      • "ProvideConsoleGop" set to True
      • "RequestBootVarFallback" set to True
  • Bios settings strictly according to the OpenCoreGuide:
    • Disabled:
      • "Fast Boot"
      • "CSM" [UEFI instead]
    • Enabled:
      • "EHCI/XHCI Hand-off"
      • "Above 4G decoding"

My process (only successful part)

(You'll need 3 USB sticks! 2 with at least 4GB, 1 with at least 8GB. I am not sure, whether the Linux Part is really necessary, or if the partitioning can also be done from the macOS or Win10 stick...)
A) The basic build
  1. Built PC.
  2. Installed Windows 10 from USB stick [8GB] (made from Microsoft Media Creation Tool, instructions here, don't forget to install in UEFI mode - see second link in 3.!). Did some fan adjustments in BIOS too... Keep that stick!
  3. Set up Windows 10, installed drivers (see here, here).
  4. Installed Python 3.7! (For SSDTTime, below. Don't get Python 3.8.1!)
Do not set up Windows too much yet, it will be deleted completely and reinstalled again.

B) Creating the OpenCore Stick
  1. Followed Snazzy Lab's Video (read its description!) to create the OpenCore stick, everything on the above Win10: (useful additional help: khronokernel and VanillaAMD and Github)
    1. (Maybe format your stick to GUID HFS+ via Linux or Mac first... See Github.)
    2. Downloaded latest macOS via gibMacOs.bat (Recovery package!) (Admin privileges needed!). Update 7zip first for step B)1.II. and B)1.III. and use a Lan connection!
    3. Made a bootable install of that via Makeinstall.bat (Number + o) (Admin privileges needed!).
    4. Opened the EFI folder on the now newly made USB stick.
    5. Deleted everything (3 files) in EFI/OC/Drivers/, except FwRuntimeServices.efi.
    6. Deleted everything (2 files) in EFI/OC/Tools/.
  2. Put in the following drivers from AppleSupportPkg on the stick to EFI/OC/Drivers/:
    1. ApfsDriverLoader.efi
    2. VBoxHfs.efi
  3. Put KEXT and SSDT and Drivers on the stick:
    1. For troubleshooting afterwards - while booting from the stick - consult: khronokernel/troubleshooting!!
    2. Put the above KEXTs on the stick, all in EFI/OC/Kexts (instructions: khronokernel, more kexts: onedrive).
    3. Put the following SSDTs on my stick (into OC/ACPI)
      1. See above! SSDTTime not needed.
    4. Created config.plist with ProperTree (search with crtl+f!) (full instructions: khronokernel plus config documentation mentioned above in B)3.a.!!):
      1. Renamed "simple.plist" in the downloaded OpenCorePkg folder to "config.plist" and copied it over to the stick into EFI/OC/.
      2. Open Propertree.bat (Admin privileges maybe needed!) and opened said config.plist via the menu bar "File" of proper tree.
      3. Created my own config via "OC snapshot" in the menu bar "File", navigated to EFI/OC of my stick.
      4. Patched my config with patches.plist from AMD_Vanilla (17h): Open simultaneously in ProperTree. (See Snazzy Laps Video and this on how!)
    5. Edited config.plist, followed Vanilla Guide/amd-config.plist (partly later because of errors): See above!
    6. Saved via menu bar "File".

C) Created bootable Linux stick and made partitions on my internal SSD for dual boot (I was recommended this procedure here), install macOS:
  1. Still in Windows 10: Followed the Ubuntu Tutorial to make another stick.
  2. Shut down Windows 10.
  3. Booted again, with the OpenCore Stick connected, temporarily changed the boot partition with F11 and chose my stick (some of the above mentioned config.plist changes were applied AFTER this step, because certain errors occured):
  4. Got to the boot picker and reset NVRAM.
  5. Restarted the same way and chose the macOS installer (Step 3).
  6. Went into the macOS installer's Disk Manager. Formatted the whole internal SSD (maybe ExFat? Probably doesn't matter) and made two partitions for macOS (APFS) and Windows (don't remember what, maybe ExFat?, doesn't matter)
  7. Exit the Disk Manager and enter the installer. Install macOS. Maybe create a backup of that.
  8. Do this: Especially the EFI copying! How to mount the EFI partition on macOS.
  9. Shut down.

E) Created Windows:
  1. Booted into Linux, via Stick.
  2. Got synaptic and hfsprogs for Linux:
    1. Searched the Programs for "Software & Updates". Enable second option: Community-maintained free and open-source software (universe). "Close" this window and let it do it's download.
    2. Opened Terminal (Ctrl+Alt+T), entered:
      1. sudo apt-get update
      2. sudo apt-get install synaptic
      3. sudo apt-get install hfsprogs (not needed anymore?!)
  3. Searched for "Disks". Designated the 200MB partition from above as EFI (I believe via the cog wheels > Format Partition). Close that window.
  4. Searched in progs for "GParted":
    1. Format the second, partition to NTFS.
    2. (You should see three partitions on your internal SSD: EFI, Mac (APFS - probably unrecognised) and Windows)
  5. Shut down Linux.
  6. Boot with Windows Stick connected into the Windows installer.
  7. Install Windows on that NTFS partition.
  8. (Mac and Windows will write their EFI on the same partition! Keep at least your OpenCore Stick!!)
F) Finished. Set up both machines (Windows: here and here) completely!! :D
  • Mapped my ports by removing the XHC0 controller with this kext completely (lost two ports in the process, but that's ok) and (optionally) mapped the PTXH controller with this kext (you might have to adjust this!). For why, see here. See here and here, too!
  • Disabled OpenCore logging: Values set to 0. (In config above not included!)
  • Found "valid" SMBIOS numbers, fixed iServices according to this. (In config above not included!)
  • Didn't enable FileVault or OpenCore Security Features yet... Probably won't.
submitted by CrayCJ to hackintosh [link] [comments]

Odyssey Movie Playlist Project - King Gizzard and the Lizard Wizard

THE ODYSSEY PROJECT

What is this claptrap?
A movie/playlist I created after getting a little too deep into the Gizzverse theory. Let this stand as a monument to my folly - I don't think the Gizzverse is a cohesive, narrative thing, but what I did manage to do was create a very nice, flowing playlist that follows a narrative, using the clues, lyrical links and musical motifs presented by the band to take us on a vast, mystical journey throughout the Universe.
If you're on this page, you've either come from my YouTube Videos, been sent here via myself dropping you a link, or stumbled upon this post after clicking my profile. Either way, welcome.
The Odyssey project consists of 5 movies, entirely soundtracked by the incredible music of King Gizzard and the Lizard Wizard. Movie might be the wrong word to describe what is going on here, however, as the playlist came first, with the visual content added later - inspired by the stories, themes, vibes and voodoo put forward by the boys. Where the band have released a clip for a given song, I've used it, and they are scattered throughout the project like golden nuggets of hilarity and, more often than not, lo-fi psychedelic insanity. Where the work was up to me, I've tried very hard to match the mood and theme of the song in question, covering a diverse mix of visual content, all of which comes with a healthy sprinkling of my own brand of psychedelia.
So, you have two options to dig into this glorious mess.
Here you can find the Odyssey Project Download Links (via Google Drive), a folder hosted online with the files ready to be grabbed and owned forever. This is the best option by far, provided you have the space and bandwidth to download the admittedly large files.
The other option is to scroll below, and click the links one by one. This will open the movie for a streaming 'preview', essentially YouTube, which, whilst convenient, the quality suffers from compression and is unable to be loaded into a playlist etc, since it's coming straight from Google Drive.
Book 1 - Failures of Humanity and the Rise of the Altered Beast (1:28:53)
Book 2 - The Open Door, The Battle Of Gods, and the Rats of Mars (1:26:12)
Book 3 - Microtonal Hellscape and Han Tyumi's Vomitverse (1:07:50)
Book 4 - Crumbling Castles, Dream-escapes, and the Fall of Polygondwanaland (1:19:13)
Book 5 - The Altered Plan of the Consciousness Can (1:26:34)
If the book names above mean nothing to you, or you want to dig in a little more into the whys and hows and whens of what I've done, and what this narrative could possibly be, keep scrolling. I've written up a paragraph or so to explain the core concepts of each book, which may help or confuse. Either way,
Enjoy.


Book 1 - Failures of Humanity and the Rise of the Altered Beast
(9.33gb, 1:28:53 runtime, mainly PMDB/Mind Fuzz/MotU content)
CONCEPT;
The failures of humanity are mounting, pressing, and inevitable, given the human races' lack of desire to embrace anything but the status quo. We slip into our extinction with barely a pause or whimper, willingly ignorant of the issues we face - social, environmental, and, it turns out, existential... The Altered Beast rises as a consequence of an Altered world, marking the start of a new era, where humanity can no longer ignore the damage we have done, or the bleak future we face.
TRACKLIST;
The Failures of Humanity
Beginner's Luck - "...The Beginners Luck, now don't mess it up..."
Sense -"It's in vogue, to be feckless, when it comes to the mother taking care of us. I know it's so conventional, but it don't make no sense at all. But in fact, it's a pattern, everything I hear will always make me ashen..."
Bone -"...If Heaven is a place I know, I won't be taking my bones..."
Paper Mache Dream Balloon - "...Are you eluding, that I'm brooding? Moping around on my own. Stuck in a daydream, under a moonbeam, head on my pillow at home..."
NGRI -"I've awoken from my slumber, I was dreaming 'bout a flood, covered in my blood. Now my pits are getting sweaty, it's a sign I have to go, back to where I know..."
Empty - "Empty. Life is nothing like it used to be, feeling so empty..."
Hot Water - "...Echoes ending, Whispers trending, Heat is coming, everybody's stranded in..."
Bitter Boogie - "...I wouldn't like to say I didn't warn ya'..."
Slow Jam 1 - "...And when it feels like coming on, Boy it makes it hard to talk, for me..."
Satan Speeds Up - "...And when I stop to think of all that we've done, Satan's at the door..."
Her and I |Slow Jam 2| - "It wouldn't hurt to give you more, of my love. The sun shone through into a wave of thought..."
Billabong Valley -"...Bloodthirsty tendancies, Mad Dog Morgan. He never gave a warning..."
Anoxia -"...We waste no time, leaving in light, a different sun bakes the breeze tonight. My mind wanders, alone..."
Am I In Heaven? - "Got ideas in my brain about the end of the world that I won't even say. When all the bricks that built our brain have been turned into sand by the eternal wave. Oh, if we save her, we'll live on a star. Mother nature made everybody else so far..."
Paper Mache - Instrumental
The Rise of the Altered Beast
A New World - "As soon as the dust settles, you can see, a new world in place of where the old one had been. Your skin is crawling with dry, crusted mud, and your naked feet are wet in a pool of blood..."
Altered Beast I - "...He came from underneath, I met an Altered Beast..."
Alter Me I -"...For all it's revulsion, and warp, and taboo, a part of you wants to be Altered, too..."
Altered Beast II - "...What harm could a mere mortal like you do? I am the Golden Wolf, and you are caribou..."
Alter Me II - "...Your dumb human head is filled with naivete; your impending fate is to be one with me..."
Altered Beast III - "...Hair on my skin, and I'm feeling beastly, Feel it trickle in, a new life in me... ...I see you, and I can see right through, I see you, and I will take you to my Altered world..."
Alter Me III - "Altered Beast, Alter Me!"
Altered Beast IV - "...The sole thing that will make your void obsolete, is to find someone new, some sapid fresh meat... ...I think I see, an Altered Beast, Inside Me! I am an Altered Beast!"
Mr Beat - "...Happy days seem so absurd, lightning that's unlikely heard, Nova sunshine while I nap, making all my dreams so sad..."
Evil Death Roll - "...The night is young - full of sin, time to slither away again, You can see our history hanging on a Knife, so let's start killing things. 'Cos you started everything. And let's start severing limbs..."
Life/Death - "Are you you? Are you me? Or someone inbetween? You lost track inside the labyrinthine. You lost your will, and your sanity; you certainly lost your humanity. In life, you have taken much more than your worth, now it's your turn to give back to the earth. May you return to the ground and ossify, it's time for you to die, die, die."

Book 2 - The Open Door, The Battle Of Gods, and the Rats of Mars
(8.88gb, 1:26:12 runtime, mainly Nonagon/Mind Fuzz/MotU/ITRN content)
CONCEPT;
Powers beyond our current understanding battle for supremacy in this era of decline. But before we are ready to understand the forces that are, that be, we must understand the power that is - The power of the Nonagon. Wild and bizarre and infinite, the Door to this realm is opened, and from Hell the demons pour forth. First among the new rulers of a ruined world is the Lightning Lord, supreme in power and arrogance, and his battle with the Hell-sent Balrog is wrecking and disastrous. From the rubble climbs forth brave human survivors; keen to make amends and tell their story, keener still to exact vengeance on the remnant of the precursors who bought forth this folly.
TRACKLIST;
The Open Door
Some Context - Instrumental
Invisible Face - "...I climb up the stalk and plant the bean, the Universe is a machine, that has awoken from a dream..."
Wah Wah - "...I can feel the earth is moving, underneath my hoofed foots earthing. Fire protrudes from whence I'm pointing, fading every jewel..."
Road Train - "...Across the desert to the trees, Obliteration of the place, From the fire to the sea, Nonagon Infinity is coming!"
Gamma Knife - "...Milk and Honey for my body, come on through the door, see; It's your unborn self..."
People-Vultures -"...People Vultures, God approaches, final hearing, disappearing, tainted voodoo, headless guru, final head-spin, what else have I got left to spew down?"
Some Context |redux| - Instrumental
The Battle Of Gods
The Reticent Raconteur - "...Every time I think of the poor lot I recall, the fear upon their faces and the doomed fate of them all. I saw Death become of Light, and Life become of Fire..."
The Lord of Lightning - "...Floating Fire, Golden Wire, Silver Trails, Flashing Spire... ...And from the Lord's electric snare, one goes in His electric chair... ...Then the figure sprung up and at once it caught alight, and the creature known as Balrog was born that very night..."
I'm In Your Mind - "...Everybody's lazy 'cause they're fried, 'cause everybody's sucking on fluoride, when I'm in your mind, then I'm in your mind..."
I'm Not In Your Mind - Instrumental
Cellophane - "...You can colour everything you see, it's so strange..."
I'm In Your Mind Fuzz - "...And everybody's filing into line, 'cause everybody's sucking on fluoride, when I'm in your mind..."
The Balrog - "...You caused a massive rift, you made the atom split, and it came screaming through, here to bite the head off you!"
Trapdoor - "...And everybody goes to great lengths, for sure, to hide themselves away, and keep the beast at bay..."
The Great Chain Of Being - "...I usurp the precious stones, I have come to take the throne, I transcend the natural flesh, I will lay your God to rest..."
Floating Fire - "...Vehement Lightning quake, Head begins to ache, Lord has thunder snake, Balrog he will break... ...Lord of lightning safe, pulls a golden stake and launches into space, and mutters to the beast one word... Lightning!"
The Acrid Corpse - "...Leaving us, not without a final clap of light, the Lightning Lord escapes as day fades into moonless night..."
The Rats Of Mars
Planet B - "...Snowflakes blanket old deserts, outskirts disperse, earth is a blank verse, last hearse, dry nurse... Open your eyes and see, there is no Planet B.."
Mars For The Rich - "...Mars for the privileged, Earth for the poor, Mars terraforming slowly, Earth has been deformed..."
Organ Farmer - "...Farm colossal, wake the fossil, in the fields of beef!"
Superbug - "Superbug in my blood..."
Venusian 1 - "...Oh, we're going to the second planet from the sun, oh, our ship can deliver us from our ruin..."
Perihelion - "...Solar mountain comes on the perihelion, no rerouting only countin' till we're done, Shoutin' sins until we're in the sun..."
Venusian 2 - "In the lap of the gods, the last one did explode, in a blaze all fiery. I sit in the cockpit, it may be a sinking ship, but fortune favours bravery..."
Self Immolate - "I have gone insane-o, I lust for volcano, be with molten lava, give me my nirvana..."
Hell - "Here I was thinking I'd die, I see a thousand flies and wings and tails and spines. Nausea-less, resoluteness near the entrance, Satan points me to the Rats Nest..."

Book 3 - Microtonal Hellscape and Han Tyumi's Vomitverse
(7.41gb, 1:07:50 runtime, mainly FMB/MotU/Gumboot content)
CONCEPT;
The vast bulk of humanity is dead, dying, or somewhere between. The Earth is ruined beyond repair, a blasted wasteland where nothing will grow, and nothing can survive. Hear now tales of the poor souls who are last to call this place home. As the final drips of humanity fall from the tap, one last soul remains behind, only to finally take his place in the Digital Black at a cost beyond belief; The Universe itself.
TRACKLIST;
Microtonal Hellscape
Greenhouse Heat Death - "...My house is fried, all life has died, My house was blue, beautiful too..."
Flying Microtonal Banana - Instrumental - Dawn on an empty planet
Rattlesnake - "...I'm the serpent, Devil's servant, time to meet your end..."
Melting - "...Conflagrated and cremated when the world is consummated, devastated populated world of isolated mortal folk..."
Open Water - "...The Kraken's got the best of me this time..."
Sleep Drifter - "...Please no-one wake me, when I'm sleep drifting..."
Barefoot Desert -"...Never think ahead, unprepared, barefoot desert, come on in if you dare to my capsule of stress."
Han Tyumi's Vomitverse
Welcome to an Altered Future - "...Augmented entities, Unremembered God, the world fades to black...digital black. Welcome to an Altered Future."
Digital Black - "...I am the word of the last human, illusion, confusion, last human..."
Han Tyumi The Confused Cyborg - "...Born, if you may call it that, in a world that is dense and black. Created without a desire to draw breath. Without a desire to have being. Without a yearning of just to be. I'd like my desire back, my life back, my soul back, my humanity... ...I am bereft of two human things, two things that a cyborg can never do, two things that I strive for, two things between myself and mankind; Death, and to Vomit..."
Soy Protein Munt Machine - "So I built a machine, a Human machine, I made it with steel and soy protein. Born from a test tube, and into a vat, to live and to heave, and to die, just like that."
Robot Stop - "...My body works I know, It's just the same I know, my only difference is robot influence... Upload me to the robot brain, I'm the drudge that goes again and again..."
Big Fig Wasp - "...Did your God know insects grow in my pome...?"
Vomit Coffin - "...So I took over my creation, the spew coated protein, I plugged myself in and became one with machine..."
Murder of the Universe - "The spatter becomes a spray, and the spray becomes a stream... ...Inside my body the pressure is too great, and like some ancient geyser I erupt... ...Vomit bomb; chunky shrapnel tears through everything around me; I am vomit vomiting, I grow and disperse... ...I integrate. I am double, triple, I am ten times the size... ...I am a noxious soup filling valleys with vomit-torrents. Castles Crumble in landslides and I munch the rubble... ...Ten thousand times bigger, I seep into power sockets and travel along the wires at the speed of light across vast electric networks.... ...One million; I am supercharged flaming puke storming every cell, molecule and atom I can find - I am cancer... ...One billion, I am Saturn's rings, I am Jupiter's storms... ...One Trillion. The Stars are my cells, racing faster outwards, upwards, downwars, inwards... ...I shoot arrows of time in all directions... ...Nonillion, the Cosmic Microtone background becomes transparent; like rising damp, munt soaks into the walls of the cosmos and it topples like soggy bread. I am dark energy accelerating, Multiverse entanglement, I am time. Centillion, time is sick, critical density, contraction, singularity, everything and nothing, life and death....Murder of the Universe."
Doom City - "...Spark in firmament, Doom City sky opens up. He disorients everyone's lives with his breath; Charged with particles, Doom City air rips me up..."
Nuclear Fusion - "...Ocean like a moat fortification, separating me from restoration, my spirit leaves my body in frustration, flying through the world in radiation. The devils inside all the detail..."

Book 4 - Crumbling Castles, Dream-escapes, and the Fall of Polygondwanaland
(8.77gb, 1:19:13 runtime, mainly Poly/Quarters/Gumboot content)
CONCEPT;
In a land at the end of time, the remnant of a remnant cling to life, only for their bastion to be taken under by the vomitwave as Han Tyumi's destruction reaches even here. As the Castle Crumbles, the pilgrims flee, down The River into the dream, to arrive at Polygondwanaland; A place of power and mystery. Plots thicken, conspiracies abound, and a new hero emerges, only to be cast down as the inevitable machinations of Han Tyumi creep into the land beyond.
TRACKLIST;
Crumbling Castles
Crumbling Castle - "Meet me, glassy eyed, blind and divine. Hold down the the fort on the coastline. The castle is a pimple on the face of our orb, A humble spot for clues to drop if you eavesdrop. I see through the bricks, to the see, crumbling castle. Waters' rising up, thick and green, crumbling castle. Inching closer each century, crumbling castle. Are we safe in our citadel..."
Polygondwanaland - "...We're gonna get there, we don't need a whereabouts. We're gonna get there, follow where the river runs.. We're gonna get there, Polygondwanaland..."
Castle in the Air |intro| - "The River opened her mouth and spat into a vast sea, larger and bluer than a cloudless sky. Muscular, prodigious, immortal. But our vessel was invulnerable; It was well built. The boat rocked me to sleep and I floated through a deep dream - smooth sailing through the castle in the air..."
The Dream-escape
The River - "...Once you're where I led, it will be clear what I have said. Float without a home; The River flows like another long road. I can't believe it, it is frozen. It's not the first time, I had noticed. She will deliver, I am floating, trust in the river I had floated down..."
Muddy Water - "...Give me over to the River, my place that loves me - Gum leaves and tea trees, the river is immortal. I'm parched, I'll cark, the salty spray arrests..."
Sleeping In - "...I know within my body, I need to locate the switch hidden in me which will turn me off..."
Last Oasis - "...Dreamin' takes my mind away, it suffocates my brain airwaves. Optical illusion, sheet of water, heat perfusion, search the corners... ...the last oasis is like a flag beating in the wind. The world has wasted and the squandered lands are companionless. The last oasis shines a beacon like a lighthouse over lonely countries of death, like a black sea..."
Lonely Steel Sheet Flyer - "....My lonely wings are ready to fly, the ocean is breathing between you and I, my lonely wings don't make it right, wrapped in a steel sheet, and ready to fly..."
The Fall of Polygondwanaland
Castle in the Air |outro| - "...Could it be faithful? It couldn't seem more real. As I opened my eyes the dream decolourised until it was obscured, and the harsh reality hit me like salty water..."
Deserted Dunes Welcome Weary Feet - "Deserted dunes welcome weary feet... ...Nervous natives watch pompous pilgrims, foreign nature, Polygondwanaland...
Inner Cell - "Anemic rule, now hear me say our time has come, transcending us above the one, to ego death. For now, he sits inside the fire, oblivious that we will keep Him in the spire, have found resolve and our own crimes to commit in cold blood, as he did his...."
Loyalty - "...This is a test, I am Lord, fear my wrath. This is a test, I am Lord, I am death..."
Horology - "...Just like that the plot was crushed, brushed away without a thought. Some were found alive though, left to roam without their skin... One did make a pilgrimage in search of a family evaporated in the dark, stolen by the despot. A journey made all the worse having had his eyes gouged; he left without the gift of sight to face his true destroyer... ...Sit down weary traveler, I am that what you seek..."
Tetrachromacy - "...The story man was glassy-eyed. He told me about the power lines, and in subarctic caribou eyes, the metal wires burst into life..."
Searching - "Doctor please, I'll do anything, Alter me, let me see, give me more. I want to see the world differently..."
The Fourth Colour -"I believe the hyperbole, I see the fourth colour. I am born again, I see the light, it's in my face. I am analyzing information now that I am a God..."
Superposition - "Superposition, real world wisdom, everything is moving to the beauty of this system. Total question; fearless reason. We; One; I: Many: Superposition..."
All Is Known - "Burn their meat, sweep the streets, bind their hands unto their feet and digitize, cut the eyes from the King and augment to the fourth cone...All is known..."
|Fourth Colour Redux| - Instrumental - Han Tyumi says Hello.

Book 5 - The Altered Plan of the Consciousness Can
(9.56gb, 1:26:34 runtime, mainly Sketches/FFF/Gumboot content)
CONCEPT;
Cyboogie. Han Tyumi. Who am I? Am I alive? Was it all a dream? Passing on the memory to the only humans remaining, The Reticent Raconteur and The Tetrochromat, the Vomitverse plans are unveiled, before Han-Boogie begins lamentations of the Old World, calling out the Failures in an effort to prevent them repeating in his Altered Plan. But intrusive thoughts keep calling - is this real, real? How much of what has transpired has been by his own hand? And the power of the Nonagon Infinity makes him wonder if it's all about to come back around again...
TRACKLIST;
The Altered Plan of the Consciousness Can
Cyboogie - "...Cyboogie, lump in his throat, palpitations and nausea ensue, Cyboogie's chorophobia, terminal error vascular tissue. So Cyboogie's fishing for fishies, Red-bellied trout in a binary brook. How is it that he is depressed? The humans have pierced through his cheek with a hook..."
Boogieman Sam - "...Causing mayhem, cause he's Boogieman Sam..."
Down The Sink - "...Down the sink, back and forth, follow the stream, the city is bleak forget all your dreams. Down you'll go..."
Sketches Pt1 - Intrumental
Countdown - "...When it all falls away, clothes start to fray, buildings decay, rabble remain. Where they were green, sterility. Humanity, staring at me..."
D-Day - "...11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1..."
Tezeta - "If I've been insane my whole life, well now I've changed into something that see's. I love the feeling, shape shifting ceiling; my mental projection is pink... ...Everything that lives and dies is a hologram, nothing is as real as that... ...Do you remember now? What? Yes I do? This; my Altered Plan..."
Cranes Planes Migraines - Instrumental
The Spider and Me -"Let me just introduce you to my friend, under a tree, spider and me..."
The Bird Song - "To a bird, what's a plane? A shiny flying elephant..."
Plastic Boogie -"...Fuck all of that plastic, wrapped up in my dinner. It's not fantastic, it's gonna come and kill us. It's gonna be massive. It's gonna be brutal; Death will come from plastic. Death will come from people..."
The Cruel Millenial - "...Can't relate face to face with modern day youth. Outdated, the post-millennial will get you..."
Real's Not Real - "...What in the world is going on, here? Your past is built upon your fear, and happy is what you'll never be. I'm afraid that you're lacking some free will, Your real's not real..."
This Thing - "...I hide my riches in embarrassing sheets that reek of suspicious happenings, 'Cause I'm a different person and that will make you sick; There's no stopping what this is..."
Acarine - "...Buried deep inside of me....Acarine..."
The Wheel - "...Shivering pilgrims climb the steeper path to the idealistic reaper. Destroying all that will keep us headed for a better thesis..."
Sketches Pt2 - Instrumental
Dusk to Dawn on Lygon St -"...Black lines bend round a cityscape while trailing off in the sunsets wake. I can foresee that dawn will bring the light, as the sun gives way to night..."
The Book - "God gave me a sign; he put it in my glass of wine. A great theophany, he told me every sinner had to die..."
A Journey to |s|hell - Instrumental
Rolling Stoned - Instrumental
You Can Be Your Silhouette - "...When all the ticking stops dead, you may find your time instead, and you can be your silhouette..."
Sketches Pt3 - Instrumental
Fishing For Fishies - "Oh your heart's a hook. Ego tied in knots, baiting fate. Don't do it, you ain't a god; Don't hurt salmon, carp, or cod... ...Fishing for fishies, don't make them feel happy, or me neither, I feel so sorry for fishies.... I have been fishing and I don't want to catch none, I've let them swum..."
submitted by 4burner to u/4burner [link] [comments]

Gigabyte Z390 M, OpenCore, and Hackintosh Catalina: A Beginner’s Guide and Key Resources

Gigabyte Z390 M, OpenCore, and Hackintosh Catalina: A Beginner’s Guide and Key Resources
My setup!

Introduction:

I realise build guides are a dime a dozen, but it’s always reassuring to see one by someone who’s used a combination of components as similar to yours as possible, and even more so when that someone happens to be a newbie. So here I am, with the steps I followed to get macOS Catalina up and running on the tower I’d built.
I’ll take this step by step, and will make an effort to avoid confusing language. Of course, if you have any questions, feel free to ask, after you’ve read the whole thing! Just bear in mind that I, too, am a novice.
Moreover, I have next to no experience with Ryzen builds, or prebuilt machines like laptops, so again, this guide is specific to modern Intel builds and chipsets. If you need help selecting components, look no further than this brilliant, concise primer by Mykola. My guide is by and large limited to the processes I followed, though I’ll try to include alternative steps for anyone that may need them.
Lastly, this guide may be extra handy for Indian Hackintosh enthusiasts — all my components were purchased in in India itself. So if you’re a fellow Indian interested in building one of these for yourself, there’s a good chance these components are readily available for you without having to import anything. But first, some vanity shots:

My old faithful 1080p ASUS monitor, I hope to replace it with a better 1440p 100% sRGB one soon!

Pretty low-end as far as cases go, but very practical! NZXT cases are quite expensive in my country...

The innards! It's actually a lot better cable-managed than it looks here.
The innards! It's actually a lot better cable-managed than it looks here.
Before You Get Started:
You HAVE to be a computer enthusiast, and have basic knowledge of how computers work. It’s crucial that you understand that there are no shortcuts to this.
Morgonaut’s videos on YouTube are an example of what not to do — if you blindly follow what someone spoonfeeds you without truly understanding why something works the way it works, you’re setting yourself up for failure, and we won’t be able to help you because you wouldn’t be able to tell us what you’ve done.
This also applies to tonymacx86 tools like Unibeast; they take user-intervention and transparency out of a process that absolutely depends on both of those to work reliably.
Hackintoshing is a precise process to begin with, and what works for someone else may not necessarily work for you. Take the time and effort to read through every line of the more specific guides I’ll be linking further ahead, and toggle exactly what is specific to your hardware. What you don’t get, Hackintosh and its Discord channel will be happy to lend you a hand with.
Don’t be anxious! It’s an intimidating prospect when you’re doing it for the first time, but once you’ve got everything up and running, you’ll realise that the process is actually pretty straightforward.

The Hardware:

The first thing you’ll need to do is, of course, build a computer, so build a computer, I did. Here are my components:
The parts that will affect your Hackintosh setup:
  • Motherboard — Gigabyte Z90 M
  • Processor — Intel i7-9700K
  • Graphics Card — Sapphire Pulse Radeon RX 580
  • Storage — WD Black SN750 (500GB)
  • WiFi + Bluetooth PCIe Card — Fenvi HB-1200
The parts that normally won’t:
  • RAM — 32GB, 2400MHz, DDR4 (Crucial CU16GU2400, 16GB x 2)
  • Power Supply — Antec NeoEco 650M (650W, rated Bronze)
  • CPU Cooler — Antec C400 Elite
  • Case — Corsair SPEC 01
  • Fans — Antec Spark 120mm x 4 (that’s a total of five fans, including the one that comes with the case)
You’ll notice that I’m using a Z390 motherboard, something Mykola explicitly advises against in the guide I’d linked above. He’s right — the best motherboard for Hackintosh computers is the slightly older Z370 series. It supports all the same processors that the Z390 chipset does, though you’ll need a BIOS update to run 9th gen Coffee Lake chips. More importantly, Z370 boards come with native NVRAM support, which is something macOS requires to function smoothly.
The Z390 motherboards don’t have native NVRAM, but there’s a workaround to emulate it. If you’re starting from scratch, this becomes an unnecessary step, so stick with the Z370 series. However if you, like me, weren’t aware of this at the time of buying your components, no stress! The workaround to emulate NVRAM support is a rather easy one.
Besides this, the other oddity you’ll notice is the Fenvi HB-1200. Here’s the deal: MacOS normally plays well only with very specific Broadcom cards for perfect WiFi and Bluetooth connectivity. So if you want AirDrop and Handoff to function properly on your Hackintosh build, you’ll need one of these things. Installing them is very easy, though, and if you’re unable to find one locally, AliExpress sells these in great abundance. It’ll take about 2-3 weeks to reach you, though. Until then, your only option for internet connectivity is via Ethernet. A more high-end alternative of the same is the Fenvi T919.
Finally, macOS has no built-in framework for controlling the RGB lighting in your system. If you want to control the lighting via your motherboard’s RGB header, you’ll have to do it via BIOS. If even this option isn’t available, a hardware remote is your best bet*, I’m using this one.
*You can mess with your RGB settings via Windows and have your settings persist when you reboot into macOS, but for this, Windows will have to be installed on a partition in the same disk as macOS. This often causes a number of complications and is generally not recommended.
We now move on to the nitty and the gritty, the part of this process that puts the “Hack” in Hackintosh:

Setting up macOS Catalina:

Prerequisites:
The recommended method for getting started with a Hackintosh build — the vanilla method — involves having an actual Mac device around. It gives you the simplest, most reliable, and trustworthy way to download a fresh copy of macOS Catalina, straight from Apple’s own App Store. The download itself is free and won’t cost you anything. If you don’t own a Mac, borrow a friends’ — this way, you can also natively format your Catalina USB drive to a Mac-compatible format using macOS’ built-in tools, rather than having to rely on third-party methods.
With this in mind, the guide I’d followed is the OpenCore Vanilla Desktop Guide, once again by the brilliant Mykola. I’ll be referring to this multiple times, and will straight up link directly to it where I don’t have anything specific to my experience to add. Remember, my guide is sort of like an addon to Mykola’s Vanilla guide, and is NOT meant to act as a replacement.
A proven alternative method for those don’t have access to a Mac is Midi Jari’s Internet Install method. I have no experience with this, though, so I can’t really comment on what this entails. But it’s also a trusted method and has produced successful results for many folks here, so don’t stress out unduly! It’s just not something that I personally have used, given I simply borrowed my girfriend’s MacBook for this purpose.
The only other hardware you’ll need is a 16GB USB drive. Until macOS Mojave — the previous version — 8GB USB drives were enough to hold macOS, but unfortunately, Catalina is slightly larger than 8GB, so 16GB drives are the new minimum.
A Brief Prologue:
Here’s a grossly oversimplified primer on how macOS (or any OS, really) boots on a Hackintosh system:
BIOS —> Bootloader —> macOS
Similarly, let’s take this step by step.

BIOS:

First, your motherboard’s BIOS fires up. This is normally where the “Gigabyte” or “Asus” or whichever else company’s logo pops up, depending on your motherboard’s make. Here, repeatedly tapping on a button — which can vary from manufacturer to manufacturer — should take you to your BIOS’s settings. This is where your setup process begins.
MacOS requires a specific set of BIOS settings to be toggled, which can be a little daunting for first timers. Luckily, Mykola’s got your standard BIOS settings covered in his guide, so simply reset your BIOS to its optimised defaults, and make the necessary changes he’s highlighted here.
Once this is done, we move on to the big one:

The Bootloader, OpenCore:

The bootloader is the key to achieving a successful Hackintosh build, and this is where most of your efforts will be directed.
Ordinarily, on most Windows computers and actual Macs, the bootloader is invisible; you wouldn’t even know it exists beyond the existence of the loading screen. Given we’re off the beaten path, we will need to use a custom bootloader put together by several smart people in the community. This custom bootloader is what will let us boot macOS on non-Apple hardware.
Until very recently, Clover had been the standard bootloader for all Hackintosh builds. It’s well-documented, has a GUI that you’re used to operating, and comes with thousands upon thousands of guides and years of documented online support. It is also, however, nearing the end of its life. A lot of its code is deprecated, unmaintained, and can break anytime.
This brings us to OpenCore — a spanking new bootloader that many believe is the future of Hackintoshing. It’s designed to be a whole lot more flexible than Clover, and uses more modern protocols to offer a far stronger degree of futureproofiness — and dramatically faster boot times, to boot. There’s certainly a lot about it I don’t fully understand, but it’s been painstakingly documented over here in acidenthera’s GitHub page, so do pop over and give it a read if you’re interested.
It’s in the final stages of beta testing — v0.5.3 at the time of writing this — and aims to be released as a stable, public v1.0 build in the coming weeks. Given it’s so close to release, as long as you’re not running a laptop or a prebuilt, OpenCore will run just fine for you once properly setup. Seriously — if you’re not scared of a more transparent process where you have far more control over what your bootloader will end up doing, OpenCore is the way to go.
At this juncture, I’ll simply redirect you to Mykola’s guide, full on. It summarises the process of setting up OpenCore as simply as possible without skimping on important details.
I do, however, have three points to add:
  1. In this guide I’m writing, I’d originally wanted to include an issue specific to my motherboard model that Mykola walked me through because it wasn’t in the guide (and I’m a newbie), but he went ahead and added it to his guide so idiots like me wouldn’t run into the same problem in future; the parts of his guide referring to CFG Lock settings in the configuration file and the BIOS allude to this.
  2. Once you clone/download OpenCorePKG, use macbuild.tool to compile your copy of OpenCore. Once the process finishes, you’ll find the folder you need in the same folder, under:
Binaries > Release > OpenCore-0.5.3-RELEASE.zip (the contents of this zip file are what you ultimately need)
  1. HfsPlus.efi is preferable over VboxHfs.efi. This is because HfsPlus.efi is Apple’s own driver for reading HFS volumes, wheres VboxHfs.efi is a community-built, open source variant that’s quite a bit slower, but is a better bet if you prefer playing it safe and like your code open source.

My OpenCore EFI folder structure:

Here, you can also have a look at my drivers and kexts. You’ll also notice a file called SSDT-UIAC.aml which isn’t explicitly present in Mykola’s writeup, but is something every Hackintosh user needs to build for themselves. This particular file is called a custom SSDT, and I’ll get into it in just a moment.
EFI ├── APPLE │ ├── EXTENSIONS │ │ └── Firmware.scap │ └── UPDATERS │ └── MULTIUPDATER │ ├── Mac-BE088AF8C5EB4FA2.epm │ ├── Mac-BE088AF8C5EB4FA2.smc │ ├── MultiUpdater.efi │ ├── SmcFlasher.efi │ ├── flasher_base.smc │ └── flasher_update.smc ├── BOOT │ └── BOOTx64.efi └── OC ├── ACPI │ ├── SSDT-AWAC.aml │ ├── SSDT-EC-USBX.aml │ └── SSDT-UIAC.aml ├── Drivers │ ├── ApfsDriverLoader.efi │ ├── FwRuntimeServices.efi │ └── HFSPlus.efi ├── Kexts │ ├── AppleALC.kext │ │ └── Contents │ │ ├── Info.plist │ │ └── MacOS │ │ └── AppleALC │ ├── IntelMausi.kext │ │ └── Contents │ │ ├── Info.plist │ │ └── MacOS │ │ └── IntelMausi │ ├── Lilu.kext │ │ └── Contents │ │ ├── Info.plist │ │ └── MacOS │ │ └── Lilu │ ├── SMCProcessor.kext │ │ └── Contents │ │ ├── Info.plist │ │ └── MacOS │ │ └── SMCProcessor │ ├── SMCSuperIO.kext │ │ └── Contents │ │ ├── Info.plist │ │ └── MacOS │ │ └── SMCSuperIO │ ├── USBInjectAll.kext │ │ └── Contents │ │ ├── Info.plist │ │ └── MacOS │ │ └── USBInjectAll │ ├── VirtualSMC.kext │ │ └── Contents │ │ ├── Info.plist │ │ └── MacOS │ │ └── VirtualSMC │ ├── WhateverGreen.kext │ │ └── Contents │ │ ├── Info.plist │ │ └── MacOS │ │ └── WhateverGreen │ └── XHCI-unsupported.kext │ └── Contents │ └── Info.plist ├── OpenCore.efi ├── Tools │ └── Shell.efi └── config.plist 
You can find my config.plist over here, but once again, be warned — no good ever came off copy-pasting without at least some superficial understanding of the flags I’ve toggled in my .plist.
Once you’ve got all of this sorted, your OpenCore folder is now ready!
Follow the instructions here to make yourself a USB drive to install macOS Catalina from (assuming you’ve already downloaded it from the App Store and quit the installer). Once the process is complete — it should take about 20 minutes — use this super handy Python script from Corp Newt to mount the EFI folder in your USB drive. Then simply copy the contents of your OpenCore folder to the EFI folder.
The final structure should be similar to the folder tree I’d shared above.

Installing macOS:

This is very straightforward. Boot from your USB drive, and when you arrive at the OpenCore selection menu, pick the partition in which your macOS installer is sitting.
It is at this point that many first timers may see an error, indicating that you’ve overlooked something while setting up your OpenCore configuration. Don’t stress! Take a picture of the error you’re seeing, keep your hardware configuration and your EFI folder’s contents handy, and approach the subreddit or the Discord channel for help. It’s more often than not just a couple flags that need to be sorted out, after which you’ll be good to go.
Once you arrive at your macOS installer, before you do anything, find Disk Utility in it (it’s in one of the menus up top) and format your storage drive to Mac OS Extended (Journaled). Once that’s done, go right ahead and install the OS onto your disk!
There’s only a few things left to do after. One of them, Mykola’s already outlined — set up your NVRAM emulation if your motherboard doesn’t have native NVRAM. The other is setting up your custom SSDT. Let me explain why this is necessary.

Setting up your Custom SSDT:

MacOS, unlike Windows, has an interesting limitation: you’re limited to a maximum of 15 USB ports, including the internal ones sitting on your motherboard for Bluetooth connectivity, etc. To make matters worse, if you have a USB 3.0/3.1 port that’s backwards compatible with USB 2.0 connectors, to the OS, that one physical port counts as two ports — one for 3.0/3.1, one for 2.0. So even if your motherboard has exactly 15 physical USB ports, if even one of them is USB 3.0, you’re likely above the limit.
A second problem is, when you install macOS on a motherboard whose firmware isn’t specifically written for supporting macOS, it gets the placement of your USB ports wrong. So your super high-speed USB 3.0 port may not even recognise a USB 3.0 device plugged into it. This may also cause issues with your Hackintosh facing weird sleep/wake issues, among others.
This is where the USBInjectAll kext* comes in. If you’ve got it enabled, it’ll force macOS to “see” all the USB ports it possibly can, including ones that don’t physically exist on your motherboard. This isn’t a solution to get all your ports working, though — this shoots you well beyond the 15 port limit (you’ll likely see around 30 ports, instead), and will more often than not cause more problems than it fixes. This brings us to the custom SSDT — this file is what “talks” to UsbInjectAll, telling it which ports to inject and which ones to not bother injecting. Once you setup your SSDT file properly, you’ll have eliminated all the ports that don’t actually exist, or that you don’t intend to use, to bring the total number of ports down to 15, or lower. After this, macOS will communicate with your motherboard’s USB ports perfectly, the way you’d want it to.
*Some motherboards, such as mine, will require UsbInjectAll.kext to be accompanied by the XHCI-unsupported.kext for it to work properly.
Here’s another super handy Corp Newt Python script to very quickly map your USB ports. If you want a clearer understanding of what USB mapping is all about, I recommend this guide for newbies, and this one for people who want an even deeper dive into the subject.
Corp Newt’s script actually provides you with an alternative — once you’ve mapped your USB ports, you can either generate your custom SSDT file and place it in your ACPI folder the way I have, or you can generate an all-new kext called USBMap that will replace both the USBInjectAll kext and your SSDT file (you’ll still need XHCI-unsupported, though). USBMap is the more recommended method, as USBInjectAll isn’t maintained all that frequently, and could stop working properly after a macOS update.
Once you set up USBMap.kext (or your custom SSDT), you’ll never need to do it again for your motherboard, so be patient, set it up, and then forget about it.

And that’s it!

You should have yourself a Hackintosh that just works. If you don’t, there’s a detailed post-install section in Mykola’s guide that should see you through common problems that occur once everything is up and running. If it doesn’t, you’re always welcome to share your troubles with us at the Discord channel, or in the subreddit. Just make sure that what you’re facing is a Hackintosh-related issue, rather than a macOS bug that’s all Apple’s fault. Enjoy!

Credits:

I really can’t thank enough all the people who patiently sat down and helped me through my various rookie mistakes and anxieties. There are certainly more names — forgive my terrible retention — but among others, u/dracoflar, u/CorpNewt, and u/fewtarius have been invaluable in teaching me how to approach the entire process and in answering all the questions I had about the same. Thanks a billion, y’all.
submitted by Shirt_Shanks to hackintosh [link] [comments]

[1.10] Quality of Life Modpack V15 (Cheat-free, w/ Difficulty Mods)

Sup.
It's once again been quite a while since the last update to QoL. Honestly, I feel like this one comes somewhat late. Some of this stuff I should've put out a few days after the release of Death on the Reik. But regardless, better late than never.
With official modding support coming ever closer, and with the emergence of several goofier mods (jumpy bois, hm?), it's becoming quite evident that the current system has to give way slightly.
Despite them being absolutely harmless, I obviously cannot start including an array of joke mods as part of the main package, as it doesn't fit the point of 'Quality of Life'. BUT, what I can definetly do, is make it easier for people to add them themselves.
From now on, it will no longer be necessary to modify 'Initialize.lua' to add new mods. All lua files located in mods/patch will automatically be executed. What Initialize.lua will still do however is allow to setup a specific load order, when required. All mods specified in the load order will be loaded first in order, followed by all mods that have not been specified.
This change did require the addition of an additional DLL file "lfs.dll", or LuaFileSystem, a compilation of a public LUA library. The file was compiled by myself, with help from Grundlid.
Now, as always, this isn't the only thing that's been done. This update isn't the most gigantic, but there are still a few more goodies and fixes to put in the changelog :
As a concluding reminder to everyone old and new to the QoL modpack : The grand majority of options are by default disabled when first installing the modpack. It is up to you to go through the vast in-game custom options menu that comes with the modpack and setup everything to be just as you want it. :)
Also, to those who are updating from a previous modpack version : Make sure not to overwrite/delete files found in mods/patch/storage, if you wish to keep stocked information such as favorite items, blacklisted lobbies, or banned players.
Here is the DOWNLOAD LINK.
And, for those of you who are new to this, here's a full overview of everything :
COMMANDS : The list of chat commands goes as follow : /deathwish, /mutation, /slayer, /onslaught, /killbots, /downbots, /fail, /reload, /ban, /missionstats, /lorebook, /remind.
'Deathwish', 'Mutation', 'Slayer' and 'Onslaught' will toggle on and off their respective gamemodes. Detail about them below.
'Killbots' and 'Downbots' will, as one would expect, either kill or incapacitate all bots instantly. It can only be used at the beginning of a match.
'Fail' will instantly trigger a defeated screen, allowing for a faster map restart/return to inn without the need to disband an ongoing party.
'Reload' should under normal circumstances not see use, but may serve as a temporary fix to minor bugs of the mods.
'Ban' is used to ban users that were recently kicked by you. Without a recently kicked user, it will do nothing.
'Missionstats' will paste into the chat your mission completion stats, for both adventure and last stand.
'Lorebook' will tell you how many pages you have unlocked/left to unlock on every map.
'Remind' will store a custom message until the end of your mission and then say it back to you.
MODS : This download features several mods which can and will affect normal gameplay, in a non-cheaty way. Most of them are highly customizable and can be toggled on and off in-game using an user-friendly settings menu interface.
Here's a list of them :
KNOWN ISSUES :
  • Bot improvements : Under extreme circumstances which should never occur during normal gameplay, the 'Keep Tome' feature can affect performance. This can only happen if all 3 bots are wielding tomes, and there are over 20 medical items laying around in close proximity to them. Honestly though, there's never that many meds around unless you're doing shady stuff, so don't worry about it.
  • Mod Settings menu : May behave strangely when opened after the use of /reload. Closing it and reopening it again should fix this.
  • Mods.gui : May rarely for some users display that error when first starting the game. If this happens to you, use /reload before opening any menus, to avoid issues. (Should be fixed by this update)
INSTALLATION PROCESS :
It still hasn't changed. If you already have an injector (whether it's the last download or otherwise), you will want to overwrite the mods folder and all other files with those from this download. However, be wary of erasing stored data in mods/patch/storage while updating.
  1. Click the link and download the .zip compressed folder.
  2. Unpack the full contents of the .zip in exactly Steam/SteamApps/common/Warhammer End Times Vermintide/binaries
  3. Good to go! Start up your game.
ABOUT :
The Stormvermin Mutation : All slave rats are replaced by clan rats. All original clan rats are replaced with stormvermins. All specials are replaced with ogres. Chaos ensues. Playable on any difficulty, although the recommended difficulty is hard for full, serious group play, and easy or normal for play with bots or with an inexperienced team. Psychopaths may also attempt nightmare and cataclysm. Funeral costs are not covered.
Deathwish Difficulty : If you thought the jump from nightmare to cataclysm was bad, then just you wait. A serious take on "what if there was a difficulty after cataclysm?" to give even the best of the best a serious challenge.
Last Stand - Slayer's Oath waveset : 13 fully custom Last Stand waves compatible with Deathwish Difficulty, but also playable on lower difficulties. Features insane combinations of skaven never seen anywhere before that will make short work of you should your discipline falter. Stand proud and tall, hero, for this is your last chance to do so.
Adventure Mode - Onslaught : "The onslaught will not end, and your only way out is forward. Remember, they're numberless." Onslaught features massively increased spawn rates for ambient rats, hordes, specials and boss events, as well as a crazy redesign of all map specific events. Playable on all difficulties.
IMPORTANT :
This modpack possesses alot of features, not all of which were made by me. In a perfect world, everything should work as intended beyond the known issues, but it is not impossible that problems arise. If this is the case, by all means post the problem in the comments, and I will do my best to have it fixed ASAP.
And obviously, if you have any questions, or suggestions about features I should include, feel free to ask!
Only keep in mind that the purpose of this modpack is to stay away from things that give a significant advantage to a player or allow griefing, and that I also shy away from features that output large amounts of text into the chat box.
Enjoy!
submitted by Grimalackt to Vermintide [link] [comments]

Another Method to make $600 an hour With Binary Options ... The Best Candlestick Patterns to Profit in Forex ... - YouTube Binary Options Strategy 2020 - YouTube THE TRUTH ABOUT BINARY OPTIONS - YouTube Aktien: Neuemission und Kapitalerhöhung einfach ... - YouTube The Best MACD Strategy For Binary Options Trading Binary Options Trading - How to Make money ... - youtube.com

FXProSystems.com is a Portal for Traders with a variety of trading tools (Forex and Binary Options Indicators, Trading Systems and Strategies for different trading styles, and also Expert Advisors) that can be downloaded absolutely free. On the website FXProSystems.com contains Indicators and Trading Systems for Forex and Binary Options. We regularly supplement our collection of trading tools ... 6 Best Forex Profit Signal Indicator For MT4/MT5 Download Free. Indicators. The Forex Profit Indicator is an exchanging framework intended for every day exchanging. This framework utilizes six distinct indicators for the exact estimation of the passageway in the market pattern. It is uniquely made for novice brokers and it is anything but difficult to utilize this indicator, no particular ... Network Options: --proxy URL Use the specified HTTP/HTTPS/SOCKS proxy. To enable SOCKS proxy, specify a proper scheme. Youtube videos go green screen and crash firefox constantly . 5 risposte 58 hanno questo problema 7017 visite Ultima risposta di Fracturee 2 anni fa; Fracturee. Inserita 05/10/17, 10:28. Youtube video completely green screens, and the text in the comments all overlap. In related videos they all mess up. The scroll bar turns green, or black and white, or has chopped up images of the youtube ... Ready? Start trading binary options now. The popular strategies to go for are: I – Fundamental Analysis Strategy. This strategy is concerned with the analysis of the behavior of the overall performance or attributes of a company. As an investor or trader in binary options, you are interested in knowing about the health of the balance sheet ... 20 Best Binary Options Brokers 2020: This is a review of some of the best binary options brokers. The review is essentially a binary options brokers list 2020. The review will give you a deeper understanding of how they operate. The review seeks to arm you with relevant information before you get involved with binary options. Feb 1, 2018 - 60 Seconds binary options strategy 99 - 100% Winning (100% profit guaranteed) 90 - 95% Winning Binary Options Strategy in case of correct prediction - 1 to 5... So I've developed methods to download YouTube data to start with. So if you use my program, ... And if a person has a non-binary gender then Mozdeh just can't detect that at all, because as far as I know, there aren't lists of names that are non-binary names. 09:49. MIKE THELWALL [continued]: So if you are non-binary, you either pick a name that is male or female or neutral or something ... Youtube video completely green screens, and the text in the comments all overlap. In related videos they all mess up. The scroll bar turns green, or black and white, or has chopped up images of the youtube 'related videos' It was completely fine, had my laptop off for about 2 hours and now nothing but green screen an crashes. Binary options are becoming celebrities in their own right, and often not for the right reason. You’ll hear stories of scam brokers that simply refuse to give traders their money back. You’ll hear other stories about people losing their entire life savings. That’s simple to remedy, never trade more than you can afford in the first place and fully expect to lose your capital. That way if ...

[index] [28822] [1526] [21535] [3739] [14233] [3823] [7343] [15665] [16114] [7073]

Another Method to make $600 an hour With Binary Options ...

The road to success through trading IQ option Best Bot Reviews Iq Option 2020 ,We make videos using this softwhere bot which aims to make it easier for you t... Make a Sizeable Return with Binary Options Trading http://buffettcashclub.com/fx1 When it comes to investing and trading, there are a huge range of investmen... WERDE EINSER SCHÜLER UND KLICK HIER: https://www.thesimpleclub.de/go WERDE EINSER SCHÜLER UND KLICK HIER: https://www.thesimpleclub.de/go Wie kommen Aktien a... The Best Candlestick Patterns to Profit in Forex and binary - For Beginners trading forex, forex strategy, forex,Online Trading Strategy #Candlestick_Pattern... The Best MACD Strategy for binary options trading using the 5 minute timeframe. How to use MACD: Moving Average Convergence Divergence Tool: https://goo.gl/... Are binary options a good idea? If you're thinking about trading binary options, watch this video first. Check out our FREE training for traders https://bi... http://binaryoptionstraders.net/ Go to http://binaryoptionstraders.net/ to sign up and start earning $600 an hour trading binary options. Want to learn more?...

http://arab-binary-option.veheadlemi.ga