The Mapple 1 is a port of POM1 (apple1 emulator) to minecraft.
Features Mapple 1: Each mapple 1 block has an instance of the apple 1 with 64k of memory, a screen, and a 65C02 CPU.
Input/Output Blocks: Input/output blocks can be mapped to any address in memory for interaction with redstone wires.
Color Block: The color block can display 56 different colors. This block can also be mapped to any address in memory and can be used to make color screens. Examples of Mapple 1 generating a bitmap image using the color blocks: More screenshots (Note these screenshots are from v0.2):
Copy & Paste: The terminal supports copy & paste which can be used to save or load basic code.
Software:
Software confirmed to be working: -Applesoft Basic lite -Integer Basic -Microsoft Basic -Forth -Assembler -Woz Monitor -C compiler (CC65).
-Star Trek
-Lunar Lander
The mapple1 includes a rom with Integer Basic, Wozmon, and Krusader assembler, and an enhanced rom with Applesoft Basic lite.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
...dang. That's just amazing, absolutely amazing. You sir, deserve... something. I can't think of anything amazing enough, and cookies don't quite cut it.
Edit: Only one thing keeping this from being perfect; you need a config file so I can change the block IDs. :/
...dang. That's just amazing, absolutely amazing. You sir, deserve... something. I can't think of anything amazing enough, and cookies don't quite cut it.
Edit: Only one thing keeping this from being perfect; you need a config file so I can change the block IDs. :/
Updates
- Binary Dump/Loader Added for loading software and saving memory, Shift+right click the mapple 1 to activate it
- config file can now change block ID's
- added Software pack
TODO list
-emulate a better screen
-better gui for io blocks
-fix memory bugs
An actual 6502 emulator? HECK YEAH! No more FORTH for me Time for some REAL 6502 assembly!
Edit: Hmm, the config doesn't appear to work. Rather important for me, since I already have a ton of mods installed and nearly all of my block IDs are used.
The Meaning of Life, the Universe, and Everything.
Join Date:
1/28/2012
Posts:
61
Minecraft:
supershadow171
Xbox:
supershadow171
Member Details
hmm (thinks about recreating super mario bros with this mod) can i rig scertain actions to pressor plates? or better yet a controller added to the mod?
hmm (thinks about recreating super mario bros with this mod) can i rig scertain actions to pressor plates? or better yet a controller added to the mod?
I guess I don't know my early apple computers There isn't backspace support on the apple1 because it used shift registers for the video RAM. I wonder why Woz chose to do that
hmm (thinks about recreating super mario bros with this mod) can i rig scertain actions to pressor plates? or better yet a controller added to the mod?
you can create a program to accept real time key input
here are some notes I have about how apple 1 handles key presses
Keyboard
When a pulse arrives on the STROBE line, the character from the keyboard is loaded into the key-board register and a flag is set in the keyboard control register. In the apple I's memory map, the keyboard register is at $D010, and the keyboard control register is at $D011. The processor checks for flag at $D011. When it sees it the processor goes to $D010 and loads the character
KbdRdy($D011) & Kbd($D010). These addresses are both on the 6821 PIA. The value at KeyboardRdy is negative when there is data waiting to be read from the keyboard. When there is no data waiting, it is positive. The location Kbd contains the value of the character read in from the keyboard.
Video
The processor sends a character to the 6821, which sends it out to the video section. The display register is at $D012. Before sending data, the processor checks bit 7 at memory location $D012. If this bit is high, it means the "Data available" line is high and the 6821 currently has data it is waiting to send to the video section. The processor waits until the bit goes low, indicating that the 6821 has sent its data and is now ready to talk to the processor. The processor then sends it character to the display register, which is located at $D012 in the memory map. The 6821 loads this character into the display register and tells the video section that it has data available by setting DA(Data available) high. When the video section is ready, it responds by setting RDA (Ready Data Accept) high. The 6821 sends the character to the video section and sets DA to low.
See chapter 6 for a simple program that reads a character from the keyboard and then outputs it to the display.
Features
Mapple 1:
Each mapple 1 block has an instance of the apple 1 with 64k of memory, a screen, and a 65C02 CPU.
Input/Output Blocks:
Input/output blocks can be mapped to any address in memory for interaction with redstone wires.
Color Block:
The color block can display 56 different colors. This block can also be mapped to any address in memory and can be used to make color screens. Examples of Mapple 1 generating a bitmap image using the color blocks:
More screenshots (Note these screenshots are from v0.2):
Copy & Paste:
The terminal supports copy & paste which can be used to save or load basic code.
Software:
-Applesoft Basic lite
-Integer Basic
-Microsoft Basic
-Forth
-Assembler
-Woz Monitor
-C compiler (CC65).
-Star Trek
-Lunar Lander
The mapple1 includes a rom with Integer Basic, Wozmon, and Krusader assembler, and an enhanced rom with Applesoft Basic lite.
Download Version 0.4Beta (Details)
Download Version 0.3Beta
Download Version 0.2Beta
Download Version 0.1beta
Rom files (unzip and place them in the mod folder)
Software pack (Includes Fig-Forth, Ms Basic, Applesoft Basic lite)
Installation Instructions ,Details, Software, Tutorials, Source code: http://ibm5100.net/mapple1/mapple-1/
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
Mapple 1 , Kal Ort Por
Edit: Only one thing keeping this from being perfect; you need a config file so I can change the block IDs. :/
Ill add it in the next update.
Mapple 1 , Kal Ort Por
- Binary Dump/Loader Added for loading software and saving memory, Shift+right click the mapple 1 to activate it
- config file can now change block ID's
- added Software pack
TODO list
-emulate a better screen
-better gui for io blocks
-fix memory bugs
Mapple 1 , Kal Ort Por
color blocks sometimes go invisible when placing a lot of them at once, this can be fixed by exiting the world and going back in again.
Mapple 1 , Kal Ort Por
Edit: Hmm, the config doesn't appear to work. Rather important for me, since I already have a ton of mods installed and nearly all of my block IDs are used.
What's the emulation speed?
and line 121 should be
thats funny, setIntArray never showed up in the IDE for me, it appeared as func_[some numbers]
POM1 unfortunately didn't have backspace support
Mapple 1 , Kal Ort Por
I guess I don't know my early apple computers There isn't backspace support on the apple1 because it used shift registers for the video RAM. I wonder why Woz chose to do that
you can create a program to accept real time key input
here are some notes I have about how apple 1 handles key presses
Mapple 1 , Kal Ort Por
But awesome to use!
I'll check it out!