• Home
  • Most Popular
  • Submit
  • About Us
  • Contact Us

Softpile

Free Downloads

Categories
  • Home
  • Most Popular
  • Communications
  • Desktop
  • Games & Entertainment
  • Graphic Apps
  • Network & Internet
  • Security & Privacy
  • System Utilities
Alternative to itextsharp 2022.11.10347
IronPDF offers an itextsharp alternative for HTML to PDF conversion with C# code examples, documentation, and ...
VShell Server for Linux and Mac 4.8
VShell is a versatile and secure file transfer server that supports multiple protocols and is compatible ...
PDF Studio PDF Editor for Linux 2022
PDF Studio is a cost-effective PDF editor that delivers full compatibility with the PDF Standard. It's ...
VQ Probe for Linux 1.5
VQ Probe is a comprehensive software tool that enables objective and subjective video quality analysis. The ...
Resilient Server 2.3
This Debian GNU/Linux (Buster) based software has a customized partitioning scheme that enhances robustness against filesystem ...
Valentina Studio for Linux 9.6
Valentina Studio is a cross-platform GUI manager for Mac, Windows, and Linux. It allows users to ...
VPN Lifeguard for Linux 1.0.58
The software monitors VPN connection and automatically terminates apps during connection loss, re-establishes the connection and ...
G_Viewer 0.84
G_Viewer is a Linux software that serves as both a file system and photo/image viewer. It ...
Checksome File Hash Tool for Linux 1.1
This software allows for the generation and verification of file hashes. It is a quick and ...
KeyWrangler Password Manager for Linux 1.2
A password management software that is secure, offline and extensible. It offers military-grade encryption to protect ...
Home Linux CPU::Emulator::Memory::Banked Download

CPU::Emulator::Memory::Banked

March 18, 2009
This software provides banked memory support for a CPU emulator. With this feature, the emulator can access and manage memory more efficiently, leading to improved performance and stability.
Version 1.1001
License Perl Artistic License
Platform Linux
Supported Languages English
Homepage search.cpan.org
Developed by David Cantrell
I recently had the opportunity of testing CPU::Emulator::Memory::Banked, a Perl class that expands the flat memory space offered by CPU::Emulator::Memory by introducing multiple memory banks. This unique feature allows developers to create a more flexible and intricate memory architecture within their programs.

The implementation is quite straightforward, and the class can be initialized through the following line of code:

 my $memory = CPU::Emulator::Memory::Banked->new();

From here, it is easy to use the peek() and poke() methods to read and write values to memory, as illustrated by the example below:

 $memory->poke(0xBEEF, ord('s'));    my $value = $memory->peek(0xBEEF); # 115 == ord('s')

One of the most exciting aspects of CPU::Emulator::Memory::Banked, however, is its ability to bank-switch. Simply put, bank-switching is the process of temporarily replacing chunks of memory with other chunks, allowing for more dynamic storage and execution of code.

With CPU::Emulator::Memory::Banked, developers can define the address, size, type (RAM, ROM, or dynamic), and file of the memory chunk they wish to use for bank-switching. Consider the following example:

 $memory->bank(  address => 0x8000,  size => 0x4000,  type => 'ROM',  file => '.../somerom.rom',  writethrough => 1  );  my $value = $memory->peek(0xBEEF); # read from ROM instead

This code replaces the current memory chunk with a 16kb ROM chunk starting at 0x8000. The writethrough option ensures that any subsequent writes to the overlapping memory space will affect the underlying RAM, rather than the ROM.

Overall, I found CPU::Emulator::Memory::Banked to be a powerful and versatile tool in creating complex memory architectures. Its intuitive API and robust features make it an excellent choice for developers looking to expand their programming capabilities.
What's New

Version 1.1001: N/A

Free Download 7.9K
281
  • Share on:

Most Popular

  1. Quicksilver Forums 1.4.2
    154
  2. Dvgrab 3.4
    102
  3. DynVPN 1.0
    89
  4. CherryTV 0.1
    81
  5. SlideMap 1.2.2
    80
  6. porm r2
    73
  7. Clewarecontrol 0.8
    72
  8. Java Games 1.0
    72
  9. Swiftfox 3.0b5pre-2
    71
  10. fuseftp 0.8
    71

Related Downloads

Halloween Analog Clock
This software provides a desktop clock with a Halloween theme.
kio_auto-autofs
The kio_auto-autofs software is a KIO Slave designed for KDE, which allows ...
GAI Leds
GAI Leds is software that shows the status of keyboard LEDs.
Net Worm Race
"Net Worm Race" is a multiplayer networking game consisting of up to ...
Dumi Web Gallery
Dumi Web Gallery is a PHP-based tool that simplifies building web galleries. ...
Jolt
Jolt is a Java Virtual Machine Daemon designed to manage Java applications ...
C->Haskell
C->Haskell simplifies the process of developing Haskell bindings to C libraries by ...
Phynx
Phynx is a versatile software that provides an advanced interface to manipulate ...
Fuzzy sets for Ada
The Fuzzy sets for Ada software library offers confidence factor implementations.
SIDE
Introducing Sustainable IDE software, which promotes sustainable coding and environment-friendly practices. This ...
Copyright © 1999-2025 Softpile Free Downloads
  • Most Popular
  • Submit
  • About Us
  • Contact Us
  • Privacy Policy
  • Disclaimer
  • Terms of Use

Can we use your data to tailor ads for you?

Our partners will collect data and use cookies for ad personalization and measurement.

By choosing "I agree", closing this pop-up or clicking on any element on the page, you agree to the use of cookies to help us provide you with a better user experience.

Learn how Softpile and our partners collect and use data.

You can change your choice at any time in our privacy center.

Cookie Settings

Our website stores four types of cookies. At any time you can choose which cookies you accept and which you refuse. You can read more about what cookies are and what types of cookies we store in our Cookie Policy.

are necessary for technical reasons. Without them, this website may not function properly.

are necessary for specific functionality on the website. Without them, some features may be disabled.

allow us to analyse website use and to improve the visitor's experience.

allow us to personalise your experience and to send you relevant content and offers, on this website and other websites.